1 | import { HostListener, Directive, ElementRef, Injectable, Inject, NgZone, defineInjectable, inject, Optional, Component, ChangeDetectionStrategy, ChangeDetectorRef, InjectionToken, ApplicationRef, Injector, EventEmitter, ViewContainerRef, ComponentFactoryResolver, Attribute, SkipSelf, Output, ViewChild, ContentChild, TemplateRef, IterableDiffers, APP_INITIALIZER, NgModule } from '@angular/core';
|
2 | import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
3 | import { __awaiter } from 'tslib';
|
4 | import { DOCUMENT, Location, LocationStrategy, CommonModule } from '@angular/common';
|
5 | import { NavigationStart, UrlSerializer, Router, PRIMARY_OUTLET, ActivatedRoute, ChildrenOutletContexts, RouterLink } from '@angular/router';
|
6 | import { isPlatform, getPlatforms, LIFECYCLE_WILL_ENTER, LIFECYCLE_DID_ENTER, LIFECYCLE_WILL_LEAVE, LIFECYCLE_DID_LEAVE, LIFECYCLE_WILL_UNLOAD, actionSheetController, alertController, loadingController, menuController, pickerController, modalController, popoverController, toastController } from '@ionic/core';
|
7 | import { Subject, fromEvent, BehaviorSubject } from 'rxjs';
|
8 | import { filter, switchMap, distinctUntilChanged } from 'rxjs/operators';
|
9 | import { applyPolyfills, defineCustomElements } from '@ionic/core/loader';
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 | const raf = ( |
17 |
|
18 |
|
19 |
|
20 | (h) => {
|
21 | if (typeof __zone_symbol__requestAnimationFrame === 'function') {
|
22 | return __zone_symbol__requestAnimationFrame(h);
|
23 | }
|
24 | if (typeof requestAnimationFrame === 'function') {
|
25 | return requestAnimationFrame(h);
|
26 | }
|
27 | return setTimeout(h);
|
28 | });
|
29 |
|
30 |
|
31 |
|
32 |
|
33 |
|
34 | class ValueAccessor {
|
35 | |
36 |
|
37 |
|
38 | constructor(el) {
|
39 | this.el = el;
|
40 | this.onChange = ( |
41 |
|
42 |
|
43 | () => { });
|
44 | this.onTouched = ( |
45 |
|
46 |
|
47 | () => { });
|
48 | }
|
49 | |
50 |
|
51 |
|
52 |
|
53 | writeValue(value) {
|
54 | this.el.nativeElement.value = this.lastValue = value == null ? '' : value;
|
55 | setIonicClasses(this.el);
|
56 | }
|
57 | |
58 |
|
59 |
|
60 |
|
61 |
|
62 | handleChangeEvent(el, value) {
|
63 | if (el === this.el.nativeElement) {
|
64 | if (value !== this.lastValue) {
|
65 | this.lastValue = value;
|
66 | this.onChange(value);
|
67 | }
|
68 | setIonicClasses(this.el);
|
69 | }
|
70 | }
|
71 | |
72 |
|
73 |
|
74 |
|
75 | _handleBlurEvent(el) {
|
76 | if (el === this.el.nativeElement) {
|
77 | this.onTouched();
|
78 | setIonicClasses(this.el);
|
79 | }
|
80 | }
|
81 | |
82 |
|
83 |
|
84 |
|
85 | registerOnChange(fn) {
|
86 | this.onChange = fn;
|
87 | }
|
88 | |
89 |
|
90 |
|
91 |
|
92 | registerOnTouched(fn) {
|
93 | this.onTouched = fn;
|
94 | }
|
95 | |
96 |
|
97 |
|
98 |
|
99 | setDisabledState(isDisabled) {
|
100 | this.el.nativeElement.disabled = isDisabled;
|
101 | }
|
102 | }
|
103 | ValueAccessor.propDecorators = {
|
104 | _handleBlurEvent: [{ type: HostListener, args: ['ionBlur', ['$event.target'],] }]
|
105 | };
|
106 |
|
107 | const setIonicClasses = ( |
108 |
|
109 |
|
110 |
|
111 | (element) => {
|
112 | raf(( |
113 |
|
114 |
|
115 | () => {
|
116 |
|
117 | const input = ( (element.nativeElement));
|
118 |
|
119 | const classes = getClasses(input);
|
120 | setClasses(input, classes);
|
121 |
|
122 | const item = input.closest('ion-item');
|
123 | if (item) {
|
124 | setClasses(item, classes);
|
125 | }
|
126 | }));
|
127 | });
|
128 |
|
129 | const getClasses = ( |
130 |
|
131 |
|
132 |
|
133 | (element) => {
|
134 |
|
135 | const classList = element.classList;
|
136 |
|
137 | const classes = [];
|
138 | for (let i = 0; i < classList.length; i++) {
|
139 |
|
140 | const item = classList.item(i);
|
141 | if (item !== null && startsWith(item, 'ng-')) {
|
142 | classes.push(`ion-${item.substr(3)}`);
|
143 | }
|
144 | }
|
145 | return classes;
|
146 | });
|
147 |
|
148 | const setClasses = ( |
149 |
|
150 |
|
151 |
|
152 |
|
153 | (element, classes) => {
|
154 |
|
155 | const classList = element.classList;
|
156 | [
|
157 | 'ion-valid',
|
158 | 'ion-invalid',
|
159 | 'ion-touched',
|
160 | 'ion-untouched',
|
161 | 'ion-dirty',
|
162 | 'ion-pristine'
|
163 | ].forEach(( |
164 |
|
165 |
|
166 |
|
167 | c => classList.remove(c)));
|
168 | classes.forEach(( |
169 |
|
170 |
|
171 |
|
172 | c => classList.add(c)));
|
173 | });
|
174 |
|
175 | const startsWith = ( |
176 |
|
177 |
|
178 |
|
179 |
|
180 | (input, search) => {
|
181 | return input.substr(0, search.length) === search;
|
182 | });
|
183 |
|
184 |
|
185 |
|
186 |
|
187 |
|
188 | class BooleanValueAccessor extends ValueAccessor {
|
189 | |
190 |
|
191 |
|
192 | constructor(el) {
|
193 | super(el);
|
194 | }
|
195 | |
196 |
|
197 |
|
198 |
|
199 | writeValue(value) {
|
200 | this.el.nativeElement.checked = this.lastValue = value == null ? false : value;
|
201 | setIonicClasses(this.el);
|
202 | }
|
203 | |
204 |
|
205 |
|
206 |
|
207 | _handleIonChange(el) {
|
208 | this.handleChangeEvent(el, el.checked);
|
209 | }
|
210 | }
|
211 | BooleanValueAccessor.decorators = [
|
212 | { type: Directive, args: [{
|
213 |
|
214 | selector: 'ion-checkbox,ion-toggle',
|
215 | providers: [
|
216 | {
|
217 | provide: NG_VALUE_ACCESSOR,
|
218 | useExisting: BooleanValueAccessor,
|
219 | multi: true
|
220 | }
|
221 | ]
|
222 | },] },
|
223 | ];
|
224 |
|
225 | BooleanValueAccessor.ctorParameters = () => [
|
226 | { type: ElementRef }
|
227 | ];
|
228 | BooleanValueAccessor.propDecorators = {
|
229 | _handleIonChange: [{ type: HostListener, args: ['ionChange', ['$event.target'],] }]
|
230 | };
|
231 |
|
232 |
|
233 |
|
234 |
|
235 |
|
236 | class NumericValueAccessor extends ValueAccessor {
|
237 | |
238 |
|
239 |
|
240 | constructor(el) {
|
241 | super(el);
|
242 | }
|
243 | |
244 |
|
245 |
|
246 |
|
247 | _handleIonChange(el) {
|
248 | this.handleChangeEvent(el, el.value);
|
249 | }
|
250 | |
251 |
|
252 |
|
253 |
|
254 | registerOnChange(fn) {
|
255 | super.registerOnChange(( |
256 |
|
257 |
|
258 |
|
259 | value => {
|
260 | fn(value === '' ? null : parseFloat(value));
|
261 | }));
|
262 | }
|
263 | }
|
264 | NumericValueAccessor.decorators = [
|
265 | { type: Directive, args: [{
|
266 |
|
267 | selector: 'ion-input[type=number]',
|
268 | providers: [
|
269 | {
|
270 | provide: NG_VALUE_ACCESSOR,
|
271 | useExisting: NumericValueAccessor,
|
272 | multi: true
|
273 | }
|
274 | ]
|
275 | },] },
|
276 | ];
|
277 |
|
278 | NumericValueAccessor.ctorParameters = () => [
|
279 | { type: ElementRef }
|
280 | ];
|
281 | NumericValueAccessor.propDecorators = {
|
282 | _handleIonChange: [{ type: HostListener, args: ['ionChange', ['$event.target'],] }]
|
283 | };
|
284 |
|
285 |
|
286 |
|
287 |
|
288 |
|
289 | class RadioValueAccessor extends ValueAccessor {
|
290 | |
291 |
|
292 |
|
293 | constructor(el) {
|
294 | super(el);
|
295 | }
|
296 | |
297 |
|
298 |
|
299 |
|
300 | _handleIonSelect(el) {
|
301 | this.handleChangeEvent(el, el.checked);
|
302 | }
|
303 | }
|
304 | RadioValueAccessor.decorators = [
|
305 | { type: Directive, args: [{
|
306 |
|
307 | selector: 'ion-radio',
|
308 | providers: [
|
309 | {
|
310 | provide: NG_VALUE_ACCESSOR,
|
311 | useExisting: RadioValueAccessor,
|
312 | multi: true
|
313 | }
|
314 | ]
|
315 | },] },
|
316 | ];
|
317 |
|
318 | RadioValueAccessor.ctorParameters = () => [
|
319 | { type: ElementRef }
|
320 | ];
|
321 | RadioValueAccessor.propDecorators = {
|
322 | _handleIonSelect: [{ type: HostListener, args: ['ionSelect', ['$event.target'],] }]
|
323 | };
|
324 |
|
325 |
|
326 |
|
327 |
|
328 |
|
329 | class SelectValueAccessor extends ValueAccessor {
|
330 | |
331 |
|
332 |
|
333 | constructor(el) {
|
334 | super(el);
|
335 | }
|
336 | |
337 |
|
338 |
|
339 |
|
340 | _handleChangeEvent(el) {
|
341 | this.handleChangeEvent(el, el.value);
|
342 | }
|
343 | }
|
344 | SelectValueAccessor.decorators = [
|
345 | { type: Directive, args: [{
|
346 |
|
347 | selector: 'ion-range, ion-select, ion-radio-group, ion-segment, ion-datetime',
|
348 | providers: [
|
349 | {
|
350 | provide: NG_VALUE_ACCESSOR,
|
351 | useExisting: SelectValueAccessor,
|
352 | multi: true
|
353 | }
|
354 | ]
|
355 | },] },
|
356 | ];
|
357 |
|
358 | SelectValueAccessor.ctorParameters = () => [
|
359 | { type: ElementRef }
|
360 | ];
|
361 | SelectValueAccessor.propDecorators = {
|
362 | _handleChangeEvent: [{ type: HostListener, args: ['ionChange', ['$event.target'],] }]
|
363 | };
|
364 |
|
365 |
|
366 |
|
367 |
|
368 |
|
369 | class TextValueAccessor extends ValueAccessor {
|
370 | |
371 |
|
372 |
|
373 | constructor(el) {
|
374 | super(el);
|
375 | }
|
376 | |
377 |
|
378 |
|
379 |
|
380 | _handleInputEvent(el) {
|
381 | this.handleChangeEvent(el, el.value);
|
382 | }
|
383 | }
|
384 | TextValueAccessor.decorators = [
|
385 | { type: Directive, args: [{
|
386 |
|
387 | selector: 'ion-input:not([type=number]),ion-textarea,ion-searchbar',
|
388 | providers: [
|
389 | {
|
390 | provide: NG_VALUE_ACCESSOR,
|
391 | useExisting: TextValueAccessor,
|
392 | multi: true
|
393 | }
|
394 | ]
|
395 | },] },
|
396 | ];
|
397 |
|
398 | TextValueAccessor.ctorParameters = () => [
|
399 | { type: ElementRef }
|
400 | ];
|
401 | TextValueAccessor.propDecorators = {
|
402 | _handleInputEvent: [{ type: HostListener, args: ['ionChange', ['$event.target'],] }]
|
403 | };
|
404 |
|
405 |
|
406 |
|
407 |
|
408 |
|
409 | class Platform {
|
410 | |
411 |
|
412 |
|
413 |
|
414 | constructor(doc, zone) {
|
415 | this.doc = doc;
|
416 | |
417 |
|
418 |
|
419 | this.backButton = ( (new Subject()));
|
420 | |
421 |
|
422 |
|
423 |
|
424 |
|
425 |
|
426 | this.pause = new Subject();
|
427 | |
428 |
|
429 |
|
430 |
|
431 |
|
432 | this.resume = new Subject();
|
433 | |
434 |
|
435 |
|
436 |
|
437 |
|
438 | this.resize = new Subject();
|
439 | zone.run(( |
440 |
|
441 |
|
442 | () => {
|
443 | this.win = doc.defaultView;
|
444 | this.backButton.subscribeWithPriority = ( |
445 |
|
446 |
|
447 |
|
448 |
|
449 | function (priority, callback) {
|
450 | return this.subscribe(( |
451 |
|
452 |
|
453 |
|
454 | ev => (ev.register(priority, ( |
455 |
|
456 |
|
457 | () => zone.run(callback))))));
|
458 | });
|
459 | proxyEvent(this.pause, doc, 'pause');
|
460 | proxyEvent(this.resume, doc, 'resume');
|
461 | proxyEvent(this.backButton, doc, 'ionBackButton');
|
462 | proxyEvent(this.resize, this.win, 'resize');
|
463 |
|
464 | let readyResolve;
|
465 | this._readyPromise = new Promise(( |
466 |
|
467 |
|
468 |
|
469 | res => { readyResolve = res; }));
|
470 | if (this.win && this.win['cordova']) {
|
471 | doc.addEventListener('deviceready', ( |
472 |
|
473 |
|
474 | () => {
|
475 | readyResolve('cordova');
|
476 | }), { once: true });
|
477 | }
|
478 | else {
|
479 | ( (readyResolve))('dom');
|
480 | }
|
481 | }));
|
482 | }
|
483 | |
484 |
|
485 |
|
486 |
|
487 |
|
488 |
|
489 |
|
490 |
|
491 |
|
492 |
|
493 |
|
494 |
|
495 |
|
496 |
|
497 |
|
498 |
|
499 |
|
500 |
|
501 |
|
502 |
|
503 |
|
504 |
|
505 |
|
506 |
|
507 |
|
508 |
|
509 |
|
510 |
|
511 |
|
512 |
|
513 |
|
514 |
|
515 |
|
516 |
|
517 |
|
518 |
|
519 |
|
520 |
|
521 |
|
522 |
|
523 |
|
524 |
|
525 |
|
526 | is(platformName) {
|
527 | return isPlatform(this.win, platformName);
|
528 | }
|
529 | |
530 |
|
531 |
|
532 |
|
533 |
|
534 |
|
535 |
|
536 |
|
537 |
|
538 |
|
539 |
|
540 |
|
541 |
|
542 |
|
543 |
|
544 |
|
545 |
|
546 |
|
547 |
|
548 | platforms() {
|
549 | return getPlatforms(this.win);
|
550 | }
|
551 | |
552 |
|
553 |
|
554 |
|
555 |
|
556 |
|
557 |
|
558 |
|
559 |
|
560 |
|
561 |
|
562 |
|
563 |
|
564 |
|
565 |
|
566 |
|
567 |
|
568 |
|
569 |
|
570 |
|
571 |
|
572 |
|
573 |
|
574 |
|
575 |
|
576 |
|
577 |
|
578 |
|
579 |
|
580 |
|
581 | ready() {
|
582 | return this._readyPromise;
|
583 | }
|
584 | |
585 |
|
586 |
|
587 |
|
588 |
|
589 |
|
590 |
|
591 | get isRTL() {
|
592 | return this.doc.dir === 'rtl';
|
593 | }
|
594 | |
595 |
|
596 |
|
597 |
|
598 |
|
599 | getQueryParam(key) {
|
600 | return readQueryParam(this.win.location.href, key);
|
601 | }
|
602 | |
603 |
|
604 |
|
605 |
|
606 | isLandscape() {
|
607 | return !this.isPortrait();
|
608 | }
|
609 | |
610 |
|
611 |
|
612 |
|
613 | isPortrait() {
|
614 | return this.win.matchMedia && this.win.matchMedia('(orientation: portrait)').matches;
|
615 | }
|
616 | |
617 |
|
618 |
|
619 |
|
620 | testUserAgent(expression) {
|
621 |
|
622 | const nav = this.win.navigator;
|
623 | return !!(nav && nav.userAgent && nav.userAgent.indexOf(expression) >= 0);
|
624 | }
|
625 | |
626 |
|
627 |
|
628 |
|
629 | url() {
|
630 | return this.win.location.href;
|
631 | }
|
632 | |
633 |
|
634 |
|
635 |
|
636 | width() {
|
637 | return this.win.innerWidth;
|
638 | }
|
639 | |
640 |
|
641 |
|
642 |
|
643 | height() {
|
644 | return this.win.innerHeight;
|
645 | }
|
646 | }
|
647 | Platform.decorators = [
|
648 | { type: Injectable, args: [{
|
649 | providedIn: 'root',
|
650 | },] },
|
651 | ];
|
652 |
|
653 | Platform.ctorParameters = () => [
|
654 | { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
|
655 | { type: NgZone }
|
656 | ];
|
657 | Platform.ngInjectableDef = defineInjectable({ factory: function Platform_Factory() { return new Platform(inject(DOCUMENT), inject(NgZone)); }, token: Platform, providedIn: "root" });
|
658 |
|
659 | const readQueryParam = ( |
660 |
|
661 |
|
662 |
|
663 |
|
664 | (url, key) => {
|
665 | key = key.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
|
666 |
|
667 | const regex = new RegExp('[\\?&]' + key + '=([^&#]*)');
|
668 |
|
669 | const results = regex.exec(url);
|
670 | return results ? decodeURIComponent(results[1].replace(/\+/g, ' ')) : null;
|
671 | });
|
672 |
|
673 | const proxyEvent = ( |
674 |
|
675 |
|
676 |
|
677 |
|
678 |
|
679 |
|
680 | (emitter, el, eventName) => {
|
681 | if ((( (el)))) {
|
682 | el.addEventListener(eventName, ( |
683 |
|
684 |
|
685 |
|
686 | (ev) => {
|
687 |
|
688 | emitter.next(ev != null ? ( ((( (ev))).detail)) : undefined);
|
689 | }));
|
690 | }
|
691 | });
|
692 |
|
693 |
|
694 |
|
695 |
|
696 |
|
697 | class NavController {
|
698 | |
699 |
|
700 |
|
701 |
|
702 |
|
703 |
|
704 | constructor(platform, location, serializer, router) {
|
705 | this.location = location;
|
706 | this.serializer = serializer;
|
707 | this.router = router;
|
708 | this.direction = DEFAULT_DIRECTION;
|
709 | this.animated = DEFAULT_ANIMATED;
|
710 | this.guessDirection = 'forward';
|
711 | this.lastNavId = -1;
|
712 |
|
713 | if (router) {
|
714 | router.events.subscribe(( |
715 |
|
716 |
|
717 |
|
718 | ev => {
|
719 | if (ev instanceof NavigationStart) {
|
720 |
|
721 | const id = (ev.restoredState) ? ev.restoredState.navigationId : ev.id;
|
722 | this.guessDirection = id < this.lastNavId ? 'back' : 'forward';
|
723 | this.guessAnimation = !ev.restoredState ? this.guessDirection : undefined;
|
724 | this.lastNavId = this.guessDirection === 'forward' ? ev.id : id;
|
725 | }
|
726 | }));
|
727 | }
|
728 |
|
729 | platform.backButton.subscribeWithPriority(0, ( |
730 |
|
731 |
|
732 | () => this.pop()));
|
733 | }
|
734 | |
735 |
|
736 |
|
737 |
|
738 |
|
739 |
|
740 |
|
741 |
|
742 |
|
743 |
|
744 |
|
745 |
|
746 |
|
747 |
|
748 |
|
749 |
|
750 | navigateForward(url, options = {}) {
|
751 | this.setDirection('forward', options.animated, options.animationDirection);
|
752 | return this.navigate(url, options);
|
753 | }
|
754 | |
755 |
|
756 |
|
757 |
|
758 |
|
759 |
|
760 |
|
761 |
|
762 |
|
763 |
|
764 |
|
765 |
|
766 |
|
767 |
|
768 |
|
769 |
|
770 |
|
771 |
|
772 |
|
773 |
|
774 |
|
775 | navigateBack(url, options = {}) {
|
776 | this.setDirection('back', options.animated, options.animationDirection);
|
777 | return this.navigate(url, options);
|
778 | }
|
779 | |
780 |
|
781 |
|
782 |
|
783 |
|
784 |
|
785 |
|
786 |
|
787 |
|
788 |
|
789 |
|
790 |
|
791 |
|
792 |
|
793 |
|
794 |
|
795 |
|
796 |
|
797 |
|
798 |
|
799 |
|
800 | navigateRoot(url, options = {}) {
|
801 | this.setDirection('root', options.animated, options.animationDirection);
|
802 | return this.navigate(url, options);
|
803 | }
|
804 | |
805 |
|
806 |
|
807 |
|
808 |
|
809 |
|
810 |
|
811 | back(options = { animated: true, animationDirection: 'back' }) {
|
812 | this.setDirection('back', options.animated, options.animationDirection);
|
813 | return this.location.back();
|
814 | }
|
815 | |
816 |
|
817 |
|
818 |
|
819 |
|
820 |
|
821 |
|
822 | pop() {
|
823 | return __awaiter(this, void 0, void 0, function* () {
|
824 |
|
825 | let outlet = this.topOutlet;
|
826 | while (outlet) {
|
827 | if (yield outlet.pop()) {
|
828 | break;
|
829 | }
|
830 | else {
|
831 | outlet = outlet.parentOutlet;
|
832 | }
|
833 | }
|
834 | });
|
835 | }
|
836 | |
837 |
|
838 |
|
839 |
|
840 |
|
841 |
|
842 |
|
843 |
|
844 |
|
845 |
|
846 |
|
847 | setDirection(direction, animated, animationDirection) {
|
848 | this.direction = direction;
|
849 | this.animated = getAnimation(direction, animated, animationDirection);
|
850 | }
|
851 | |
852 |
|
853 |
|
854 |
|
855 |
|
856 | setTopOutlet(outlet) {
|
857 | this.topOutlet = outlet;
|
858 | }
|
859 | |
860 |
|
861 |
|
862 |
|
863 | consumeTransition() {
|
864 |
|
865 | let direction = 'root';
|
866 |
|
867 | let animation;
|
868 | if (this.direction === 'auto') {
|
869 | direction = this.guessDirection;
|
870 | animation = this.guessAnimation;
|
871 | }
|
872 | else {
|
873 | animation = this.animated;
|
874 | direction = this.direction;
|
875 | }
|
876 | this.direction = DEFAULT_DIRECTION;
|
877 | this.animated = DEFAULT_ANIMATED;
|
878 | return {
|
879 | direction,
|
880 | animation
|
881 | };
|
882 | }
|
883 | |
884 |
|
885 |
|
886 |
|
887 |
|
888 |
|
889 | navigate(url, options) {
|
890 | if (Array.isArray(url)) {
|
891 | return ( (this.router)).navigate(url, options);
|
892 | }
|
893 | else {
|
894 | |
895 |
|
896 |
|
897 |
|
898 |
|
899 |
|
900 |
|
901 | const urlTree = this.serializer.parse(url.toString());
|
902 | if (options.queryParams !== undefined) {
|
903 | urlTree.queryParams = Object.assign({}, options.queryParams);
|
904 | }
|
905 | if (options.fragment !== undefined) {
|
906 | urlTree.fragment = options.fragment;
|
907 | }
|
908 | |
909 |
|
910 |
|
911 |
|
912 |
|
913 | return ( (this.router)).navigateByUrl(urlTree, options);
|
914 | }
|
915 | }
|
916 | }
|
917 | NavController.decorators = [
|
918 | { type: Injectable, args: [{
|
919 | providedIn: 'root',
|
920 | },] },
|
921 | ];
|
922 |
|
923 | NavController.ctorParameters = () => [
|
924 | { type: Platform },
|
925 | { type: Location },
|
926 | { type: UrlSerializer },
|
927 | { type: Router, decorators: [{ type: Optional }] }
|
928 | ];
|
929 | NavController.ngInjectableDef = defineInjectable({ factory: function NavController_Factory() { return new NavController(inject(Platform), inject(Location), inject(UrlSerializer), inject(Router, 8)); }, token: NavController, providedIn: "root" });
|
930 |
|
931 | const getAnimation = ( |
932 |
|
933 |
|
934 |
|
935 |
|
936 |
|
937 | (direction, animated, animationDirection) => {
|
938 | if (animated === false) {
|
939 | return undefined;
|
940 | }
|
941 | if (animationDirection !== undefined) {
|
942 | return animationDirection;
|
943 | }
|
944 | if (direction === 'forward' || direction === 'back') {
|
945 | return direction;
|
946 | }
|
947 | else if (direction === 'root' && animated === true) {
|
948 | return 'forward';
|
949 | }
|
950 | return undefined;
|
951 | });
|
952 |
|
953 | const DEFAULT_DIRECTION = 'auto';
|
954 |
|
955 | const DEFAULT_ANIMATED = undefined;
|
956 |
|
957 |
|
958 |
|
959 |
|
960 |
|
961 |
|
962 | const proxyInputs = ( |
963 |
|
964 |
|
965 |
|
966 |
|
967 | (Cmp, inputs) => {
|
968 |
|
969 | const Prototype = Cmp.prototype;
|
970 | inputs.forEach(( |
971 |
|
972 |
|
973 |
|
974 | item => {
|
975 | Object.defineProperty(Prototype, item, {
|
976 | |
977 |
|
978 |
|
979 | get() { return this.el[item]; },
|
980 | |
981 |
|
982 |
|
983 |
|
984 | set(val) {
|
985 | this.z.runOutsideAngular(( |
986 |
|
987 |
|
988 | () => this.el[item] = val));
|
989 | },
|
990 | });
|
991 | }));
|
992 | });
|
993 |
|
994 | const proxyMethods = ( |
995 |
|
996 |
|
997 |
|
998 |
|
999 | (Cmp, methods) => {
|
1000 |
|
1001 | const Prototype = Cmp.prototype;
|
1002 | methods.forEach(( |
1003 |
|
1004 |
|
1005 |
|
1006 | methodName => {
|
1007 | Prototype[methodName] = ( |
1008 |
|
1009 |
|
1010 | function () {
|
1011 |
|
1012 | const args = arguments;
|
1013 | return this.z.runOutsideAngular(( |
1014 |
|
1015 |
|
1016 | () => this.el[methodName].apply(this.el, args)));
|
1017 | });
|
1018 | }));
|
1019 | });
|
1020 |
|
1021 | const proxyOutputs = ( |
1022 |
|
1023 |
|
1024 |
|
1025 |
|
1026 |
|
1027 | (instance, el, events) => {
|
1028 | events.forEach(( |
1029 |
|
1030 |
|
1031 |
|
1032 | eventName => instance[eventName] = fromEvent(el, eventName)));
|
1033 | });
|
1034 |
|
1035 |
|
1036 |
|
1037 |
|
1038 |
|
1039 | class IonApp {
|
1040 | |
1041 |
|
1042 |
|
1043 |
|
1044 |
|
1045 | constructor(c, r, z) {
|
1046 | this.z = z;
|
1047 | c.detach();
|
1048 | this.el = r.nativeElement;
|
1049 | }
|
1050 | }
|
1051 | IonApp.decorators = [
|
1052 | { type: Component, args: [{ selector: 'ion-app', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>' },] },
|
1053 | ];
|
1054 |
|
1055 | IonApp.ctorParameters = () => [
|
1056 | { type: ChangeDetectorRef },
|
1057 | { type: ElementRef },
|
1058 | { type: NgZone }
|
1059 | ];
|
1060 | class IonAvatar {
|
1061 | |
1062 |
|
1063 |
|
1064 |
|
1065 |
|
1066 | constructor(c, r, z) {
|
1067 | this.z = z;
|
1068 | c.detach();
|
1069 | this.el = r.nativeElement;
|
1070 | }
|
1071 | }
|
1072 | IonAvatar.decorators = [
|
1073 | { type: Component, args: [{ selector: 'ion-avatar', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>' },] },
|
1074 | ];
|
1075 |
|
1076 | IonAvatar.ctorParameters = () => [
|
1077 | { type: ChangeDetectorRef },
|
1078 | { type: ElementRef },
|
1079 | { type: NgZone }
|
1080 | ];
|
1081 | class IonBackButton {
|
1082 | |
1083 |
|
1084 |
|
1085 |
|
1086 |
|
1087 | constructor(c, r, z) {
|
1088 | this.z = z;
|
1089 | c.detach();
|
1090 | this.el = r.nativeElement;
|
1091 | }
|
1092 | }
|
1093 | IonBackButton.decorators = [
|
1094 | { type: Component, args: [{ selector: 'ion-back-button', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['color', 'defaultHref', 'disabled', 'icon', 'mode', 'text', 'type'] },] },
|
1095 | ];
|
1096 |
|
1097 | IonBackButton.ctorParameters = () => [
|
1098 | { type: ChangeDetectorRef },
|
1099 | { type: ElementRef },
|
1100 | { type: NgZone }
|
1101 | ];
|
1102 | proxyInputs(IonBackButton, ['color', 'defaultHref', 'disabled', 'icon', 'mode', 'text', 'type']);
|
1103 | class IonBackdrop {
|
1104 | |
1105 |
|
1106 |
|
1107 |
|
1108 |
|
1109 | constructor(c, r, z) {
|
1110 | this.z = z;
|
1111 | c.detach();
|
1112 | this.el = r.nativeElement;
|
1113 | proxyOutputs(this, this.el, ['ionBackdropTap']);
|
1114 | }
|
1115 | }
|
1116 | IonBackdrop.decorators = [
|
1117 | { type: Component, args: [{ selector: 'ion-backdrop', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['stopPropagation', 'tappable', 'visible'] },] },
|
1118 | ];
|
1119 |
|
1120 | IonBackdrop.ctorParameters = () => [
|
1121 | { type: ChangeDetectorRef },
|
1122 | { type: ElementRef },
|
1123 | { type: NgZone }
|
1124 | ];
|
1125 | proxyInputs(IonBackdrop, ['stopPropagation', 'tappable', 'visible']);
|
1126 | class IonBadge {
|
1127 | |
1128 |
|
1129 |
|
1130 |
|
1131 |
|
1132 | constructor(c, r, z) {
|
1133 | this.z = z;
|
1134 | c.detach();
|
1135 | this.el = r.nativeElement;
|
1136 | }
|
1137 | }
|
1138 | IonBadge.decorators = [
|
1139 | { type: Component, args: [{ selector: 'ion-badge', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['color', 'mode'] },] },
|
1140 | ];
|
1141 |
|
1142 | IonBadge.ctorParameters = () => [
|
1143 | { type: ChangeDetectorRef },
|
1144 | { type: ElementRef },
|
1145 | { type: NgZone }
|
1146 | ];
|
1147 | proxyInputs(IonBadge, ['color', 'mode']);
|
1148 | class IonButton {
|
1149 | |
1150 |
|
1151 |
|
1152 |
|
1153 |
|
1154 | constructor(c, r, z) {
|
1155 | this.z = z;
|
1156 | c.detach();
|
1157 | this.el = r.nativeElement;
|
1158 | proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);
|
1159 | }
|
1160 | }
|
1161 | IonButton.decorators = [
|
1162 | { type: Component, args: [{ selector: 'ion-button', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['buttonType', 'color', 'disabled', 'download', 'expand', 'fill', 'href', 'mode', 'rel', 'routerDirection', 'shape', 'size', 'strong', 'target', 'type'] },] },
|
1163 | ];
|
1164 |
|
1165 | IonButton.ctorParameters = () => [
|
1166 | { type: ChangeDetectorRef },
|
1167 | { type: ElementRef },
|
1168 | { type: NgZone }
|
1169 | ];
|
1170 | proxyInputs(IonButton, ['buttonType', 'color', 'disabled', 'download', 'expand', 'fill', 'href', 'mode', 'rel', 'routerDirection', 'shape', 'size', 'strong', 'target', 'type']);
|
1171 | class IonButtons {
|
1172 | |
1173 |
|
1174 |
|
1175 |
|
1176 |
|
1177 | constructor(c, r, z) {
|
1178 | this.z = z;
|
1179 | c.detach();
|
1180 | this.el = r.nativeElement;
|
1181 | }
|
1182 | }
|
1183 | IonButtons.decorators = [
|
1184 | { type: Component, args: [{ selector: 'ion-buttons', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['collapse'] },] },
|
1185 | ];
|
1186 |
|
1187 | IonButtons.ctorParameters = () => [
|
1188 | { type: ChangeDetectorRef },
|
1189 | { type: ElementRef },
|
1190 | { type: NgZone }
|
1191 | ];
|
1192 | proxyInputs(IonButtons, ['collapse']);
|
1193 | class IonCard {
|
1194 | |
1195 |
|
1196 |
|
1197 |
|
1198 |
|
1199 | constructor(c, r, z) {
|
1200 | this.z = z;
|
1201 | c.detach();
|
1202 | this.el = r.nativeElement;
|
1203 | }
|
1204 | }
|
1205 | IonCard.decorators = [
|
1206 | { type: Component, args: [{ selector: 'ion-card', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['button', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerDirection', 'target', 'type'] },] },
|
1207 | ];
|
1208 |
|
1209 | IonCard.ctorParameters = () => [
|
1210 | { type: ChangeDetectorRef },
|
1211 | { type: ElementRef },
|
1212 | { type: NgZone }
|
1213 | ];
|
1214 | proxyInputs(IonCard, ['button', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerDirection', 'target', 'type']);
|
1215 | class IonCardContent {
|
1216 | |
1217 |
|
1218 |
|
1219 |
|
1220 |
|
1221 | constructor(c, r, z) {
|
1222 | this.z = z;
|
1223 | c.detach();
|
1224 | this.el = r.nativeElement;
|
1225 | }
|
1226 | }
|
1227 | IonCardContent.decorators = [
|
1228 | { type: Component, args: [{ selector: 'ion-card-content', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['mode'] },] },
|
1229 | ];
|
1230 |
|
1231 | IonCardContent.ctorParameters = () => [
|
1232 | { type: ChangeDetectorRef },
|
1233 | { type: ElementRef },
|
1234 | { type: NgZone }
|
1235 | ];
|
1236 | proxyInputs(IonCardContent, ['mode']);
|
1237 | class IonCardHeader {
|
1238 | |
1239 |
|
1240 |
|
1241 |
|
1242 |
|
1243 | constructor(c, r, z) {
|
1244 | this.z = z;
|
1245 | c.detach();
|
1246 | this.el = r.nativeElement;
|
1247 | }
|
1248 | }
|
1249 | IonCardHeader.decorators = [
|
1250 | { type: Component, args: [{ selector: 'ion-card-header', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['color', 'mode', 'translucent'] },] },
|
1251 | ];
|
1252 |
|
1253 | IonCardHeader.ctorParameters = () => [
|
1254 | { type: ChangeDetectorRef },
|
1255 | { type: ElementRef },
|
1256 | { type: NgZone }
|
1257 | ];
|
1258 | proxyInputs(IonCardHeader, ['color', 'mode', 'translucent']);
|
1259 | class IonCardSubtitle {
|
1260 | |
1261 |
|
1262 |
|
1263 |
|
1264 |
|
1265 | constructor(c, r, z) {
|
1266 | this.z = z;
|
1267 | c.detach();
|
1268 | this.el = r.nativeElement;
|
1269 | }
|
1270 | }
|
1271 | IonCardSubtitle.decorators = [
|
1272 | { type: Component, args: [{ selector: 'ion-card-subtitle', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['color', 'mode'] },] },
|
1273 | ];
|
1274 |
|
1275 | IonCardSubtitle.ctorParameters = () => [
|
1276 | { type: ChangeDetectorRef },
|
1277 | { type: ElementRef },
|
1278 | { type: NgZone }
|
1279 | ];
|
1280 | proxyInputs(IonCardSubtitle, ['color', 'mode']);
|
1281 | class IonCardTitle {
|
1282 | |
1283 |
|
1284 |
|
1285 |
|
1286 |
|
1287 | constructor(c, r, z) {
|
1288 | this.z = z;
|
1289 | c.detach();
|
1290 | this.el = r.nativeElement;
|
1291 | }
|
1292 | }
|
1293 | IonCardTitle.decorators = [
|
1294 | { type: Component, args: [{ selector: 'ion-card-title', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['color', 'mode'] },] },
|
1295 | ];
|
1296 |
|
1297 | IonCardTitle.ctorParameters = () => [
|
1298 | { type: ChangeDetectorRef },
|
1299 | { type: ElementRef },
|
1300 | { type: NgZone }
|
1301 | ];
|
1302 | proxyInputs(IonCardTitle, ['color', 'mode']);
|
1303 | class IonCheckbox {
|
1304 | |
1305 |
|
1306 |
|
1307 |
|
1308 |
|
1309 | constructor(c, r, z) {
|
1310 | this.z = z;
|
1311 | c.detach();
|
1312 | this.el = r.nativeElement;
|
1313 | proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']);
|
1314 | }
|
1315 | }
|
1316 | IonCheckbox.decorators = [
|
1317 | { type: Component, args: [{ selector: 'ion-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['checked', 'color', 'disabled', 'indeterminate', 'mode', 'name', 'value'] },] },
|
1318 | ];
|
1319 |
|
1320 | IonCheckbox.ctorParameters = () => [
|
1321 | { type: ChangeDetectorRef },
|
1322 | { type: ElementRef },
|
1323 | { type: NgZone }
|
1324 | ];
|
1325 | proxyInputs(IonCheckbox, ['checked', 'color', 'disabled', 'indeterminate', 'mode', 'name', 'value']);
|
1326 | class IonChip {
|
1327 | |
1328 |
|
1329 |
|
1330 |
|
1331 |
|
1332 | constructor(c, r, z) {
|
1333 | this.z = z;
|
1334 | c.detach();
|
1335 | this.el = r.nativeElement;
|
1336 | }
|
1337 | }
|
1338 | IonChip.decorators = [
|
1339 | { type: Component, args: [{ selector: 'ion-chip', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['color', 'mode', 'outline'] },] },
|
1340 | ];
|
1341 |
|
1342 | IonChip.ctorParameters = () => [
|
1343 | { type: ChangeDetectorRef },
|
1344 | { type: ElementRef },
|
1345 | { type: NgZone }
|
1346 | ];
|
1347 | proxyInputs(IonChip, ['color', 'mode', 'outline']);
|
1348 | class IonCol {
|
1349 | |
1350 |
|
1351 |
|
1352 |
|
1353 |
|
1354 | constructor(c, r, z) {
|
1355 | this.z = z;
|
1356 | c.detach();
|
1357 | this.el = r.nativeElement;
|
1358 | }
|
1359 | }
|
1360 | IonCol.decorators = [
|
1361 | { type: Component, args: [{ selector: 'ion-col', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['offset', 'offsetLg', 'offsetMd', 'offsetSm', 'offsetXl', 'offsetXs', 'pull', 'pullLg', 'pullMd', 'pullSm', 'pullXl', 'pullXs', 'push', 'pushLg', 'pushMd', 'pushSm', 'pushXl', 'pushXs', 'size', 'sizeLg', 'sizeMd', 'sizeSm', 'sizeXl', 'sizeXs'] },] },
|
1362 | ];
|
1363 |
|
1364 | IonCol.ctorParameters = () => [
|
1365 | { type: ChangeDetectorRef },
|
1366 | { type: ElementRef },
|
1367 | { type: NgZone }
|
1368 | ];
|
1369 | proxyInputs(IonCol, ['offset', 'offsetLg', 'offsetMd', 'offsetSm', 'offsetXl', 'offsetXs', 'pull', 'pullLg', 'pullMd', 'pullSm', 'pullXl', 'pullXs', 'push', 'pushLg', 'pushMd', 'pushSm', 'pushXl', 'pushXs', 'size', 'sizeLg', 'sizeMd', 'sizeSm', 'sizeXl', 'sizeXs']);
|
1370 | class IonContent {
|
1371 | |
1372 |
|
1373 |
|
1374 |
|
1375 |
|
1376 | constructor(c, r, z) {
|
1377 | this.z = z;
|
1378 | c.detach();
|
1379 | this.el = r.nativeElement;
|
1380 | proxyOutputs(this, this.el, ['ionScrollStart', 'ionScroll', 'ionScrollEnd']);
|
1381 | }
|
1382 | }
|
1383 | IonContent.decorators = [
|
1384 | { type: Component, args: [{ selector: 'ion-content', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['color', 'forceOverscroll', 'fullscreen', 'scrollEvents', 'scrollX', 'scrollY'] },] },
|
1385 | ];
|
1386 |
|
1387 | IonContent.ctorParameters = () => [
|
1388 | { type: ChangeDetectorRef },
|
1389 | { type: ElementRef },
|
1390 | { type: NgZone }
|
1391 | ];
|
1392 | proxyMethods(IonContent, ['getScrollElement', 'scrollToTop', 'scrollToBottom', 'scrollByPoint', 'scrollToPoint']);
|
1393 | proxyInputs(IonContent, ['color', 'forceOverscroll', 'fullscreen', 'scrollEvents', 'scrollX', 'scrollY']);
|
1394 | class IonDatetime {
|
1395 | |
1396 |
|
1397 |
|
1398 |
|
1399 |
|
1400 | constructor(c, r, z) {
|
1401 | this.z = z;
|
1402 | c.detach();
|
1403 | this.el = r.nativeElement;
|
1404 | proxyOutputs(this, this.el, ['ionCancel', 'ionChange', 'ionFocus', 'ionBlur']);
|
1405 | }
|
1406 | }
|
1407 | IonDatetime.decorators = [
|
1408 | { type: Component, args: [{ selector: 'ion-datetime', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['cancelText', 'dayNames', 'dayShortNames', 'dayValues', 'disabled', 'displayFormat', 'doneText', 'hourValues', 'max', 'min', 'minuteValues', 'mode', 'monthNames', 'monthShortNames', 'monthValues', 'name', 'pickerFormat', 'pickerOptions', 'placeholder', 'readonly', 'value', 'yearValues'] },] },
|
1409 | ];
|
1410 |
|
1411 | IonDatetime.ctorParameters = () => [
|
1412 | { type: ChangeDetectorRef },
|
1413 | { type: ElementRef },
|
1414 | { type: NgZone }
|
1415 | ];
|
1416 | proxyMethods(IonDatetime, ['open']);
|
1417 | proxyInputs(IonDatetime, ['cancelText', 'dayNames', 'dayShortNames', 'dayValues', 'disabled', 'displayFormat', 'doneText', 'hourValues', 'max', 'min', 'minuteValues', 'mode', 'monthNames', 'monthShortNames', 'monthValues', 'name', 'pickerFormat', 'pickerOptions', 'placeholder', 'readonly', 'value', 'yearValues']);
|
1418 | class IonFab {
|
1419 | |
1420 |
|
1421 |
|
1422 |
|
1423 |
|
1424 | constructor(c, r, z) {
|
1425 | this.z = z;
|
1426 | c.detach();
|
1427 | this.el = r.nativeElement;
|
1428 | }
|
1429 | }
|
1430 | IonFab.decorators = [
|
1431 | { type: Component, args: [{ selector: 'ion-fab', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['activated', 'edge', 'horizontal', 'vertical'] },] },
|
1432 | ];
|
1433 |
|
1434 | IonFab.ctorParameters = () => [
|
1435 | { type: ChangeDetectorRef },
|
1436 | { type: ElementRef },
|
1437 | { type: NgZone }
|
1438 | ];
|
1439 | proxyMethods(IonFab, ['close']);
|
1440 | proxyInputs(IonFab, ['activated', 'edge', 'horizontal', 'vertical']);
|
1441 | class IonFabButton {
|
1442 | |
1443 |
|
1444 |
|
1445 |
|
1446 |
|
1447 | constructor(c, r, z) {
|
1448 | this.z = z;
|
1449 | c.detach();
|
1450 | this.el = r.nativeElement;
|
1451 | proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);
|
1452 | }
|
1453 | }
|
1454 | IonFabButton.decorators = [
|
1455 | { type: Component, args: [{ selector: 'ion-fab-button', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['activated', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerDirection', 'show', 'size', 'target', 'translucent', 'type'] },] },
|
1456 | ];
|
1457 |
|
1458 | IonFabButton.ctorParameters = () => [
|
1459 | { type: ChangeDetectorRef },
|
1460 | { type: ElementRef },
|
1461 | { type: NgZone }
|
1462 | ];
|
1463 | proxyInputs(IonFabButton, ['activated', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerDirection', 'show', 'size', 'target', 'translucent', 'type']);
|
1464 | class IonFabList {
|
1465 | |
1466 |
|
1467 |
|
1468 |
|
1469 |
|
1470 | constructor(c, r, z) {
|
1471 | this.z = z;
|
1472 | c.detach();
|
1473 | this.el = r.nativeElement;
|
1474 | }
|
1475 | }
|
1476 | IonFabList.decorators = [
|
1477 | { type: Component, args: [{ selector: 'ion-fab-list', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['activated', 'side'] },] },
|
1478 | ];
|
1479 |
|
1480 | IonFabList.ctorParameters = () => [
|
1481 | { type: ChangeDetectorRef },
|
1482 | { type: ElementRef },
|
1483 | { type: NgZone }
|
1484 | ];
|
1485 | proxyInputs(IonFabList, ['activated', 'side']);
|
1486 | class IonFooter {
|
1487 | |
1488 |
|
1489 |
|
1490 |
|
1491 |
|
1492 | constructor(c, r, z) {
|
1493 | this.z = z;
|
1494 | c.detach();
|
1495 | this.el = r.nativeElement;
|
1496 | }
|
1497 | }
|
1498 | IonFooter.decorators = [
|
1499 | { type: Component, args: [{ selector: 'ion-footer', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['mode', 'translucent'] },] },
|
1500 | ];
|
1501 |
|
1502 | IonFooter.ctorParameters = () => [
|
1503 | { type: ChangeDetectorRef },
|
1504 | { type: ElementRef },
|
1505 | { type: NgZone }
|
1506 | ];
|
1507 | proxyInputs(IonFooter, ['mode', 'translucent']);
|
1508 | class IonGrid {
|
1509 | |
1510 |
|
1511 |
|
1512 |
|
1513 |
|
1514 | constructor(c, r, z) {
|
1515 | this.z = z;
|
1516 | c.detach();
|
1517 | this.el = r.nativeElement;
|
1518 | }
|
1519 | }
|
1520 | IonGrid.decorators = [
|
1521 | { type: Component, args: [{ selector: 'ion-grid', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['fixed'] },] },
|
1522 | ];
|
1523 |
|
1524 | IonGrid.ctorParameters = () => [
|
1525 | { type: ChangeDetectorRef },
|
1526 | { type: ElementRef },
|
1527 | { type: NgZone }
|
1528 | ];
|
1529 | proxyInputs(IonGrid, ['fixed']);
|
1530 | class IonHeader {
|
1531 | |
1532 |
|
1533 |
|
1534 |
|
1535 |
|
1536 | constructor(c, r, z) {
|
1537 | this.z = z;
|
1538 | c.detach();
|
1539 | this.el = r.nativeElement;
|
1540 | }
|
1541 | }
|
1542 | IonHeader.decorators = [
|
1543 | { type: Component, args: [{ selector: 'ion-header', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['collapse', 'mode', 'translucent'] },] },
|
1544 | ];
|
1545 |
|
1546 | IonHeader.ctorParameters = () => [
|
1547 | { type: ChangeDetectorRef },
|
1548 | { type: ElementRef },
|
1549 | { type: NgZone }
|
1550 | ];
|
1551 | proxyInputs(IonHeader, ['collapse', 'mode', 'translucent']);
|
1552 | class IonIcon {
|
1553 | |
1554 |
|
1555 |
|
1556 |
|
1557 |
|
1558 | constructor(c, r, z) {
|
1559 | this.z = z;
|
1560 | c.detach();
|
1561 | this.el = r.nativeElement;
|
1562 | }
|
1563 | }
|
1564 | IonIcon.decorators = [
|
1565 | { type: Component, args: [{ selector: 'ion-icon', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['ariaLabel', 'color', 'flipRtl', 'icon', 'ios', 'lazy', 'md', 'mode', 'name', 'size', 'src'] },] },
|
1566 | ];
|
1567 |
|
1568 | IonIcon.ctorParameters = () => [
|
1569 | { type: ChangeDetectorRef },
|
1570 | { type: ElementRef },
|
1571 | { type: NgZone }
|
1572 | ];
|
1573 | proxyInputs(IonIcon, ['ariaLabel', 'color', 'flipRtl', 'icon', 'ios', 'lazy', 'md', 'mode', 'name', 'size', 'src']);
|
1574 | class IonImg {
|
1575 | |
1576 |
|
1577 |
|
1578 |
|
1579 |
|
1580 | constructor(c, r, z) {
|
1581 | this.z = z;
|
1582 | c.detach();
|
1583 | this.el = r.nativeElement;
|
1584 | proxyOutputs(this, this.el, ['ionImgWillLoad', 'ionImgDidLoad', 'ionError']);
|
1585 | }
|
1586 | }
|
1587 | IonImg.decorators = [
|
1588 | { type: Component, args: [{ selector: 'ion-img', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['alt', 'src'] },] },
|
1589 | ];
|
1590 |
|
1591 | IonImg.ctorParameters = () => [
|
1592 | { type: ChangeDetectorRef },
|
1593 | { type: ElementRef },
|
1594 | { type: NgZone }
|
1595 | ];
|
1596 | proxyInputs(IonImg, ['alt', 'src']);
|
1597 | class IonInfiniteScroll {
|
1598 | |
1599 |
|
1600 |
|
1601 |
|
1602 |
|
1603 | constructor(c, r, z) {
|
1604 | this.z = z;
|
1605 | c.detach();
|
1606 | this.el = r.nativeElement;
|
1607 | proxyOutputs(this, this.el, ['ionInfinite']);
|
1608 | }
|
1609 | }
|
1610 | IonInfiniteScroll.decorators = [
|
1611 | { type: Component, args: [{ selector: 'ion-infinite-scroll', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['disabled', 'position', 'threshold'] },] },
|
1612 | ];
|
1613 |
|
1614 | IonInfiniteScroll.ctorParameters = () => [
|
1615 | { type: ChangeDetectorRef },
|
1616 | { type: ElementRef },
|
1617 | { type: NgZone }
|
1618 | ];
|
1619 | proxyMethods(IonInfiniteScroll, ['complete']);
|
1620 | proxyInputs(IonInfiniteScroll, ['disabled', 'position', 'threshold']);
|
1621 | class IonInfiniteScrollContent {
|
1622 | |
1623 |
|
1624 |
|
1625 |
|
1626 |
|
1627 | constructor(c, r, z) {
|
1628 | this.z = z;
|
1629 | c.detach();
|
1630 | this.el = r.nativeElement;
|
1631 | }
|
1632 | }
|
1633 | IonInfiniteScrollContent.decorators = [
|
1634 | { type: Component, args: [{ selector: 'ion-infinite-scroll-content', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['loadingSpinner', 'loadingText'] },] },
|
1635 | ];
|
1636 |
|
1637 | IonInfiniteScrollContent.ctorParameters = () => [
|
1638 | { type: ChangeDetectorRef },
|
1639 | { type: ElementRef },
|
1640 | { type: NgZone }
|
1641 | ];
|
1642 | proxyInputs(IonInfiniteScrollContent, ['loadingSpinner', 'loadingText']);
|
1643 | class IonInput {
|
1644 | |
1645 |
|
1646 |
|
1647 |
|
1648 |
|
1649 | constructor(c, r, z) {
|
1650 | this.z = z;
|
1651 | c.detach();
|
1652 | this.el = r.nativeElement;
|
1653 | proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionBlur', 'ionFocus']);
|
1654 | }
|
1655 | }
|
1656 | IonInput.decorators = [
|
1657 | { type: Component, args: [{ selector: 'ion-input', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['accept', 'autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'clearInput', 'clearOnEdit', 'color', 'debounce', 'disabled', 'inputmode', 'max', 'maxlength', 'min', 'minlength', 'mode', 'multiple', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'size', 'spellcheck', 'step', 'type', 'value'] },] },
|
1658 | ];
|
1659 |
|
1660 | IonInput.ctorParameters = () => [
|
1661 | { type: ChangeDetectorRef },
|
1662 | { type: ElementRef },
|
1663 | { type: NgZone }
|
1664 | ];
|
1665 | proxyMethods(IonInput, ['setFocus', 'getInputElement']);
|
1666 | proxyInputs(IonInput, ['accept', 'autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'clearInput', 'clearOnEdit', 'color', 'debounce', 'disabled', 'inputmode', 'max', 'maxlength', 'min', 'minlength', 'mode', 'multiple', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'size', 'spellcheck', 'step', 'type', 'value']);
|
1667 | class IonItem {
|
1668 | |
1669 |
|
1670 |
|
1671 |
|
1672 |
|
1673 | constructor(c, r, z) {
|
1674 | this.z = z;
|
1675 | c.detach();
|
1676 | this.el = r.nativeElement;
|
1677 | }
|
1678 | }
|
1679 | IonItem.decorators = [
|
1680 | { type: Component, args: [{ selector: 'ion-item', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['button', 'color', 'detail', 'detailIcon', 'disabled', 'download', 'href', 'lines', 'mode', 'rel', 'routerDirection', 'target', 'type'] },] },
|
1681 | ];
|
1682 |
|
1683 | IonItem.ctorParameters = () => [
|
1684 | { type: ChangeDetectorRef },
|
1685 | { type: ElementRef },
|
1686 | { type: NgZone }
|
1687 | ];
|
1688 | proxyInputs(IonItem, ['button', 'color', 'detail', 'detailIcon', 'disabled', 'download', 'href', 'lines', 'mode', 'rel', 'routerDirection', 'target', 'type']);
|
1689 | class IonItemDivider {
|
1690 | |
1691 |
|
1692 |
|
1693 |
|
1694 |
|
1695 | constructor(c, r, z) {
|
1696 | this.z = z;
|
1697 | c.detach();
|
1698 | this.el = r.nativeElement;
|
1699 | }
|
1700 | }
|
1701 | IonItemDivider.decorators = [
|
1702 | { type: Component, args: [{ selector: 'ion-item-divider', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['color', 'mode', 'sticky'] },] },
|
1703 | ];
|
1704 |
|
1705 | IonItemDivider.ctorParameters = () => [
|
1706 | { type: ChangeDetectorRef },
|
1707 | { type: ElementRef },
|
1708 | { type: NgZone }
|
1709 | ];
|
1710 | proxyInputs(IonItemDivider, ['color', 'mode', 'sticky']);
|
1711 | class IonItemGroup {
|
1712 | |
1713 |
|
1714 |
|
1715 |
|
1716 |
|
1717 | constructor(c, r, z) {
|
1718 | this.z = z;
|
1719 | c.detach();
|
1720 | this.el = r.nativeElement;
|
1721 | }
|
1722 | }
|
1723 | IonItemGroup.decorators = [
|
1724 | { type: Component, args: [{ selector: 'ion-item-group', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>' },] },
|
1725 | ];
|
1726 |
|
1727 | IonItemGroup.ctorParameters = () => [
|
1728 | { type: ChangeDetectorRef },
|
1729 | { type: ElementRef },
|
1730 | { type: NgZone }
|
1731 | ];
|
1732 | class IonItemOption {
|
1733 | |
1734 |
|
1735 |
|
1736 |
|
1737 |
|
1738 | constructor(c, r, z) {
|
1739 | this.z = z;
|
1740 | c.detach();
|
1741 | this.el = r.nativeElement;
|
1742 | }
|
1743 | }
|
1744 | IonItemOption.decorators = [
|
1745 | { type: Component, args: [{ selector: 'ion-item-option', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['color', 'disabled', 'download', 'expandable', 'href', 'mode', 'rel', 'target', 'type'] },] },
|
1746 | ];
|
1747 |
|
1748 | IonItemOption.ctorParameters = () => [
|
1749 | { type: ChangeDetectorRef },
|
1750 | { type: ElementRef },
|
1751 | { type: NgZone }
|
1752 | ];
|
1753 | proxyInputs(IonItemOption, ['color', 'disabled', 'download', 'expandable', 'href', 'mode', 'rel', 'target', 'type']);
|
1754 | class IonItemOptions {
|
1755 | |
1756 |
|
1757 |
|
1758 |
|
1759 |
|
1760 | constructor(c, r, z) {
|
1761 | this.z = z;
|
1762 | c.detach();
|
1763 | this.el = r.nativeElement;
|
1764 | proxyOutputs(this, this.el, ['ionSwipe']);
|
1765 | }
|
1766 | }
|
1767 | IonItemOptions.decorators = [
|
1768 | { type: Component, args: [{ selector: 'ion-item-options', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['side'] },] },
|
1769 | ];
|
1770 |
|
1771 | IonItemOptions.ctorParameters = () => [
|
1772 | { type: ChangeDetectorRef },
|
1773 | { type: ElementRef },
|
1774 | { type: NgZone }
|
1775 | ];
|
1776 | proxyInputs(IonItemOptions, ['side']);
|
1777 | class IonItemSliding {
|
1778 | |
1779 |
|
1780 |
|
1781 |
|
1782 |
|
1783 | constructor(c, r, z) {
|
1784 | this.z = z;
|
1785 | c.detach();
|
1786 | this.el = r.nativeElement;
|
1787 | proxyOutputs(this, this.el, ['ionDrag']);
|
1788 | }
|
1789 | }
|
1790 | IonItemSliding.decorators = [
|
1791 | { type: Component, args: [{ selector: 'ion-item-sliding', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['disabled'] },] },
|
1792 | ];
|
1793 |
|
1794 | IonItemSliding.ctorParameters = () => [
|
1795 | { type: ChangeDetectorRef },
|
1796 | { type: ElementRef },
|
1797 | { type: NgZone }
|
1798 | ];
|
1799 | proxyMethods(IonItemSliding, ['getOpenAmount', 'getSlidingRatio', 'open', 'close', 'closeOpened']);
|
1800 | proxyInputs(IonItemSliding, ['disabled']);
|
1801 | class IonLabel {
|
1802 | |
1803 |
|
1804 |
|
1805 |
|
1806 |
|
1807 | constructor(c, r, z) {
|
1808 | this.z = z;
|
1809 | c.detach();
|
1810 | this.el = r.nativeElement;
|
1811 | }
|
1812 | }
|
1813 | IonLabel.decorators = [
|
1814 | { type: Component, args: [{ selector: 'ion-label', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['color', 'mode', 'position'] },] },
|
1815 | ];
|
1816 |
|
1817 | IonLabel.ctorParameters = () => [
|
1818 | { type: ChangeDetectorRef },
|
1819 | { type: ElementRef },
|
1820 | { type: NgZone }
|
1821 | ];
|
1822 | proxyInputs(IonLabel, ['color', 'mode', 'position']);
|
1823 | class IonList {
|
1824 | |
1825 |
|
1826 |
|
1827 |
|
1828 |
|
1829 | constructor(c, r, z) {
|
1830 | this.z = z;
|
1831 | c.detach();
|
1832 | this.el = r.nativeElement;
|
1833 | }
|
1834 | }
|
1835 | IonList.decorators = [
|
1836 | { type: Component, args: [{ selector: 'ion-list', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['inset', 'lines', 'mode'] },] },
|
1837 | ];
|
1838 |
|
1839 | IonList.ctorParameters = () => [
|
1840 | { type: ChangeDetectorRef },
|
1841 | { type: ElementRef },
|
1842 | { type: NgZone }
|
1843 | ];
|
1844 | proxyMethods(IonList, ['closeSlidingItems']);
|
1845 | proxyInputs(IonList, ['inset', 'lines', 'mode']);
|
1846 | class IonListHeader {
|
1847 | |
1848 |
|
1849 |
|
1850 |
|
1851 |
|
1852 | constructor(c, r, z) {
|
1853 | this.z = z;
|
1854 | c.detach();
|
1855 | this.el = r.nativeElement;
|
1856 | }
|
1857 | }
|
1858 | IonListHeader.decorators = [
|
1859 | { type: Component, args: [{ selector: 'ion-list-header', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['color', 'mode'] },] },
|
1860 | ];
|
1861 |
|
1862 | IonListHeader.ctorParameters = () => [
|
1863 | { type: ChangeDetectorRef },
|
1864 | { type: ElementRef },
|
1865 | { type: NgZone }
|
1866 | ];
|
1867 | proxyInputs(IonListHeader, ['color', 'mode']);
|
1868 | class IonMenu {
|
1869 | |
1870 |
|
1871 |
|
1872 |
|
1873 |
|
1874 | constructor(c, r, z) {
|
1875 | this.z = z;
|
1876 | c.detach();
|
1877 | this.el = r.nativeElement;
|
1878 | proxyOutputs(this, this.el, ['ionWillOpen', 'ionWillClose', 'ionDidOpen', 'ionDidClose']);
|
1879 | }
|
1880 | }
|
1881 | IonMenu.decorators = [
|
1882 | { type: Component, args: [{ selector: 'ion-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['contentId', 'disabled', 'maxEdgeStart', 'menuId', 'side', 'swipeGesture', 'type'] },] },
|
1883 | ];
|
1884 |
|
1885 | IonMenu.ctorParameters = () => [
|
1886 | { type: ChangeDetectorRef },
|
1887 | { type: ElementRef },
|
1888 | { type: NgZone }
|
1889 | ];
|
1890 | proxyMethods(IonMenu, ['isOpen', 'isActive', 'open', 'close', 'toggle', 'setOpen']);
|
1891 | proxyInputs(IonMenu, ['contentId', 'disabled', 'maxEdgeStart', 'menuId', 'side', 'swipeGesture', 'type']);
|
1892 | class IonMenuButton {
|
1893 | |
1894 |
|
1895 |
|
1896 |
|
1897 |
|
1898 | constructor(c, r, z) {
|
1899 | this.z = z;
|
1900 | c.detach();
|
1901 | this.el = r.nativeElement;
|
1902 | }
|
1903 | }
|
1904 | IonMenuButton.decorators = [
|
1905 | { type: Component, args: [{ selector: 'ion-menu-button', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['autoHide', 'color', 'disabled', 'menu', 'type'] },] },
|
1906 | ];
|
1907 |
|
1908 | IonMenuButton.ctorParameters = () => [
|
1909 | { type: ChangeDetectorRef },
|
1910 | { type: ElementRef },
|
1911 | { type: NgZone }
|
1912 | ];
|
1913 | proxyInputs(IonMenuButton, ['autoHide', 'color', 'disabled', 'menu', 'type']);
|
1914 | class IonMenuToggle {
|
1915 | |
1916 |
|
1917 |
|
1918 |
|
1919 |
|
1920 | constructor(c, r, z) {
|
1921 | this.z = z;
|
1922 | c.detach();
|
1923 | this.el = r.nativeElement;
|
1924 | }
|
1925 | }
|
1926 | IonMenuToggle.decorators = [
|
1927 | { type: Component, args: [{ selector: 'ion-menu-toggle', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['autoHide', 'menu'] },] },
|
1928 | ];
|
1929 |
|
1930 | IonMenuToggle.ctorParameters = () => [
|
1931 | { type: ChangeDetectorRef },
|
1932 | { type: ElementRef },
|
1933 | { type: NgZone }
|
1934 | ];
|
1935 | proxyInputs(IonMenuToggle, ['autoHide', 'menu']);
|
1936 | class IonNav {
|
1937 | |
1938 |
|
1939 |
|
1940 |
|
1941 |
|
1942 | constructor(c, r, z) {
|
1943 | this.z = z;
|
1944 | c.detach();
|
1945 | this.el = r.nativeElement;
|
1946 | proxyOutputs(this, this.el, ['ionNavWillChange', 'ionNavDidChange']);
|
1947 | }
|
1948 | }
|
1949 | IonNav.decorators = [
|
1950 | { type: Component, args: [{ selector: 'ion-nav', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['animated', 'animation', 'root', 'rootParams', 'swipeGesture'] },] },
|
1951 | ];
|
1952 |
|
1953 | IonNav.ctorParameters = () => [
|
1954 | { type: ChangeDetectorRef },
|
1955 | { type: ElementRef },
|
1956 | { type: NgZone }
|
1957 | ];
|
1958 | proxyMethods(IonNav, ['push', 'insert', 'insertPages', 'pop', 'popTo', 'popToRoot', 'removeIndex', 'setRoot', 'setPages', 'getActive', 'getByIndex', 'canGoBack', 'getPrevious']);
|
1959 | proxyInputs(IonNav, ['animated', 'animation', 'root', 'rootParams', 'swipeGesture']);
|
1960 | class IonNavLink {
|
1961 | |
1962 |
|
1963 |
|
1964 |
|
1965 |
|
1966 | constructor(c, r, z) {
|
1967 | this.z = z;
|
1968 | c.detach();
|
1969 | this.el = r.nativeElement;
|
1970 | }
|
1971 | }
|
1972 | IonNavLink.decorators = [
|
1973 | { type: Component, args: [{ selector: 'ion-nav-link', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['component', 'componentProps', 'routerDirection'] },] },
|
1974 | ];
|
1975 |
|
1976 | IonNavLink.ctorParameters = () => [
|
1977 | { type: ChangeDetectorRef },
|
1978 | { type: ElementRef },
|
1979 | { type: NgZone }
|
1980 | ];
|
1981 | proxyInputs(IonNavLink, ['component', 'componentProps', 'routerDirection']);
|
1982 | class IonNavPop {
|
1983 | |
1984 |
|
1985 |
|
1986 |
|
1987 |
|
1988 | constructor(c, r, z) {
|
1989 | this.z = z;
|
1990 | c.detach();
|
1991 | this.el = r.nativeElement;
|
1992 | }
|
1993 | }
|
1994 | IonNavPop.decorators = [
|
1995 | { type: Component, args: [{ selector: 'ion-nav-pop', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>' },] },
|
1996 | ];
|
1997 |
|
1998 | IonNavPop.ctorParameters = () => [
|
1999 | { type: ChangeDetectorRef },
|
2000 | { type: ElementRef },
|
2001 | { type: NgZone }
|
2002 | ];
|
2003 | class IonNavPush {
|
2004 | |
2005 |
|
2006 |
|
2007 |
|
2008 |
|
2009 | constructor(c, r, z) {
|
2010 | this.z = z;
|
2011 | c.detach();
|
2012 | this.el = r.nativeElement;
|
2013 | }
|
2014 | }
|
2015 | IonNavPush.decorators = [
|
2016 | { type: Component, args: [{ selector: 'ion-nav-push', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['component', 'componentProps'] },] },
|
2017 | ];
|
2018 |
|
2019 | IonNavPush.ctorParameters = () => [
|
2020 | { type: ChangeDetectorRef },
|
2021 | { type: ElementRef },
|
2022 | { type: NgZone }
|
2023 | ];
|
2024 | proxyInputs(IonNavPush, ['component', 'componentProps']);
|
2025 | class IonNavSetRoot {
|
2026 | |
2027 |
|
2028 |
|
2029 |
|
2030 |
|
2031 | constructor(c, r, z) {
|
2032 | this.z = z;
|
2033 | c.detach();
|
2034 | this.el = r.nativeElement;
|
2035 | }
|
2036 | }
|
2037 | IonNavSetRoot.decorators = [
|
2038 | { type: Component, args: [{ selector: 'ion-nav-set-root', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['component', 'componentProps'] },] },
|
2039 | ];
|
2040 |
|
2041 | IonNavSetRoot.ctorParameters = () => [
|
2042 | { type: ChangeDetectorRef },
|
2043 | { type: ElementRef },
|
2044 | { type: NgZone }
|
2045 | ];
|
2046 | proxyInputs(IonNavSetRoot, ['component', 'componentProps']);
|
2047 | class IonNote {
|
2048 | |
2049 |
|
2050 |
|
2051 |
|
2052 |
|
2053 | constructor(c, r, z) {
|
2054 | this.z = z;
|
2055 | c.detach();
|
2056 | this.el = r.nativeElement;
|
2057 | }
|
2058 | }
|
2059 | IonNote.decorators = [
|
2060 | { type: Component, args: [{ selector: 'ion-note', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['color', 'mode'] },] },
|
2061 | ];
|
2062 |
|
2063 | IonNote.ctorParameters = () => [
|
2064 | { type: ChangeDetectorRef },
|
2065 | { type: ElementRef },
|
2066 | { type: NgZone }
|
2067 | ];
|
2068 | proxyInputs(IonNote, ['color', 'mode']);
|
2069 | class IonProgressBar {
|
2070 | |
2071 |
|
2072 |
|
2073 |
|
2074 |
|
2075 | constructor(c, r, z) {
|
2076 | this.z = z;
|
2077 | c.detach();
|
2078 | this.el = r.nativeElement;
|
2079 | }
|
2080 | }
|
2081 | IonProgressBar.decorators = [
|
2082 | { type: Component, args: [{ selector: 'ion-progress-bar', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['buffer', 'color', 'mode', 'reversed', 'type', 'value'] },] },
|
2083 | ];
|
2084 |
|
2085 | IonProgressBar.ctorParameters = () => [
|
2086 | { type: ChangeDetectorRef },
|
2087 | { type: ElementRef },
|
2088 | { type: NgZone }
|
2089 | ];
|
2090 | proxyInputs(IonProgressBar, ['buffer', 'color', 'mode', 'reversed', 'type', 'value']);
|
2091 | class IonRadio {
|
2092 | |
2093 |
|
2094 |
|
2095 |
|
2096 |
|
2097 | constructor(c, r, z) {
|
2098 | this.z = z;
|
2099 | c.detach();
|
2100 | this.el = r.nativeElement;
|
2101 | proxyOutputs(this, this.el, ['ionSelect', 'ionFocus', 'ionBlur']);
|
2102 | }
|
2103 | }
|
2104 | IonRadio.decorators = [
|
2105 | { type: Component, args: [{ selector: 'ion-radio', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['checked', 'color', 'disabled', 'mode', 'name', 'value'] },] },
|
2106 | ];
|
2107 |
|
2108 | IonRadio.ctorParameters = () => [
|
2109 | { type: ChangeDetectorRef },
|
2110 | { type: ElementRef },
|
2111 | { type: NgZone }
|
2112 | ];
|
2113 | proxyInputs(IonRadio, ['checked', 'color', 'disabled', 'mode', 'name', 'value']);
|
2114 | class IonRadioGroup {
|
2115 | |
2116 |
|
2117 |
|
2118 |
|
2119 |
|
2120 | constructor(c, r, z) {
|
2121 | this.z = z;
|
2122 | c.detach();
|
2123 | this.el = r.nativeElement;
|
2124 | proxyOutputs(this, this.el, ['ionChange']);
|
2125 | }
|
2126 | }
|
2127 | IonRadioGroup.decorators = [
|
2128 | { type: Component, args: [{ selector: 'ion-radio-group', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['allowEmptySelection', 'name', 'value'] },] },
|
2129 | ];
|
2130 |
|
2131 | IonRadioGroup.ctorParameters = () => [
|
2132 | { type: ChangeDetectorRef },
|
2133 | { type: ElementRef },
|
2134 | { type: NgZone }
|
2135 | ];
|
2136 | proxyInputs(IonRadioGroup, ['allowEmptySelection', 'name', 'value']);
|
2137 | class IonRange {
|
2138 | |
2139 |
|
2140 |
|
2141 |
|
2142 |
|
2143 | constructor(c, r, z) {
|
2144 | this.z = z;
|
2145 | c.detach();
|
2146 | this.el = r.nativeElement;
|
2147 | proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']);
|
2148 | }
|
2149 | }
|
2150 | IonRange.decorators = [
|
2151 | { type: Component, args: [{ selector: 'ion-range', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['color', 'debounce', 'disabled', 'dualKnobs', 'max', 'min', 'mode', 'name', 'pin', 'snaps', 'step', 'ticks', 'value'] },] },
|
2152 | ];
|
2153 |
|
2154 | IonRange.ctorParameters = () => [
|
2155 | { type: ChangeDetectorRef },
|
2156 | { type: ElementRef },
|
2157 | { type: NgZone }
|
2158 | ];
|
2159 | proxyInputs(IonRange, ['color', 'debounce', 'disabled', 'dualKnobs', 'max', 'min', 'mode', 'name', 'pin', 'snaps', 'step', 'ticks', 'value']);
|
2160 | class IonRefresher {
|
2161 | |
2162 |
|
2163 |
|
2164 |
|
2165 |
|
2166 | constructor(c, r, z) {
|
2167 | this.z = z;
|
2168 | c.detach();
|
2169 | this.el = r.nativeElement;
|
2170 | proxyOutputs(this, this.el, ['ionRefresh', 'ionPull', 'ionStart']);
|
2171 | }
|
2172 | }
|
2173 | IonRefresher.decorators = [
|
2174 | { type: Component, args: [{ selector: 'ion-refresher', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['closeDuration', 'disabled', 'pullFactor', 'pullMax', 'pullMin', 'snapbackDuration'] },] },
|
2175 | ];
|
2176 |
|
2177 | IonRefresher.ctorParameters = () => [
|
2178 | { type: ChangeDetectorRef },
|
2179 | { type: ElementRef },
|
2180 | { type: NgZone }
|
2181 | ];
|
2182 | proxyMethods(IonRefresher, ['complete', 'cancel', 'getProgress']);
|
2183 | proxyInputs(IonRefresher, ['closeDuration', 'disabled', 'pullFactor', 'pullMax', 'pullMin', 'snapbackDuration']);
|
2184 | class IonRefresherContent {
|
2185 | |
2186 |
|
2187 |
|
2188 |
|
2189 |
|
2190 | constructor(c, r, z) {
|
2191 | this.z = z;
|
2192 | c.detach();
|
2193 | this.el = r.nativeElement;
|
2194 | }
|
2195 | }
|
2196 | IonRefresherContent.decorators = [
|
2197 | { type: Component, args: [{ selector: 'ion-refresher-content', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['pullingIcon', 'pullingText', 'refreshingSpinner', 'refreshingText'] },] },
|
2198 | ];
|
2199 |
|
2200 | IonRefresherContent.ctorParameters = () => [
|
2201 | { type: ChangeDetectorRef },
|
2202 | { type: ElementRef },
|
2203 | { type: NgZone }
|
2204 | ];
|
2205 | proxyInputs(IonRefresherContent, ['pullingIcon', 'pullingText', 'refreshingSpinner', 'refreshingText']);
|
2206 | class IonReorder {
|
2207 | |
2208 |
|
2209 |
|
2210 |
|
2211 |
|
2212 | constructor(c, r, z) {
|
2213 | this.z = z;
|
2214 | c.detach();
|
2215 | this.el = r.nativeElement;
|
2216 | }
|
2217 | }
|
2218 | IonReorder.decorators = [
|
2219 | { type: Component, args: [{ selector: 'ion-reorder', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>' },] },
|
2220 | ];
|
2221 |
|
2222 | IonReorder.ctorParameters = () => [
|
2223 | { type: ChangeDetectorRef },
|
2224 | { type: ElementRef },
|
2225 | { type: NgZone }
|
2226 | ];
|
2227 | class IonReorderGroup {
|
2228 | |
2229 |
|
2230 |
|
2231 |
|
2232 |
|
2233 | constructor(c, r, z) {
|
2234 | this.z = z;
|
2235 | c.detach();
|
2236 | this.el = r.nativeElement;
|
2237 | proxyOutputs(this, this.el, ['ionItemReorder']);
|
2238 | }
|
2239 | }
|
2240 | IonReorderGroup.decorators = [
|
2241 | { type: Component, args: [{ selector: 'ion-reorder-group', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['disabled'] },] },
|
2242 | ];
|
2243 |
|
2244 | IonReorderGroup.ctorParameters = () => [
|
2245 | { type: ChangeDetectorRef },
|
2246 | { type: ElementRef },
|
2247 | { type: NgZone }
|
2248 | ];
|
2249 | proxyMethods(IonReorderGroup, ['complete']);
|
2250 | proxyInputs(IonReorderGroup, ['disabled']);
|
2251 | class IonRippleEffect {
|
2252 | |
2253 |
|
2254 |
|
2255 |
|
2256 |
|
2257 | constructor(c, r, z) {
|
2258 | this.z = z;
|
2259 | c.detach();
|
2260 | this.el = r.nativeElement;
|
2261 | }
|
2262 | }
|
2263 | IonRippleEffect.decorators = [
|
2264 | { type: Component, args: [{ selector: 'ion-ripple-effect', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['type'] },] },
|
2265 | ];
|
2266 |
|
2267 | IonRippleEffect.ctorParameters = () => [
|
2268 | { type: ChangeDetectorRef },
|
2269 | { type: ElementRef },
|
2270 | { type: NgZone }
|
2271 | ];
|
2272 | proxyMethods(IonRippleEffect, ['addRipple']);
|
2273 | proxyInputs(IonRippleEffect, ['type']);
|
2274 | class IonRow {
|
2275 | |
2276 |
|
2277 |
|
2278 |
|
2279 |
|
2280 | constructor(c, r, z) {
|
2281 | this.z = z;
|
2282 | c.detach();
|
2283 | this.el = r.nativeElement;
|
2284 | }
|
2285 | }
|
2286 | IonRow.decorators = [
|
2287 | { type: Component, args: [{ selector: 'ion-row', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>' },] },
|
2288 | ];
|
2289 |
|
2290 | IonRow.ctorParameters = () => [
|
2291 | { type: ChangeDetectorRef },
|
2292 | { type: ElementRef },
|
2293 | { type: NgZone }
|
2294 | ];
|
2295 | class IonSearchbar {
|
2296 | |
2297 |
|
2298 |
|
2299 |
|
2300 |
|
2301 | constructor(c, r, z) {
|
2302 | this.z = z;
|
2303 | c.detach();
|
2304 | this.el = r.nativeElement;
|
2305 | proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionCancel', 'ionClear', 'ionBlur', 'ionFocus']);
|
2306 | }
|
2307 | }
|
2308 | IonSearchbar.decorators = [
|
2309 | { type: Component, args: [{ selector: 'ion-searchbar', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['animated', 'autocomplete', 'autocorrect', 'cancelButtonIcon', 'cancelButtonText', 'clearIcon', 'color', 'debounce', 'disabled', 'inputmode', 'mode', 'placeholder', 'searchIcon', 'showCancelButton', 'spellcheck', 'type', 'value'] },] },
|
2310 | ];
|
2311 |
|
2312 | IonSearchbar.ctorParameters = () => [
|
2313 | { type: ChangeDetectorRef },
|
2314 | { type: ElementRef },
|
2315 | { type: NgZone }
|
2316 | ];
|
2317 | proxyMethods(IonSearchbar, ['setFocus', 'getInputElement']);
|
2318 | proxyInputs(IonSearchbar, ['animated', 'autocomplete', 'autocorrect', 'cancelButtonIcon', 'cancelButtonText', 'clearIcon', 'color', 'debounce', 'disabled', 'inputmode', 'mode', 'placeholder', 'searchIcon', 'showCancelButton', 'spellcheck', 'type', 'value']);
|
2319 | class IonSegment {
|
2320 | |
2321 |
|
2322 |
|
2323 |
|
2324 |
|
2325 | constructor(c, r, z) {
|
2326 | this.z = z;
|
2327 | c.detach();
|
2328 | this.el = r.nativeElement;
|
2329 | proxyOutputs(this, this.el, ['ionChange']);
|
2330 | }
|
2331 | }
|
2332 | IonSegment.decorators = [
|
2333 | { type: Component, args: [{ selector: 'ion-segment', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['color', 'disabled', 'mode', 'scrollable', 'value'] },] },
|
2334 | ];
|
2335 |
|
2336 | IonSegment.ctorParameters = () => [
|
2337 | { type: ChangeDetectorRef },
|
2338 | { type: ElementRef },
|
2339 | { type: NgZone }
|
2340 | ];
|
2341 | proxyInputs(IonSegment, ['color', 'disabled', 'mode', 'scrollable', 'value']);
|
2342 | class IonSegmentButton {
|
2343 | |
2344 |
|
2345 |
|
2346 |
|
2347 |
|
2348 | constructor(c, r, z) {
|
2349 | this.z = z;
|
2350 | c.detach();
|
2351 | this.el = r.nativeElement;
|
2352 | proxyOutputs(this, this.el, ['ionSelect']);
|
2353 | }
|
2354 | }
|
2355 | IonSegmentButton.decorators = [
|
2356 | { type: Component, args: [{ selector: 'ion-segment-button', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['checked', 'disabled', 'layout', 'mode', 'type', 'value'] },] },
|
2357 | ];
|
2358 |
|
2359 | IonSegmentButton.ctorParameters = () => [
|
2360 | { type: ChangeDetectorRef },
|
2361 | { type: ElementRef },
|
2362 | { type: NgZone }
|
2363 | ];
|
2364 | proxyInputs(IonSegmentButton, ['checked', 'disabled', 'layout', 'mode', 'type', 'value']);
|
2365 | class IonSelect {
|
2366 | |
2367 |
|
2368 |
|
2369 |
|
2370 |
|
2371 | constructor(c, r, z) {
|
2372 | this.z = z;
|
2373 | c.detach();
|
2374 | this.el = r.nativeElement;
|
2375 | proxyOutputs(this, this.el, ['ionChange', 'ionCancel', 'ionFocus', 'ionBlur']);
|
2376 | }
|
2377 | }
|
2378 | IonSelect.decorators = [
|
2379 | { type: Component, args: [{ selector: 'ion-select', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['cancelText', 'compareWith', 'disabled', 'interface', 'interfaceOptions', 'mode', 'multiple', 'name', 'okText', 'placeholder', 'selectedText', 'value'] },] },
|
2380 | ];
|
2381 |
|
2382 | IonSelect.ctorParameters = () => [
|
2383 | { type: ChangeDetectorRef },
|
2384 | { type: ElementRef },
|
2385 | { type: NgZone }
|
2386 | ];
|
2387 | proxyMethods(IonSelect, ['open']);
|
2388 | proxyInputs(IonSelect, ['cancelText', 'compareWith', 'disabled', 'interface', 'interfaceOptions', 'mode', 'multiple', 'name', 'okText', 'placeholder', 'selectedText', 'value']);
|
2389 | class IonSelectOption {
|
2390 | |
2391 |
|
2392 |
|
2393 |
|
2394 |
|
2395 | constructor(c, r, z) {
|
2396 | this.z = z;
|
2397 | c.detach();
|
2398 | this.el = r.nativeElement;
|
2399 | }
|
2400 | }
|
2401 | IonSelectOption.decorators = [
|
2402 | { type: Component, args: [{ selector: 'ion-select-option', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['disabled', 'selected', 'value'] },] },
|
2403 | ];
|
2404 |
|
2405 | IonSelectOption.ctorParameters = () => [
|
2406 | { type: ChangeDetectorRef },
|
2407 | { type: ElementRef },
|
2408 | { type: NgZone }
|
2409 | ];
|
2410 | proxyInputs(IonSelectOption, ['disabled', 'selected', 'value']);
|
2411 | class IonSkeletonText {
|
2412 | |
2413 |
|
2414 |
|
2415 |
|
2416 |
|
2417 | constructor(c, r, z) {
|
2418 | this.z = z;
|
2419 | c.detach();
|
2420 | this.el = r.nativeElement;
|
2421 | }
|
2422 | }
|
2423 | IonSkeletonText.decorators = [
|
2424 | { type: Component, args: [{ selector: 'ion-skeleton-text', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['animated', 'width'] },] },
|
2425 | ];
|
2426 |
|
2427 | IonSkeletonText.ctorParameters = () => [
|
2428 | { type: ChangeDetectorRef },
|
2429 | { type: ElementRef },
|
2430 | { type: NgZone }
|
2431 | ];
|
2432 | proxyInputs(IonSkeletonText, ['animated', 'width']);
|
2433 | class IonSlide {
|
2434 | |
2435 |
|
2436 |
|
2437 |
|
2438 |
|
2439 | constructor(c, r, z) {
|
2440 | this.z = z;
|
2441 | c.detach();
|
2442 | this.el = r.nativeElement;
|
2443 | }
|
2444 | }
|
2445 | IonSlide.decorators = [
|
2446 | { type: Component, args: [{ selector: 'ion-slide', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>' },] },
|
2447 | ];
|
2448 |
|
2449 | IonSlide.ctorParameters = () => [
|
2450 | { type: ChangeDetectorRef },
|
2451 | { type: ElementRef },
|
2452 | { type: NgZone }
|
2453 | ];
|
2454 | class IonSlides {
|
2455 | |
2456 |
|
2457 |
|
2458 |
|
2459 |
|
2460 | constructor(c, r, z) {
|
2461 | this.z = z;
|
2462 | c.detach();
|
2463 | this.el = r.nativeElement;
|
2464 | proxyOutputs(this, this.el, ['ionSlidesDidLoad', 'ionSlideTap', 'ionSlideDoubleTap', 'ionSlideWillChange', 'ionSlideDidChange', 'ionSlideNextStart', 'ionSlidePrevStart', 'ionSlideNextEnd', 'ionSlidePrevEnd', 'ionSlideTransitionStart', 'ionSlideTransitionEnd', 'ionSlideDrag', 'ionSlideReachStart', 'ionSlideReachEnd', 'ionSlideTouchStart', 'ionSlideTouchEnd']);
|
2465 | }
|
2466 | }
|
2467 | IonSlides.decorators = [
|
2468 | { type: Component, args: [{ selector: 'ion-slides', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['mode', 'options', 'pager', 'scrollbar'] },] },
|
2469 | ];
|
2470 |
|
2471 | IonSlides.ctorParameters = () => [
|
2472 | { type: ChangeDetectorRef },
|
2473 | { type: ElementRef },
|
2474 | { type: NgZone }
|
2475 | ];
|
2476 | proxyMethods(IonSlides, ['update', 'updateAutoHeight', 'slideTo', 'slideNext', 'slidePrev', 'getActiveIndex', 'getPreviousIndex', 'length', 'isEnd', 'isBeginning', 'startAutoplay', 'stopAutoplay', 'lockSwipeToNext', 'lockSwipeToPrev', 'lockSwipes', 'getSwiper']);
|
2477 | proxyInputs(IonSlides, ['mode', 'options', 'pager', 'scrollbar']);
|
2478 | class IonSpinner {
|
2479 | |
2480 |
|
2481 |
|
2482 |
|
2483 |
|
2484 | constructor(c, r, z) {
|
2485 | this.z = z;
|
2486 | c.detach();
|
2487 | this.el = r.nativeElement;
|
2488 | }
|
2489 | }
|
2490 | IonSpinner.decorators = [
|
2491 | { type: Component, args: [{ selector: 'ion-spinner', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['color', 'duration', 'name', 'paused'] },] },
|
2492 | ];
|
2493 |
|
2494 | IonSpinner.ctorParameters = () => [
|
2495 | { type: ChangeDetectorRef },
|
2496 | { type: ElementRef },
|
2497 | { type: NgZone }
|
2498 | ];
|
2499 | proxyInputs(IonSpinner, ['color', 'duration', 'name', 'paused']);
|
2500 | class IonSplitPane {
|
2501 | |
2502 |
|
2503 |
|
2504 |
|
2505 |
|
2506 | constructor(c, r, z) {
|
2507 | this.z = z;
|
2508 | c.detach();
|
2509 | this.el = r.nativeElement;
|
2510 | proxyOutputs(this, this.el, ['ionSplitPaneVisible']);
|
2511 | }
|
2512 | }
|
2513 | IonSplitPane.decorators = [
|
2514 | { type: Component, args: [{ selector: 'ion-split-pane', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['contentId', 'disabled', 'when'] },] },
|
2515 | ];
|
2516 |
|
2517 | IonSplitPane.ctorParameters = () => [
|
2518 | { type: ChangeDetectorRef },
|
2519 | { type: ElementRef },
|
2520 | { type: NgZone }
|
2521 | ];
|
2522 | proxyInputs(IonSplitPane, ['contentId', 'disabled', 'when']);
|
2523 | class IonTabBar {
|
2524 | |
2525 |
|
2526 |
|
2527 |
|
2528 |
|
2529 | constructor(c, r, z) {
|
2530 | this.z = z;
|
2531 | c.detach();
|
2532 | this.el = r.nativeElement;
|
2533 | }
|
2534 | }
|
2535 | IonTabBar.decorators = [
|
2536 | { type: Component, args: [{ selector: 'ion-tab-bar', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['color', 'mode', 'selectedTab', 'translucent'] },] },
|
2537 | ];
|
2538 |
|
2539 | IonTabBar.ctorParameters = () => [
|
2540 | { type: ChangeDetectorRef },
|
2541 | { type: ElementRef },
|
2542 | { type: NgZone }
|
2543 | ];
|
2544 | proxyInputs(IonTabBar, ['color', 'mode', 'selectedTab', 'translucent']);
|
2545 | class IonTabButton {
|
2546 | |
2547 |
|
2548 |
|
2549 |
|
2550 |
|
2551 | constructor(c, r, z) {
|
2552 | this.z = z;
|
2553 | c.detach();
|
2554 | this.el = r.nativeElement;
|
2555 | }
|
2556 | }
|
2557 | IonTabButton.decorators = [
|
2558 | { type: Component, args: [{ selector: 'ion-tab-button', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['disabled', 'download', 'href', 'layout', 'mode', 'rel', 'selected', 'tab', 'target'] },] },
|
2559 | ];
|
2560 |
|
2561 | IonTabButton.ctorParameters = () => [
|
2562 | { type: ChangeDetectorRef },
|
2563 | { type: ElementRef },
|
2564 | { type: NgZone }
|
2565 | ];
|
2566 | proxyInputs(IonTabButton, ['disabled', 'download', 'href', 'layout', 'mode', 'rel', 'selected', 'tab', 'target']);
|
2567 | class IonText {
|
2568 | |
2569 |
|
2570 |
|
2571 |
|
2572 |
|
2573 | constructor(c, r, z) {
|
2574 | this.z = z;
|
2575 | c.detach();
|
2576 | this.el = r.nativeElement;
|
2577 | }
|
2578 | }
|
2579 | IonText.decorators = [
|
2580 | { type: Component, args: [{ selector: 'ion-text', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['color', 'mode'] },] },
|
2581 | ];
|
2582 |
|
2583 | IonText.ctorParameters = () => [
|
2584 | { type: ChangeDetectorRef },
|
2585 | { type: ElementRef },
|
2586 | { type: NgZone }
|
2587 | ];
|
2588 | proxyInputs(IonText, ['color', 'mode']);
|
2589 | class IonTextarea {
|
2590 | |
2591 |
|
2592 |
|
2593 |
|
2594 |
|
2595 | constructor(c, r, z) {
|
2596 | this.z = z;
|
2597 | c.detach();
|
2598 | this.el = r.nativeElement;
|
2599 | proxyOutputs(this, this.el, ['ionChange', 'ionInput', 'ionBlur', 'ionFocus']);
|
2600 | }
|
2601 | }
|
2602 | IonTextarea.decorators = [
|
2603 | { type: Component, args: [{ selector: 'ion-textarea', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['autoGrow', 'autocapitalize', 'autofocus', 'clearOnEdit', 'color', 'cols', 'debounce', 'disabled', 'maxlength', 'minlength', 'mode', 'name', 'placeholder', 'readonly', 'required', 'rows', 'spellcheck', 'value', 'wrap'] },] },
|
2604 | ];
|
2605 |
|
2606 | IonTextarea.ctorParameters = () => [
|
2607 | { type: ChangeDetectorRef },
|
2608 | { type: ElementRef },
|
2609 | { type: NgZone }
|
2610 | ];
|
2611 | proxyMethods(IonTextarea, ['setFocus', 'getInputElement']);
|
2612 | proxyInputs(IonTextarea, ['autoGrow', 'autocapitalize', 'autofocus', 'clearOnEdit', 'color', 'cols', 'debounce', 'disabled', 'maxlength', 'minlength', 'mode', 'name', 'placeholder', 'readonly', 'required', 'rows', 'spellcheck', 'value', 'wrap']);
|
2613 | class IonThumbnail {
|
2614 | |
2615 |
|
2616 |
|
2617 |
|
2618 |
|
2619 | constructor(c, r, z) {
|
2620 | this.z = z;
|
2621 | c.detach();
|
2622 | this.el = r.nativeElement;
|
2623 | }
|
2624 | }
|
2625 | IonThumbnail.decorators = [
|
2626 | { type: Component, args: [{ selector: 'ion-thumbnail', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>' },] },
|
2627 | ];
|
2628 |
|
2629 | IonThumbnail.ctorParameters = () => [
|
2630 | { type: ChangeDetectorRef },
|
2631 | { type: ElementRef },
|
2632 | { type: NgZone }
|
2633 | ];
|
2634 | class IonTitle {
|
2635 | |
2636 |
|
2637 |
|
2638 |
|
2639 |
|
2640 | constructor(c, r, z) {
|
2641 | this.z = z;
|
2642 | c.detach();
|
2643 | this.el = r.nativeElement;
|
2644 | }
|
2645 | }
|
2646 | IonTitle.decorators = [
|
2647 | { type: Component, args: [{ selector: 'ion-title', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['color', 'size'] },] },
|
2648 | ];
|
2649 |
|
2650 | IonTitle.ctorParameters = () => [
|
2651 | { type: ChangeDetectorRef },
|
2652 | { type: ElementRef },
|
2653 | { type: NgZone }
|
2654 | ];
|
2655 | proxyInputs(IonTitle, ['color', 'size']);
|
2656 | class IonToggle {
|
2657 | |
2658 |
|
2659 |
|
2660 |
|
2661 |
|
2662 | constructor(c, r, z) {
|
2663 | this.z = z;
|
2664 | c.detach();
|
2665 | this.el = r.nativeElement;
|
2666 | proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']);
|
2667 | }
|
2668 | }
|
2669 | IonToggle.decorators = [
|
2670 | { type: Component, args: [{ selector: 'ion-toggle', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['checked', 'color', 'disabled', 'mode', 'name', 'value'] },] },
|
2671 | ];
|
2672 |
|
2673 | IonToggle.ctorParameters = () => [
|
2674 | { type: ChangeDetectorRef },
|
2675 | { type: ElementRef },
|
2676 | { type: NgZone }
|
2677 | ];
|
2678 | proxyInputs(IonToggle, ['checked', 'color', 'disabled', 'mode', 'name', 'value']);
|
2679 | class IonToolbar {
|
2680 | |
2681 |
|
2682 |
|
2683 |
|
2684 |
|
2685 | constructor(c, r, z) {
|
2686 | this.z = z;
|
2687 | c.detach();
|
2688 | this.el = r.nativeElement;
|
2689 | }
|
2690 | }
|
2691 | IonToolbar.decorators = [
|
2692 | { type: Component, args: [{ selector: 'ion-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['color', 'mode'] },] },
|
2693 | ];
|
2694 |
|
2695 | IonToolbar.ctorParameters = () => [
|
2696 | { type: ChangeDetectorRef },
|
2697 | { type: ElementRef },
|
2698 | { type: NgZone }
|
2699 | ];
|
2700 | proxyInputs(IonToolbar, ['color', 'mode']);
|
2701 |
|
2702 |
|
2703 |
|
2704 |
|
2705 |
|
2706 | class Config {
|
2707 | |
2708 |
|
2709 |
|
2710 |
|
2711 |
|
2712 | get(key, fallback) {
|
2713 |
|
2714 | const c = getConfig();
|
2715 | if (c) {
|
2716 | return c.get(key, fallback);
|
2717 | }
|
2718 | return null;
|
2719 | }
|
2720 | |
2721 |
|
2722 |
|
2723 |
|
2724 |
|
2725 | getBoolean(key, fallback) {
|
2726 |
|
2727 | const c = getConfig();
|
2728 | if (c) {
|
2729 | return c.getBoolean(key, fallback);
|
2730 | }
|
2731 | return false;
|
2732 | }
|
2733 | |
2734 |
|
2735 |
|
2736 |
|
2737 |
|
2738 | getNumber(key, fallback) {
|
2739 |
|
2740 | const c = getConfig();
|
2741 | if (c) {
|
2742 | return c.getNumber(key, fallback);
|
2743 | }
|
2744 | return 0;
|
2745 | }
|
2746 | |
2747 |
|
2748 |
|
2749 |
|
2750 |
|
2751 | set(key, value) {
|
2752 | console.warn(`[DEPRECATION][Config]: The Config.set() method is deprecated and will be removed in Ionic Framework 6.0. Please see https://ionicframework.com/docs/angular/config for alternatives.`);
|
2753 |
|
2754 | const c = getConfig();
|
2755 | if (c) {
|
2756 | c.set(key, value);
|
2757 | }
|
2758 | }
|
2759 | }
|
2760 | Config.decorators = [
|
2761 | { type: Injectable, args: [{
|
2762 | providedIn: 'root'
|
2763 | },] },
|
2764 | ];
|
2765 | Config.ngInjectableDef = defineInjectable({ factory: function Config_Factory() { return new Config(); }, token: Config, providedIn: "root" });
|
2766 |
|
2767 | const ConfigToken = new InjectionToken('USERCONFIG');
|
2768 |
|
2769 | const getConfig = ( |
2770 |
|
2771 |
|
2772 | () => {
|
2773 | if (typeof (( (window))) !== 'undefined') {
|
2774 |
|
2775 | const Ionic = (( (( (window))))).Ionic;
|
2776 | if (Ionic && Ionic.config) {
|
2777 | return Ionic.config;
|
2778 | }
|
2779 | }
|
2780 | return null;
|
2781 | });
|
2782 |
|
2783 |
|
2784 |
|
2785 |
|
2786 |
|
2787 |
|
2788 |
|
2789 |
|
2790 |
|
2791 |
|
2792 |
|
2793 |
|
2794 |
|
2795 |
|
2796 |
|
2797 |
|
2798 |
|
2799 |
|
2800 |
|
2801 |
|
2802 |
|
2803 |
|
2804 |
|
2805 |
|
2806 |
|
2807 | class NavParams {
|
2808 | |
2809 |
|
2810 |
|
2811 | constructor(data = {}) {
|
2812 | this.data = data;
|
2813 | }
|
2814 | |
2815 |
|
2816 |
|
2817 |
|
2818 |
|
2819 |
|
2820 |
|
2821 |
|
2822 |
|
2823 |
|
2824 |
|
2825 |
|
2826 |
|
2827 |
|
2828 |
|
2829 |
|
2830 |
|
2831 | get(param) {
|
2832 | return this.data[param];
|
2833 | }
|
2834 | }
|
2835 |
|
2836 |
|
2837 |
|
2838 |
|
2839 |
|
2840 | class AngularDelegate {
|
2841 | |
2842 |
|
2843 |
|
2844 |
|
2845 | constructor(zone, appRef) {
|
2846 | this.zone = zone;
|
2847 | this.appRef = appRef;
|
2848 | }
|
2849 | |
2850 |
|
2851 |
|
2852 |
|
2853 |
|
2854 |
|
2855 | create(resolver, injector, location) {
|
2856 | return new AngularFrameworkDelegate(resolver, injector, location, this.appRef, this.zone);
|
2857 | }
|
2858 | }
|
2859 | AngularDelegate.decorators = [
|
2860 | { type: Injectable },
|
2861 | ];
|
2862 |
|
2863 | AngularDelegate.ctorParameters = () => [
|
2864 | { type: NgZone },
|
2865 | { type: ApplicationRef }
|
2866 | ];
|
2867 | class AngularFrameworkDelegate {
|
2868 | |
2869 |
|
2870 |
|
2871 |
|
2872 |
|
2873 |
|
2874 |
|
2875 | constructor(resolver, injector, location, appRef, zone) {
|
2876 | this.resolver = resolver;
|
2877 | this.injector = injector;
|
2878 | this.location = location;
|
2879 | this.appRef = appRef;
|
2880 | this.zone = zone;
|
2881 | this.elRefMap = new WeakMap();
|
2882 | this.elEventsMap = new WeakMap();
|
2883 | }
|
2884 | |
2885 |
|
2886 |
|
2887 |
|
2888 |
|
2889 |
|
2890 |
|
2891 | attachViewToDom(container, component, params, cssClasses) {
|
2892 | return this.zone.run(( |
2893 |
|
2894 |
|
2895 | () => {
|
2896 | return new Promise(( |
2897 |
|
2898 |
|
2899 |
|
2900 | resolve => {
|
2901 |
|
2902 | const el = attachView(this.zone, this.resolver, this.injector, this.location, this.appRef, this.elRefMap, this.elEventsMap, container, component, params, cssClasses);
|
2903 | resolve(el);
|
2904 | }));
|
2905 | }));
|
2906 | }
|
2907 | |
2908 |
|
2909 |
|
2910 |
|
2911 |
|
2912 | removeViewFromDom(_container, component) {
|
2913 | return this.zone.run(( |
2914 |
|
2915 |
|
2916 | () => {
|
2917 | return new Promise(( |
2918 |
|
2919 |
|
2920 |
|
2921 | resolve => {
|
2922 |
|
2923 | const componentRef = this.elRefMap.get(component);
|
2924 | if (componentRef) {
|
2925 | componentRef.destroy();
|
2926 | this.elRefMap.delete(component);
|
2927 |
|
2928 | const unbindEvents = this.elEventsMap.get(component);
|
2929 | if (unbindEvents) {
|
2930 | unbindEvents();
|
2931 | this.elEventsMap.delete(component);
|
2932 | }
|
2933 | }
|
2934 | resolve();
|
2935 | }));
|
2936 | }));
|
2937 | }
|
2938 | }
|
2939 |
|
2940 | const attachView = ( |
2941 |
|
2942 |
|
2943 |
|
2944 |
|
2945 |
|
2946 |
|
2947 |
|
2948 |
|
2949 |
|
2950 |
|
2951 |
|
2952 |
|
2953 |
|
2954 | (zone, resolver, injector, location, appRef, elRefMap, elEventsMap, container, component, params, cssClasses) => {
|
2955 |
|
2956 | const factory = resolver.resolveComponentFactory(component);
|
2957 |
|
2958 | const childInjector = Injector.create({
|
2959 | providers: getProviders(params),
|
2960 | parent: injector
|
2961 | });
|
2962 |
|
2963 | const componentRef = (location)
|
2964 | ? location.createComponent(factory, location.length, childInjector)
|
2965 | : factory.create(childInjector);
|
2966 |
|
2967 | const instance = componentRef.instance;
|
2968 |
|
2969 | const hostElement = componentRef.location.nativeElement;
|
2970 | if (params) {
|
2971 | Object.assign(instance, params);
|
2972 | }
|
2973 | if (cssClasses) {
|
2974 | for (const clazz of cssClasses) {
|
2975 | hostElement.classList.add(clazz);
|
2976 | }
|
2977 | }
|
2978 |
|
2979 | const unbindEvents = bindLifecycleEvents(zone, instance, hostElement);
|
2980 | container.appendChild(hostElement);
|
2981 | if (!location) {
|
2982 | appRef.attachView(componentRef.hostView);
|
2983 | }
|
2984 | componentRef.changeDetectorRef.reattach();
|
2985 | elRefMap.set(hostElement, componentRef);
|
2986 | elEventsMap.set(hostElement, unbindEvents);
|
2987 | return hostElement;
|
2988 | });
|
2989 |
|
2990 | const LIFECYCLES = [
|
2991 | LIFECYCLE_WILL_ENTER,
|
2992 | LIFECYCLE_DID_ENTER,
|
2993 | LIFECYCLE_WILL_LEAVE,
|
2994 | LIFECYCLE_DID_LEAVE,
|
2995 | LIFECYCLE_WILL_UNLOAD
|
2996 | ];
|
2997 |
|
2998 | const bindLifecycleEvents = ( |
2999 |
|
3000 |
|
3001 |
|
3002 |
|
3003 |
|
3004 | (zone, instance, element) => {
|
3005 | return zone.run(( |
3006 |
|
3007 |
|
3008 | () => {
|
3009 |
|
3010 | const unregisters = LIFECYCLES
|
3011 | .filter(( |
3012 |
|
3013 |
|
3014 |
|
3015 | eventName => typeof instance[eventName] === 'function'))
|
3016 | .map(( |
3017 |
|
3018 |
|
3019 |
|
3020 | eventName => {
|
3021 |
|
3022 | const handler = ( |
3023 |
|
3024 |
|
3025 |
|
3026 | (ev) => instance[eventName](ev.detail));
|
3027 | element.addEventListener(eventName, handler);
|
3028 | return ( |
3029 |
|
3030 |
|
3031 | () => element.removeEventListener(eventName, handler));
|
3032 | }));
|
3033 | return ( |
3034 |
|
3035 |
|
3036 | () => unregisters.forEach(( |
3037 |
|
3038 |
|
3039 |
|
3040 | fn => fn())));
|
3041 | }));
|
3042 | });
|
3043 |
|
3044 | const NavParamsToken = new InjectionToken('NavParamsToken');
|
3045 |
|
3046 | const getProviders = ( |
3047 |
|
3048 |
|
3049 |
|
3050 | (params) => {
|
3051 | return [
|
3052 | {
|
3053 | provide: NavParamsToken, useValue: params
|
3054 | },
|
3055 | {
|
3056 | provide: NavParams, useFactory: provideNavParamsInjectable, deps: [NavParamsToken]
|
3057 | }
|
3058 | ];
|
3059 | });
|
3060 |
|
3061 | const provideNavParamsInjectable = ( |
3062 |
|
3063 |
|
3064 |
|
3065 | (params) => {
|
3066 | return new NavParams(params);
|
3067 | });
|
3068 |
|
3069 |
|
3070 |
|
3071 |
|
3072 |
|
3073 |
|
3074 | const insertView = ( |
3075 |
|
3076 |
|
3077 |
|
3078 |
|
3079 |
|
3080 | (views, view, direction) => {
|
3081 | if (direction === 'root') {
|
3082 | return setRoot(views, view);
|
3083 | }
|
3084 | else if (direction === 'forward') {
|
3085 | return setForward(views, view);
|
3086 | }
|
3087 | else {
|
3088 | return setBack(views, view);
|
3089 | }
|
3090 | });
|
3091 |
|
3092 | const setRoot = ( |
3093 |
|
3094 |
|
3095 |
|
3096 |
|
3097 | (views, view) => {
|
3098 | views = views.filter(( |
3099 |
|
3100 |
|
3101 |
|
3102 | v => v.stackId !== view.stackId));
|
3103 | views.push(view);
|
3104 | return views;
|
3105 | });
|
3106 |
|
3107 | const setForward = ( |
3108 |
|
3109 |
|
3110 |
|
3111 |
|
3112 | (views, view) => {
|
3113 |
|
3114 | const index = views.indexOf(view);
|
3115 | if (index >= 0) {
|
3116 | views = views.filter(( |
3117 |
|
3118 |
|
3119 |
|
3120 | v => v.stackId !== view.stackId || v.id <= view.id));
|
3121 | }
|
3122 | else {
|
3123 | views.push(view);
|
3124 | }
|
3125 | return views;
|
3126 | });
|
3127 |
|
3128 | const setBack = ( |
3129 |
|
3130 |
|
3131 |
|
3132 |
|
3133 | (views, view) => {
|
3134 |
|
3135 | const index = views.indexOf(view);
|
3136 | if (index >= 0) {
|
3137 | return views.filter(( |
3138 |
|
3139 |
|
3140 |
|
3141 | v => v.stackId !== view.stackId || v.id <= view.id));
|
3142 | }
|
3143 | else {
|
3144 | return setRoot(views, view);
|
3145 | }
|
3146 | });
|
3147 |
|
3148 | const getUrl = ( |
3149 |
|
3150 |
|
3151 |
|
3152 |
|
3153 | (router, activatedRoute) => {
|
3154 |
|
3155 | const urlTree = router.createUrlTree(['.'], { relativeTo: activatedRoute });
|
3156 | return router.serializeUrl(urlTree);
|
3157 | });
|
3158 |
|
3159 | const isTabSwitch = ( |
3160 |
|
3161 |
|
3162 |
|
3163 |
|
3164 | (enteringView, leavingView) => {
|
3165 | if (!leavingView) {
|
3166 | return true;
|
3167 | }
|
3168 | return enteringView.stackId !== leavingView.stackId;
|
3169 | });
|
3170 |
|
3171 | const computeStackId = ( |
3172 |
|
3173 |
|
3174 |
|
3175 |
|
3176 | (prefixUrl, url) => {
|
3177 | if (!prefixUrl) {
|
3178 | return undefined;
|
3179 | }
|
3180 |
|
3181 | const segments = toSegments(url);
|
3182 | for (let i = 0; i < segments.length; i++) {
|
3183 | if (i >= prefixUrl.length) {
|
3184 | return segments[i];
|
3185 | }
|
3186 | if (segments[i] !== prefixUrl[i]) {
|
3187 | return undefined;
|
3188 | }
|
3189 | }
|
3190 | return undefined;
|
3191 | });
|
3192 |
|
3193 | const toSegments = ( |
3194 |
|
3195 |
|
3196 |
|
3197 | (path) => {
|
3198 | return path
|
3199 | .split('/')
|
3200 | .map(( |
3201 |
|
3202 |
|
3203 |
|
3204 | s => s.trim()))
|
3205 | .filter(( |
3206 |
|
3207 |
|
3208 |
|
3209 | s => s !== ''));
|
3210 | });
|
3211 |
|
3212 | const destroyView = ( |
3213 |
|
3214 |
|
3215 |
|
3216 | (view) => {
|
3217 | if (view) {
|
3218 |
|
3219 | view.ref.destroy();
|
3220 | view.unlistenEvents();
|
3221 | }
|
3222 | });
|
3223 |
|
3224 |
|
3225 |
|
3226 |
|
3227 |
|
3228 | class StackController {
|
3229 | |
3230 |
|
3231 |
|
3232 |
|
3233 |
|
3234 |
|
3235 |
|
3236 |
|
3237 | constructor(tabsPrefix, containerEl, router, navCtrl, zone, location) {
|
3238 | this.containerEl = containerEl;
|
3239 | this.router = router;
|
3240 | this.navCtrl = navCtrl;
|
3241 | this.zone = zone;
|
3242 | this.location = location;
|
3243 | this.views = [];
|
3244 | this.skipTransition = false;
|
3245 | this.nextId = 0;
|
3246 | this.tabsPrefix = tabsPrefix !== undefined ? toSegments(tabsPrefix) : undefined;
|
3247 | }
|
3248 | |
3249 |
|
3250 |
|
3251 |
|
3252 |
|
3253 | createView(ref, activatedRoute) {
|
3254 |
|
3255 | const url = getUrl(this.router, activatedRoute);
|
3256 |
|
3257 | const element = ( ((ref && ref.location && ref.location.nativeElement)));
|
3258 |
|
3259 | const unlistenEvents = bindLifecycleEvents(this.zone, ref.instance, element);
|
3260 | return {
|
3261 | id: this.nextId++,
|
3262 | stackId: computeStackId(this.tabsPrefix, url),
|
3263 | unlistenEvents,
|
3264 | element,
|
3265 | ref,
|
3266 | url,
|
3267 | };
|
3268 | }
|
3269 | |
3270 |
|
3271 |
|
3272 |
|
3273 | getExistingView(activatedRoute) {
|
3274 |
|
3275 | const activatedUrlKey = getUrl(this.router, activatedRoute);
|
3276 |
|
3277 | const view = this.views.find(( |
3278 |
|
3279 |
|
3280 |
|
3281 | vw => vw.url === activatedUrlKey));
|
3282 | if (view) {
|
3283 | view.ref.changeDetectorRef.reattach();
|
3284 | }
|
3285 | return view;
|
3286 | }
|
3287 | |
3288 |
|
3289 |
|
3290 |
|
3291 | setActive(enteringView) {
|
3292 | let { direction, animation } = this.navCtrl.consumeTransition();
|
3293 |
|
3294 | const leavingView = this.activeView;
|
3295 |
|
3296 | const tabSwitch = isTabSwitch(enteringView, leavingView);
|
3297 | if (tabSwitch) {
|
3298 | direction = 'back';
|
3299 | animation = undefined;
|
3300 | }
|
3301 |
|
3302 | const viewsSnapshot = this.views.slice();
|
3303 |
|
3304 | let currentNavigation;
|
3305 |
|
3306 | const router = (( (this.router)));
|
3307 |
|
3308 | if (router.getCurrentNavigation) {
|
3309 | currentNavigation = router.getCurrentNavigation();
|
3310 |
|
3311 | }
|
3312 | else if (router.navigations &&
|
3313 | router.navigations.value) {
|
3314 | currentNavigation = router.navigations.value;
|
3315 | }
|
3316 | |
3317 |
|
3318 |
|
3319 |
|
3320 |
|
3321 |
|
3322 |
|
3323 | if (currentNavigation &&
|
3324 | currentNavigation.extras &&
|
3325 | currentNavigation.extras.replaceUrl) {
|
3326 | if (this.views.length > 0) {
|
3327 | this.views.splice(-1, 1);
|
3328 | }
|
3329 | }
|
3330 |
|
3331 | const reused = this.views.includes(enteringView);
|
3332 |
|
3333 | const views = this.insertView(enteringView, direction);
|
3334 |
|
3335 |
|
3336 |
|
3337 | if (!reused) {
|
3338 | enteringView.ref.changeDetectorRef.detectChanges();
|
3339 | }
|
3340 |
|
3341 | return this.zone.runOutsideAngular(( |
3342 |
|
3343 |
|
3344 | () => {
|
3345 | return this.wait(( |
3346 |
|
3347 |
|
3348 | () => {
|
3349 |
|
3350 |
|
3351 | if (leavingView) {
|
3352 | leavingView.ref.changeDetectorRef.detach();
|
3353 | }
|
3354 |
|
3355 | enteringView.ref.changeDetectorRef.reattach();
|
3356 | return this.transition(enteringView, leavingView, animation, this.canGoBack(1), false)
|
3357 | .then(( |
3358 |
|
3359 |
|
3360 | () => cleanupAsync(enteringView, views, viewsSnapshot, this.location)))
|
3361 | .then(( |
3362 |
|
3363 |
|
3364 | () => ({
|
3365 | enteringView,
|
3366 | direction,
|
3367 | animation,
|
3368 | tabSwitch
|
3369 | })));
|
3370 | }));
|
3371 | }));
|
3372 | }
|
3373 | |
3374 |
|
3375 |
|
3376 |
|
3377 |
|
3378 | canGoBack(deep, stackId = this.getActiveStackId()) {
|
3379 | return this.getStack(stackId).length > deep;
|
3380 | }
|
3381 | |
3382 |
|
3383 |
|
3384 |
|
3385 |
|
3386 | pop(deep, stackId = this.getActiveStackId()) {
|
3387 | return this.zone.run(( |
3388 |
|
3389 |
|
3390 | () => {
|
3391 |
|
3392 | const views = this.getStack(stackId);
|
3393 | if (views.length <= deep) {
|
3394 | return Promise.resolve(false);
|
3395 | }
|
3396 |
|
3397 | const view = views[views.length - deep - 1];
|
3398 |
|
3399 | let url = view.url;
|
3400 |
|
3401 | const viewSavedData = view.savedData;
|
3402 | if (viewSavedData) {
|
3403 |
|
3404 | const primaryOutlet = viewSavedData.get('primary');
|
3405 | if (primaryOutlet &&
|
3406 | primaryOutlet.route &&
|
3407 | primaryOutlet.route._routerState &&
|
3408 | primaryOutlet.route._routerState.snapshot &&
|
3409 | primaryOutlet.route._routerState.snapshot.url) {
|
3410 | url = primaryOutlet.route._routerState.snapshot.url;
|
3411 | }
|
3412 | }
|
3413 | return this.navCtrl.navigateBack(url, view.savedExtras).then(( |
3414 |
|
3415 |
|
3416 | () => true));
|
3417 | }));
|
3418 | }
|
3419 | |
3420 |
|
3421 |
|
3422 | startBackTransition() {
|
3423 |
|
3424 | const leavingView = this.activeView;
|
3425 | if (leavingView) {
|
3426 |
|
3427 | const views = this.getStack(leavingView.stackId);
|
3428 |
|
3429 | const enteringView = views[views.length - 2];
|
3430 | return this.wait(( |
3431 |
|
3432 |
|
3433 | () => {
|
3434 | return this.transition(enteringView,
|
3435 | leavingView,
|
3436 | 'back', this.canGoBack(2), true);
|
3437 | }));
|
3438 | }
|
3439 | return Promise.resolve();
|
3440 | }
|
3441 | |
3442 |
|
3443 |
|
3444 |
|
3445 | endBackTransition(shouldComplete) {
|
3446 | if (shouldComplete) {
|
3447 | this.skipTransition = true;
|
3448 | this.pop(1);
|
3449 | }
|
3450 | else if (this.activeView) {
|
3451 | cleanup(this.activeView, this.views, this.views, this.location);
|
3452 | }
|
3453 | }
|
3454 | |
3455 |
|
3456 |
|
3457 |
|
3458 | getLastUrl(stackId) {
|
3459 |
|
3460 | const views = this.getStack(stackId);
|
3461 | return views.length > 0 ? views[views.length - 1] : undefined;
|
3462 | }
|
3463 | |
3464 |
|
3465 |
|
3466 | getActiveStackId() {
|
3467 | return this.activeView ? this.activeView.stackId : undefined;
|
3468 | }
|
3469 | |
3470 |
|
3471 |
|
3472 | destroy() {
|
3473 | this.containerEl = ( (undefined));
|
3474 | this.views.forEach(destroyView);
|
3475 | this.activeView = undefined;
|
3476 | this.views = [];
|
3477 | }
|
3478 | |
3479 |
|
3480 |
|
3481 |
|
3482 |
|
3483 | getStack(stackId) {
|
3484 | return this.views.filter(( |
3485 |
|
3486 |
|
3487 |
|
3488 | v => v.stackId === stackId));
|
3489 | }
|
3490 | |
3491 |
|
3492 |
|
3493 |
|
3494 |
|
3495 |
|
3496 | insertView(enteringView, direction) {
|
3497 | this.activeView = enteringView;
|
3498 | this.views = insertView(this.views, enteringView, direction);
|
3499 | return this.views.slice();
|
3500 | }
|
3501 | |
3502 |
|
3503 |
|
3504 |
|
3505 |
|
3506 |
|
3507 |
|
3508 |
|
3509 |
|
3510 | transition(enteringView, leavingView, direction, showGoBack, progressAnimation) {
|
3511 | if (this.skipTransition) {
|
3512 | this.skipTransition = false;
|
3513 | return Promise.resolve(false);
|
3514 | }
|
3515 | if (leavingView === enteringView) {
|
3516 | return Promise.resolve(false);
|
3517 | }
|
3518 |
|
3519 | const enteringEl = enteringView ? enteringView.element : undefined;
|
3520 |
|
3521 | const leavingEl = leavingView ? leavingView.element : undefined;
|
3522 |
|
3523 | const containerEl = this.containerEl;
|
3524 | if (enteringEl && enteringEl !== leavingEl) {
|
3525 | enteringEl.classList.add('ion-page');
|
3526 | enteringEl.classList.add('ion-page-invisible');
|
3527 | if (enteringEl.parentElement !== containerEl) {
|
3528 | containerEl.appendChild(enteringEl);
|
3529 | }
|
3530 | if ((( (containerEl))).commit) {
|
3531 | return containerEl.commit(enteringEl, leavingEl, {
|
3532 | deepWait: true,
|
3533 | duration: direction === undefined ? 0 : undefined,
|
3534 | direction,
|
3535 | showGoBack,
|
3536 | progressAnimation
|
3537 | });
|
3538 | }
|
3539 | }
|
3540 | return Promise.resolve(false);
|
3541 | }
|
3542 | |
3543 |
|
3544 |
|
3545 |
|
3546 |
|
3547 |
|
3548 | wait(task) {
|
3549 | return __awaiter(this, void 0, void 0, function* () {
|
3550 | if (this.runningTask !== undefined) {
|
3551 | yield this.runningTask;
|
3552 | this.runningTask = undefined;
|
3553 | }
|
3554 |
|
3555 | const promise = this.runningTask = task();
|
3556 | return promise;
|
3557 | });
|
3558 | }
|
3559 | }
|
3560 |
|
3561 | const cleanupAsync = ( |
3562 |
|
3563 |
|
3564 |
|
3565 |
|
3566 |
|
3567 |
|
3568 | (activeRoute, views, viewsSnapshot, location) => {
|
3569 | if (typeof (( (requestAnimationFrame))) === 'function') {
|
3570 | return new Promise(( |
3571 |
|
3572 |
|
3573 |
|
3574 | resolve => {
|
3575 | requestAnimationFrame(( |
3576 |
|
3577 |
|
3578 | () => {
|
3579 | cleanup(activeRoute, views, viewsSnapshot, location);
|
3580 | resolve();
|
3581 | }));
|
3582 | }));
|
3583 | }
|
3584 | return Promise.resolve();
|
3585 | });
|
3586 |
|
3587 | const cleanup = ( |
3588 |
|
3589 |
|
3590 |
|
3591 |
|
3592 |
|
3593 |
|
3594 | (activeRoute, views, viewsSnapshot, location) => {
|
3595 | viewsSnapshot
|
3596 | .filter(( |
3597 |
|
3598 |
|
3599 |
|
3600 | view => !views.includes(view)))
|
3601 | .forEach(destroyView);
|
3602 | views.forEach(( |
3603 |
|
3604 |
|
3605 |
|
3606 | view => {
|
3607 | |
3608 |
|
3609 |
|
3610 |
|
3611 |
|
3612 |
|
3613 |
|
3614 |
|
3615 |
|
3616 |
|
3617 | const locationWithoutParams = location.path().split('?')[0];
|
3618 |
|
3619 | const locationWithoutFragment = locationWithoutParams.split('#')[0];
|
3620 | if (view !== activeRoute && view.url !== locationWithoutFragment) {
|
3621 |
|
3622 | const element = view.element;
|
3623 | element.setAttribute('aria-hidden', 'true');
|
3624 | element.classList.add('ion-page-hidden');
|
3625 | view.ref.changeDetectorRef.detach();
|
3626 | }
|
3627 | }));
|
3628 | });
|
3629 |
|
3630 |
|
3631 |
|
3632 |
|
3633 |
|
3634 | class IonRouterOutlet {
|
3635 | |
3636 |
|
3637 |
|
3638 |
|
3639 |
|
3640 |
|
3641 |
|
3642 |
|
3643 |
|
3644 |
|
3645 |
|
3646 |
|
3647 |
|
3648 |
|
3649 |
|
3650 | constructor(parentContexts, location, resolver, name, tabs, config, navCtrl, commonLocation, elementRef, router, zone, activatedRoute, parentOutlet) {
|
3651 | this.parentContexts = parentContexts;
|
3652 | this.location = location;
|
3653 | this.resolver = resolver;
|
3654 | this.config = config;
|
3655 | this.navCtrl = navCtrl;
|
3656 | this.parentOutlet = parentOutlet;
|
3657 | this.activated = null;
|
3658 | this.activatedView = null;
|
3659 | this._activatedRoute = null;
|
3660 |
|
3661 | this.proxyMap = new WeakMap();
|
3662 |
|
3663 | this.currentActivatedRoute$ = new BehaviorSubject(null);
|
3664 | this.stackEvents = new EventEmitter();
|
3665 | this.activateEvents = new EventEmitter();
|
3666 | this.deactivateEvents = new EventEmitter();
|
3667 | this.nativeEl = elementRef.nativeElement;
|
3668 | this.name = name || PRIMARY_OUTLET;
|
3669 | this.tabsPrefix = tabs === 'true' ? getUrl(router, activatedRoute) : undefined;
|
3670 | this.stackCtrl = new StackController(this.tabsPrefix, this.nativeEl, router, navCtrl, zone, commonLocation);
|
3671 | parentContexts.onChildOutletCreated(this.name, ( (this)));
|
3672 | }
|
3673 | |
3674 |
|
3675 |
|
3676 |
|
3677 | set animated(animated) {
|
3678 | this.nativeEl.animated = animated;
|
3679 | }
|
3680 | |
3681 |
|
3682 |
|
3683 |
|
3684 | set swipeGesture(swipe) {
|
3685 | this._swipeGesture = swipe;
|
3686 | this.nativeEl.swipeHandler = swipe ? {
|
3687 | canStart: ( |
3688 |
|
3689 |
|
3690 | () => this.stackCtrl.canGoBack(1)),
|
3691 | onStart: ( |
3692 |
|
3693 |
|
3694 | () => this.stackCtrl.startBackTransition()),
|
3695 | onEnd: ( |
3696 |
|
3697 |
|
3698 |
|
3699 | shouldContinue => this.stackCtrl.endBackTransition(shouldContinue))
|
3700 | } : undefined;
|
3701 | }
|
3702 | |
3703 |
|
3704 |
|
3705 | ngOnDestroy() {
|
3706 | this.stackCtrl.destroy();
|
3707 | }
|
3708 | |
3709 |
|
3710 |
|
3711 | getContext() {
|
3712 | return this.parentContexts.getContext(this.name);
|
3713 | }
|
3714 | |
3715 |
|
3716 |
|
3717 | ngOnInit() {
|
3718 | if (!this.activated) {
|
3719 |
|
3720 |
|
3721 |
|
3722 | const context = this.getContext();
|
3723 | if (context && context.route) {
|
3724 | this.activateWith(context.route, context.resolver || null);
|
3725 | }
|
3726 | }
|
3727 | if ((( (this.nativeEl))).componentOnReady) {
|
3728 | this.nativeEl.componentOnReady().then(( |
3729 |
|
3730 |
|
3731 | () => {
|
3732 | if (this._swipeGesture === undefined) {
|
3733 | this.swipeGesture = this.config.getBoolean('swipeBackEnabled', (( (this.nativeEl))).mode === 'ios');
|
3734 | }
|
3735 | }));
|
3736 | }
|
3737 | }
|
3738 | |
3739 |
|
3740 |
|
3741 | get isActivated() {
|
3742 | return !!this.activated;
|
3743 | }
|
3744 | |
3745 |
|
3746 |
|
3747 | get component() {
|
3748 | if (!this.activated) {
|
3749 | throw new Error('Outlet is not activated');
|
3750 | }
|
3751 | return this.activated.instance;
|
3752 | }
|
3753 | |
3754 |
|
3755 |
|
3756 | get activatedRoute() {
|
3757 | if (!this.activated) {
|
3758 | throw new Error('Outlet is not activated');
|
3759 | }
|
3760 | return ( (this._activatedRoute));
|
3761 | }
|
3762 | |
3763 |
|
3764 |
|
3765 | get activatedRouteData() {
|
3766 | if (this._activatedRoute) {
|
3767 | return this._activatedRoute.snapshot.data;
|
3768 | }
|
3769 | return {};
|
3770 | }
|
3771 | |
3772 |
|
3773 |
|
3774 |
|
3775 | detach() {
|
3776 | throw new Error('incompatible reuse strategy');
|
3777 | }
|
3778 | |
3779 |
|
3780 |
|
3781 |
|
3782 |
|
3783 |
|
3784 | attach(_ref, _activatedRoute) {
|
3785 | throw new Error('incompatible reuse strategy');
|
3786 | }
|
3787 | |
3788 |
|
3789 |
|
3790 | deactivate() {
|
3791 | if (this.activated) {
|
3792 | if (this.activatedView) {
|
3793 | this.activatedView.savedData = new Map(( (this.getContext())).children['contexts']);
|
3794 | |
3795 |
|
3796 |
|
3797 |
|
3798 | this.activatedView.savedExtras = {};
|
3799 |
|
3800 | const context = ( (this.getContext()));
|
3801 | if (context.route) {
|
3802 |
|
3803 | const contextSnapshot = context.route.snapshot;
|
3804 | this.activatedView.savedExtras.queryParams = contextSnapshot.queryParams;
|
3805 | this.activatedView.savedExtras.fragment = contextSnapshot.fragment;
|
3806 | }
|
3807 | }
|
3808 |
|
3809 | const c = this.component;
|
3810 | this.activatedView = null;
|
3811 | this.activated = null;
|
3812 | this._activatedRoute = null;
|
3813 | this.deactivateEvents.emit(c);
|
3814 | }
|
3815 | }
|
3816 | |
3817 |
|
3818 |
|
3819 |
|
3820 |
|
3821 | activateWith(activatedRoute, resolver) {
|
3822 | if (this.isActivated) {
|
3823 | throw new Error('Cannot activate an already activated outlet');
|
3824 | }
|
3825 | this._activatedRoute = activatedRoute;
|
3826 |
|
3827 | let cmpRef;
|
3828 |
|
3829 | let enteringView = this.stackCtrl.getExistingView(activatedRoute);
|
3830 | if (enteringView) {
|
3831 | cmpRef = this.activated = enteringView.ref;
|
3832 |
|
3833 | const saved = enteringView.savedData;
|
3834 | if (saved) {
|
3835 |
|
3836 |
|
3837 | const context = ( (this.getContext()));
|
3838 | context.children['contexts'] = saved;
|
3839 | }
|
3840 |
|
3841 | this.updateActivatedRouteProxy(cmpRef.instance, activatedRoute);
|
3842 | }
|
3843 | else {
|
3844 |
|
3845 | const snapshot = (( (activatedRoute)))._futureSnapshot;
|
3846 |
|
3847 | const component = ( (( (snapshot.routeConfig)).component));
|
3848 | resolver = resolver || this.resolver;
|
3849 |
|
3850 | const factory = resolver.resolveComponentFactory(component);
|
3851 |
|
3852 | const childContexts = this.parentContexts.getOrCreateContext(this.name).children;
|
3853 |
|
3854 |
|
3855 |
|
3856 | const component$ = new BehaviorSubject(null);
|
3857 |
|
3858 | const activatedRouteProxy = this.createActivatedRouteProxy(component$, activatedRoute);
|
3859 |
|
3860 | const injector = new OutletInjector(activatedRouteProxy, childContexts, this.location.injector);
|
3861 | cmpRef = this.activated = this.location.createComponent(factory, this.location.length, injector);
|
3862 |
|
3863 | component$.next(cmpRef.instance);
|
3864 |
|
3865 |
|
3866 | enteringView = this.stackCtrl.createView(this.activated, activatedRoute);
|
3867 |
|
3868 | this.proxyMap.set(cmpRef.instance, activatedRouteProxy);
|
3869 | this.currentActivatedRoute$.next({ component: cmpRef.instance, activatedRoute });
|
3870 | }
|
3871 | this.activatedView = enteringView;
|
3872 | this.stackCtrl.setActive(enteringView).then(( |
3873 |
|
3874 |
|
3875 |
|
3876 | data => {
|
3877 | this.navCtrl.setTopOutlet(this);
|
3878 | this.activateEvents.emit(cmpRef.instance);
|
3879 | this.stackEvents.emit(data);
|
3880 | }));
|
3881 | }
|
3882 | |
3883 |
|
3884 |
|
3885 |
|
3886 |
|
3887 |
|
3888 | canGoBack(deep = 1, stackId) {
|
3889 | return this.stackCtrl.canGoBack(deep, stackId);
|
3890 | }
|
3891 | |
3892 |
|
3893 |
|
3894 |
|
3895 |
|
3896 |
|
3897 | pop(deep = 1, stackId) {
|
3898 | return this.stackCtrl.pop(deep, stackId);
|
3899 | }
|
3900 | |
3901 |
|
3902 |
|
3903 |
|
3904 |
|
3905 | getLastUrl(stackId) {
|
3906 |
|
3907 | const active = this.stackCtrl.getLastUrl(stackId);
|
3908 | return active ? active.url : undefined;
|
3909 | }
|
3910 | |
3911 |
|
3912 |
|
3913 |
|
3914 | getActiveStackId() {
|
3915 | return this.stackCtrl.getActiveStackId();
|
3916 | }
|
3917 | |
3918 |
|
3919 |
|
3920 |
|
3921 |
|
3922 |
|
3923 |
|
3924 |
|
3925 | createActivatedRouteProxy(component$, activatedRoute) {
|
3926 |
|
3927 | const proxy = new ActivatedRoute();
|
3928 | proxy._futureSnapshot = (( (activatedRoute)))._futureSnapshot;
|
3929 | proxy._routerState = (( (activatedRoute)))._routerState;
|
3930 | proxy.snapshot = activatedRoute.snapshot;
|
3931 | proxy.outlet = activatedRoute.outlet;
|
3932 | proxy.component = activatedRoute.component;
|
3933 |
|
3934 | (( (proxy)))._paramMap = this.proxyObservable(component$, 'paramMap');
|
3935 | (( (proxy)))._queryParamMap = this.proxyObservable(component$, 'queryParamMap');
|
3936 | proxy.url = this.proxyObservable(component$, 'url');
|
3937 | proxy.params = this.proxyObservable(component$, 'params');
|
3938 | proxy.queryParams = this.proxyObservable(component$, 'queryParams');
|
3939 | proxy.fragment = this.proxyObservable(component$, 'fragment');
|
3940 | proxy.data = this.proxyObservable(component$, 'data');
|
3941 | return ( (proxy));
|
3942 | }
|
3943 | |
3944 |
|
3945 |
|
3946 |
|
3947 |
|
3948 |
|
3949 |
|
3950 | proxyObservable(component$, path) {
|
3951 | return component$.pipe(
|
3952 |
|
3953 | filter(( |
3954 |
|
3955 |
|
3956 |
|
3957 | component => !!component)), switchMap(( |
3958 |
|
3959 |
|
3960 |
|
3961 | component => this.currentActivatedRoute$.pipe(filter(( |
3962 |
|
3963 |
|
3964 |
|
3965 | current => current !== null && current.component === component)), switchMap(( |
3966 |
|
3967 |
|
3968 |
|
3969 | current => current && (( (current.activatedRoute)))[path])), distinctUntilChanged()))));
|
3970 | }
|
3971 | |
3972 |
|
3973 |
|
3974 |
|
3975 |
|
3976 |
|
3977 |
|
3978 | updateActivatedRouteProxy(component, activatedRoute) {
|
3979 |
|
3980 | const proxy = this.proxyMap.get(component);
|
3981 | if (!proxy) {
|
3982 | throw new Error(`Could not find activated route proxy for view`);
|
3983 | }
|
3984 | (( (proxy)))._futureSnapshot = (( (activatedRoute)))._futureSnapshot;
|
3985 | (( (proxy)))._routerState = (( (activatedRoute)))._routerState;
|
3986 | proxy.snapshot = activatedRoute.snapshot;
|
3987 | proxy.outlet = activatedRoute.outlet;
|
3988 | proxy.component = activatedRoute.component;
|
3989 | this.currentActivatedRoute$.next({ component, activatedRoute });
|
3990 | }
|
3991 | }
|
3992 | IonRouterOutlet.decorators = [
|
3993 | { type: Directive, args: [{
|
3994 | selector: 'ion-router-outlet',
|
3995 | exportAs: 'outlet',
|
3996 | inputs: ['animated', 'swipeGesture']
|
3997 | },] },
|
3998 | ];
|
3999 |
|
4000 | IonRouterOutlet.ctorParameters = () => [
|
4001 | { type: ChildrenOutletContexts },
|
4002 | { type: ViewContainerRef },
|
4003 | { type: ComponentFactoryResolver },
|
4004 | { type: String, decorators: [{ type: Attribute, args: ['name',] }] },
|
4005 | { type: String, decorators: [{ type: Optional }, { type: Attribute, args: ['tabs',] }] },
|
4006 | { type: Config },
|
4007 | { type: NavController },
|
4008 | { type: Location },
|
4009 | { type: ElementRef },
|
4010 | { type: Router },
|
4011 | { type: NgZone },
|
4012 | { type: ActivatedRoute },
|
4013 | { type: IonRouterOutlet, decorators: [{ type: SkipSelf }, { type: Optional }] }
|
4014 | ];
|
4015 | IonRouterOutlet.propDecorators = {
|
4016 | stackEvents: [{ type: Output }],
|
4017 | activateEvents: [{ type: Output, args: ['activate',] }],
|
4018 | deactivateEvents: [{ type: Output, args: ['deactivate',] }]
|
4019 | };
|
4020 | class OutletInjector {
|
4021 | |
4022 |
|
4023 |
|
4024 |
|
4025 |
|
4026 | constructor(route, childContexts, parent) {
|
4027 | this.route = route;
|
4028 | this.childContexts = childContexts;
|
4029 | this.parent = parent;
|
4030 | }
|
4031 | |
4032 |
|
4033 |
|
4034 |
|
4035 |
|
4036 | get(token, notFoundValue) {
|
4037 | if (token === ActivatedRoute) {
|
4038 | return this.route;
|
4039 | }
|
4040 | if (token === ChildrenOutletContexts) {
|
4041 | return this.childContexts;
|
4042 | }
|
4043 |
|
4044 | return this.parent.get(token, notFoundValue);
|
4045 | }
|
4046 | }
|
4047 |
|
4048 |
|
4049 |
|
4050 |
|
4051 |
|
4052 | class IonTabs {
|
4053 | |
4054 |
|
4055 |
|
4056 | constructor(navCtrl) {
|
4057 | this.navCtrl = navCtrl;
|
4058 | this.ionTabsWillChange = new EventEmitter();
|
4059 | this.ionTabsDidChange = new EventEmitter();
|
4060 | }
|
4061 | |
4062 |
|
4063 |
|
4064 |
|
4065 |
|
4066 | onPageSelected(detail) {
|
4067 |
|
4068 | const stackId = detail.enteringView.stackId;
|
4069 | if (detail.tabSwitch && stackId !== undefined) {
|
4070 | if (this.tabBar) {
|
4071 | this.tabBar.selectedTab = stackId;
|
4072 | }
|
4073 | this.ionTabsWillChange.emit({ tab: stackId });
|
4074 | this.ionTabsDidChange.emit({ tab: stackId });
|
4075 | }
|
4076 | }
|
4077 | |
4078 |
|
4079 |
|
4080 |
|
4081 | select(tab) {
|
4082 |
|
4083 | const alreadySelected = this.outlet.getActiveStackId() === tab;
|
4084 |
|
4085 | const href = `${this.outlet.tabsPrefix}/${tab}`;
|
4086 |
|
4087 | const url = alreadySelected
|
4088 | ? href
|
4089 | : this.outlet.getLastUrl(tab) || href;
|
4090 | return this.navCtrl.navigateRoot(url, {
|
4091 | animated: true,
|
4092 | animationDirection: 'back'
|
4093 | });
|
4094 | }
|
4095 | |
4096 |
|
4097 |
|
4098 | getSelected() {
|
4099 | return this.outlet.getActiveStackId();
|
4100 | }
|
4101 | }
|
4102 | IonTabs.decorators = [
|
4103 | { type: Component, args: [{
|
4104 | selector: 'ion-tabs',
|
4105 | template: `
|
4106 | <ng-content select="[slot=top]"></ng-content>
|
4107 | <div class="tabs-inner">
|
4108 | <ion-router-outlet #outlet tabs="true" (stackEvents)="onPageSelected($event)"></ion-router-outlet>
|
4109 | </div>
|
4110 | <ng-content></ng-content>`,
|
4111 | styles: [`
|
4112 | :host {
|
4113 | display: flex;
|
4114 | position: absolute;
|
4115 | top: 0;
|
4116 | left: 0;
|
4117 | right: 0;
|
4118 | bottom: 0;
|
4119 |
|
4120 | flex-direction: column;
|
4121 |
|
4122 | width: 100%;
|
4123 | height: 100%;
|
4124 |
|
4125 | contain: layout size style;
|
4126 | z-index: $z-index-page-container;
|
4127 | }
|
4128 | .tabs-inner {
|
4129 | position: relative;
|
4130 |
|
4131 | flex: 1;
|
4132 |
|
4133 | contain: layout size style;
|
4134 | }`
|
4135 | ]
|
4136 | },] },
|
4137 | ];
|
4138 |
|
4139 | IonTabs.ctorParameters = () => [
|
4140 | { type: NavController }
|
4141 | ];
|
4142 | IonTabs.propDecorators = {
|
4143 | outlet: [{ type: ViewChild, args: ['outlet', { read: IonRouterOutlet },] }],
|
4144 | tabBar: [{ type: ContentChild, args: [IonTabBar,] }],
|
4145 | ionTabsWillChange: [{ type: Output }],
|
4146 | ionTabsDidChange: [{ type: Output }],
|
4147 | select: [{ type: HostListener, args: ['ionTabButtonClick', ['$event.detail.tab'],] }]
|
4148 | };
|
4149 |
|
4150 |
|
4151 |
|
4152 |
|
4153 |
|
4154 | class IonBackButtonDelegate {
|
4155 | |
4156 |
|
4157 |
|
4158 |
|
4159 | constructor(routerOutlet, navCtrl) {
|
4160 | this.routerOutlet = routerOutlet;
|
4161 | this.navCtrl = navCtrl;
|
4162 | }
|
4163 | |
4164 |
|
4165 |
|
4166 |
|
4167 |
|
4168 | onClick(ev) {
|
4169 | if (this.routerOutlet && this.routerOutlet.canGoBack()) {
|
4170 | this.routerOutlet.pop();
|
4171 | ev.preventDefault();
|
4172 | }
|
4173 | else if (this.defaultHref != null) {
|
4174 | this.navCtrl.navigateBack(this.defaultHref);
|
4175 | ev.preventDefault();
|
4176 | }
|
4177 | }
|
4178 | }
|
4179 | IonBackButtonDelegate.decorators = [
|
4180 | { type: Directive, args: [{
|
4181 | selector: 'ion-back-button',
|
4182 | inputs: ['defaultHref']
|
4183 | },] },
|
4184 | ];
|
4185 |
|
4186 | IonBackButtonDelegate.ctorParameters = () => [
|
4187 | { type: IonRouterOutlet, decorators: [{ type: Optional }] },
|
4188 | { type: NavController }
|
4189 | ];
|
4190 | IonBackButtonDelegate.propDecorators = {
|
4191 | onClick: [{ type: HostListener, args: ['click', ['$event'],] }]
|
4192 | };
|
4193 |
|
4194 |
|
4195 |
|
4196 |
|
4197 |
|
4198 | class NavDelegate {
|
4199 | |
4200 |
|
4201 |
|
4202 |
|
4203 |
|
4204 |
|
4205 |
|
4206 | constructor(ref, resolver, injector, angularDelegate, location) {
|
4207 | ref.nativeElement.delegate = angularDelegate.create(resolver, injector, location);
|
4208 | }
|
4209 | }
|
4210 | NavDelegate.decorators = [
|
4211 | { type: Directive, args: [{
|
4212 | selector: 'ion-nav',
|
4213 | },] },
|
4214 | ];
|
4215 |
|
4216 | NavDelegate.ctorParameters = () => [
|
4217 | { type: ElementRef },
|
4218 | { type: ComponentFactoryResolver },
|
4219 | { type: Injector },
|
4220 | { type: AngularDelegate },
|
4221 | { type: ViewContainerRef }
|
4222 | ];
|
4223 |
|
4224 |
|
4225 |
|
4226 |
|
4227 |
|
4228 | class RouterLinkDelegate {
|
4229 | |
4230 |
|
4231 |
|
4232 |
|
4233 |
|
4234 |
|
4235 |
|
4236 | constructor(locationStrategy, navCtrl, elementRef, router, routerLink) {
|
4237 | this.locationStrategy = locationStrategy;
|
4238 | this.navCtrl = navCtrl;
|
4239 | this.elementRef = elementRef;
|
4240 | this.router = router;
|
4241 | this.routerLink = routerLink;
|
4242 | this.routerDirection = 'forward';
|
4243 | }
|
4244 | |
4245 |
|
4246 |
|
4247 | ngOnInit() {
|
4248 | this.updateTargetUrlAndHref();
|
4249 | }
|
4250 | |
4251 |
|
4252 |
|
4253 | ngOnChanges() {
|
4254 | this.updateTargetUrlAndHref();
|
4255 | }
|
4256 | |
4257 |
|
4258 |
|
4259 | ngOnDestroy() {
|
4260 | if (this.subscription) {
|
4261 | this.subscription.unsubscribe();
|
4262 | }
|
4263 | }
|
4264 | |
4265 |
|
4266 |
|
4267 |
|
4268 | updateTargetUrlAndHref() {
|
4269 | if (this.routerLink) {
|
4270 |
|
4271 | const href = this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.routerLink.urlTree));
|
4272 | this.elementRef.nativeElement.href = href;
|
4273 | }
|
4274 | }
|
4275 | |
4276 |
|
4277 |
|
4278 |
|
4279 |
|
4280 | onClick(ev) {
|
4281 | this.navCtrl.setDirection(this.routerDirection);
|
4282 | ev.preventDefault();
|
4283 | }
|
4284 | }
|
4285 | RouterLinkDelegate.decorators = [
|
4286 | { type: Directive, args: [{
|
4287 | selector: '[routerLink]',
|
4288 | inputs: ['routerDirection']
|
4289 | },] },
|
4290 | ];
|
4291 |
|
4292 | RouterLinkDelegate.ctorParameters = () => [
|
4293 | { type: LocationStrategy },
|
4294 | { type: NavController },
|
4295 | { type: ElementRef },
|
4296 | { type: Router },
|
4297 | { type: RouterLink, decorators: [{ type: Optional }] }
|
4298 | ];
|
4299 | RouterLinkDelegate.propDecorators = {
|
4300 | onClick: [{ type: HostListener, args: ['click', ['$event'],] }]
|
4301 | };
|
4302 |
|
4303 |
|
4304 |
|
4305 |
|
4306 |
|
4307 |
|
4308 |
|
4309 |
|
4310 | class VirtualFooter {
|
4311 | |
4312 |
|
4313 |
|
4314 | constructor(templateRef) {
|
4315 | this.templateRef = templateRef;
|
4316 | }
|
4317 | }
|
4318 | VirtualFooter.decorators = [
|
4319 | { type: Directive, args: [{ selector: '[virtualFooter]' },] },
|
4320 | ];
|
4321 |
|
4322 | VirtualFooter.ctorParameters = () => [
|
4323 | { type: TemplateRef }
|
4324 | ];
|
4325 |
|
4326 |
|
4327 |
|
4328 |
|
4329 |
|
4330 |
|
4331 |
|
4332 |
|
4333 | class VirtualHeader {
|
4334 | |
4335 |
|
4336 |
|
4337 | constructor(templateRef) {
|
4338 | this.templateRef = templateRef;
|
4339 | }
|
4340 | }
|
4341 | VirtualHeader.decorators = [
|
4342 | { type: Directive, args: [{ selector: '[virtualHeader]' },] },
|
4343 | ];
|
4344 |
|
4345 | VirtualHeader.ctorParameters = () => [
|
4346 | { type: TemplateRef }
|
4347 | ];
|
4348 |
|
4349 |
|
4350 |
|
4351 |
|
4352 |
|
4353 |
|
4354 |
|
4355 |
|
4356 | class VirtualItem {
|
4357 | |
4358 |
|
4359 |
|
4360 |
|
4361 | constructor(templateRef, viewContainer) {
|
4362 | this.templateRef = templateRef;
|
4363 | this.viewContainer = viewContainer;
|
4364 | }
|
4365 | }
|
4366 | VirtualItem.decorators = [
|
4367 | { type: Directive, args: [{ selector: '[virtualItem]' },] },
|
4368 | ];
|
4369 |
|
4370 | VirtualItem.ctorParameters = () => [
|
4371 | { type: TemplateRef },
|
4372 | { type: ViewContainerRef }
|
4373 | ];
|
4374 |
|
4375 |
|
4376 |
|
4377 |
|
4378 |
|
4379 | class IonVirtualScroll {
|
4380 | |
4381 |
|
4382 |
|
4383 |
|
4384 |
|
4385 | constructor(z, iterableDiffers, elementRef) {
|
4386 | this.z = z;
|
4387 | this.iterableDiffers = iterableDiffers;
|
4388 | this.refMap = new WeakMap();
|
4389 | this.el = ( (elementRef.nativeElement));
|
4390 | this.el.nodeRender = this.nodeRender.bind(this);
|
4391 | }
|
4392 | |
4393 |
|
4394 |
|
4395 |
|
4396 | ngOnChanges(changes) {
|
4397 | if (this.trackBy && 'items' in changes) {
|
4398 |
|
4399 |
|
4400 | const value = changes['items'].currentValue;
|
4401 | if (this.differ === undefined && value != null) {
|
4402 | try {
|
4403 | this.differ = this.iterableDiffers.find(value).create(this.trackBy);
|
4404 | }
|
4405 | catch (e) {
|
4406 | throw new Error(`Cannot find a differ supporting object '${value}'. VirtualScroll only supports binding to Iterables such as Arrays.`);
|
4407 | }
|
4408 | }
|
4409 | }
|
4410 | }
|
4411 | |
4412 |
|
4413 |
|
4414 | ngDoCheck() {
|
4415 |
|
4416 |
|
4417 | const changes = this.differ !== undefined && this.items ? this.differ.diff(this.items) : null;
|
4418 | if (changes === null) {
|
4419 | return;
|
4420 | }
|
4421 |
|
4422 | this.checkRange(0);
|
4423 | }
|
4424 | |
4425 |
|
4426 |
|
4427 |
|
4428 |
|
4429 |
|
4430 |
|
4431 | nodeRender(el, cell, index) {
|
4432 | return this.z.run(( |
4433 |
|
4434 |
|
4435 | () => {
|
4436 |
|
4437 | let node;
|
4438 | if (!el) {
|
4439 | node = this.itmTmp.viewContainer.createEmbeddedView(this.getComponent(cell.type), { $implicit: cell.value, index }, index);
|
4440 | el = getElement(node);
|
4441 | this.refMap.set(el, node);
|
4442 | }
|
4443 | else {
|
4444 | node = ( (this.refMap.get(el)));
|
4445 |
|
4446 | const ctx = node.context;
|
4447 | ctx.$implicit = cell.value;
|
4448 | ctx.index = cell.index;
|
4449 | }
|
4450 |
|
4451 | node.detectChanges();
|
4452 | return el;
|
4453 | }));
|
4454 | }
|
4455 | |
4456 |
|
4457 |
|
4458 |
|
4459 |
|
4460 | getComponent(type) {
|
4461 | switch (type) {
|
4462 | case 'item': return this.itmTmp.templateRef;
|
4463 | case 'header': return this.hdrTmp.templateRef;
|
4464 | case 'footer': return this.ftrTmp.templateRef;
|
4465 | }
|
4466 | throw new Error('template for virtual item was not provided');
|
4467 | }
|
4468 | }
|
4469 | IonVirtualScroll.decorators = [
|
4470 | { type: Component, args: [{
|
4471 | selector: 'ion-virtual-scroll',
|
4472 | template: '<ng-content></ng-content>',
|
4473 | changeDetection: ChangeDetectionStrategy.OnPush,
|
4474 | inputs: [
|
4475 | 'approxItemHeight',
|
4476 | 'approxHeaderHeight',
|
4477 | 'approxFooterHeight',
|
4478 | 'headerFn',
|
4479 | 'footerFn',
|
4480 | 'items',
|
4481 | 'itemHeight',
|
4482 | 'headerHeight',
|
4483 | 'footerHeight',
|
4484 | 'trackBy'
|
4485 | ]
|
4486 | },] },
|
4487 | ];
|
4488 |
|
4489 | IonVirtualScroll.ctorParameters = () => [
|
4490 | { type: NgZone },
|
4491 | { type: IterableDiffers },
|
4492 | { type: ElementRef }
|
4493 | ];
|
4494 | IonVirtualScroll.propDecorators = {
|
4495 | itmTmp: [{ type: ContentChild, args: [VirtualItem,] }],
|
4496 | hdrTmp: [{ type: ContentChild, args: [VirtualHeader,] }],
|
4497 | ftrTmp: [{ type: ContentChild, args: [VirtualFooter,] }]
|
4498 | };
|
4499 |
|
4500 | const getElement = ( |
4501 |
|
4502 |
|
4503 |
|
4504 | (view) => {
|
4505 |
|
4506 | const rootNodes = view.rootNodes;
|
4507 | for (let i = 0; i < rootNodes.length; i++) {
|
4508 | if (rootNodes[i].nodeType === 1) {
|
4509 | return rootNodes[i];
|
4510 | }
|
4511 | }
|
4512 | throw new Error('virtual element was not created');
|
4513 | });
|
4514 | proxyInputs(IonVirtualScroll, [
|
4515 | 'approxItemHeight',
|
4516 | 'approxHeaderHeight',
|
4517 | 'approxFooterHeight',
|
4518 | 'headerFn',
|
4519 | 'footerFn',
|
4520 | 'items',
|
4521 | 'itemHeight',
|
4522 | 'headerHeight',
|
4523 | 'footerHeight'
|
4524 | ]);
|
4525 | proxyMethods(IonVirtualScroll, [
|
4526 | 'checkEnd',
|
4527 | 'checkRange',
|
4528 | 'positionForItem'
|
4529 | ]);
|
4530 |
|
4531 |
|
4532 |
|
4533 |
|
4534 |
|
4535 | class CssUtilsDeprecations {
|
4536 | |
4537 |
|
4538 |
|
4539 | constructor(ref) {
|
4540 |
|
4541 | const el = (( (ref.nativeElement)));
|
4542 |
|
4543 | const attributes = Array.from(el.attributes)
|
4544 | .map(( |
4545 |
|
4546 |
|
4547 |
|
4548 | a => a.name))
|
4549 | .filter(( |
4550 |
|
4551 |
|
4552 |
|
4553 | n => DEPRECATED_ATTRIBUTES.includes(n)));
|
4554 | if (attributes.length > 0) {
|
4555 | console.warn(`[DEPRECATED][CSS] Ionic CSS attributes are deprecated.
|
4556 | Replace:
|
4557 | '<${el.tagName.toLowerCase()} ${attributes.map((/**
|
4558 | * @param {?} n
|
4559 | * @return {?}
|
4560 | */
|
4561 | n => `${n}`)).join(' ')}>'
|
4562 |
|
4563 | With:
|
4564 | '<${el.tagName.toLowerCase()} class="${attributes.map((/**
|
4565 | * @param {?} n
|
4566 | * @return {?}
|
4567 | */
|
4568 | n => `ion-${n}`)).join(' ')}">'
|
4569 | `);
|
4570 | }
|
4571 | }
|
4572 | }
|
4573 | CssUtilsDeprecations.decorators = [
|
4574 | { type: Directive, args: [{
|
4575 | selector: '[align-self-start], [align-self-end], [align-self-center], [align-self-stretch], [align-self-baseline], [align-self-auto], [wrap-reverse], [justify-content-start], [justify-content-center], [justify-content-end], [justify-content-around], [justify-content-between], [justify-content-evenly], [align-items-start], [align-items-center], [align-items-end], [align-items-stretch], [align-items-baseline], [float-left], [float-right], [float-start], [float-end], [float-sm-left], [float-sm-right], [float-sm-start], [float-sm-end], [float-md-left], [float-md-right], [float-md-start], [float-md-end], [float-lg-left], [float-lg-right], [float-lg-start], [float-lg-end], [float-xl-left], [float-xl-right], [float-xl-start], [float-xl-end], [text-center], [text-justify], [text-start], [text-end], [text-left], [text-right], [text-nowrap], [text-wrap], [text-sm-center], [text-sm-justify], [text-sm-start], [text-sm-end], [text-sm-left], [text-sm-right], [text-sm-nowrap], [text-sm-wrap], [text-md-center], [text-md-justify], [text-md-start], [text-md-end], [text-md-left], [text-md-right], [text-md-nowrap], [text-md-wrap], [text-lg-center], [text-lg-justify], [text-lg-start], [text-lg-end], [text-lg-left], [text-lg-right], [text-lg-nowrap], [text-lg-wrap], [text-xl-center], [text-xl-justify], [text-xl-start], [text-xl-end], [text-xl-left], [text-xl-right], [text-xl-nowrap], [text-xl-wrap], [text-uppercase], [text-lowercase], [text-capitalize], [text-sm-uppercase], [text-sm-lowercase], [text-sm-capitalize], [text-md-uppercase], [text-md-lowercase], [text-md-capitalize], [text-lg-uppercase], [text-lg-lowercase], [text-lg-capitalize], [text-xl-uppercase], [text-xl-lowercase], [text-xl-capitalize], [no-padding], [padding], [padding-top], [padding-bottom], [padding-start], [padding-end], [padding-vertical], [padding-horizontal], [no-margin], [margin], [margin-top], [margin-bottom], [margin-start], [margin-end], [margin-vertical], [margin-horizontal]',
|
4576 | },] },
|
4577 | ];
|
4578 | /** @nocollapse */
|
4579 | CssUtilsDeprecations.ctorParameters = () => [
|
4580 | { type: ElementRef }
|
4581 | ];
|
4582 | /** @type {?} */
|
4583 | const DEPRECATED_ATTRIBUTES = [
|
4584 | 'align-self-start',
|
4585 | 'align-self-end',
|
4586 | 'align-self-center',
|
4587 | 'align-self-stretch',
|
4588 | 'align-self-baseline',
|
4589 | 'align-self-auto',
|
4590 | 'wrap-reverse',
|
4591 | 'justify-content-start',
|
4592 | 'justify-content-center',
|
4593 | 'justify-content-end',
|
4594 | 'justify-content-around',
|
4595 | 'justify-content-between',
|
4596 | 'justify-content-evenly',
|
4597 | 'align-items-start',
|
4598 | 'align-items-center',
|
4599 | 'align-items-end',
|
4600 | 'align-items-stretch',
|
4601 | 'align-items-baseline',
|
4602 | 'float-left',
|
4603 | 'float-right',
|
4604 | 'float-start',
|
4605 | 'float-end',
|
4606 | 'float-sm-left',
|
4607 | 'float-sm-right',
|
4608 | 'float-sm-start',
|
4609 | 'float-sm-end',
|
4610 | 'float-md-left',
|
4611 | 'float-md-right',
|
4612 | 'float-md-start',
|
4613 | 'float-md-end',
|
4614 | 'float-lg-left',
|
4615 | 'float-lg-right',
|
4616 | 'float-lg-start',
|
4617 | 'float-lg-end',
|
4618 | 'float-xl-left',
|
4619 | 'float-xl-right',
|
4620 | 'float-xl-start',
|
4621 | 'float-xl-end',
|
4622 | 'text-center',
|
4623 | 'text-justify',
|
4624 | 'text-start',
|
4625 | 'text-end',
|
4626 | 'text-left',
|
4627 | 'text-right',
|
4628 | 'text-nowrap',
|
4629 | 'text-wrap',
|
4630 | 'text-sm-center',
|
4631 | 'text-sm-justify',
|
4632 | 'text-sm-start',
|
4633 | 'text-sm-end',
|
4634 | 'text-sm-left',
|
4635 | 'text-sm-right',
|
4636 | 'text-sm-nowrap',
|
4637 | 'text-sm-wrap',
|
4638 | 'text-md-center',
|
4639 | 'text-md-justify',
|
4640 | 'text-md-start',
|
4641 | 'text-md-end',
|
4642 | 'text-md-left',
|
4643 | 'text-md-right',
|
4644 | 'text-md-nowrap',
|
4645 | 'text-md-wrap',
|
4646 | 'text-lg-center',
|
4647 | 'text-lg-justify',
|
4648 | 'text-lg-start',
|
4649 | 'text-lg-end',
|
4650 | 'text-lg-left',
|
4651 | 'text-lg-right',
|
4652 | 'text-lg-nowrap',
|
4653 | 'text-lg-wrap',
|
4654 | 'text-xl-center',
|
4655 | 'text-xl-justify',
|
4656 | 'text-xl-start',
|
4657 | 'text-xl-end',
|
4658 | 'text-xl-left',
|
4659 | 'text-xl-right',
|
4660 | 'text-xl-nowrap',
|
4661 | 'text-xl-wrap',
|
4662 | 'text-uppercase',
|
4663 | 'text-lowercase',
|
4664 | 'text-capitalize',
|
4665 | 'text-sm-uppercase',
|
4666 | 'text-sm-lowercase',
|
4667 | 'text-sm-capitalize',
|
4668 | 'text-md-uppercase',
|
4669 | 'text-md-lowercase',
|
4670 | 'text-md-capitalize',
|
4671 | 'text-lg-uppercase',
|
4672 | 'text-lg-lowercase',
|
4673 | 'text-lg-capitalize',
|
4674 | 'text-xl-uppercase',
|
4675 | 'text-xl-lowercase',
|
4676 | 'text-xl-capitalize',
|
4677 | 'no-padding',
|
4678 | 'padding',
|
4679 | 'padding-top',
|
4680 | 'padding-bottom',
|
4681 | 'padding-start',
|
4682 | 'padding-end',
|
4683 | 'padding-vertical',
|
4684 | 'padding-horizontal',
|
4685 | 'no-margin',
|
4686 | 'margin',
|
4687 | 'margin-top',
|
4688 | 'margin-bottom',
|
4689 | 'margin-start',
|
4690 | 'margin-end',
|
4691 | 'margin-vertical',
|
4692 | 'margin-horizontal'
|
4693 | ];
|
4694 |
|
4695 | /**
|
4696 | * @fileoverview added by tsickle
|
4697 | * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
4698 | */
|
4699 | /**
|
4700 | * @template Opts, Overlay
|
4701 | */
|
4702 | class OverlayBaseController {
|
4703 | /**
|
4704 | * @param {?} ctrl
|
4705 | */
|
4706 | constructor(ctrl) {
|
4707 | this.ctrl = ctrl;
|
4708 | }
|
4709 | /**
|
4710 | * Creates a new overlay
|
4711 | * @param {?=} opts
|
4712 | * @return {?}
|
4713 | */
|
4714 | create(opts) {
|
4715 | // TODO: next major release opts is not optional
|
4716 | return this.ctrl.create((/** @type {?} */ ((opts || {}))));
|
4717 | }
|
4718 | /**
|
4719 | * When `id` is not provided, it dismisses the top overlay.
|
4720 | * @param {?=} data
|
4721 | * @param {?=} role
|
4722 | * @param {?=} id
|
4723 | * @return {?}
|
4724 | */
|
4725 | dismiss(data, role, id) {
|
4726 | return this.ctrl.dismiss(data, role, id);
|
4727 | }
|
4728 | /**
|
4729 | * Returns the top overlay.
|
4730 | * @return {?}
|
4731 | */
|
4732 | getTop() {
|
4733 | return this.ctrl.getTop();
|
4734 | }
|
4735 | }
|
4736 |
|
4737 | /**
|
4738 | * @fileoverview added by tsickle
|
4739 | * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
4740 | */
|
4741 | class ActionSheetController extends OverlayBaseController {
|
4742 | constructor() {
|
4743 | super(actionSheetController);
|
4744 | }
|
4745 | }
|
4746 | ActionSheetController.decorators = [
|
4747 | { type: Injectable, args: [{
|
4748 | providedIn: 'root',
|
4749 | },] },
|
4750 | ];
|
4751 | /** @nocollapse */
|
4752 | ActionSheetController.ctorParameters = () => [];
|
4753 | /** @nocollapse */ ActionSheetController.ngInjectableDef = defineInjectable({ factory: function ActionSheetController_Factory() { return new ActionSheetController(); }, token: ActionSheetController, providedIn: "root" });
|
4754 |
|
4755 | /**
|
4756 | * @fileoverview added by tsickle
|
4757 | * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
4758 | */
|
4759 | class AlertController extends OverlayBaseController {
|
4760 | constructor() {
|
4761 | super(alertController);
|
4762 | }
|
4763 | }
|
4764 | AlertController.decorators = [
|
4765 | { type: Injectable, args: [{
|
4766 | providedIn: 'root',
|
4767 | },] },
|
4768 | ];
|
4769 | /** @nocollapse */
|
4770 | AlertController.ctorParameters = () => [];
|
4771 | /** @nocollapse */ AlertController.ngInjectableDef = defineInjectable({ factory: function AlertController_Factory() { return new AlertController(); }, token: AlertController, providedIn: "root" });
|
4772 |
|
4773 | /**
|
4774 | * @fileoverview added by tsickle
|
4775 | * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
4776 | */
|
4777 | class Events {
|
4778 | constructor() {
|
4779 | this.c = new Map();
|
4780 | console.warn(`[DEPRECATION][Events]: The Events provider is deprecated and it will be removed in the next major release.
|
4781 | - Use "Observables" for a similar pub/sub architecture: https:
|
4782 | - Use "Redux" for advanced state management: https:
|
4783 | }
|
4784 | |
4785 |
|
4786 |
|
4787 |
|
4788 |
|
4789 |
|
4790 |
|
4791 | subscribe(topic, ...handlers) {
|
4792 |
|
4793 | let topics = this.c.get(topic);
|
4794 | if (!topics) {
|
4795 | this.c.set(topic, topics = []);
|
4796 | }
|
4797 | topics.push(...handlers);
|
4798 | }
|
4799 | |
4800 |
|
4801 |
|
4802 |
|
4803 |
|
4804 |
|
4805 |
|
4806 |
|
4807 | unsubscribe(topic, handler) {
|
4808 | if (!handler) {
|
4809 | return this.c.delete(topic);
|
4810 | }
|
4811 |
|
4812 | const topics = this.c.get(topic);
|
4813 | if (!topics) {
|
4814 | return false;
|
4815 | }
|
4816 |
|
4817 |
|
4818 | const index = topics.indexOf(handler);
|
4819 | if (index < 0) {
|
4820 |
|
4821 | return false;
|
4822 | }
|
4823 | topics.splice(index, 1);
|
4824 | if (topics.length === 0) {
|
4825 | this.c.delete(topic);
|
4826 | }
|
4827 | return true;
|
4828 | }
|
4829 | |
4830 |
|
4831 |
|
4832 |
|
4833 |
|
4834 |
|
4835 |
|
4836 | publish(topic, ...args) {
|
4837 |
|
4838 | const topics = this.c.get(topic);
|
4839 | if (!topics) {
|
4840 | return null;
|
4841 | }
|
4842 | return topics.map(( |
4843 |
|
4844 |
|
4845 |
|
4846 | handler => {
|
4847 | try {
|
4848 | return handler(...args);
|
4849 | }
|
4850 | catch (e) {
|
4851 | console.error(e);
|
4852 | return null;
|
4853 | }
|
4854 | }));
|
4855 | }
|
4856 | }
|
4857 | Events.decorators = [
|
4858 | { type: Injectable, args: [{
|
4859 | providedIn: 'root',
|
4860 | },] },
|
4861 | ];
|
4862 |
|
4863 | Events.ctorParameters = () => [];
|
4864 | Events.ngInjectableDef = defineInjectable({ factory: function Events_Factory() { return new Events(); }, token: Events, providedIn: "root" });
|
4865 |
|
4866 |
|
4867 |
|
4868 |
|
4869 |
|
4870 | class LoadingController extends OverlayBaseController {
|
4871 | constructor() {
|
4872 | super(loadingController);
|
4873 | }
|
4874 | }
|
4875 | LoadingController.decorators = [
|
4876 | { type: Injectable, args: [{
|
4877 | providedIn: 'root',
|
4878 | },] },
|
4879 | ];
|
4880 |
|
4881 | LoadingController.ctorParameters = () => [];
|
4882 | LoadingController.ngInjectableDef = defineInjectable({ factory: function LoadingController_Factory() { return new LoadingController(); }, token: LoadingController, providedIn: "root" });
|
4883 |
|
4884 |
|
4885 |
|
4886 |
|
4887 |
|
4888 | class MenuController {
|
4889 | |
4890 |
|
4891 |
|
4892 |
|
4893 |
|
4894 | open(menuId) {
|
4895 | return menuController.open(menuId);
|
4896 | }
|
4897 | |
4898 |
|
4899 |
|
4900 |
|
4901 |
|
4902 |
|
4903 |
|
4904 | close(menuId) {
|
4905 | return menuController.close(menuId);
|
4906 | }
|
4907 | |
4908 |
|
4909 |
|
4910 |
|
4911 |
|
4912 |
|
4913 | toggle(menuId) {
|
4914 | return menuController.toggle(menuId);
|
4915 | }
|
4916 | |
4917 |
|
4918 |
|
4919 |
|
4920 |
|
4921 |
|
4922 |
|
4923 |
|
4924 |
|
4925 | enable(shouldEnable, menuId) {
|
4926 | return menuController.enable(shouldEnable, menuId);
|
4927 | }
|
4928 | |
4929 |
|
4930 |
|
4931 |
|
4932 |
|
4933 |
|
4934 |
|
4935 | swipeEnable(shouldEnable, menuId) {
|
4936 | console.warn('[DEPRECATED][ion-menu-controller] swipeEnable() is deprecated. Use MenuController.swipeGesture() instead');
|
4937 | return this.swipeGesture(shouldEnable, menuId);
|
4938 | }
|
4939 | |
4940 |
|
4941 |
|
4942 |
|
4943 |
|
4944 |
|
4945 | swipeGesture(shouldEnable, menuId) {
|
4946 | return menuController.swipeGesture(shouldEnable, menuId);
|
4947 | }
|
4948 | |
4949 |
|
4950 |
|
4951 |
|
4952 |
|
4953 | isOpen(menuId) {
|
4954 | return menuController.isOpen(menuId);
|
4955 | }
|
4956 | |
4957 |
|
4958 |
|
4959 |
|
4960 | isEnabled(menuId) {
|
4961 | return menuController.isEnabled(menuId);
|
4962 | }
|
4963 | |
4964 |
|
4965 |
|
4966 |
|
4967 |
|
4968 |
|
4969 |
|
4970 |
|
4971 |
|
4972 | get(menuId) {
|
4973 | return menuController.get(menuId);
|
4974 | }
|
4975 | |
4976 |
|
4977 |
|
4978 | getOpen() {
|
4979 | return menuController.getOpen();
|
4980 | }
|
4981 | |
4982 |
|
4983 |
|
4984 | getMenus() {
|
4985 | return menuController.getMenus();
|
4986 | }
|
4987 | }
|
4988 | MenuController.decorators = [
|
4989 | { type: Injectable, args: [{
|
4990 | providedIn: 'root',
|
4991 | },] },
|
4992 | ];
|
4993 | MenuController.ngInjectableDef = defineInjectable({ factory: function MenuController_Factory() { return new MenuController(); }, token: MenuController, providedIn: "root" });
|
4994 |
|
4995 |
|
4996 |
|
4997 |
|
4998 |
|
4999 | class PickerController extends OverlayBaseController {
|
5000 | constructor() {
|
5001 | super(pickerController);
|
5002 | }
|
5003 | }
|
5004 | PickerController.decorators = [
|
5005 | { type: Injectable, args: [{
|
5006 | providedIn: 'root',
|
5007 | },] },
|
5008 | ];
|
5009 |
|
5010 | PickerController.ctorParameters = () => [];
|
5011 | PickerController.ngInjectableDef = defineInjectable({ factory: function PickerController_Factory() { return new PickerController(); }, token: PickerController, providedIn: "root" });
|
5012 |
|
5013 |
|
5014 |
|
5015 |
|
5016 |
|
5017 | class ModalController extends OverlayBaseController {
|
5018 | |
5019 |
|
5020 |
|
5021 |
|
5022 |
|
5023 | constructor(angularDelegate, resolver, injector) {
|
5024 | super(modalController);
|
5025 | this.angularDelegate = angularDelegate;
|
5026 | this.resolver = resolver;
|
5027 | this.injector = injector;
|
5028 | }
|
5029 | |
5030 |
|
5031 |
|
5032 |
|
5033 | create(opts) {
|
5034 | return super.create(Object.assign({}, opts, { delegate: this.angularDelegate.create(this.resolver, this.injector) }));
|
5035 | }
|
5036 | }
|
5037 | ModalController.decorators = [
|
5038 | { type: Injectable },
|
5039 | ];
|
5040 |
|
5041 | ModalController.ctorParameters = () => [
|
5042 | { type: AngularDelegate },
|
5043 | { type: ComponentFactoryResolver },
|
5044 | { type: Injector }
|
5045 | ];
|
5046 |
|
5047 |
|
5048 |
|
5049 |
|
5050 |
|
5051 | class PopoverController extends OverlayBaseController {
|
5052 | |
5053 |
|
5054 |
|
5055 |
|
5056 |
|
5057 | constructor(angularDelegate, resolver, injector) {
|
5058 | super(popoverController);
|
5059 | this.angularDelegate = angularDelegate;
|
5060 | this.resolver = resolver;
|
5061 | this.injector = injector;
|
5062 | }
|
5063 | |
5064 |
|
5065 |
|
5066 |
|
5067 | create(opts) {
|
5068 | return super.create(Object.assign({}, opts, { delegate: this.angularDelegate.create(this.resolver, this.injector) }));
|
5069 | }
|
5070 | }
|
5071 | PopoverController.decorators = [
|
5072 | { type: Injectable },
|
5073 | ];
|
5074 |
|
5075 | PopoverController.ctorParameters = () => [
|
5076 | { type: AngularDelegate },
|
5077 | { type: ComponentFactoryResolver },
|
5078 | { type: Injector }
|
5079 | ];
|
5080 |
|
5081 |
|
5082 |
|
5083 |
|
5084 |
|
5085 | class ToastController extends OverlayBaseController {
|
5086 | constructor() {
|
5087 | super(toastController);
|
5088 | }
|
5089 | }
|
5090 | ToastController.decorators = [
|
5091 | { type: Injectable, args: [{
|
5092 | providedIn: 'root',
|
5093 | },] },
|
5094 | ];
|
5095 |
|
5096 | ToastController.ctorParameters = () => [];
|
5097 | ToastController.ngInjectableDef = defineInjectable({ factory: function ToastController_Factory() { return new ToastController(); }, token: ToastController, providedIn: "root" });
|
5098 |
|
5099 |
|
5100 |
|
5101 |
|
5102 |
|
5103 | class DomController {
|
5104 | |
5105 |
|
5106 |
|
5107 |
|
5108 |
|
5109 |
|
5110 | read(cb) {
|
5111 | getQueue().read(cb);
|
5112 | }
|
5113 | |
5114 |
|
5115 |
|
5116 |
|
5117 |
|
5118 |
|
5119 | write(cb) {
|
5120 | getQueue().write(cb);
|
5121 | }
|
5122 | }
|
5123 | DomController.decorators = [
|
5124 | { type: Injectable, args: [{
|
5125 | providedIn: 'root',
|
5126 | },] },
|
5127 | ];
|
5128 | DomController.ngInjectableDef = defineInjectable({ factory: function DomController_Factory() { return new DomController(); }, token: DomController, providedIn: "root" });
|
5129 |
|
5130 | const getQueue = ( |
5131 |
|
5132 |
|
5133 | () => {
|
5134 |
|
5135 | const win = typeof (( (window))) !== 'undefined' ? window : ( (null));
|
5136 | if (win != null) {
|
5137 |
|
5138 | const Ionic = win.Ionic;
|
5139 | if (Ionic && Ionic.queue) {
|
5140 | return Ionic.queue;
|
5141 | }
|
5142 | return {
|
5143 | read: ( |
5144 |
|
5145 |
|
5146 |
|
5147 | (cb) => win.requestAnimationFrame(cb)),
|
5148 | write: ( |
5149 |
|
5150 |
|
5151 |
|
5152 | (cb) => win.requestAnimationFrame(cb))
|
5153 | };
|
5154 | }
|
5155 | return {
|
5156 | read: ( |
5157 |
|
5158 |
|
5159 |
|
5160 | (cb) => cb()),
|
5161 | write: ( |
5162 |
|
5163 |
|
5164 |
|
5165 | (cb) => cb())
|
5166 | };
|
5167 | });
|
5168 |
|
5169 |
|
5170 |
|
5171 |
|
5172 |
|
5173 | class IonicRouteStrategy {
|
5174 | |
5175 |
|
5176 |
|
5177 |
|
5178 | shouldDetach(_route) {
|
5179 | return false;
|
5180 | }
|
5181 | |
5182 |
|
5183 |
|
5184 |
|
5185 | shouldAttach(_route) {
|
5186 | return false;
|
5187 | }
|
5188 | |
5189 |
|
5190 |
|
5191 |
|
5192 |
|
5193 | store(_route, _detachedTree) {
|
5194 | return;
|
5195 | }
|
5196 | |
5197 |
|
5198 |
|
5199 |
|
5200 | retrieve(_route) {
|
5201 | return null;
|
5202 | }
|
5203 | |
5204 |
|
5205 |
|
5206 |
|
5207 |
|
5208 | shouldReuseRoute(future, curr) {
|
5209 | if (future.routeConfig !== curr.routeConfig) {
|
5210 | return false;
|
5211 | }
|
5212 |
|
5213 |
|
5214 | const futureParams = future.params;
|
5215 |
|
5216 | const currentParams = curr.params;
|
5217 |
|
5218 | const keysA = Object.keys(futureParams);
|
5219 |
|
5220 | const keysB = Object.keys(currentParams);
|
5221 | if (keysA.length !== keysB.length) {
|
5222 | return false;
|
5223 | }
|
5224 |
|
5225 | for (const key of keysA) {
|
5226 | if (currentParams[key] !== futureParams[key]) {
|
5227 | return false;
|
5228 | }
|
5229 | }
|
5230 | return true;
|
5231 | }
|
5232 | }
|
5233 |
|
5234 |
|
5235 |
|
5236 |
|
5237 |
|
5238 |
|
5239 | let didInitialize = false;
|
5240 |
|
5241 | const appInitialize = ( |
5242 |
|
5243 |
|
5244 |
|
5245 |
|
5246 |
|
5247 | (config, doc, zone) => {
|
5248 | return ( |
5249 |
|
5250 |
|
5251 | () => {
|
5252 |
|
5253 | const win = ( (doc.defaultView));
|
5254 | if (win) {
|
5255 | if (didInitialize) {
|
5256 | console.warn('Ionic Angular was already initialized. Make sure IonicModule.forRoot() is just called once.');
|
5257 | }
|
5258 | didInitialize = true;
|
5259 |
|
5260 | const Ionic = win.Ionic = win.Ionic || {};
|
5261 | Ionic.config = Object.assign({}, config, { _zoneGate: ( |
5262 |
|
5263 |
|
5264 |
|
5265 | (h) => zone.run(h)) });
|
5266 |
|
5267 | const aelFn = '__zone_symbol__addEventListener' in (( (doc.body)))
|
5268 | ? '__zone_symbol__addEventListener'
|
5269 | : 'addEventListener';
|
5270 | return applyPolyfills().then(( |
5271 |
|
5272 |
|
5273 | () => {
|
5274 | return defineCustomElements(win, {
|
5275 | exclude: ['ion-tabs', 'ion-tab'],
|
5276 | syncQueue: true,
|
5277 | raf,
|
5278 | jmp: ( |
5279 |
|
5280 |
|
5281 |
|
5282 | (h) => zone.runOutsideAngular(h)),
|
5283 | |
5284 |
|
5285 |
|
5286 |
|
5287 |
|
5288 |
|
5289 |
|
5290 | ael(elm, eventName, cb, opts) {
|
5291 | (( (elm)))[aelFn](eventName, cb, opts);
|
5292 | },
|
5293 | |
5294 |
|
5295 |
|
5296 |
|
5297 |
|
5298 |
|
5299 |
|
5300 | rel(elm, eventName, cb, opts) {
|
5301 | elm.removeEventListener(eventName, cb, opts);
|
5302 | }
|
5303 | });
|
5304 | }));
|
5305 | }
|
5306 | });
|
5307 | });
|
5308 |
|
5309 |
|
5310 |
|
5311 |
|
5312 |
|
5313 |
|
5314 | const DECLARATIONS = [
|
5315 |
|
5316 | IonApp,
|
5317 | IonAvatar,
|
5318 | IonBackButton,
|
5319 | IonBackdrop,
|
5320 | IonBadge,
|
5321 | IonButton,
|
5322 | IonButtons,
|
5323 | IonCard,
|
5324 | IonCardContent,
|
5325 | IonCardHeader,
|
5326 | IonCardSubtitle,
|
5327 | IonCardTitle,
|
5328 | IonCheckbox,
|
5329 | IonChip,
|
5330 | IonCol,
|
5331 | IonContent,
|
5332 | IonDatetime,
|
5333 | IonFab,
|
5334 | IonFabButton,
|
5335 | IonFabList,
|
5336 | IonFooter,
|
5337 | IonGrid,
|
5338 | IonHeader,
|
5339 | IonIcon,
|
5340 | IonImg,
|
5341 | IonInfiniteScroll,
|
5342 | IonInfiniteScrollContent,
|
5343 | IonInput,
|
5344 | IonItem,
|
5345 | IonItemDivider,
|
5346 | IonItemGroup,
|
5347 | IonItemOption,
|
5348 | IonItemOptions,
|
5349 | IonItemSliding,
|
5350 | IonLabel,
|
5351 | IonList,
|
5352 | IonListHeader,
|
5353 | IonMenu,
|
5354 | IonMenuButton,
|
5355 | IonMenuToggle,
|
5356 | IonNav,
|
5357 | IonNavLink,
|
5358 | IonNavPop,
|
5359 | IonNavPush,
|
5360 | IonNavSetRoot,
|
5361 | IonNote,
|
5362 | IonProgressBar,
|
5363 | IonRadio,
|
5364 | IonRadioGroup,
|
5365 | IonRange,
|
5366 | IonRefresher,
|
5367 | IonRefresherContent,
|
5368 | IonReorder,
|
5369 | IonReorderGroup,
|
5370 | IonRippleEffect,
|
5371 | IonRow,
|
5372 | IonSearchbar,
|
5373 | IonSegment,
|
5374 | IonSegmentButton,
|
5375 | IonSelect,
|
5376 | IonSelectOption,
|
5377 | IonSkeletonText,
|
5378 | IonSlide,
|
5379 | IonSlides,
|
5380 | IonSpinner,
|
5381 | IonSplitPane,
|
5382 | IonTabBar,
|
5383 | IonTabButton,
|
5384 | IonText,
|
5385 | IonTextarea,
|
5386 | IonThumbnail,
|
5387 | IonToggle,
|
5388 | IonToolbar,
|
5389 | IonTitle,
|
5390 | IonTabs,
|
5391 |
|
5392 | BooleanValueAccessor,
|
5393 | NumericValueAccessor,
|
5394 | RadioValueAccessor,
|
5395 | SelectValueAccessor,
|
5396 | TextValueAccessor,
|
5397 |
|
5398 | IonRouterOutlet,
|
5399 | IonBackButtonDelegate,
|
5400 | NavDelegate,
|
5401 | RouterLinkDelegate,
|
5402 |
|
5403 | VirtualFooter,
|
5404 | VirtualHeader,
|
5405 | VirtualItem,
|
5406 | IonVirtualScroll,
|
5407 |
|
5408 | CssUtilsDeprecations
|
5409 | ];
|
5410 | class IonicModule {
|
5411 | |
5412 |
|
5413 |
|
5414 |
|
5415 | static forRoot(config) {
|
5416 | return {
|
5417 | ngModule: IonicModule,
|
5418 | providers: [
|
5419 | {
|
5420 | provide: ConfigToken,
|
5421 | useValue: config
|
5422 | },
|
5423 | {
|
5424 | provide: APP_INITIALIZER,
|
5425 | useFactory: appInitialize,
|
5426 | multi: true,
|
5427 | deps: [
|
5428 | ConfigToken,
|
5429 | DOCUMENT,
|
5430 | NgZone
|
5431 | ]
|
5432 | }
|
5433 | ]
|
5434 | };
|
5435 | }
|
5436 | }
|
5437 | IonicModule.decorators = [
|
5438 | { type: NgModule, args: [{
|
5439 | declarations: DECLARATIONS,
|
5440 | exports: DECLARATIONS,
|
5441 | providers: [AngularDelegate, ModalController, PopoverController],
|
5442 | imports: [CommonModule]
|
5443 | },] },
|
5444 | ];
|
5445 |
|
5446 | export { ActionSheetController, AlertController, AngularDelegate, BooleanValueAccessor, Config, CssUtilsDeprecations, DomController, Events, IonApp, IonAvatar, IonBackButton, IonBackButtonDelegate, IonBackdrop, IonBadge, IonButton, IonButtons, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonCheckbox, IonChip, IonCol, IonContent, IonDatetime, IonFab, IonFabButton, IonFabList, IonFooter, IonGrid, IonHeader, IonIcon, IonImg, IonInfiniteScroll, IonInfiniteScrollContent, IonInput, IonItem, IonItemDivider, IonItemGroup, IonItemOption, IonItemOptions, IonItemSliding, IonLabel, IonList, IonListHeader, IonMenu, IonMenuButton, IonMenuToggle, IonNav, IonNavLink, IonNavPop, IonNavPush, IonNavSetRoot, IonNote, IonProgressBar, IonRadio, IonRadioGroup, IonRange, IonRefresher, IonRefresherContent, IonReorder, IonReorderGroup, IonRippleEffect, IonRouterOutlet, IonRow, IonSearchbar, IonSegment, IonSegmentButton, IonSelect, IonSelectOption, IonSkeletonText, IonSlide, IonSlides, IonSpinner, IonSplitPane, IonTabBar, IonTabButton, IonTabs, IonText, IonTextarea, IonThumbnail, IonTitle, IonToggle, IonToolbar, IonVirtualScroll, IonicModule, IonicRouteStrategy, LoadingController, MenuController, ModalController, NavController, NavDelegate, NavParams, NumericValueAccessor, PickerController, Platform, PopoverController, RadioValueAccessor, RouterLinkDelegate, SelectValueAccessor, TextValueAccessor, ToastController, VirtualFooter, VirtualHeader, VirtualItem, ConfigToken as ɵa, ValueAccessor as ɵb, OverlayBaseController as ɵd, appInitialize as ɵe };
|