@ionic/angular 7.3.4-dev.11695650636.128f2ec9 → 7.3.4-dev.11695654072.17597cce

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.
Files changed (216) hide show
  1. package/README.md +0 -20
  2. package/app-initialize.d.ts +1 -1
  3. package/css/core.css +100 -0
  4. package/css/core.css.map +1 -1
  5. package/css/display.css +33 -0
  6. package/css/display.css.map +1 -1
  7. package/css/float-elements.css +33 -0
  8. package/css/float-elements.css.map +1 -1
  9. package/css/global.bundle.css +84 -6
  10. package/css/global.bundle.css.map +1 -1
  11. package/css/ionic-swiper.css +33 -0
  12. package/css/ionic-swiper.css.map +1 -1
  13. package/css/ionic.bundle.css +1 -1
  14. package/css/ionic.bundle.css.map +1 -1
  15. package/css/padding.css +33 -0
  16. package/css/padding.css.map +1 -1
  17. package/css/structure.css +33 -0
  18. package/css/structure.css.map +1 -1
  19. package/css/text-alignment.css +33 -0
  20. package/css/text-alignment.css.map +1 -1
  21. package/css/text-transformation.css +33 -0
  22. package/css/text-transformation.css.map +1 -1
  23. package/css/typography.css +51 -6
  24. package/css/typography.css.map +1 -1
  25. package/css/utils.bundle.css +165 -0
  26. package/css/utils.bundle.css.map +1 -1
  27. package/directives/control-value-accessors/boolean-value-accessor.d.ts +1 -1
  28. package/directives/control-value-accessors/numeric-value-accessor.d.ts +1 -1
  29. package/directives/control-value-accessors/radio-value-accessor.d.ts +1 -1
  30. package/directives/control-value-accessors/select-value-accessor.d.ts +1 -1
  31. package/directives/control-value-accessors/text-value-accessor.d.ts +1 -1
  32. package/{common/directives → directives}/control-value-accessors/value-accessor.d.ts +2 -2
  33. package/directives/navigation/ion-back-button.d.ts +16 -6
  34. package/directives/navigation/ion-router-outlet.d.ts +122 -4
  35. package/directives/navigation/ion-tabs.d.ts +64 -4
  36. package/directives/navigation/nav-delegate.d.ts +9 -0
  37. package/directives/navigation/router-link-delegate.d.ts +41 -7
  38. package/{common/directives → directives}/navigation/stack-utils.d.ts +1 -1
  39. package/directives/overlays/modal.d.ts +47 -3
  40. package/directives/overlays/popover.d.ts +43 -3
  41. package/directives/proxies-list.d.ts +1 -1
  42. package/directives/proxies.d.ts +26 -0
  43. package/esm2020/app-initialize.mjs +2 -2
  44. package/esm2020/directives/control-value-accessors/boolean-value-accessor.mjs +4 -4
  45. package/esm2020/directives/control-value-accessors/numeric-value-accessor.mjs +2 -2
  46. package/esm2020/directives/control-value-accessors/radio-value-accessor.mjs +3 -6
  47. package/esm2020/directives/control-value-accessors/select-value-accessor.mjs +2 -2
  48. package/esm2020/directives/control-value-accessors/text-value-accessor.mjs +2 -2
  49. package/esm2020/directives/control-value-accessors/value-accessor.mjs +141 -0
  50. package/esm2020/directives/navigation/ion-back-button.mjs +36 -15
  51. package/esm2020/directives/navigation/ion-router-outlet.mjs +435 -6
  52. package/esm2020/directives/navigation/ion-tabs.mjs +166 -9
  53. package/esm2020/directives/navigation/nav-delegate.mjs +42 -0
  54. package/esm2020/directives/navigation/nav-params.mjs +45 -0
  55. package/esm2020/directives/navigation/router-link-delegate.mjs +92 -11
  56. package/esm2020/directives/navigation/stack-controller.mjs +275 -0
  57. package/esm2020/directives/navigation/stack-utils.mjs +73 -0
  58. package/esm2020/directives/overlays/modal.mjs +88 -8
  59. package/esm2020/directives/overlays/popover.mjs +87 -8
  60. package/esm2020/directives/proxies-list.mjs +3 -1
  61. package/esm2020/directives/proxies.mjs +53 -1
  62. package/esm2020/index.mjs +21 -4
  63. package/esm2020/ionic-core.mjs +6 -0
  64. package/esm2020/ionic-module.mjs +32 -14
  65. package/esm2020/providers/action-sheet-controller.mjs +18 -0
  66. package/esm2020/providers/alert-controller.mjs +18 -0
  67. package/esm2020/providers/angular-delegate.mjs +152 -0
  68. package/esm2020/providers/animation-controller.mjs +37 -0
  69. package/esm2020/providers/config.mjs +44 -0
  70. package/esm2020/providers/dom-controller.mjs +44 -0
  71. package/esm2020/providers/gesture-controller.mjs +31 -0
  72. package/esm2020/providers/loading-controller.mjs +18 -0
  73. package/esm2020/providers/menu-controller.mjs +100 -0
  74. package/esm2020/providers/modal-controller.mjs +25 -0
  75. package/esm2020/providers/nav-controller.mjs +221 -0
  76. package/esm2020/providers/picker-controller.mjs +18 -0
  77. package/esm2020/providers/platform.mjs +246 -0
  78. package/esm2020/providers/popover-controller.mjs +25 -0
  79. package/esm2020/providers/toast-controller.mjs +18 -0
  80. package/esm2020/types/interfaces.mjs +2 -0
  81. package/esm2020/util/ionic-router-reuse-strategy.mjs +55 -0
  82. package/esm2020/util/overlay.mjs +25 -0
  83. package/esm2020/util/util.mjs +10 -0
  84. package/fesm2015/ionic-angular.mjs +2645 -151
  85. package/fesm2015/ionic-angular.mjs.map +1 -1
  86. package/fesm2020/ionic-angular.mjs +2637 -152
  87. package/fesm2020/ionic-angular.mjs.map +1 -1
  88. package/index.d.ts +19 -3
  89. package/ionic-core.d.ts +2 -0
  90. package/ionic-module.d.ts +2 -2
  91. package/package.json +2 -18
  92. package/{common/providers → providers}/action-sheet-controller.d.ts +2 -2
  93. package/{common/providers → providers}/alert-controller.d.ts +2 -2
  94. package/{common/providers → providers}/angular-delegate.d.ts +1 -1
  95. package/{common/providers → providers}/animation-controller.d.ts +1 -1
  96. package/{common/providers → providers}/config.d.ts +1 -1
  97. package/{common/providers → providers}/gesture-controller.d.ts +1 -1
  98. package/{common/providers → providers}/loading-controller.d.ts +2 -2
  99. package/{common/providers → providers}/modal-controller.d.ts +2 -2
  100. package/{common/providers → providers}/nav-controller.d.ts +2 -2
  101. package/{common/providers → providers}/picker-controller.d.ts +2 -2
  102. package/{common/providers → providers}/platform.d.ts +1 -1
  103. package/{common/providers → providers}/popover-controller.d.ts +2 -2
  104. package/{common/providers → providers}/toast-controller.d.ts +2 -2
  105. package/test/README.md +0 -8
  106. package/{common/types → types}/interfaces.d.ts +4 -0
  107. package/common/directives/control-value-accessors/index.d.ts +0 -1
  108. package/common/directives/navigation/back-button.d.ts +0 -26
  109. package/common/directives/navigation/nav.d.ts +0 -13
  110. package/common/directives/navigation/router-link-delegate.d.ts +0 -50
  111. package/common/directives/navigation/router-outlet.d.ts +0 -103
  112. package/common/directives/navigation/tabs.d.ts +0 -74
  113. package/common/index.d.ts +0 -28
  114. package/common/overlays/modal.d.ts +0 -50
  115. package/common/overlays/popover.d.ts +0 -46
  116. package/common/utils/proxy.d.ts +0 -8
  117. package/directives/navigation/ion-nav.d.ts +0 -8
  118. package/esm2020/common/directives/control-value-accessors/index.mjs +0 -2
  119. package/esm2020/common/directives/control-value-accessors/value-accessor.mjs +0 -141
  120. package/esm2020/common/directives/navigation/back-button.mjs +0 -59
  121. package/esm2020/common/directives/navigation/nav-params.mjs +0 -45
  122. package/esm2020/common/directives/navigation/nav.mjs +0 -47
  123. package/esm2020/common/directives/navigation/router-link-delegate.mjs +0 -111
  124. package/esm2020/common/directives/navigation/router-outlet.mjs +0 -461
  125. package/esm2020/common/directives/navigation/stack-controller.mjs +0 -275
  126. package/esm2020/common/directives/navigation/stack-utils.mjs +0 -73
  127. package/esm2020/common/directives/navigation/tabs.mjs +0 -172
  128. package/esm2020/common/index.mjs +0 -28
  129. package/esm2020/common/ionic-angular-common.mjs +0 -5
  130. package/esm2020/common/overlays/modal.mjs +0 -87
  131. package/esm2020/common/overlays/popover.mjs +0 -79
  132. package/esm2020/common/providers/action-sheet-controller.mjs +0 -18
  133. package/esm2020/common/providers/alert-controller.mjs +0 -18
  134. package/esm2020/common/providers/angular-delegate.mjs +0 -152
  135. package/esm2020/common/providers/animation-controller.mjs +0 -37
  136. package/esm2020/common/providers/config.mjs +0 -44
  137. package/esm2020/common/providers/dom-controller.mjs +0 -44
  138. package/esm2020/common/providers/gesture-controller.mjs +0 -31
  139. package/esm2020/common/providers/loading-controller.mjs +0 -18
  140. package/esm2020/common/providers/menu-controller.mjs +0 -100
  141. package/esm2020/common/providers/modal-controller.mjs +0 -25
  142. package/esm2020/common/providers/nav-controller.mjs +0 -221
  143. package/esm2020/common/providers/picker-controller.mjs +0 -18
  144. package/esm2020/common/providers/platform.mjs +0 -246
  145. package/esm2020/common/providers/popover-controller.mjs +0 -25
  146. package/esm2020/common/providers/toast-controller.mjs +0 -18
  147. package/esm2020/common/types/interfaces.mjs +0 -2
  148. package/esm2020/common/utils/overlay.mjs +0 -25
  149. package/esm2020/common/utils/proxy.mjs +0 -47
  150. package/esm2020/common/utils/routing.mjs +0 -55
  151. package/esm2020/common/utils/util.mjs +0 -10
  152. package/esm2020/directives/navigation/ion-nav.mjs +0 -21
  153. package/esm2020/standalone/directives/angular-component-lib/utils.mjs +0 -51
  154. package/esm2020/standalone/directives/checkbox.mjs +0 -73
  155. package/esm2020/standalone/directives/datetime.mjs +0 -90
  156. package/esm2020/standalone/directives/icon.mjs +0 -33
  157. package/esm2020/standalone/directives/index.mjs +0 -13
  158. package/esm2020/standalone/directives/input.mjs +0 -112
  159. package/esm2020/standalone/directives/proxies.mjs +0 -2268
  160. package/esm2020/standalone/directives/radio-group.mjs +0 -58
  161. package/esm2020/standalone/directives/radio.mjs +0 -62
  162. package/esm2020/standalone/directives/range.mjs +0 -77
  163. package/esm2020/standalone/directives/searchbar.mjs +0 -80
  164. package/esm2020/standalone/directives/segment.mjs +0 -58
  165. package/esm2020/standalone/directives/select.mjs +0 -81
  166. package/esm2020/standalone/directives/textarea.mjs +0 -90
  167. package/esm2020/standalone/directives/toggle.mjs +0 -73
  168. package/esm2020/standalone/index.mjs +0 -15
  169. package/esm2020/standalone/ionic-angular-standalone.mjs +0 -5
  170. package/esm2020/standalone/navigation/back-button.mjs +0 -32
  171. package/esm2020/standalone/navigation/nav.mjs +0 -28
  172. package/esm2020/standalone/navigation/router-link-delegate.mjs +0 -30
  173. package/esm2020/standalone/navigation/router-outlet.mjs +0 -23
  174. package/esm2020/standalone/navigation/tabs.mjs +0 -46
  175. package/esm2020/standalone/overlays/modal.mjs +0 -32
  176. package/esm2020/standalone/overlays/popover.mjs +0 -28
  177. package/esm2020/standalone/providers/ionic-angular.mjs +0 -41
  178. package/fesm2015/ionic-angular-common.mjs +0 -2620
  179. package/fesm2015/ionic-angular-common.mjs.map +0 -1
  180. package/fesm2015/ionic-angular-standalone.mjs +0 -3288
  181. package/fesm2015/ionic-angular-standalone.mjs.map +0 -1
  182. package/fesm2020/ionic-angular-common.mjs +0 -2609
  183. package/fesm2020/ionic-angular-common.mjs.map +0 -1
  184. package/fesm2020/ionic-angular-standalone.mjs +0 -3286
  185. package/fesm2020/ionic-angular-standalone.mjs.map +0 -1
  186. package/standalone/directives/angular-component-lib/utils.d.ts +0 -9
  187. package/standalone/directives/checkbox.d.ts +0 -30
  188. package/standalone/directives/datetime.d.ts +0 -30
  189. package/standalone/directives/icon.d.ts +0 -9
  190. package/standalone/directives/index.d.ts +0 -12
  191. package/standalone/directives/input.d.ts +0 -47
  192. package/standalone/directives/proxies.d.ts +0 -903
  193. package/standalone/directives/radio-group.d.ts +0 -18
  194. package/standalone/directives/radio.d.ts +0 -22
  195. package/standalone/directives/range.d.ts +0 -47
  196. package/standalone/directives/searchbar.d.ts +0 -45
  197. package/standalone/directives/segment.d.ts +0 -19
  198. package/standalone/directives/select.d.ts +0 -34
  199. package/standalone/directives/textarea.d.ts +0 -37
  200. package/standalone/directives/toggle.d.ts +0 -28
  201. package/standalone/index.d.ts +0 -12
  202. package/standalone/navigation/back-button.d.ts +0 -9
  203. package/standalone/navigation/nav.d.ts +0 -8
  204. package/standalone/navigation/router-link-delegate.d.ts +0 -10
  205. package/standalone/navigation/router-outlet.d.ts +0 -6
  206. package/standalone/navigation/tabs.d.ts +0 -12
  207. package/standalone/overlays/modal.d.ts +0 -6
  208. package/standalone/overlays/popover.d.ts +0 -6
  209. package/standalone/providers/ionic-angular.d.ts +0 -3
  210. /package/{common/directives → directives}/navigation/nav-params.d.ts +0 -0
  211. /package/{common/directives → directives}/navigation/stack-controller.d.ts +0 -0
  212. /package/{common/providers → providers}/dom-controller.d.ts +0 -0
  213. /package/{common/providers → providers}/menu-controller.d.ts +0 -0
  214. /package/{common/utils/routing.d.ts → util/ionic-router-reuse-strategy.d.ts} +0 -0
  215. /package/{common/utils → util}/overlay.d.ts +0 -0
  216. /package/{common/utils → util}/util.d.ts +0 -0
