@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.
@@ -135,16 +135,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
135
135
  }] }];
136
136
  } });
137
137
 
138
- let IonBackButton = class IonBackButton extends IonBackButton$1 {
138
+ const BACK_BUTTON_INPUTS = ['color', 'defaultHref', 'disabled', 'icon', 'mode', 'routerAnimation', 'text', 'type'];
139
+ let IonBackButton = class IonBackButton {
139
140
  constructor(routerOutlet, navCtrl, config, r, z, c) {
140
- super(routerOutlet, navCtrl, config, r, z, c);
141
+ this.routerOutlet = routerOutlet;
142
+ this.navCtrl = navCtrl;
143
+ this.config = config;
144
+ this.z = z;
145
+ c.detach();
146
+ this.el = r.nativeElement;
147
+ }
148
+ /**
149
+ * @internal
150
+ */
151
+ onClick(ev) {
152
+ var _a;
153
+ const defaultHref = this.defaultHref || this.config.get('backButtonDefaultHref');
154
+ if ((_a = this.routerOutlet) === null || _a === void 0 ? void 0 : _a.canGoBack()) {
155
+ this.navCtrl.setDirection('back', undefined, undefined, this.routerAnimation);
156
+ this.routerOutlet.pop();
157
+ ev.preventDefault();
158
+ }
159
+ else if (defaultHref != null) {
160
+ this.navCtrl.navigateBack(defaultHref, { animation: this.routerAnimation });
161
+ ev.preventDefault();
162
+ }
141
163
  }
142
164
  };
143
165
  /** @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 });
144
- /** @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 });
166
+ /** @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 });
145
167
  IonBackButton = __decorate([
146
168
  ProxyCmp$1({
147
169
  defineCustomElementFn: defineCustomElement$2,
170
+ inputs: BACK_BUTTON_INPUTS,
148
171
  })
149
172
  ], IonBackButton);
150
173
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonBackButton, decorators: [{
@@ -153,13 +176,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
153
176
  selector: 'ion-back-button',
154
177
  changeDetection: ChangeDetectionStrategy.OnPush,
155
178
  template: '<ng-content></ng-content>',
179
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
180
+ inputs: BACK_BUTTON_INPUTS,
156
181
  standalone: true,
157
182
  }]
158
183
  }], ctorParameters: function () {
159
184
  return [{ type: IonRouterOutlet, decorators: [{
160
185
  type: Optional
161
186
  }] }, { type: i2$1.NavController }, { type: i2$1.Config }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }];
162
- } });
187
+ }, propDecorators: { defaultHref: [{
188
+ type: Input
189
+ }], routerAnimation: [{
190
+ type: Input
191
+ }], onClick: [{
192
+ type: HostListener,
193
+ args: ['click', ['$event']]
194
+ }] } });
163
195
 
164
196
  let IonModal = class IonModal extends IonModal$1 {
165
197
  };