@ionic/angular 7.6.0 → 7.6.1-dev.11701921257.1d512d3c

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { Directive, Attribute, Optional, SkipSelf, Component, ChangeDetectionStrategy, ViewChild, ContentChild, ContentChildren, inject, Injector, EnvironmentInjector, Injectable, APP_INITIALIZER, forwardRef, HostListener } from '@angular/core';
3
+ import { Directive, Attribute, Optional, SkipSelf, Component, ChangeDetectionStrategy, Input, HostListener, ViewChild, ContentChild, ContentChildren, inject, Injector, EnvironmentInjector, Injectable, APP_INITIALIZER, forwardRef } from '@angular/core';
4
4
  import * as i2$1 from '@ionic/angular/common';
5
- import { IonRouterOutlet as IonRouterOutlet$1, ProxyCmp as ProxyCmp$1, IonBackButton as IonBackButton$1, IonModal as IonModal$1, IonPopover as IonPopover$1, RouterLinkDelegateDirective, RouterLinkWithHrefDelegateDirective, IonTabs as IonTabs$1, OverlayBaseController, AngularDelegate, ConfigToken, provideComponentInputBinding, MenuController as MenuController$1, IonNav as IonNav$1, ValueAccessor, setIonicClasses } from '@ionic/angular/common';
5
+ import { IonRouterOutletBase, ProxyCmp as ProxyCmp$1, IonModal as IonModal$1, IonPopover as IonPopover$1, RouterLinkDelegateDirective, RouterLinkWithHrefDelegateDirective, IonTabs as IonTabs$1, OverlayBaseController, AngularDelegate, ConfigToken, provideComponentInputBinding, MenuController as MenuController$1, IonNav as IonNav$1, ValueAccessor, setIonicClasses } from '@ionic/angular/common';
6
6
  export { Config, DomController, IonicRouteStrategy, NavController, NavParams, Platform } from '@ionic/angular/common';
7
7
  import { defineCustomElement as defineCustomElement$2 } from '@ionic/core/components/ion-back-button.js';
8
8
  import { defineCustomElement as defineCustomElement$1 } from '@ionic/core/components/ion-router-outlet.js';
@@ -94,7 +94,7 @@ import { defineCustomElement as defineCustomElement$1g } from '@ionic/core/compo
94
94
  import { defineCustomElement as defineCustomElement$1h } from '@ionic/core/components/ion-textarea.js';
95
95
  import { defineCustomElement as defineCustomElement$1i } from '@ionic/core/components/ion-toggle.js';
96
96
 
97
- let IonRouterOutlet = class IonRouterOutlet extends IonRouterOutlet$1 {
97
+ let IonRouterOutlet = class IonRouterOutlet extends IonRouterOutletBase {
98
98
  /**
99
99
  * We need to pass in the correct instance of IonRouterOutlet
100
100
  * otherwise parentOutlet will be null in a nested outlet context.
@@ -133,16 +133,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
133
133
  type: Optional
134
134
  }] }]; } });
135
135
 
136
- let IonBackButton = class IonBackButton extends IonBackButton$1 {
136
+ const BACK_BUTTON_INPUTS = ['color', 'defaultHref', 'disabled', 'icon', 'mode', 'routerAnimation', 'text', 'type'];
137
+ let IonBackButton = class IonBackButton {
137
138
  constructor(routerOutlet, navCtrl, config, r, z, c) {
138
- super(routerOutlet, navCtrl, config, r, z, c);
139
+ this.routerOutlet = routerOutlet;
140
+ this.navCtrl = navCtrl;
141
+ this.config = config;
142
+ this.z = z;
143
+ c.detach();
144
+ this.el = r.nativeElement;
145
+ }
146
+ /**
147
+ * @internal
148
+ */
149
+ onClick(ev) {
150
+ const defaultHref = this.defaultHref || this.config.get('backButtonDefaultHref');
151
+ if (this.routerOutlet?.canGoBack()) {
152
+ this.navCtrl.setDirection('back', undefined, undefined, this.routerAnimation);
153
+ this.routerOutlet.pop();
154
+ ev.preventDefault();
155
+ }
156
+ else if (defaultHref != null) {
157
+ this.navCtrl.navigateBack(defaultHref, { animation: this.routerAnimation });
158
+ ev.preventDefault();
159
+ }
139
160
  }
140
161
  };
141
162
  /** @nocollapse */ IonBackButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonBackButton, deps: [{ token: IonRouterOutlet, optional: true }, { token: i2$1.NavController }, { token: i2$1.Config }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
142
- /** @nocollapse */ IonBackButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonBackButton, isStandalone: true, selector: "ion-back-button", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
163
+ /** @nocollapse */ IonBackButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonBackButton, isStandalone: true, selector: "ion-back-button", inputs: { color: "color", defaultHref: "defaultHref", disabled: "disabled", icon: "icon", mode: "mode", routerAnimation: "routerAnimation", text: "text", type: "type" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
143
164
  IonBackButton = __decorate([
144
165
  ProxyCmp$1({
145
166
  defineCustomElementFn: defineCustomElement$2,
167
+ inputs: BACK_BUTTON_INPUTS,
146
168
  })
147
169
  ], IonBackButton);
148
170
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonBackButton, decorators: [{
@@ -151,11 +173,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
151
173
  selector: 'ion-back-button',
152
174
  changeDetection: ChangeDetectionStrategy.OnPush,
153
175
  template: '<ng-content></ng-content>',
176
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
177
+ inputs: BACK_BUTTON_INPUTS,
154
178
  standalone: true,
155
179
  }]
156
180
  }], ctorParameters: function () { return [{ type: IonRouterOutlet, decorators: [{
157
181
  type: Optional
158
- }] }, { type: i2$1.NavController }, { type: i2$1.Config }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
182
+ }] }, { type: i2$1.NavController }, { type: i2$1.Config }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { defaultHref: [{
183
+ type: Input
184
+ }], routerAnimation: [{
185
+ type: Input
186
+ }], onClick: [{
187
+ type: HostListener,
188
+ args: ['click', ['$event']]
189
+ }] } });
159
190
 
160
191
  let IonModal = class IonModal extends IonModal$1 {
161
192
  };