@@ -0,0 +1,9 @@
1
+ import { ElementRef, Injector, EnvironmentInjector } from '@angular/core';
2
+ import { AngularDelegate } from '../../providers/angular-delegate';
3
+ import * as i0 from "@angular/core";
4
+ export declare class NavDelegate {
5
+ protected el: HTMLElement;
6
+ constructor(ref: ElementRef, environmentInjector: EnvironmentInjector, injector: Injector, angularDelegate: AngularDelegate);
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<NavDelegate, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NavDelegate, "ion-nav", never, {}, {}, never, never, false>;
9
+ }
@@ -1,4 +1,8 @@
1
- import { RouterLinkDelegateDirective as RouterLinkDelegateBase, RouterLinkWithHrefDelegateDirective as RouterLinkHrefDelegateBase } from '@ionic/angular/common';
1
+ import { LocationStrategy } from '@angular/common';
2
+ import { ElementRef, OnChanges, OnInit } from '@angular/core';
3
+ import { Router, RouterLink } from '@angular/router';
4
+ import { AnimationBuilder, RouterDirection } from '@ionic/core';
5
+ import { NavController } from '../../providers/nav-controller';
2
6
  import * as i0 from "@angular/core";
3
7
  /**
4
8
  * Adds support for Ionic routing directions and animations to the base Angular router link directive.
@@ -6,11 +10,41 @@ import * as i0 from "@angular/core";
6
10
  * When the router link is clicked, the directive will assign the direction and
7
11
  * animation so that the routing integration will transition correctly.
8
12
  */
9
- export declare class RouterLinkDelegateDirective extends RouterLinkDelegateBase {
10
- static ɵfac: i0.ɵɵFactoryDeclaration<RouterLinkDelegateDirective, never>;
11
- static ɵdir: i0.ɵɵDirectiveDeclaration<RouterLinkDelegateDirective, ":not(a):not(area)[routerLink]", never, {}, {}, never, never, false>;
13
+ export declare class RouterLinkDelegateDirective implements OnInit, OnChanges {
14
+ private locationStrategy;
15
+ private navCtrl;
16
+ private elementRef;
17
+ private router;
18
+ private routerLink?;
19
+ routerDirection: RouterDirection;
20
+ routerAnimation?: AnimationBuilder;
21
+ constructor(locationStrategy: LocationStrategy, navCtrl: NavController, elementRef: ElementRef, router: Router, routerLink?: RouterLink | undefined);
22
+ ngOnInit(): void;
23
+ ngOnChanges(): void;
24
+ private updateTargetUrlAndHref;
25
+ /**
26
+ * @internal
27
+ */
28
+ onClick(ev: UIEvent): void;
29
+ static ɵfac: i0.ɵɵFactoryDeclaration<RouterLinkDelegateDirective, [null, null, null, null, { optional: true; }]>;
30
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RouterLinkDelegateDirective, ":not(a):not(area)[routerLink]", never, { "routerDirection": "routerDirection"; "routerAnimation": "routerAnimation"; }, {}, never, never, false>;
12
31
  }
13
- export declare class RouterLinkWithHrefDelegateDirective extends RouterLinkHrefDelegateBase {
14
- static ɵfac: i0.ɵɵFactoryDeclaration<RouterLinkWithHrefDelegateDirective, never>;
15
- static ɵdir: i0.ɵɵDirectiveDeclaration<RouterLinkWithHrefDelegateDirective, "a[routerLink],area[routerLink]", never, {}, {}, never, never, false>;
32
+ export declare class RouterLinkWithHrefDelegateDirective implements OnInit, OnChanges {
33
+ private locationStrategy;
34
+ private navCtrl;
35
+ private elementRef;
36
+ private router;
37
+ private routerLink?;
38
+ routerDirection: RouterDirection;
39
+ routerAnimation?: AnimationBuilder;
40
+ constructor(locationStrategy: LocationStrategy, navCtrl: NavController, elementRef: ElementRef, router: Router, routerLink?: RouterLink | undefined);
41
+ ngOnInit(): void;
42
+ ngOnChanges(): void;
43
+ private updateTargetUrlAndHref;
44
+ /**
45
+ * @internal
46
+ */
47
+ onClick(): void;
48
+ static ɵfac: i0.ɵɵFactoryDeclaration<RouterLinkWithHrefDelegateDirective, [null, null, null, null, { optional: true; }]>;
49
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RouterLinkWithHrefDelegateDirective, "a[routerLink],area[routerLink]", never, { "routerDirection": "routerDirection"; "routerAnimation": "routerAnimation"; }, {}, never, never, false>;
16
50
  }
@@ -1,6 +1,6 @@
1
1
  import { ComponentRef } from '@angular/core';
2
2
  import { ActivatedRoute, NavigationExtras, Router } from '@angular/router';
3
- import type { AnimationBuilder, NavDirection, RouterDirection } from '@ionic/core/components';
3
+ import { AnimationBuilder, NavDirection, RouterDirection } from '@ionic/core';
4
4
  export declare const insertView: (views: RouteView[], view: RouteView, direction: RouterDirection) => RouteView[];
5
5
  export declare const getUrl: (router: Router, activatedRoute: ActivatedRoute) => string;
6
6
  export declare const isTabSwitch: (enteringView: RouteView, leavingView: RouteView | undefined) => boolean;
@@ -1,6 +1,50 @@
1
- import { IonModal as IonModalBase } from '@ionic/angular/common';
1
+ import { ChangeDetectorRef, ElementRef, EventEmitter, NgZone, TemplateRef } from '@angular/core';
2
+ import { Components, ModalBreakpointChangeEventDetail } from '@ionic/core';
2
3
  import * as i0 from "@angular/core";
3
- export declare class IonModal extends IonModalBase {
4
+ export declare interface IonModal extends Components.IonModal {
5
+ /**
6
+ * Emitted after the modal has presented.
7
+ **/
8
+ ionModalDidPresent: EventEmitter<CustomEvent>;
9
+ /**
10
+ * Emitted before the modal has presented.
11
+ */
12
+ ionModalWillPresent: EventEmitter<CustomEvent>;
13
+ /**
14
+ * Emitted before the modal has dismissed.
15
+ */
16
+ ionModalWillDismiss: EventEmitter<CustomEvent>;
17
+ /**
18
+ * Emitted after the modal has dismissed.
19
+ */
20
+ ionModalDidDismiss: EventEmitter<CustomEvent>;
21
+ /**
22
+ * Emitted after the modal breakpoint has changed.
23
+ */
24
+ ionBreakpointDidChange: EventEmitter<CustomEvent<ModalBreakpointChangeEventDetail>>;
25
+ /**
26
+ * Emitted after the modal has presented. Shorthand for ionModalWillDismiss.
27
+ */
28
+ didPresent: EventEmitter<CustomEvent>;
29
+ /**
30
+ * Emitted before the modal has presented. Shorthand for ionModalWillPresent.
31
+ */
32
+ willPresent: EventEmitter<CustomEvent>;
33
+ /**
34
+ * Emitted before the modal has dismissed. Shorthand for ionModalWillDismiss.
35
+ */
36
+ willDismiss: EventEmitter<CustomEvent>;
37
+ /**
38
+ * Emitted after the modal has dismissed. Shorthand for ionModalDidDismiss.
39
+ */
40
+ didDismiss: EventEmitter<CustomEvent>;
41
+ }
42
+ export declare class IonModal {
43
+ protected z: NgZone;
44
+ template: TemplateRef<any>;
45
+ isCmpOpen: boolean;
46
+ protected el: HTMLElement;
47
+ constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
4
48
  static ɵfac: i0.ɵɵFactoryDeclaration<IonModal, never>;
5
- static ɵcmp: i0.ɵɵComponentDeclaration<IonModal, "ion-modal", never, {}, {}, never, never, false>;
49
+ static ɵcmp: i0.ɵɵComponentDeclaration<IonModal, "ion-modal", never, { "animated": "animated"; "keepContentsMounted": "keepContentsMounted"; "backdropBreakpoint": "backdropBreakpoint"; "backdropDismiss": "backdropDismiss"; "breakpoints": "breakpoints"; "canDismiss": "canDismiss"; "cssClass": "cssClass"; "enterAnimation": "enterAnimation"; "event": "event"; "handle": "handle"; "handleBehavior": "handleBehavior"; "initialBreakpoint": "initialBreakpoint"; "isOpen": "isOpen"; "keyboardClose": "keyboardClose"; "leaveAnimation": "leaveAnimation"; "mode": "mode"; "presentingElement": "presentingElement"; "showBackdrop": "showBackdrop"; "translucent": "translucent"; "trigger": "trigger"; }, {}, ["template"], never, false>;
6
50
  }
@@ -1,6 +1,46 @@
1
- import { IonPopover as IonPopoverBase } from '@ionic/angular/common';
1
+ import { ChangeDetectorRef, ElementRef, EventEmitter, NgZone, TemplateRef } from '@angular/core';
2
+ import { Components } from '@ionic/core';
2
3
  import * as i0 from "@angular/core";
3
- export declare class IonPopover extends IonPopoverBase {
4
+ export declare interface IonPopover extends Components.IonPopover {
5
+ /**
6
+ * Emitted after the popover has presented.
7
+ */
8
+ ionPopoverDidPresent: EventEmitter<CustomEvent>;
9
+ /**
10
+ * Emitted before the popover has presented.
11
+ */
12
+ ionPopoverWillPresent: EventEmitter<CustomEvent>;
13
+ /**
14
+ * Emitted after the popover has dismissed.
15
+ */
16
+ ionPopoverWillDismiss: EventEmitter<CustomEvent>;
17
+ /**
18
+ * Emitted after the popover has dismissed.
19
+ */
20
+ ionPopoverDidDismiss: EventEmitter<CustomEvent>;
21
+ /**
22
+ * Emitted after the popover has presented. Shorthand for ionPopoverWillDismiss.
23
+ */
24
+ didPresent: EventEmitter<CustomEvent>;
25
+ /**
26
+ * Emitted before the popover has presented. Shorthand for ionPopoverWillPresent.
27
+ */
28
+ willPresent: EventEmitter<CustomEvent>;
29
+ /**
30
+ * Emitted after the popover has presented. Shorthand for ionPopoverWillDismiss.
31
+ */
32
+ willDismiss: EventEmitter<CustomEvent>;
33
+ /**
34
+ * Emitted after the popover has dismissed. Shorthand for ionPopoverDidDismiss.
35
+ */
36
+ didDismiss: EventEmitter<CustomEvent>;
37
+ }
38
+ export declare class IonPopover {
39
+ protected z: NgZone;
40
+ template: TemplateRef<any>;
41
+ isCmpOpen: boolean;
42
+ protected el: HTMLElement;
43
+ constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
4
44
  static ɵfac: i0.ɵɵFactoryDeclaration<IonPopover, never>;
5
- static ɵcmp: i0.ɵɵComponentDeclaration<IonPopover, "ion-popover", never, {}, {}, never, never, false>;
45
+ static ɵcmp: i0.ɵɵComponentDeclaration<IonPopover, "ion-popover", never, { "alignment": "alignment"; "animated": "animated"; "arrow": "arrow"; "keepContentsMounted": "keepContentsMounted"; "backdropDismiss": "backdropDismiss"; "cssClass": "cssClass"; "dismissOnSelect": "dismissOnSelect"; "enterAnimation": "enterAnimation"; "event": "event"; "isOpen": "isOpen"; "keyboardClose": "keyboardClose"; "leaveAnimation": "leaveAnimation"; "mode": "mode"; "showBackdrop": "showBackdrop"; "translucent": "translucent"; "trigger": "trigger"; "triggerAction": "triggerAction"; "reference": "reference"; "size": "size"; "side": "side"; }, {}, ["template"], never, false>;
6
46
  }
@@ -1,2 +1,2 @@
1
1
  import * as d from './proxies';
2
- export declare const DIRECTIVES: (typeof d.IonAccordion | typeof d.IonAccordionGroup | typeof d.IonActionSheet | typeof d.IonAlert | typeof d.IonApp | typeof d.IonAvatar | typeof d.IonBackdrop | typeof d.IonBadge | typeof d.IonBreadcrumb | typeof d.IonBreadcrumbs | typeof d.IonButton | typeof d.IonButtons | typeof d.IonCard | typeof d.IonCardContent | typeof d.IonCardHeader | typeof d.IonCardSubtitle | typeof d.IonCardTitle | typeof d.IonCheckbox | typeof d.IonChip | typeof d.IonCol | typeof d.IonContent | typeof d.IonDatetime | typeof d.IonDatetimeButton | typeof d.IonFab | typeof d.IonFabButton | typeof d.IonFabList | typeof d.IonFooter | typeof d.IonGrid | typeof d.IonHeader | typeof d.IonIcon | typeof d.IonImg | typeof d.IonInfiniteScroll | typeof d.IonInfiniteScrollContent | typeof d.IonInput | typeof d.IonItem | typeof d.IonItemDivider | typeof d.IonItemGroup | typeof d.IonItemOption | typeof d.IonItemOptions | typeof d.IonItemSliding | typeof d.IonLabel | typeof d.IonList | typeof d.IonListHeader | typeof d.IonLoading | typeof d.IonMenu | typeof d.IonMenuButton | typeof d.IonMenuToggle | typeof d.IonNavLink | typeof d.IonNote | typeof d.IonPicker | typeof d.IonProgressBar | typeof d.IonRadio | typeof d.IonRadioGroup | typeof d.IonRange | typeof d.IonRefresher | typeof d.IonRefresherContent | typeof d.IonReorder | typeof d.IonReorderGroup | typeof d.IonRippleEffect | typeof d.IonRow | typeof d.IonSearchbar | typeof d.IonSegment | typeof d.IonSegmentButton | typeof d.IonSelect | typeof d.IonSelectOption | typeof d.IonSkeletonText | typeof d.IonSpinner | typeof d.IonSplitPane | typeof d.IonTabBar | typeof d.IonTabButton | typeof d.IonText | typeof d.IonTextarea | typeof d.IonThumbnail | typeof d.IonTitle | typeof d.IonToast | typeof d.IonToggle | typeof d.IonToolbar)[];
2
+ export declare const DIRECTIVES: (typeof d.IonAccordion | typeof d.IonAccordionGroup | typeof d.IonActionSheet | typeof d.IonAlert | typeof d.IonApp | typeof d.IonAvatar | typeof d.IonBackButton | typeof d.IonBackdrop | typeof d.IonBadge | typeof d.IonBreadcrumb | typeof d.IonBreadcrumbs | typeof d.IonButton | typeof d.IonButtons | typeof d.IonCard | typeof d.IonCardContent | typeof d.IonCardHeader | typeof d.IonCardSubtitle | typeof d.IonCardTitle | typeof d.IonCheckbox | typeof d.IonChip | typeof d.IonCol | typeof d.IonContent | typeof d.IonDatetime | typeof d.IonDatetimeButton | typeof d.IonFab | typeof d.IonFabButton | typeof d.IonFabList | typeof d.IonFooter | typeof d.IonGrid | typeof d.IonHeader | typeof d.IonIcon | typeof d.IonImg | typeof d.IonInfiniteScroll | typeof d.IonInfiniteScrollContent | typeof d.IonInput | typeof d.IonItem | typeof d.IonItemDivider | typeof d.IonItemGroup | typeof d.IonItemOption | typeof d.IonItemOptions | typeof d.IonItemSliding | typeof d.IonLabel | typeof d.IonList | typeof d.IonListHeader | typeof d.IonLoading | typeof d.IonMenu | typeof d.IonMenuButton | typeof d.IonMenuToggle | typeof d.IonNav | typeof d.IonNavLink | typeof d.IonNote | typeof d.IonPicker | typeof d.IonProgressBar | typeof d.IonRadio | typeof d.IonRadioGroup | typeof d.IonRange | typeof d.IonRefresher | typeof d.IonRefresherContent | typeof d.IonReorder | typeof d.IonReorderGroup | typeof d.IonRippleEffect | typeof d.IonRow | typeof d.IonSearchbar | typeof d.IonSegment | typeof d.IonSegmentButton | typeof d.IonSelect | typeof d.IonSelectOption | typeof d.IonSkeletonText | typeof d.IonSpinner | typeof d.IonSplitPane | typeof d.IonTabBar | typeof d.IonTabButton | typeof d.IonText | typeof d.IonTextarea | typeof d.IonThumbnail | typeof d.IonTitle | typeof d.IonToast | typeof d.IonToggle | typeof d.IonToolbar)[];
@@ -160,6 +160,15 @@ export declare class IonAvatar {
160
160
  }
161
161
  export declare interface IonAvatar extends Components.IonAvatar {
162
162
  }
163
+ export declare class IonBackButton {
164
+ protected z: NgZone;
165
+ protected el: HTMLElement;
166
+ constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
167
+ static ɵfac: i0.ɵɵFactoryDeclaration<IonBackButton, never>;
168
+ static ɵcmp: i0.ɵɵComponentDeclaration<IonBackButton, "ion-back-button", never, { "color": "color"; "defaultHref": "defaultHref"; "disabled": "disabled"; "icon": "icon"; "mode": "mode"; "routerAnimation": "routerAnimation"; "text": "text"; "type": "type"; }, {}, never, ["*"], false>;
169
+ }
170
+ export declare interface IonBackButton extends Components.IonBackButton {
171
+ }
163
172
  export declare class IonBackdrop {
164
173
  protected z: NgZone;
165
174
  protected el: HTMLElement;
@@ -718,6 +727,23 @@ export declare class IonMenuToggle {
718
727
  }
719
728
  export declare interface IonMenuToggle extends Components.IonMenuToggle {
720
729
  }
730
+ export declare class IonNav {
731
+ protected z: NgZone;
732
+ protected el: HTMLElement;
733
+ constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
734
+ static ɵfac: i0.ɵɵFactoryDeclaration<IonNav, never>;
735
+ static ɵcmp: i0.ɵɵComponentDeclaration<IonNav, "ion-nav", never, { "animated": "animated"; "animation": "animation"; "root": "root"; "rootParams": "rootParams"; "swipeGesture": "swipeGesture"; }, {}, never, ["*"], false>;
736
+ }
737
+ export declare interface IonNav extends Components.IonNav {
738
+ /**
739
+ * Event fired when the nav will change components
740
+ */
741
+ ionNavWillChange: EventEmitter<CustomEvent<void>>;
742
+ /**
743
+ * Event fired when the nav has changed components
744
+ */
745
+ ionNavDidChange: EventEmitter<CustomEvent<void>>;
746
+ }
721
747
  export declare class IonNavLink {
722
748
  protected z: NgZone;
723
749
  protected el: HTMLElement;
@@ -1,6 +1,6 @@
1
- import { raf } from '@ionic/angular/common';
2
1
  import { setupConfig } from '@ionic/core';
3
2
  import { applyPolyfills, defineCustomElements } from '@ionic/core/loader';
3
+ import { raf } from './util/util';
4
4
  // TODO(FW-2827): types
5
5
  export const appInitialize = (config, doc, zone) => {
6
6
  return () => {
@@ -28,4 +28,4 @@ export const appInitialize = (config, doc, zone) => {
28
28
  }
29
29
  };
30
30
  };
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWluaXRpYWxpemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBwLWluaXRpYWxpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTFFLHVCQUF1QjtBQUV2QixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUFjLEVBQUUsR0FBYSxFQUFFLElBQVksRUFBRSxFQUFFO0lBQzNFLE9BQU8sR0FBUSxFQUFFO1FBQ2YsTUFBTSxHQUFHLEdBQTRCLEdBQUcsQ0FBQyxXQUFrQixDQUFDO1FBQzVELElBQUksR0FBRyxJQUFJLE9BQVEsTUFBYyxLQUFLLFdBQVcsRUFBRTtZQUNqRCxXQUFXLENBQUM7Z0JBQ1YsR0FBRyxNQUFNO2dCQUNULFNBQVMsRUFBRSxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDbkMsQ0FBQyxDQUFDO1lBRUgsTUFBTSxLQUFLLEdBQ1QsaUNBQWlDLElBQUssR0FBRyxDQUFDLElBQVksQ0FBQyxDQUFDLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO1lBRWxILE9BQU8sY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDaEMsT0FBTyxvQkFBb0IsQ0FBQyxHQUFHLEVBQUU7b0JBQy9CLE9BQU8sRUFBRSxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUM7b0JBQ2hDLFNBQVMsRUFBRSxJQUFJO29CQUNmLEdBQUc7b0JBQ0gsR0FBRyxFQUFFLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO29CQUMxQyxHQUFHLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsSUFBSTt3QkFDekIsR0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQzNDLENBQUM7b0JBQ0QsR0FBRyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLElBQUk7d0JBQzFCLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUMvQyxDQUFDO2lCQUNGLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQ29uZmlnLCBJb25pY1dpbmRvdyB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyByYWYgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgc2V0dXBDb25maWcgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5pbXBvcnQgeyBhcHBseVBvbHlmaWxscywgZGVmaW5lQ3VzdG9tRWxlbWVudHMgfSBmcm9tICdAaW9uaWMvY29yZS9sb2FkZXInO1xuXG4vLyBUT0RPKEZXLTI4MjcpOiB0eXBlc1xuXG5leHBvcnQgY29uc3QgYXBwSW5pdGlhbGl6ZSA9IChjb25maWc6IENvbmZpZywgZG9jOiBEb2N1bWVudCwgem9uZTogTmdab25lKSA9PiB7XG4gIHJldHVybiAoKTogYW55ID0+IHtcbiAgICBjb25zdCB3aW46IElvbmljV2luZG93IHwgdW5kZWZpbmVkID0gZG9jLmRlZmF1bHRWaWV3IGFzIGFueTtcbiAgICBpZiAod2luICYmIHR5cGVvZiAod2luZG93IGFzIGFueSkgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBzZXR1cENvbmZpZyh7XG4gICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgX3pvbmVHYXRlOiAoaDogYW55KSA9PiB6b25lLnJ1bihoKSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBhZWxGbiA9XG4gICAgICAgICdfX3pvbmVfc3ltYm9sX19hZGRFdmVudExpc3RlbmVyJyBpbiAoZG9jLmJvZHkgYXMgYW55KSA/ICdfX3pvbmVfc3ltYm9sX19hZGRFdmVudExpc3RlbmVyJyA6ICdhZGRFdmVudExpc3RlbmVyJztcblxuICAgICAgcmV0dXJuIGFwcGx5UG9seWZpbGxzKCkudGhlbigoKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWZpbmVDdXN0b21FbGVtZW50cyh3aW4sIHtcbiAgICAgICAgICBleGNsdWRlOiBbJ2lvbi10YWJzJywgJ2lvbi10YWInXSxcbiAgICAgICAgICBzeW5jUXVldWU6IHRydWUsXG4gICAgICAgICAgcmFmLFxuICAgICAgICAgIGptcDogKGg6IGFueSkgPT4gem9uZS5ydW5PdXRzaWRlQW5ndWxhcihoKSxcbiAgICAgICAgICBhZWwoZWxtLCBldmVudE5hbWUsIGNiLCBvcHRzKSB7XG4gICAgICAgICAgICAoZWxtIGFzIGFueSlbYWVsRm5dKGV2ZW50TmFtZSwgY2IsIG9wdHMpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVsKGVsbSwgZXZlbnROYW1lLCBjYiwgb3B0cykge1xuICAgICAgICAgICAgZWxtLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBjYiwgb3B0cyk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59O1xuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWluaXRpYWxpemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBwLWluaXRpYWxpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJMUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVsQyx1QkFBdUI7QUFFdkIsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBYyxFQUFFLEdBQWEsRUFBRSxJQUFZLEVBQUUsRUFBRTtJQUMzRSxPQUFPLEdBQVEsRUFBRTtRQUNmLE1BQU0sR0FBRyxHQUE0QixHQUFHLENBQUMsV0FBa0IsQ0FBQztRQUM1RCxJQUFJLEdBQUcsSUFBSSxPQUFRLE1BQWMsS0FBSyxXQUFXLEVBQUU7WUFDakQsV0FBVyxDQUFDO2dCQUNWLEdBQUcsTUFBTTtnQkFDVCxTQUFTLEVBQUUsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ25DLENBQUMsQ0FBQztZQUVILE1BQU0sS0FBSyxHQUNULGlDQUFpQyxJQUFLLEdBQUcsQ0FBQyxJQUFZLENBQUMsQ0FBQyxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQztZQUVsSCxPQUFPLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ2hDLE9BQU8sb0JBQW9CLENBQUMsR0FBRyxFQUFFO29CQUMvQixPQUFPLEVBQUUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDO29CQUNoQyxTQUFTLEVBQUUsSUFBSTtvQkFDZixHQUFHO29CQUNILEdBQUcsRUFBRSxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztvQkFDMUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLElBQUk7d0JBQ3pCLEdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUMzQyxDQUFDO29CQUNELEdBQUcsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxJQUFJO3dCQUMxQixHQUFHLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDL0MsQ0FBQztpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzZXR1cENvbmZpZyB9IGZyb20gJ0Bpb25pYy9jb3JlJztcbmltcG9ydCB7IGFwcGx5UG9seWZpbGxzLCBkZWZpbmVDdXN0b21FbGVtZW50cyB9IGZyb20gJ0Bpb25pYy9jb3JlL2xvYWRlcic7XG5cbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJy4vcHJvdmlkZXJzL2NvbmZpZyc7XG5pbXBvcnQgeyBJb25pY1dpbmRvdyB9IGZyb20gJy4vdHlwZXMvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyByYWYgfSBmcm9tICcuL3V0aWwvdXRpbCc7XG5cbi8vIFRPRE8oRlctMjgyNyk6IHR5cGVzXG5cbmV4cG9ydCBjb25zdCBhcHBJbml0aWFsaXplID0gKGNvbmZpZzogQ29uZmlnLCBkb2M6IERvY3VtZW50LCB6b25lOiBOZ1pvbmUpID0+IHtcbiAgcmV0dXJuICgpOiBhbnkgPT4ge1xuICAgIGNvbnN0IHdpbjogSW9uaWNXaW5kb3cgfCB1bmRlZmluZWQgPSBkb2MuZGVmYXVsdFZpZXcgYXMgYW55O1xuICAgIGlmICh3aW4gJiYgdHlwZW9mICh3aW5kb3cgYXMgYW55KSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHNldHVwQ29uZmlnKHtcbiAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICBfem9uZUdhdGU6IChoOiBhbnkpID0+IHpvbmUucnVuKGgpLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGFlbEZuID1cbiAgICAgICAgJ19fem9uZV9zeW1ib2xfX2FkZEV2ZW50TGlzdGVuZXInIGluIChkb2MuYm9keSBhcyBhbnkpID8gJ19fem9uZV9zeW1ib2xfX2FkZEV2ZW50TGlzdGVuZXInIDogJ2FkZEV2ZW50TGlzdGVuZXInO1xuXG4gICAgICByZXR1cm4gYXBwbHlQb2x5ZmlsbHMoKS50aGVuKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlZmluZUN1c3RvbUVsZW1lbnRzKHdpbiwge1xuICAgICAgICAgIGV4Y2x1ZGU6IFsnaW9uLXRhYnMnLCAnaW9uLXRhYiddLFxuICAgICAgICAgIHN5bmNRdWV1ZTogdHJ1ZSxcbiAgICAgICAgICByYWYsXG4gICAgICAgICAgam1wOiAoaDogYW55KSA9PiB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKGgpLFxuICAgICAgICAgIGFlbChlbG0sIGV2ZW50TmFtZSwgY2IsIG9wdHMpIHtcbiAgICAgICAgICAgIChlbG0gYXMgYW55KVthZWxGbl0oZXZlbnROYW1lLCBjYiwgb3B0cyk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICByZWwoZWxtLCBldmVudE5hbWUsIGNiLCBvcHRzKSB7XG4gICAgICAgICAgICBlbG0ucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGNiLCBvcHRzKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn07XG4iXX0=
@@ -1,14 +1,14 @@
1
1
  import { Directive, HostListener } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { ValueAccessor, setIonicClasses } from '@ionic/angular/common';
3
+ import { ValueAccessor, setIonicClasses } from './value-accessor';
4
4
  import * as i0 from "@angular/core";
5
5
  export class BooleanValueAccessorDirective extends ValueAccessor {
6
6
  constructor(injector, el) {
7
7
  super(injector, el);
8
8
  }
9
9
  writeValue(value) {
10
- this.elementRef.nativeElement.checked = this.lastValue = value;
11
- setIonicClasses(this.elementRef);
10
+ this.el.nativeElement.checked = this.lastValue = value;
11
+ setIonicClasses(this.el);
12
12
  }
13
13
  _handleIonChange(el) {
14
14
  this.handleValueChange(el, el.checked);
@@ -38,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
38
38
  type: HostListener,
39
39
  args: ['ionChange', ['$event.target']]
40
40
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi12YWx1ZS1hY2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kaXJlY3RpdmVzL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL2Jvb2xlYW4tdmFsdWUtYWNjZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBWXZFLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxhQUFhO0lBQzlELFlBQVksUUFBa0IsRUFBRSxFQUFjO1FBQzVDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFjO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUMvRCxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFHRCxnQkFBZ0IsQ0FBQyxFQUFpRDtRQUNoRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDOzs4SUFiVSw2QkFBNkI7a0lBQTdCLDZCQUE2QiwySEFSN0I7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLDZCQUE2QjtZQUMxQyxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0Y7NEZBRVUsNkJBQTZCO2tCQVZ6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLCtCQUErQjs0QkFDMUMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0Y7d0hBWUMsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFZhbHVlQWNjZXNzb3IsIHNldElvbmljQ2xhc3NlcyB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL2NvbW1vbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2lvbi1jaGVja2JveCxpb24tdG9nZ2xlJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogQm9vbGVhblZhbHVlQWNjZXNzb3JEaXJlY3RpdmUsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBCb29sZWFuVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSBleHRlbmRzIFZhbHVlQWNjZXNzb3Ige1xuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IsIGVsOiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IsIGVsKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGVja2VkID0gdGhpcy5sYXN0VmFsdWUgPSB2YWx1ZTtcbiAgICBzZXRJb25pY0NsYXNzZXModGhpcy5lbGVtZW50UmVmKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2lvbkNoYW5nZScsIFsnJGV2ZW50LnRhcmdldCddKVxuICBfaGFuZGxlSW9uQ2hhbmdlKGVsOiBIVE1MSW9uQ2hlY2tib3hFbGVtZW50IHwgSFRNTElvblRvZ2dsZUVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZVZhbHVlQ2hhbmdlKGVsLCBlbC5jaGVja2VkKTtcbiAgfVxufVxuIl19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi12YWx1ZS1hY2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kaXJlY3RpdmVzL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL2Jvb2xlYW4tdmFsdWUtYWNjZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBWWxFLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxhQUFhO0lBQzlELFlBQVksUUFBa0IsRUFBRSxFQUFjO1FBQzVDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFjO1FBQ3ZCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2RCxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFHRCxnQkFBZ0IsQ0FBQyxFQUFpRDtRQUNoRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDOzs4SUFiVSw2QkFBNkI7a0lBQTdCLDZCQUE2QiwySEFSN0I7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLDZCQUE2QjtZQUMxQyxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0Y7NEZBRVUsNkJBQTZCO2tCQVZ6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLCtCQUErQjs0QkFDMUMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0Y7d0hBWUMsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgVmFsdWVBY2Nlc3Nvciwgc2V0SW9uaWNDbGFzc2VzIH0gZnJvbSAnLi92YWx1ZS1hY2Nlc3Nvcic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2lvbi1jaGVja2JveCxpb24tdG9nZ2xlJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogQm9vbGVhblZhbHVlQWNjZXNzb3JEaXJlY3RpdmUsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBCb29sZWFuVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSBleHRlbmRzIFZhbHVlQWNjZXNzb3Ige1xuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IsIGVsOiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IsIGVsKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2hlY2tlZCA9IHRoaXMubGFzdFZhbHVlID0gdmFsdWU7XG4gICAgc2V0SW9uaWNDbGFzc2VzKHRoaXMuZWwpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignaW9uQ2hhbmdlJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIF9oYW5kbGVJb25DaGFuZ2UoZWw6IEhUTUxJb25DaGVja2JveEVsZW1lbnQgfCBIVE1MSW9uVG9nZ2xlRWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuaGFuZGxlVmFsdWVDaGFuZ2UoZWwsIGVsLmNoZWNrZWQpO1xuICB9XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { Directive, HostListener } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { ValueAccessor } from '@ionic/angular/common';
3
+ import { ValueAccessor } from './value-accessor';
4
4
  import * as i0 from "@angular/core";
5
5
  export class NumericValueAccessorDirective extends ValueAccessor {
6
6
  constructor(injector, el) {
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
39
39
  type: HostListener,
40
40
  args: ['ionInput', ['$event.target']]
41
41
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy12YWx1ZS1hY2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kaXJlY3RpdmVzL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL251bWVyaWMtdmFsdWUtYWNjZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFZdEQsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGFBQWE7SUFDOUQsWUFBWSxRQUFrQixFQUFFLEVBQWM7UUFDNUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBR0QsZ0JBQWdCLENBQUMsRUFBdUI7UUFDdEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQThCO1FBQzdDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQ3ZDLEVBQUUsQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OElBZFUsNkJBQTZCO2tJQUE3Qiw2QkFBNkIseUhBUjdCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSw2QkFBNkI7WUFDMUMsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGOzRGQUVVLDZCQUE2QjtrQkFWekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVywrQkFBK0I7NEJBQzFDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGO3dIQU9DLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBFbGVtZW50UmVmLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvY29tbW9uJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW9uLWlucHV0W3R5cGU9bnVtYmVyXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IE51bWVyaWNWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTnVtZXJpY1ZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yIHtcbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yLCBlbDogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKGluamVjdG9yLCBlbCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdpb25JbnB1dCcsIFsnJGV2ZW50LnRhcmdldCddKVxuICBoYW5kbGVJbnB1dEV2ZW50KGVsOiBIVE1MSW9uSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVWYWx1ZUNoYW5nZShlbCwgZWwudmFsdWUpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IG51bWJlciB8IG51bGwpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBzdXBlci5yZWdpc3Rlck9uQ2hhbmdlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICBmbih2YWx1ZSA9PT0gJycgPyBudWxsIDogcGFyc2VGbG9hdCh2YWx1ZSkpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy12YWx1ZS1hY2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kaXJlY3RpdmVzL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL251bWVyaWMtdmFsdWUtYWNjZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFZakQsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGFBQWE7SUFDOUQsWUFBWSxRQUFrQixFQUFFLEVBQWM7UUFDNUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBR0QsZ0JBQWdCLENBQUMsRUFBdUI7UUFDdEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQThCO1FBQzdDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQ3ZDLEVBQUUsQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OElBZFUsNkJBQTZCO2tJQUE3Qiw2QkFBNkIseUhBUjdCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSw2QkFBNkI7WUFDMUMsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGOzRGQUVVLDZCQUE2QjtrQkFWekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVywrQkFBK0I7NEJBQzFDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGO3dIQU9DLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBFbGVtZW50UmVmLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFZhbHVlQWNjZXNzb3IgfSBmcm9tICcuL3ZhbHVlLWFjY2Vzc29yJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW9uLWlucHV0W3R5cGU9bnVtYmVyXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IE51bWVyaWNWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTnVtZXJpY1ZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yIHtcbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yLCBlbDogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKGluamVjdG9yLCBlbCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdpb25JbnB1dCcsIFsnJGV2ZW50LnRhcmdldCddKVxuICBoYW5kbGVJbnB1dEV2ZW50KGVsOiBIVE1MSW9uSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVWYWx1ZUNoYW5nZShlbCwgZWwudmFsdWUpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IG51bWJlciB8IG51bGwpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBzdXBlci5yZWdpc3Rlck9uQ2hhbmdlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICBmbih2YWx1ZSA9PT0gJycgPyBudWxsIDogcGFyc2VGbG9hdCh2YWx1ZSkpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,16 +1,13 @@
1
1
  import { Directive, HostListener } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { ValueAccessor } from '@ionic/angular/common';
3
+ import { ValueAccessor } from './value-accessor';
4
4
  import * as i0 from "@angular/core";
5
5
  export class RadioValueAccessorDirective extends ValueAccessor {
6
6
  constructor(injector, el) {
7
7
  super(injector, el);
8
8
  }
9
+ // TODO(FW-2827): type (HTMLIonRadioElement and HTMLElement are both missing `checked`)
9
10
  _handleIonSelect(el) {
10
- /**
11
- * The `el` type is any to access the `checked` state property
12
- * that is not exposed on the type interface.
13
- */
14
11
  this.handleValueChange(el, el.checked);
15
12
  }
16
13
  }
@@ -39,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
39
36
  type: HostListener,
40
37
  args: ['ionSelect', ['$event.target']]
41
38
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tdmFsdWUtYWNjZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlcy9jb250cm9sLXZhbHVlLWFjY2Vzc29ycy9yYWRpby12YWx1ZS1hY2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQWF0RCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsYUFBYTtJQUM1RCxZQUFZLFFBQWtCLEVBQUUsRUFBYztRQUM1QyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFHRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCOzs7V0FHRztRQUNILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7OzRJQVpVLDJCQUEyQjtnSUFBM0IsMkJBQTJCLDZHQVIzQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsMkJBQTJCO1lBQ3hDLEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRjs0RkFFVSwyQkFBMkI7a0JBWHZDLFNBQVM7bUJBQUM7b0JBQ1QsaURBQWlEO29CQUNqRCxRQUFRLEVBQUUsV0FBVztvQkFDckIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsNkJBQTZCOzRCQUN4QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjt3SEFPQyxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RvciwgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL2NvbW1vbic7XG5cbkBEaXJlY3RpdmUoe1xuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLXNlbGVjdG9yICovXG4gIHNlbGVjdG9yOiAnaW9uLXJhZGlvJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogUmFkaW9WYWx1ZUFjY2Vzc29yRGlyZWN0aXZlLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUmFkaW9WYWx1ZUFjY2Vzc29yRGlyZWN0aXZlIGV4dGVuZHMgVmFsdWVBY2Nlc3NvciB7XG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3RvciwgZWw6IEVsZW1lbnRSZWYpIHtcbiAgICBzdXBlcihpbmplY3RvciwgZWwpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignaW9uU2VsZWN0JywgWyckZXZlbnQudGFyZ2V0J10pXG4gIF9oYW5kbGVJb25TZWxlY3QoZWw6IGFueSk6IHZvaWQge1xuICAgIC8qKlxuICAgICAqIFRoZSBgZWxgIHR5cGUgaXMgYW55IHRvIGFjY2VzcyB0aGUgYGNoZWNrZWRgIHN0YXRlIHByb3BlcnR5XG4gICAgICogdGhhdCBpcyBub3QgZXhwb3NlZCBvbiB0aGUgdHlwZSBpbnRlcmZhY2UuXG4gICAgICovXG4gICAgdGhpcy5oYW5kbGVWYWx1ZUNoYW5nZShlbCwgZWwuY2hlY2tlZCk7XG4gIH1cbn1cbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tdmFsdWUtYWNjZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlcy9jb250cm9sLXZhbHVlLWFjY2Vzc29ycy9yYWRpby12YWx1ZS1hY2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQWFqRCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsYUFBYTtJQUM1RCxZQUFZLFFBQWtCLEVBQUUsRUFBYztRQUM1QyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCx1RkFBdUY7SUFFdkYsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDOzs0SUFUVSwyQkFBMkI7Z0lBQTNCLDJCQUEyQiw2R0FSM0I7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLDJCQUEyQjtZQUN4QyxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0Y7NEZBRVUsMkJBQTJCO2tCQVh2QyxTQUFTO21CQUFDO29CQUNULGlEQUFpRDtvQkFDakQsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLDZCQUE2Qjs0QkFDeEMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0Y7d0hBUUMsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0b3IsIERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgVmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vdmFsdWUtYWNjZXNzb3InO1xuXG5ARGlyZWN0aXZlKHtcbiAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1zZWxlY3RvciAqL1xuICBzZWxlY3RvcjogJ2lvbi1yYWRpbycsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IFJhZGlvVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSBleHRlbmRzIFZhbHVlQWNjZXNzb3Ige1xuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IsIGVsOiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IsIGVsKTtcbiAgfVxuXG4gIC8vIFRPRE8oRlctMjgyNyk6IHR5cGUgKEhUTUxJb25SYWRpb0VsZW1lbnQgYW5kIEhUTUxFbGVtZW50IGFyZSBib3RoIG1pc3NpbmcgYGNoZWNrZWRgKVxuICBASG9zdExpc3RlbmVyKCdpb25TZWxlY3QnLCBbJyRldmVudC50YXJnZXQnXSlcbiAgX2hhbmRsZUlvblNlbGVjdChlbDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVWYWx1ZUNoYW5nZShlbCwgZWwuY2hlY2tlZCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { Directive, HostListener } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { ValueAccessor } from '@ionic/angular/common';
3
+ import { ValueAccessor } from './value-accessor';
4
4
  import * as i0 from "@angular/core";
5
5
  export class SelectValueAccessorDirective extends ValueAccessor {
6
6
  constructor(injector, el) {
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
35
35
  type: HostListener,
36
36
  args: ['ionChange', ['$event.target']]
37
37
  }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXZhbHVlLWFjY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RpcmVjdGl2ZXMvY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvc2VsZWN0LXZhbHVlLWFjY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0IsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBYXRELE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxhQUFhO0lBQzdELFlBQVksUUFBa0IsRUFBRSxFQUFjO1FBQzVDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUdELGtCQUFrQixDQUNoQixFQUswQjtRQUUxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDOzs2SUFmVSw0QkFBNEI7aUlBQTVCLDRCQUE0Qix1S0FSNUI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLDRCQUE0QjtZQUN6QyxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0Y7NEZBRVUsNEJBQTRCO2tCQVh4QyxTQUFTO21CQUFDO29CQUNULGlEQUFpRDtvQkFDakQsUUFBUSxFQUFFLG1FQUFtRTtvQkFDN0UsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsOEJBQThCOzRCQUN6QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjt3SEFPQyxrQkFBa0I7c0JBRGpCLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0b3IsIERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9jb21tb24nO1xuXG5ARGlyZWN0aXZlKHtcbiAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1zZWxlY3RvciAqL1xuICBzZWxlY3RvcjogJ2lvbi1yYW5nZSwgaW9uLXNlbGVjdCwgaW9uLXJhZGlvLWdyb3VwLCBpb24tc2VnbWVudCwgaW9uLWRhdGV0aW1lJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogU2VsZWN0VmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yIHtcbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yLCBlbDogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKGluamVjdG9yLCBlbCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdpb25DaGFuZ2UnLCBbJyRldmVudC50YXJnZXQnXSlcbiAgX2hhbmRsZUNoYW5nZUV2ZW50KFxuICAgIGVsOlxuICAgICAgfCBIVE1MSW9uUmFuZ2VFbGVtZW50XG4gICAgICB8IEhUTUxJb25TZWxlY3RFbGVtZW50XG4gICAgICB8IEhUTUxJb25SYWRpb0dyb3VwRWxlbWVudFxuICAgICAgfCBIVE1MSW9uU2VnbWVudEVsZW1lbnRcbiAgICAgIHwgSFRNTElvbkRhdGV0aW1lRWxlbWVudFxuICApOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZVZhbHVlQ2hhbmdlKGVsLCBlbC52YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXZhbHVlLWFjY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RpcmVjdGl2ZXMvY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvc2VsZWN0LXZhbHVlLWFjY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0IsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBYWpELE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxhQUFhO0lBQzdELFlBQVksUUFBa0IsRUFBRSxFQUFjO1FBQzVDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUdELGtCQUFrQixDQUNoQixFQUswQjtRQUUxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDOzs2SUFmVSw0QkFBNEI7aUlBQTVCLDRCQUE0Qix1S0FSNUI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLDRCQUE0QjtZQUN6QyxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0Y7NEZBRVUsNEJBQTRCO2tCQVh4QyxTQUFTO21CQUFDO29CQUNULGlEQUFpRDtvQkFDakQsUUFBUSxFQUFFLG1FQUFtRTtvQkFDN0UsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsOEJBQThCOzRCQUN6QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjt3SEFPQyxrQkFBa0I7c0JBRGpCLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0b3IsIERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgVmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vdmFsdWUtYWNjZXNzb3InO1xuXG5ARGlyZWN0aXZlKHtcbiAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1zZWxlY3RvciAqL1xuICBzZWxlY3RvcjogJ2lvbi1yYW5nZSwgaW9uLXNlbGVjdCwgaW9uLXJhZGlvLWdyb3VwLCBpb24tc2VnbWVudCwgaW9uLWRhdGV0aW1lJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogU2VsZWN0VmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yIHtcbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yLCBlbDogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKGluamVjdG9yLCBlbCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdpb25DaGFuZ2UnLCBbJyRldmVudC50YXJnZXQnXSlcbiAgX2hhbmRsZUNoYW5nZUV2ZW50KFxuICAgIGVsOlxuICAgICAgfCBIVE1MSW9uUmFuZ2VFbGVtZW50XG4gICAgICB8IEhUTUxJb25TZWxlY3RFbGVtZW50XG4gICAgICB8IEhUTUxJb25SYWRpb0dyb3VwRWxlbWVudFxuICAgICAgfCBIVE1MSW9uU2VnbWVudEVsZW1lbnRcbiAgICAgIHwgSFRNTElvbkRhdGV0aW1lRWxlbWVudFxuICApOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZVZhbHVlQ2hhbmdlKGVsLCBlbC52YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { Directive, HostListener } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { ValueAccessor } from '@ionic/angular/common';
3
+ import { ValueAccessor } from './value-accessor';
4
4
  import * as i0 from "@angular/core";
5
5
  export class TextValueAccessorDirective extends ValueAccessor {
6
6
  constructor(injector, el) {
@@ -34,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
34
34
  type: HostListener,
35
35
  args: ['ionInput', ['$event.target']]
36
36
  }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC12YWx1ZS1hY2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kaXJlY3RpdmVzL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL3RleHQtdmFsdWUtYWNjZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3QixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFZdEQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGFBQWE7SUFDM0QsWUFBWSxRQUFrQixFQUFFLEVBQWM7UUFDNUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBR0QsaUJBQWlCLENBQUMsRUFBMEU7UUFDMUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7MklBUlUsMEJBQTBCOytIQUExQiwwQkFBMEIsMkpBUjFCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSwwQkFBMEI7WUFDdkMsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGOzRGQUVVLDBCQUEwQjtrQkFWdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseURBQXlEO29CQUNuRSxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyw0QkFBNEI7NEJBQ3ZDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGO3dIQU9DLGlCQUFpQjtzQkFEaEIsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RvciwgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL2NvbW1vbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2lvbi1pbnB1dDpub3QoW3R5cGU9bnVtYmVyXSksaW9uLXRleHRhcmVhLGlvbi1zZWFyY2hiYXInLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBUZXh0VmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRleHRWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlIGV4dGVuZHMgVmFsdWVBY2Nlc3NvciB7XG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3RvciwgZWw6IEVsZW1lbnRSZWYpIHtcbiAgICBzdXBlcihpbmplY3RvciwgZWwpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignaW9uSW5wdXQnLCBbJyRldmVudC50YXJnZXQnXSlcbiAgX2hhbmRsZUlucHV0RXZlbnQoZWw6IEhUTUxJb25JbnB1dEVsZW1lbnQgfCBIVE1MSW9uVGV4dGFyZWFFbGVtZW50IHwgSFRNTElvblNlYXJjaGJhckVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZVZhbHVlQ2hhbmdlKGVsLCBlbC52YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC12YWx1ZS1hY2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kaXJlY3RpdmVzL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL3RleHQtdmFsdWUtYWNjZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3QixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFZakQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGFBQWE7SUFDM0QsWUFBWSxRQUFrQixFQUFFLEVBQWM7UUFDNUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBR0QsaUJBQWlCLENBQUMsRUFBMEU7UUFDMUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7MklBUlUsMEJBQTBCOytIQUExQiwwQkFBMEIsMkpBUjFCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSwwQkFBMEI7WUFDdkMsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGOzRGQUVVLDBCQUEwQjtrQkFWdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseURBQXlEO29CQUNuRSxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyw0QkFBNEI7NEJBQ3ZDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGO3dIQU9DLGlCQUFpQjtzQkFEaEIsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RvciwgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi92YWx1ZS1hY2Nlc3Nvcic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2lvbi1pbnB1dDpub3QoW3R5cGU9bnVtYmVyXSksaW9uLXRleHRhcmVhLGlvbi1zZWFyY2hiYXInLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBUZXh0VmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRleHRWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlIGV4dGVuZHMgVmFsdWVBY2Nlc3NvciB7XG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3RvciwgZWw6IEVsZW1lbnRSZWYpIHtcbiAgICBzdXBlcihpbmplY3RvciwgZWwpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignaW9uSW5wdXQnLCBbJyRldmVudC50YXJnZXQnXSlcbiAgX2hhbmRsZUlucHV0RXZlbnQoZWw6IEhUTUxJb25JbnB1dEVsZW1lbnQgfCBIVE1MSW9uVGV4dGFyZWFFbGVtZW50IHwgSFRNTElvblNlYXJjaGJhckVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZVZhbHVlQ2hhbmdlKGVsLCBlbC52YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,141 @@
1
+ import { Directive, HostListener } from '@angular/core';
2
+ import { NgControl } from '@angular/forms';
3
+ import { raf } from '../../util/util';
4
+ import * as i0 from "@angular/core";
5
+ // TODO(FW-2827): types
6
+ export class ValueAccessor {
7
+ constructor(injector, el) {
8
+ this.injector = injector;
9
+ this.el = el;
10
+ this.onChange = () => {
11
+ /**/
12
+ };
13
+ this.onTouched = () => {
14
+ /**/
15
+ };
16
+ }
17
+ writeValue(value) {
18
+ this.el.nativeElement.value = this.lastValue = value;
19
+ setIonicClasses(this.el);
20
+ }
21
+ /**
22
+ * Notifies the ControlValueAccessor of a change in the value of the control.
23
+ *
24
+ * This is called by each of the ValueAccessor directives when we want to update
25
+ * the status and validity of the form control. For example with text components this
26
+ * is called when the ionInput event is fired. For select components this is called
27
+ * when the ionChange event is fired.
28
+ *
29
+ * This also updates the Ionic form status classes on the element.
30
+ *
31
+ * @param el The component element.
32
+ * @param value The new value of the control.
33
+ */
34
+ handleValueChange(el, value) {
35
+ if (el === this.el.nativeElement) {
36
+ if (value !== this.lastValue) {
37
+ this.lastValue = value;
38
+ this.onChange(value);
39
+ }
40
+ setIonicClasses(this.el);
41
+ }
42
+ }
43
+ _handleBlurEvent(el) {
44
+ if (el === this.el.nativeElement) {
45
+ this.onTouched();
46
+ setIonicClasses(this.el);
47
+ }
48
+ }
49
+ registerOnChange(fn) {
50
+ this.onChange = fn;
51
+ }
52
+ registerOnTouched(fn) {
53
+ this.onTouched = fn;
54
+ }
55
+ setDisabledState(isDisabled) {
56
+ this.el.nativeElement.disabled = isDisabled;
57
+ }
58
+ ngOnDestroy() {
59
+ if (this.statusChanges) {
60
+ this.statusChanges.unsubscribe();
61
+ }
62
+ }
63
+ ngAfterViewInit() {
64
+ let ngControl;
65
+ try {
66
+ ngControl = this.injector.get(NgControl);
67
+ }
68
+ catch {
69
+ /* No FormControl or ngModel binding */
70
+ }
71
+ if (!ngControl) {
72
+ return;
73
+ }
74
+ // Listen for changes in validity, disabled, or pending states
75
+ if (ngControl.statusChanges) {
76
+ this.statusChanges = ngControl.statusChanges.subscribe(() => setIonicClasses(this.el));
77
+ }
78
+ /**
79
+ * TODO FW-2787: Remove this in favor of https://github.com/angular/angular/issues/10887
80
+ * whenever it is implemented.
81
+ */
82
+ const formControl = ngControl.control;
83
+ if (formControl) {
84
+ const methodsToPatch = ['markAsTouched', 'markAllAsTouched', 'markAsUntouched', 'markAsDirty', 'markAsPristine'];
85
+ methodsToPatch.forEach((method) => {
86
+ if (typeof formControl[method] !== 'undefined') {
87
+ const oldFn = formControl[method].bind(formControl);
88
+ formControl[method] = (...params) => {
89
+ oldFn(...params);
90
+ setIonicClasses(this.el);
91
+ };
92
+ }
93
+ });
94
+ }
95
+ }
96
+ }
97
+ /** @nocollapse */ ValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ValueAccessor, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
98
+ /** @nocollapse */ ValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: ValueAccessor, host: { listeners: { "ionBlur": "_handleBlurEvent($event.target)" } }, ngImport: i0 });
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ValueAccessor, decorators: [{
100
+ type: Directive
101
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { _handleBlurEvent: [{
102
+ type: HostListener,
103
+ args: ['ionBlur', ['$event.target']]
104
+ }] } });
105
+ export const setIonicClasses = (element) => {
106
+ raf(() => {
107
+ const input = element.nativeElement;
108
+ const hasValue = input.value != null && input.value.toString().length > 0;
109
+ const classes = getClasses(input);
110
+ setClasses(input, classes);
111
+ const item = input.closest('ion-item');
112
+ if (item) {
113
+ if (hasValue) {
114
+ setClasses(item, [...classes, 'item-has-value']);
115
+ }
116
+ else {
117
+ setClasses(item, classes);
118
+ }
119
+ }
120
+ });
121
+ };
122
+ const getClasses = (element) => {
123
+ const classList = element.classList;
124
+ const classes = [];
125
+ for (let i = 0; i < classList.length; i++) {
126
+ const item = classList.item(i);
127
+ if (item !== null && startsWith(item, 'ng-')) {
128
+ classes.push(`ion-${item.substring(3)}`);
129
+ }
130
+ }
131
+ return classes;
132
+ };
133
+ const setClasses = (element, classes) => {
134
+ const classList = element.classList;
135
+ classList.remove('ion-valid', 'ion-invalid', 'ion-touched', 'ion-untouched', 'ion-dirty', 'ion-pristine');
136
+ classList.add(...classes);
137
+ };
138
+ const startsWith = (input, search) => {
139
+ return input.substring(0, search.length) === search;
140
+ };
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtYWNjZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlcy9jb250cm9sLXZhbHVlLWFjY2Vzc29ycy92YWx1ZS1hY2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtELFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUF3QixTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRXRDLHVCQUF1QjtBQUd2QixNQUFNLE9BQU8sYUFBYTtJQVV4QixZQUFzQixRQUFrQixFQUFZLEVBQWM7UUFBNUMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFZLE9BQUUsR0FBRixFQUFFLENBQVk7UUFUMUQsYUFBUSxHQUF5QixHQUFHLEVBQUU7WUFDNUMsSUFBSTtRQUNOLENBQUMsQ0FBQztRQUNNLGNBQVMsR0FBZSxHQUFHLEVBQUU7WUFDbkMsSUFBSTtRQUNOLENBQUMsQ0FBQztJQUltRSxDQUFDO0lBRXRFLFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUNyRCxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxpQkFBaUIsQ0FBQyxFQUFlLEVBQUUsS0FBVTtRQUMzQyxJQUFJLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRTtZQUNoQyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FB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YyxDQUFDLENBQUM7SUFDMUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDO0FBQzVCLENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBYSxFQUFFLE1BQWMsRUFBVyxFQUFFO0lBQzVELE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLE1BQU0sQ0FBQztBQUN0RCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBFbGVtZW50UmVmLCBJbmplY3RvciwgT25EZXN0cm95LCBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyByYWYgfSBmcm9tICcuLi8uLi91dGlsL3V0aWwnO1xuXG4vLyBUT0RPKEZXLTI4MjcpOiB0eXBlc1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBWYWx1ZUFjY2Vzc29yIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4ge1xuICAgIC8qKi9cbiAgfTtcbiAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7XG4gICAgLyoqL1xuICB9O1xuICBwcm90ZWN0ZWQgbGFzdFZhbHVlOiBhbnk7XG4gIHByaXZhdGUgc3RhdHVzQ2hhbmdlcz86IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLCBwcm90ZWN0ZWQgZWw6IEVsZW1lbnRSZWYpIHt9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5sYXN0VmFsdWUgPSB2YWx1ZTtcbiAgICBzZXRJb25pY0NsYXNzZXModGhpcy5lbCk7XG4gIH1cblxuICAvKipcbiAgICogTm90aWZpZXMgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIG9mIGEgY2hhbmdlIGluIHRoZSB2YWx1ZSBvZiB0aGUgY29udHJvbC5cbiAgICpcbiAgICogVGhpcyBpcyBjYWxsZWQgYnkgZWFjaCBvZiB0aGUgVmFsdWVBY2Nlc3NvciBkaXJlY3RpdmVzIHdoZW4gd2Ugd2FudCB0byB1cGRhdGVcbiAgICogdGhlIHN0YXR1cyBhbmQgdmFsaWRpdHkgb2YgdGhlIGZvcm0gY29udHJvbC4gRm9yIGV4YW1wbGUgd2l0aCB0ZXh0IGNvbXBvbmVudHMgdGhpc1xuICAgKiBpcyBjYWxsZWQgd2hlbiB0aGUgaW9uSW5wdXQgZXZlbnQgaXMgZmlyZWQuIEZvciBzZWxlY3QgY29tcG9uZW50cyB0aGlzIGlzIGNhbGxlZFxuICAgKiB3aGVuIHRoZSBpb25DaGFuZ2UgZXZlbnQgaXMgZmlyZWQuXG4gICAqXG4gICAqIFRoaXMgYWxzbyB1cGRhdGVzIHRoZSBJb25pYyBmb3JtIHN0YXR1cyBjbGFzc2VzIG9uIHRoZSBlbGVtZW50LlxuICAgKlxuICAgKiBAcGFyYW0gZWwgVGhlIGNvbXBvbmVudCBlbGVtZW50LlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIG5ldyB2YWx1ZSBvZiB0aGUgY29udHJvbC5cbiAgICovXG4gIGhhbmRsZVZhbHVlQ2hhbmdlKGVsOiBIVE1MRWxlbWVudCwgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmIChlbCA9PT0gdGhpcy5lbC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICBpZiAodmFsdWUgIT09IHRoaXMubGFzdFZhbHVlKSB7XG4gICAgICAgIHRoaXMubGFzdFZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgfVxuICAgICAgc2V0SW9uaWNDbGFzc2VzKHRoaXMuZWwpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2lvbkJsdXInLCBbJyRldmVudC50YXJnZXQnXSlcbiAgX2hhbmRsZUJsdXJFdmVudChlbDogYW55KTogdm9pZCB7XG4gICAgaWYgKGVsID09PSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICBzZXRJb25pY0NsYXNzZXModGhpcy5lbCk7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdHVzQ2hhbmdlcykge1xuICAgICAgdGhpcy5zdGF0dXNDaGFuZ2VzLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGxldCBuZ0NvbnRyb2w7XG4gICAgdHJ5IHtcbiAgICAgIG5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0PE5nQ29udHJvbD4oTmdDb250cm9sKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8qIE5vIEZvcm1Db250cm9sIG9yIG5nTW9kZWwgYmluZGluZyAqL1xuICAgIH1cblxuICAgIGlmICghbmdDb250cm9sKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gTGlzdGVuIGZvciBjaGFuZ2VzIGluIHZhbGlkaXR5LCBkaXNhYmxlZCwgb3IgcGVuZGluZyBzdGF0ZXNcbiAgICBpZiAobmdDb250cm9sLnN0YXR1c0NoYW5nZXMpIHtcbiAgICAgIHRoaXMuc3RhdHVzQ2hhbmdlcyA9IG5nQ29udHJvbC5zdGF0dXNDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiBzZXRJb25pY0NsYXNzZXModGhpcy5lbCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRPRE8gRlctMjc4NzogUmVtb3ZlIHRoaXMgaW4gZmF2b3Igb2YgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTA4ODdcbiAgICAgKiB3aGVuZXZlciBpdCBpcyBpbXBsZW1lbnRlZC5cbiAgICAgKi9cbiAgICBjb25zdCBmb3JtQ29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sIGFzIGFueTtcbiAgICBpZiAoZm9ybUNvbnRyb2wpIHtcbiAgICAgIGNvbnN0IG1ldGhvZHNUb1BhdGNoID0gWydtYXJrQXNUb3VjaGVkJywgJ21hcmtBbGxBc1RvdWNoZWQnLCAnbWFya0FzVW50b3VjaGVkJywgJ21hcmtBc0RpcnR5JywgJ21hcmtBc1ByaXN0aW5lJ107XG4gICAgICBtZXRob2RzVG9QYXRjaC5mb3JFYWNoKChtZXRob2QpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBmb3JtQ29udHJvbFttZXRob2RdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIGNvbnN0IG9sZEZuID0gZm9ybUNvbnRyb2xbbWV0aG9kXS5iaW5kKGZvcm1Db250cm9sKTtcbiAgICAgICAgICBmb3JtQ29udHJvbFttZXRob2RdID0gKC4uLnBhcmFtczogYW55W10pID0+IHtcbiAgICAgICAgICAgIG9sZEZuKC4uLnBhcmFtcyk7XG4gICAgICAgICAgICBzZXRJb25pY0NsYXNzZXModGhpcy5lbCk7XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBzZXRJb25pY0NsYXNzZXMgPSAoZWxlbWVudDogRWxlbWVudFJlZik6IHZvaWQgPT4ge1xuICByYWYoKCkgPT4ge1xuICAgIGNvbnN0IGlucHV0ID0gZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgaGFzVmFsdWUgPSBpbnB1dC52YWx1ZSAhPSBudWxsICYmIGlucHV0LnZhbHVlLnRvU3RyaW5nKCkubGVuZ3RoID4gMDtcbiAgICBjb25zdCBjbGFzc2VzID0gZ2V0Q2xhc3NlcyhpbnB1dCk7XG4gICAgc2V0Q2xhc3NlcyhpbnB1dCwgY2xhc3Nlcyk7XG4gICAgY29uc3QgaXRlbSA9IGlucHV0LmNsb3Nlc3QoJ2lvbi1pdGVtJyk7XG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIGlmIChoYXNWYWx1ZSkge1xuICAgICAgICBzZXRDbGFzc2VzKGl0ZW0sIFsuLi5jbGFzc2VzLCAnaXRlbS1oYXMtdmFsdWUnXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRDbGFzc2VzKGl0ZW0sIGNsYXNzZXMpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG59O1xuXG5jb25zdCBnZXRDbGFzc2VzID0gKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSA9PiB7XG4gIGNvbnN0IGNsYXNzTGlzdCA9IGVsZW1lbnQuY2xhc3NMaXN0O1xuICBjb25zdCBjbGFzc2VzID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY2xhc3NMaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgaXRlbSA9IGNsYXNzTGlzdC5pdGVtKGkpO1xuICAgIGlmIChpdGVtICE9PSBudWxsICYmIHN0YXJ0c1dpdGgoaXRlbSwgJ25nLScpKSB7XG4gICAgICBjbGFzc2VzLnB1c2goYGlvbi0ke2l0ZW0uc3Vic3RyaW5nKDMpfWApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gY2xhc3Nlcztcbn07XG5cbmNvbnN0IHNldENsYXNzZXMgPSAoZWxlbWVudDogSFRNTEVsZW1lbnQsIGNsYXNzZXM6IHN0cmluZ1tdKSA9PiB7XG4gIGNvbnN0IGNsYXNzTGlzdCA9IGVsZW1lbnQuY2xhc3NMaXN0O1xuICBjbGFzc0xpc3QucmVtb3ZlKCdpb24tdmFsaWQnLCAnaW9uLWludmFsaWQnLCAnaW9uLXRvdWNoZWQnLCAnaW9uLXVudG91Y2hlZCcsICdpb24tZGlydHknLCAnaW9uLXByaXN0aW5lJyk7XG4gIGNsYXNzTGlzdC5hZGQoLi4uY2xhc3Nlcyk7XG59O1xuXG5jb25zdCBzdGFydHNXaXRoID0gKGlucHV0OiBzdHJpbmcsIHNlYXJjaDogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiBpbnB1dC5zdWJzdHJpbmcoMCwgc2VhcmNoLmxlbmd0aCkgPT09IHNlYXJjaDtcbn07XG4iXX0=