@ionic/angular 7.3.4-dev.11694532574.1e397a21 → 7.3.4-dev.11694534020.12e16bee

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 (62) hide show
  1. package/common/index.d.ts +0 -2
  2. package/directives/control-value-accessors/boolean-value-accessor.d.ts +1 -1
  3. package/directives/control-value-accessors/numeric-value-accessor.d.ts +1 -1
  4. package/directives/control-value-accessors/radio-value-accessor.d.ts +1 -1
  5. package/directives/control-value-accessors/select-value-accessor.d.ts +1 -1
  6. package/directives/control-value-accessors/text-value-accessor.d.ts +1 -1
  7. package/{common/directives → directives}/control-value-accessors/value-accessor.d.ts +2 -2
  8. package/esm2020/app-initialize.mjs +2 -2
  9. package/esm2020/common/index.mjs +1 -3
  10. package/esm2020/directives/control-value-accessors/boolean-value-accessor.mjs +4 -4
  11. package/esm2020/directives/control-value-accessors/numeric-value-accessor.mjs +2 -2
  12. package/esm2020/directives/control-value-accessors/radio-value-accessor.mjs +3 -6
  13. package/esm2020/directives/control-value-accessors/select-value-accessor.mjs +2 -2
  14. package/esm2020/directives/control-value-accessors/text-value-accessor.mjs +2 -2
  15. package/esm2020/directives/control-value-accessors/value-accessor.mjs +141 -0
  16. package/esm2020/standalone/directives/proxies.mjs +476 -565
  17. package/esm2020/standalone/index.mjs +2 -2
  18. package/esm2020/util/util.mjs +10 -0
  19. package/fesm2015/ionic-angular-common.mjs +1 -149
  20. package/fesm2015/ionic-angular-common.mjs.map +1 -1
  21. package/fesm2015/ionic-angular-standalone.mjs +570 -1448
  22. package/fesm2015/ionic-angular-standalone.mjs.map +1 -1
  23. package/fesm2015/ionic-angular.mjs +152 -8
  24. package/fesm2015/ionic-angular.mjs.map +1 -1
  25. package/fesm2020/ionic-angular-common.mjs +1 -149
  26. package/fesm2020/ionic-angular-common.mjs.map +1 -1
  27. package/fesm2020/ionic-angular-standalone.mjs +570 -1448
  28. package/fesm2020/ionic-angular-standalone.mjs.map +1 -1
  29. package/fesm2020/ionic-angular.mjs +152 -8
  30. package/fesm2020/ionic-angular.mjs.map +1 -1
  31. package/package.json +3 -3
  32. package/standalone/directives/proxies.d.ts +314 -0
  33. package/standalone/index.d.ts +1 -1
  34. package/common/directives/control-value-accessors/index.d.ts +0 -1
  35. package/esm2020/common/directives/control-value-accessors/index.mjs +0 -2
  36. package/esm2020/common/directives/control-value-accessors/value-accessor.mjs +0 -141
  37. package/esm2020/common/utils/util.mjs +0 -10
  38. package/esm2020/standalone/directives/checkbox.mjs +0 -73
  39. package/esm2020/standalone/directives/datetime.mjs +0 -90
  40. package/esm2020/standalone/directives/index.mjs +0 -13
  41. package/esm2020/standalone/directives/input.mjs +0 -112
  42. package/esm2020/standalone/directives/radio-group.mjs +0 -58
  43. package/esm2020/standalone/directives/radio.mjs +0 -62
  44. package/esm2020/standalone/directives/range.mjs +0 -77
  45. package/esm2020/standalone/directives/searchbar.mjs +0 -80
  46. package/esm2020/standalone/directives/segment.mjs +0 -58
  47. package/esm2020/standalone/directives/select.mjs +0 -81
  48. package/esm2020/standalone/directives/textarea.mjs +0 -90
  49. package/esm2020/standalone/directives/toggle.mjs +0 -73
  50. package/standalone/directives/checkbox.d.ts +0 -30
  51. package/standalone/directives/datetime.d.ts +0 -30
  52. package/standalone/directives/index.d.ts +0 -12
  53. package/standalone/directives/input.d.ts +0 -47
  54. package/standalone/directives/radio-group.d.ts +0 -18
  55. package/standalone/directives/radio.d.ts +0 -22
  56. package/standalone/directives/range.d.ts +0 -47
  57. package/standalone/directives/searchbar.d.ts +0 -45
  58. package/standalone/directives/segment.d.ts +0 -19
  59. package/standalone/directives/select.d.ts +0 -34
  60. package/standalone/directives/textarea.d.ts +0 -37
  61. package/standalone/directives/toggle.d.ts +0 -28
  62. /package/{common/utils → util}/util.d.ts +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ionic/angular",
3
- "version": "7.3.4-dev.11694532574.1e397a21",
3
+ "version": "7.3.4-dev.11694534020.12e16bee",
4
4
  "description": "Angular specific wrappers for @ionic/core",
5
5
  "keywords": [
6
6
  "ionic",
@@ -56,8 +56,8 @@
56
56
  }
57
57
  },
58
58
  "dependencies": {
59
- "@ionic/core": "7.3.4-dev.11694532574.1e397a21",
60
- "ionicons": "^7.0.0",
59
+ "@ionic/core": "7.3.4-dev.11694475136.10f1c69e",
60
+ "ionicons": "7.1.3-dev.11694468279.1c23df00",
61
61
  "jsonc-parser": "^3.0.0",
62
62
  "tslib": "^2.3.0"
63
63
  },
@@ -4,13 +4,28 @@ import type { AccordionGroupChangeEventDetail as IIonAccordionGroupAccordionGrou
4
4
  import type { OverlayEventDetail as IIonActionSheetOverlayEventDetail } from '@ionic/core/components';
5
5
  import type { OverlayEventDetail as IIonAlertOverlayEventDetail } from '@ionic/core/components';
6
6
  import type { BreadcrumbCollapsedClickEventDetail as IIonBreadcrumbsBreadcrumbCollapsedClickEventDetail } from '@ionic/core/components';
7
+ import type { CheckboxChangeEventDetail as IIonCheckboxCheckboxChangeEventDetail } from '@ionic/core/components';
7
8
  import type { ScrollBaseDetail as IIonContentScrollBaseDetail } from '@ionic/core/components';
8
9
  import type { ScrollDetail as IIonContentScrollDetail } from '@ionic/core/components';
10
+ import type { DatetimeChangeEventDetail as IIonDatetimeDatetimeChangeEventDetail } from '@ionic/core/components';
11
+ import type { InputInputEventDetail as IIonInputInputInputEventDetail } from '@ionic/core/components';
12
+ import type { InputChangeEventDetail as IIonInputInputChangeEventDetail } from '@ionic/core/components';
9
13
  import type { OverlayEventDetail as IIonLoadingOverlayEventDetail } from '@ionic/core/components';
10
14
  import type { OverlayEventDetail as IIonPickerOverlayEventDetail } from '@ionic/core/components';
15
+ import type { RadioGroupChangeEventDetail as IIonRadioGroupRadioGroupChangeEventDetail } from '@ionic/core/components';
16
+ import type { RangeChangeEventDetail as IIonRangeRangeChangeEventDetail } from '@ionic/core/components';
17
+ import type { RangeKnobMoveStartEventDetail as IIonRangeRangeKnobMoveStartEventDetail } from '@ionic/core/components';
18
+ import type { RangeKnobMoveEndEventDetail as IIonRangeRangeKnobMoveEndEventDetail } from '@ionic/core/components';
11
19
  import type { RefresherEventDetail as IIonRefresherRefresherEventDetail } from '@ionic/core/components';
12
20
  import type { ItemReorderEventDetail as IIonReorderGroupItemReorderEventDetail } from '@ionic/core/components';
21
+ import type { SearchbarInputEventDetail as IIonSearchbarSearchbarInputEventDetail } from '@ionic/core/components';
22
+ import type { SearchbarChangeEventDetail as IIonSearchbarSearchbarChangeEventDetail } from '@ionic/core/components';
23
+ import type { SegmentChangeEventDetail as IIonSegmentSegmentChangeEventDetail } from '@ionic/core/components';
24
+ import type { SelectChangeEventDetail as IIonSelectSelectChangeEventDetail } from '@ionic/core/components';
25
+ import type { TextareaChangeEventDetail as IIonTextareaTextareaChangeEventDetail } from '@ionic/core/components';
26
+ import type { TextareaInputEventDetail as IIonTextareaTextareaInputEventDetail } from '@ionic/core/components';
13
27
  import type { OverlayEventDetail as IIonToastOverlayEventDetail } from '@ionic/core/components';
28
+ import type { ToggleChangeEventDetail as IIonToggleToggleChangeEventDetail } from '@ionic/core/components';
14
29
  import * as i0 from "@angular/core";
15
30
  export declare class IonAccordion {
16
31
  protected z: NgZone;
@@ -268,6 +283,30 @@ export declare class IonCardTitle {
268
283
  }
269
284
  export declare interface IonCardTitle extends Components.IonCardTitle {
270
285
  }
286
+ export declare class IonCheckbox {
287
+ protected z: NgZone;
288
+ protected el: HTMLElement;
289
+ constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
290
+ static ɵfac: i0.ɵɵFactoryDeclaration<IonCheckbox, never>;
291
+ static ɵcmp: i0.ɵɵComponentDeclaration<IonCheckbox, "ion-checkbox", never, { "checked": "checked"; "color": "color"; "disabled": "disabled"; "indeterminate": "indeterminate"; "justify": "justify"; "labelPlacement": "labelPlacement"; "legacy": "legacy"; "mode": "mode"; "name": "name"; "value": "value"; }, {}, never, ["*"], true>;
292
+ }
293
+ export declare interface IonCheckbox extends Components.IonCheckbox {
294
+ /**
295
+ * Emitted when the checked property has changed
296
+ as a result of a user action such as a click.
297
+ This event will not emit when programmatically
298
+ setting the checked property.
299
+ */
300
+ ionChange: EventEmitter<CustomEvent<IIonCheckboxCheckboxChangeEventDetail>>;
301
+ /**
302
+ * Emitted when the checkbox has focus.
303
+ */
304
+ ionFocus: EventEmitter<CustomEvent<void>>;
305
+ /**
306
+ * Emitted when the checkbox loses focus.
307
+ */
308
+ ionBlur: EventEmitter<CustomEvent<void>>;
309
+ }
271
310
  export declare class IonChip {
272
311
  protected z: NgZone;
273
312
  protected el: HTMLElement;
@@ -310,6 +349,31 @@ export declare interface IonContent extends Components.IonContent {
310
349
  */
311
350
  ionScrollEnd: EventEmitter<CustomEvent<IIonContentScrollBaseDetail>>;
312
351
  }
352
+ export declare class IonDatetime {
353
+ protected z: NgZone;
354
+ protected el: HTMLElement;
355
+ constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
356
+ static ɵfac: i0.ɵɵFactoryDeclaration<IonDatetime, never>;
357
+ static ɵcmp: i0.ɵɵComponentDeclaration<IonDatetime, "ion-datetime", never, { "cancelText": "cancelText"; "clearText": "clearText"; "color": "color"; "dayValues": "dayValues"; "disabled": "disabled"; "doneText": "doneText"; "firstDayOfWeek": "firstDayOfWeek"; "highlightedDates": "highlightedDates"; "hourCycle": "hourCycle"; "hourValues": "hourValues"; "isDateEnabled": "isDateEnabled"; "locale": "locale"; "max": "max"; "min": "min"; "minuteValues": "minuteValues"; "mode": "mode"; "monthValues": "monthValues"; "multiple": "multiple"; "name": "name"; "preferWheel": "preferWheel"; "presentation": "presentation"; "readonly": "readonly"; "showClearButton": "showClearButton"; "showDefaultButtons": "showDefaultButtons"; "showDefaultTimeLabel": "showDefaultTimeLabel"; "showDefaultTitle": "showDefaultTitle"; "size": "size"; "titleSelectedDatesFormatter": "titleSelectedDatesFormatter"; "value": "value"; "yearValues": "yearValues"; }, {}, never, ["*"], true>;
358
+ }
359
+ export declare interface IonDatetime extends Components.IonDatetime {
360
+ /**
361
+ * Emitted when the datetime selection was cancelled.
362
+ */
363
+ ionCancel: EventEmitter<CustomEvent<void>>;
364
+ /**
365
+ * Emitted when the value (selected date) has changed.
366
+ */
367
+ ionChange: EventEmitter<CustomEvent<IIonDatetimeDatetimeChangeEventDetail>>;
368
+ /**
369
+ * Emitted when the datetime has focus.
370
+ */
371
+ ionFocus: EventEmitter<CustomEvent<void>>;
372
+ /**
373
+ * Emitted when the datetime loses focus.
374
+ */
375
+ ionBlur: EventEmitter<CustomEvent<void>>;
376
+ }
313
377
  export declare class IonDatetimeButton {
314
378
  protected z: NgZone;
315
379
  protected el: HTMLElement;
@@ -427,6 +491,47 @@ export declare class IonInfiniteScrollContent {
427
491
  }
428
492
  export declare interface IonInfiniteScrollContent extends Components.IonInfiniteScrollContent {
429
493
  }
494
+ export declare class IonInput {
495
+ protected z: NgZone;
496
+ protected el: HTMLElement;
497
+ constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
498
+ static ɵfac: i0.ɵɵFactoryDeclaration<IonInput, never>;
499
+ static ɵcmp: i0.ɵɵComponentDeclaration<IonInput, "ion-input", never, { "accept": "accept"; "autocapitalize": "autocapitalize"; "autocomplete": "autocomplete"; "autocorrect": "autocorrect"; "autofocus": "autofocus"; "clearInput": "clearInput"; "clearOnEdit": "clearOnEdit"; "color": "color"; "counter": "counter"; "counterFormatter": "counterFormatter"; "debounce": "debounce"; "disabled": "disabled"; "enterkeyhint": "enterkeyhint"; "errorText": "errorText"; "fill": "fill"; "helperText": "helperText"; "inputmode": "inputmode"; "label": "label"; "labelPlacement": "labelPlacement"; "legacy": "legacy"; "max": "max"; "maxlength": "maxlength"; "min": "min"; "minlength": "minlength"; "mode": "mode"; "multiple": "multiple"; "name": "name"; "pattern": "pattern"; "placeholder": "placeholder"; "readonly": "readonly"; "required": "required"; "shape": "shape"; "size": "size"; "spellcheck": "spellcheck"; "step": "step"; "type": "type"; "value": "value"; }, {}, never, ["*"], true>;
500
+ }
501
+ export declare interface IonInput extends Components.IonInput {
502
+ /**
503
+ * The `ionInput` event is fired each time the user modifies the input's value.
504
+ Unlike the `ionChange` event, the `ionInput` event is fired for each alteration
505
+ to the input's value. This typically happens for each keystroke as the user types.
506
+
507
+ For elements that accept text input (`type=text`, `type=tel`, etc.), the interface
508
+ is [`InputEvent`](https://developer.mozilla.org/en-US/docs/Web/API/InputEvent); for others,
509
+ the interface is [`Event`](https://developer.mozilla.org/en-US/docs/Web/API/Event). If
510
+ the input is cleared on edit, the type is `null`.
511
+ */
512
+ ionInput: EventEmitter<CustomEvent<IIonInputInputInputEventDetail>>;
513
+ /**
514
+ * The `ionChange` event is fired when the user modifies the input's value.
515
+ Unlike the `ionInput` event, the `ionChange` event is only fired when changes
516
+ are committed, not as the user types.
517
+
518
+ Depending on the way the users interacts with the element, the `ionChange`
519
+ event fires at a different moment:
520
+ - When the user commits the change explicitly (e.g. by selecting a date
521
+ from a date picker for `<ion-input type="date">`, pressing the "Enter" key, etc.).
522
+ - When the element loses focus after its value has changed: for elements
523
+ where the user's interaction is typing.
524
+ */
525
+ ionChange: EventEmitter<CustomEvent<IIonInputInputChangeEventDetail>>;
526
+ /**
527
+ * Emitted when the input loses focus.
528
+ */
529
+ ionBlur: EventEmitter<CustomEvent<FocusEvent>>;
530
+ /**
531
+ * Emitted when the input has focus.
532
+ */
533
+ ionFocus: EventEmitter<CustomEvent<FocusEvent>>;
534
+ }
430
535
  export declare class IonItem {
431
536
  protected z: NgZone;
432
537
  protected el: HTMLElement;
@@ -676,6 +781,78 @@ export declare class IonProgressBar {
676
781
  }
677
782
  export declare interface IonProgressBar extends Components.IonProgressBar {
678
783
  }
784
+ export declare class IonRadio {
785
+ protected z: NgZone;
786
+ protected el: HTMLElement;
787
+ constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
788
+ static ɵfac: i0.ɵɵFactoryDeclaration<IonRadio, never>;
789
+ static ɵcmp: i0.ɵɵComponentDeclaration<IonRadio, "ion-radio", never, { "color": "color"; "disabled": "disabled"; "justify": "justify"; "labelPlacement": "labelPlacement"; "legacy": "legacy"; "mode": "mode"; "name": "name"; "value": "value"; }, {}, never, ["*"], true>;
790
+ }
791
+ export declare interface IonRadio extends Components.IonRadio {
792
+ /**
793
+ * Emitted when the radio button has focus.
794
+ */
795
+ ionFocus: EventEmitter<CustomEvent<void>>;
796
+ /**
797
+ * Emitted when the radio button loses focus.
798
+ */
799
+ ionBlur: EventEmitter<CustomEvent<void>>;
800
+ }
801
+ export declare class IonRadioGroup {
802
+ protected z: NgZone;
803
+ protected el: HTMLElement;
804
+ constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
805
+ static ɵfac: i0.ɵɵFactoryDeclaration<IonRadioGroup, never>;
806
+ static ɵcmp: i0.ɵɵComponentDeclaration<IonRadioGroup, "ion-radio-group", never, { "allowEmptySelection": "allowEmptySelection"; "name": "name"; "value": "value"; }, {}, never, ["*"], true>;
807
+ }
808
+ export declare interface IonRadioGroup extends Components.IonRadioGroup {
809
+ /**
810
+ * Emitted when the value has changed.
811
+ */
812
+ ionChange: EventEmitter<CustomEvent<IIonRadioGroupRadioGroupChangeEventDetail>>;
813
+ }
814
+ export declare class IonRange {
815
+ protected z: NgZone;
816
+ protected el: HTMLElement;
817
+ constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
818
+ static ɵfac: i0.ɵɵFactoryDeclaration<IonRange, never>;
819
+ static ɵcmp: i0.ɵɵComponentDeclaration<IonRange, "ion-range", never, { "activeBarStart": "activeBarStart"; "color": "color"; "debounce": "debounce"; "disabled": "disabled"; "dualKnobs": "dualKnobs"; "label": "label"; "labelPlacement": "labelPlacement"; "legacy": "legacy"; "max": "max"; "min": "min"; "mode": "mode"; "name": "name"; "pin": "pin"; "pinFormatter": "pinFormatter"; "snaps": "snaps"; "step": "step"; "ticks": "ticks"; "value": "value"; }, {}, never, ["*"], true>;
820
+ }
821
+ export declare interface IonRange extends Components.IonRange {
822
+ /**
823
+ * The `ionChange` event is fired for `<ion-range>` elements when the user
824
+ modifies the element's value:
825
+ - When the user releases the knob after dragging;
826
+ - When the user moves the knob with keyboard arrows
827
+
828
+ `ionChange` is not fired when the value is changed programmatically.
829
+ */
830
+ ionChange: EventEmitter<CustomEvent<IIonRangeRangeChangeEventDetail>>;
831
+ /**
832
+ * The `ionInput` event is fired for `<ion-range>` elements when the value
833
+ is modified. Unlike `ionChange`, `ionInput` is fired continuously
834
+ while the user is dragging the knob.
835
+ */
836
+ ionInput: EventEmitter<CustomEvent<IIonRangeRangeChangeEventDetail>>;
837
+ /**
838
+ * Emitted when the range has focus.
839
+ */
840
+ ionFocus: EventEmitter<CustomEvent<void>>;
841
+ /**
842
+ * Emitted when the range loses focus.
843
+ */
844
+ ionBlur: EventEmitter<CustomEvent<void>>;
845
+ /**
846
+ * Emitted when the user starts moving the range knob, whether through
847
+ mouse drag, touch gesture, or keyboard interaction.
848
+ */
849
+ ionKnobMoveStart: EventEmitter<CustomEvent<IIonRangeRangeKnobMoveStartEventDetail>>;
850
+ /**
851
+ * Emitted when the user finishes moving the range knob, whether through
852
+ mouse drag, touch gesture, or keyboard interaction.
853
+ */
854
+ ionKnobMoveEnd: EventEmitter<CustomEvent<IIonRangeRangeKnobMoveEndEventDetail>>;
855
+ }
679
856
  export declare class IonRefresher {
680
857
  protected z: NgZone;
681
858
  protected el: HTMLElement;
@@ -751,6 +928,60 @@ export declare class IonRow {
751
928
  }
752
929
  export declare interface IonRow extends Components.IonRow {
753
930
  }
931
+ export declare class IonSearchbar {
932
+ protected z: NgZone;
933
+ protected el: HTMLElement;
934
+ constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
935
+ static ɵfac: i0.ɵɵFactoryDeclaration<IonSearchbar, never>;
936
+ static ɵcmp: i0.ɵɵComponentDeclaration<IonSearchbar, "ion-searchbar", never, { "animated": "animated"; "autocomplete": "autocomplete"; "autocorrect": "autocorrect"; "cancelButtonIcon": "cancelButtonIcon"; "cancelButtonText": "cancelButtonText"; "clearIcon": "clearIcon"; "color": "color"; "debounce": "debounce"; "disabled": "disabled"; "enterkeyhint": "enterkeyhint"; "inputmode": "inputmode"; "mode": "mode"; "name": "name"; "placeholder": "placeholder"; "searchIcon": "searchIcon"; "showCancelButton": "showCancelButton"; "showClearButton": "showClearButton"; "spellcheck": "spellcheck"; "type": "type"; "value": "value"; }, {}, never, ["*"], true>;
937
+ }
938
+ export declare interface IonSearchbar extends Components.IonSearchbar {
939
+ /**
940
+ * Emitted when the `value` of the `ion-searchbar` element has changed.
941
+ */
942
+ ionInput: EventEmitter<CustomEvent<IIonSearchbarSearchbarInputEventDetail>>;
943
+ /**
944
+ * The `ionChange` event is fired for `<ion-searchbar>` elements when the user
945
+ modifies the element's value. Unlike the `ionInput` event, the `ionChange`
946
+ event is not necessarily fired for each alteration to an element's value.
947
+
948
+ The `ionChange` event is fired when the value has been committed
949
+ by the user. This can happen when the element loses focus or
950
+ when the "Enter" key is pressed. `ionChange` can also fire
951
+ when clicking the clear or cancel buttons.
952
+ */
953
+ ionChange: EventEmitter<CustomEvent<IIonSearchbarSearchbarChangeEventDetail>>;
954
+ /**
955
+ * Emitted when the cancel button is clicked.
956
+ */
957
+ ionCancel: EventEmitter<CustomEvent<void>>;
958
+ /**
959
+ * Emitted when the clear input button is clicked.
960
+ */
961
+ ionClear: EventEmitter<CustomEvent<void>>;
962
+ /**
963
+ * Emitted when the input loses focus.
964
+ */
965
+ ionBlur: EventEmitter<CustomEvent<void>>;
966
+ /**
967
+ * Emitted when the input has focus.
968
+ */
969
+ ionFocus: EventEmitter<CustomEvent<void>>;
970
+ }
971
+ export declare class IonSegment {
972
+ protected z: NgZone;
973
+ protected el: HTMLElement;
974
+ constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
975
+ static ɵfac: i0.ɵɵFactoryDeclaration<IonSegment, never>;
976
+ static ɵcmp: i0.ɵɵComponentDeclaration<IonSegment, "ion-segment", never, { "color": "color"; "disabled": "disabled"; "mode": "mode"; "scrollable": "scrollable"; "selectOnFocus": "selectOnFocus"; "swipeGesture": "swipeGesture"; "value": "value"; }, {}, never, ["*"], true>;
977
+ }
978
+ export declare interface IonSegment extends Components.IonSegment {
979
+ /**
980
+ * Emitted when the value property has changed and any
981
+ dragging pointer has been released from `ion-segment`.
982
+ */
983
+ ionChange: EventEmitter<CustomEvent<IIonSegmentSegmentChangeEventDetail>>;
984
+ }
754
985
  export declare class IonSegmentButton {
755
986
  protected z: NgZone;
756
987
  protected el: HTMLElement;
@@ -760,6 +991,35 @@ export declare class IonSegmentButton {
760
991
  }
761
992
  export declare interface IonSegmentButton extends Components.IonSegmentButton {
762
993
  }
994
+ export declare class IonSelect {
995
+ protected z: NgZone;
996
+ protected el: HTMLElement;
997
+ constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
998
+ static ɵfac: i0.ɵɵFactoryDeclaration<IonSelect, never>;
999
+ static ɵcmp: i0.ɵɵComponentDeclaration<IonSelect, "ion-select", never, { "cancelText": "cancelText"; "color": "color"; "compareWith": "compareWith"; "disabled": "disabled"; "expandedIcon": "expandedIcon"; "fill": "fill"; "interface": "interface"; "interfaceOptions": "interfaceOptions"; "justify": "justify"; "label": "label"; "labelPlacement": "labelPlacement"; "legacy": "legacy"; "mode": "mode"; "multiple": "multiple"; "name": "name"; "okText": "okText"; "placeholder": "placeholder"; "selectedText": "selectedText"; "shape": "shape"; "toggleIcon": "toggleIcon"; "value": "value"; }, {}, never, ["*"], true>;
1000
+ }
1001
+ export declare interface IonSelect extends Components.IonSelect {
1002
+ /**
1003
+ * Emitted when the value has changed.
1004
+ */
1005
+ ionChange: EventEmitter<CustomEvent<IIonSelectSelectChangeEventDetail>>;
1006
+ /**
1007
+ * Emitted when the selection is cancelled.
1008
+ */
1009
+ ionCancel: EventEmitter<CustomEvent<void>>;
1010
+ /**
1011
+ * Emitted when the overlay is dismissed.
1012
+ */
1013
+ ionDismiss: EventEmitter<CustomEvent<void>>;
1014
+ /**
1015
+ * Emitted when the select has focus.
1016
+ */
1017
+ ionFocus: EventEmitter<CustomEvent<void>>;
1018
+ /**
1019
+ * Emitted when the select loses focus.
1020
+ */
1021
+ ionBlur: EventEmitter<CustomEvent<void>>;
1022
+ }
763
1023
  export declare class IonSelectOption {
764
1024
  protected z: NgZone;
765
1025
  protected el: HTMLElement;
@@ -829,6 +1089,38 @@ export declare class IonText {
829
1089
  }
830
1090
  export declare interface IonText extends Components.IonText {
831
1091
  }
1092
+ export declare class IonTextarea {
1093
+ protected z: NgZone;
1094
+ protected el: HTMLElement;
1095
+ constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
1096
+ static ɵfac: i0.ɵɵFactoryDeclaration<IonTextarea, never>;
1097
+ static ɵcmp: i0.ɵɵComponentDeclaration<IonTextarea, "ion-textarea", never, { "autoGrow": "autoGrow"; "autocapitalize": "autocapitalize"; "autofocus": "autofocus"; "clearOnEdit": "clearOnEdit"; "color": "color"; "cols": "cols"; "counter": "counter"; "counterFormatter": "counterFormatter"; "debounce": "debounce"; "disabled": "disabled"; "enterkeyhint": "enterkeyhint"; "errorText": "errorText"; "fill": "fill"; "helperText": "helperText"; "inputmode": "inputmode"; "label": "label"; "labelPlacement": "labelPlacement"; "legacy": "legacy"; "maxlength": "maxlength"; "minlength": "minlength"; "mode": "mode"; "name": "name"; "placeholder": "placeholder"; "readonly": "readonly"; "required": "required"; "rows": "rows"; "shape": "shape"; "spellcheck": "spellcheck"; "value": "value"; "wrap": "wrap"; }, {}, never, ["*"], true>;
1098
+ }
1099
+ export declare interface IonTextarea extends Components.IonTextarea {
1100
+ /**
1101
+ * The `ionChange` event is fired when the user modifies the textarea's value.
1102
+ Unlike the `ionInput` event, the `ionChange` event is fired when
1103
+ the element loses focus after its value has been modified.
1104
+ */
1105
+ ionChange: EventEmitter<CustomEvent<IIonTextareaTextareaChangeEventDetail>>;
1106
+ /**
1107
+ * The `ionInput` event is fired each time the user modifies the textarea's value.
1108
+ Unlike the `ionChange` event, the `ionInput` event is fired for each alteration
1109
+ to the textarea's value. This typically happens for each keystroke as the user types.
1110
+
1111
+ When `clearOnEdit` is enabled, the `ionInput` event will be fired when
1112
+ the user clears the textarea by performing a keydown event.
1113
+ */
1114
+ ionInput: EventEmitter<CustomEvent<IIonTextareaTextareaInputEventDetail>>;
1115
+ /**
1116
+ * Emitted when the input loses focus.
1117
+ */
1118
+ ionBlur: EventEmitter<CustomEvent<FocusEvent>>;
1119
+ /**
1120
+ * Emitted when the input has focus.
1121
+ */
1122
+ ionFocus: EventEmitter<CustomEvent<FocusEvent>>;
1123
+ }
832
1124
  export declare class IonThumbnail {
833
1125
  protected z: NgZone;
834
1126
  protected el: HTMLElement;
@@ -892,6 +1184,28 @@ export declare interface IonToast extends Components.IonToast {
892
1184
  */
893
1185
  didDismiss: EventEmitter<CustomEvent<IIonToastOverlayEventDetail>>;
894
1186
  }
1187
+ export declare class IonToggle {
1188
+ protected z: NgZone;
1189
+ protected el: HTMLElement;
1190
+ constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
1191
+ static ɵfac: i0.ɵɵFactoryDeclaration<IonToggle, never>;
1192
+ static ɵcmp: i0.ɵɵComponentDeclaration<IonToggle, "ion-toggle", never, { "checked": "checked"; "color": "color"; "disabled": "disabled"; "enableOnOffLabels": "enableOnOffLabels"; "justify": "justify"; "labelPlacement": "labelPlacement"; "legacy": "legacy"; "mode": "mode"; "name": "name"; "value": "value"; }, {}, never, ["*"], true>;
1193
+ }
1194
+ export declare interface IonToggle extends Components.IonToggle {
1195
+ /**
1196
+ * Emitted when the user switches the toggle on or off. Does not emit
1197
+ when programmatically changing the value of the `checked` property.
1198
+ */
1199
+ ionChange: EventEmitter<CustomEvent<IIonToggleToggleChangeEventDetail>>;
1200
+ /**
1201
+ * Emitted when the toggle has focus.
1202
+ */
1203
+ ionFocus: EventEmitter<CustomEvent<void>>;
1204
+ /**
1205
+ * Emitted when the toggle loses focus.
1206
+ */
1207
+ ionBlur: EventEmitter<CustomEvent<void>>;
1208
+ }
895
1209
  export declare class IonToolbar {
896
1210
  protected z: NgZone;
897
1211
  protected el: HTMLElement;
@@ -7,5 +7,5 @@ export { IonTabs } from './navigation/tabs';
7
7
  export { provideIonicAngular } from './providers/ionic-angular';
8
8
  export { ActionSheetController, AlertController, LoadingController, MenuController, ModalController, PickerController, PopoverController, ToastController, AnimationController, GestureController, DomController, NavController, Config, Platform, NavParams, IonicRouteStrategy, } from '@ionic/angular/common';
9
9
  export { IonNav } from './navigation/nav';
10
- export { IonCheckbox, IonDatetime, IonInput, IonIcon, IonRadioGroup, IonRadio, IonRange, IonSearchbar, IonSegment, IonSelect, IonTextarea, IonToggle, } from './directives';
10
+ export { IonIcon } from './directives/icon';
11
11
  export * from './directives/proxies';
@@ -1 +0,0 @@
1
- export * from './value-accessor';
@@ -1,2 +0,0 @@
1
- export * from './value-accessor';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb21tb24vc3JjL2RpcmVjdGl2ZXMvY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdmFsdWUtYWNjZXNzb3InO1xuIl19
@@ -1,141 +0,0 @@
1
- import { Directive, HostListener } from '@angular/core';
2
- import { NgControl } from '@angular/forms';
3
- import { raf } from '../../utils/util';
4
- import * as i0 from "@angular/core";
5
- // TODO(FW-2827): types
6
- export class ValueAccessor {
7
- constructor(injector, elementRef) {
8
- this.injector = injector;
9
- this.elementRef = elementRef;
10
- this.onChange = () => {
11
- /**/
12
- };
13
- this.onTouched = () => {
14
- /**/
15
- };
16
- }
17
- writeValue(value) {
18
- this.elementRef.nativeElement.value = this.lastValue = value;
19
- setIonicClasses(this.elementRef);
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.elementRef.nativeElement) {
36
- if (value !== this.lastValue) {
37
- this.lastValue = value;
38
- this.onChange(value);
39
- }
40
- setIonicClasses(this.elementRef);
41
- }
42
- }
43
- _handleBlurEvent(el) {
44
- if (el === this.elementRef.nativeElement) {
45
- this.onTouched();
46
- setIonicClasses(this.elementRef);
47
- }
48
- }
49
- registerOnChange(fn) {
50
- this.onChange = fn;
51
- }
52
- registerOnTouched(fn) {
53
- this.onTouched = fn;
54
- }
55
- setDisabledState(isDisabled) {
56
- this.elementRef.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.elementRef));
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.elementRef);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtYWNjZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb21tb24vc3JjL2RpcmVjdGl2ZXMvY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvdmFsdWUtYWNjZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrRCxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBd0IsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHakUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUV2Qyx1QkFBdUI7QUFHdkIsTUFBTSxPQUFPLGFBQWE7SUFVeEIsWUFBc0IsUUFBa0IsRUFBWSxVQUFzQjtRQUFwRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVksZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVRsRSxhQUFRLEdBQXlCLEdBQUcsRUFBRTtZQUM1QyxJQUFJO1FBQ04sQ0FBQyxDQUFDO1FBQ00sY0FBUyxHQUFlLEdBQUcsRUFBRTtZQUNuQyxJQUFJO1FBQ04sQ0FBQyxDQUFDO0lBSTJFLENBQUM7SUFFOUUsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQzdELGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILGlCQUFpQixDQUFDLEVBQWUsRUFBRSxLQUFVO1FBQzNDLElBQUksRUFBRSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFO1lBQ3hDLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLEtB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QVcsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMxRyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFhLEVBQUUsTUFBYyxFQUFXLEVBQUU7SUFDNUQsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssTUFBTSxDQUFDO0FBQ3RELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIEVsZW1lbnRSZWYsIEluamVjdG9yLCBPbkRlc3Ryb3ksIERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHJhZiB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xuXG4vLyBUT0RPKEZXLTI4MjcpOiB0eXBlc1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBWYWx1ZUFjY2Vzc29yIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4ge1xuICAgIC8qKi9cbiAgfTtcbiAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7XG4gICAgLyoqL1xuICB9O1xuICBwcm90ZWN0ZWQgbGFzdFZhbHVlOiBhbnk7XG4gIHByaXZhdGUgc3RhdHVzQ2hhbmdlcz86IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLCBwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMubGFzdFZhbHVlID0gdmFsdWU7XG4gICAgc2V0SW9uaWNDbGFzc2VzKHRoaXMuZWxlbWVudFJlZik7XG4gIH1cblxuICAvKipcbiAgICogTm90aWZpZXMgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIG9mIGEgY2hhbmdlIGluIHRoZSB2YWx1ZSBvZiB0aGUgY29udHJvbC5cbiAgICpcbiAgICogVGhpcyBpcyBjYWxsZWQgYnkgZWFjaCBvZiB0aGUgVmFsdWVBY2Nlc3NvciBkaXJlY3RpdmVzIHdoZW4gd2Ugd2FudCB0byB1cGRhdGVcbiAgICogdGhlIHN0YXR1cyBhbmQgdmFsaWRpdHkgb2YgdGhlIGZvcm0gY29udHJvbC4gRm9yIGV4YW1wbGUgd2l0aCB0ZXh0IGNvbXBvbmVudHMgdGhpc1xuICAgKiBpcyBjYWxsZWQgd2hlbiB0aGUgaW9uSW5wdXQgZXZlbnQgaXMgZmlyZWQuIEZvciBzZWxlY3QgY29tcG9uZW50cyB0aGlzIGlzIGNhbGxlZFxuICAgKiB3aGVuIHRoZSBpb25DaGFuZ2UgZXZlbnQgaXMgZmlyZWQuXG4gICAqXG4gICAqIFRoaXMgYWxzbyB1cGRhdGVzIHRoZSBJb25pYyBmb3JtIHN0YXR1cyBjbGFzc2VzIG9uIHRoZSBlbGVtZW50LlxuICAgKlxuICAgKiBAcGFyYW0gZWwgVGhlIGNvbXBvbmVudCBlbGVtZW50LlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIG5ldyB2YWx1ZSBvZiB0aGUgY29udHJvbC5cbiAgICovXG4gIGhhbmRsZVZhbHVlQ2hhbmdlKGVsOiBIVE1MRWxlbWVudCwgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmIChlbCA9PT0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5sYXN0VmFsdWUpIHtcbiAgICAgICAgdGhpcy5sYXN0VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICB9XG4gICAgICBzZXRJb25pY0NsYXNzZXModGhpcy5lbGVtZW50UmVmKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdpb25CbHVyJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIF9oYW5kbGVCbHVyRXZlbnQoZWw6IGFueSk6IHZvaWQge1xuICAgIGlmIChlbCA9PT0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICBzZXRJb25pY0NsYXNzZXModGhpcy5lbGVtZW50UmVmKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXR1c0NoYW5nZXMpIHtcbiAgICAgIHRoaXMuc3RhdHVzQ2hhbmdlcy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBsZXQgbmdDb250cm9sO1xuICAgIHRyeSB7XG4gICAgICBuZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldDxOZ0NvbnRyb2w+KE5nQ29udHJvbCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvKiBObyBGb3JtQ29udHJvbCBvciBuZ01vZGVsIGJpbmRpbmcgKi9cbiAgICB9XG5cbiAgICBpZiAoIW5nQ29udHJvbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIExpc3RlbiBmb3IgY2hhbmdlcyBpbiB2YWxpZGl0eSwgZGlzYWJsZWQsIG9yIHBlbmRpbmcgc3RhdGVzXG4gICAgaWYgKG5nQ29udHJvbC5zdGF0dXNDaGFuZ2VzKSB7XG4gICAgICB0aGlzLnN0YXR1c0NoYW5nZXMgPSBuZ0NvbnRyb2wuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gc2V0SW9uaWNDbGFzc2VzKHRoaXMuZWxlbWVudFJlZikpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRPRE8gRlctMjc4NzogUmVtb3ZlIHRoaXMgaW4gZmF2b3Igb2YgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTA4ODdcbiAgICAgKiB3aGVuZXZlciBpdCBpcyBpbXBsZW1lbnRlZC5cbiAgICAgKi9cbiAgICBjb25zdCBmb3JtQ29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sIGFzIGFueTtcbiAgICBpZiAoZm9ybUNvbnRyb2wpIHtcbiAgICAgIGNvbnN0IG1ldGhvZHNUb1BhdGNoID0gWydtYXJrQXNUb3VjaGVkJywgJ21hcmtBbGxBc1RvdWNoZWQnLCAnbWFya0FzVW50b3VjaGVkJywgJ21hcmtBc0RpcnR5JywgJ21hcmtBc1ByaXN0aW5lJ107XG4gICAgICBtZXRob2RzVG9QYXRjaC5mb3JFYWNoKChtZXRob2QpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBmb3JtQ29udHJvbFttZXRob2RdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIGNvbnN0IG9sZEZuID0gZm9ybUNvbnRyb2xbbWV0aG9kXS5iaW5kKGZvcm1Db250cm9sKTtcbiAgICAgICAgICBmb3JtQ29udHJvbFttZXRob2RdID0gKC4uLnBhcmFtczogYW55W10pID0+IHtcbiAgICAgICAgICAgIG9sZEZuKC4uLnBhcmFtcyk7XG4gICAgICAgICAgICBzZXRJb25pY0NsYXNzZXModGhpcy5lbGVtZW50UmVmKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHNldElvbmljQ2xhc3NlcyA9IChlbGVtZW50OiBFbGVtZW50UmVmKTogdm9pZCA9PiB7XG4gIHJhZigoKSA9PiB7XG4gICAgY29uc3QgaW5wdXQgPSBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBjb25zdCBoYXNWYWx1ZSA9IGlucHV0LnZhbHVlICE9IG51bGwgJiYgaW5wdXQudmFsdWUudG9TdHJpbmcoKS5sZW5ndGggPiAwO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBnZXRDbGFzc2VzKGlucHV0KTtcbiAgICBzZXRDbGFzc2VzKGlucHV0LCBjbGFzc2VzKTtcbiAgICBjb25zdCBpdGVtID0gaW5wdXQuY2xvc2VzdCgnaW9uLWl0ZW0nKTtcbiAgICBpZiAoaXRlbSkge1xuICAgICAgaWYgKGhhc1ZhbHVlKSB7XG4gICAgICAgIHNldENsYXNzZXMoaXRlbSwgWy4uLmNsYXNzZXMsICdpdGVtLWhhcy12YWx1ZSddKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldENsYXNzZXMoaXRlbSwgY2xhc3Nlcyk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn07XG5cbmNvbnN0IGdldENsYXNzZXMgPSAoZWxlbWVudDogSFRNTEVsZW1lbnQpID0+IHtcbiAgY29uc3QgY2xhc3NMaXN0ID0gZWxlbWVudC5jbGFzc0xpc3Q7XG4gIGNvbnN0IGNsYXNzZXM6IHN0cmluZ1tdID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY2xhc3NMaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgaXRlbSA9IGNsYXNzTGlzdC5pdGVtKGkpO1xuICAgIGlmIChpdGVtICE9PSBudWxsICYmIHN0YXJ0c1dpdGgoaXRlbSwgJ25nLScpKSB7XG4gICAgICBjbGFzc2VzLnB1c2goYGlvbi0ke2l0ZW0uc3Vic3RyaW5nKDMpfWApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gY2xhc3Nlcztcbn07XG5cbmNvbnN0IHNldENsYXNzZXMgPSAoZWxlbWVudDogSFRNTEVsZW1lbnQsIGNsYXNzZXM6IHN0cmluZ1tdKSA9PiB7XG4gIGNvbnN0IGNsYXNzTGlzdCA9IGVsZW1lbnQuY2xhc3NMaXN0O1xuICBjbGFzc0xpc3QucmVtb3ZlKCdpb24tdmFsaWQnLCAnaW9uLWludmFsaWQnLCAnaW9uLXRvdWNoZWQnLCAnaW9uLXVudG91Y2hlZCcsICdpb24tZGlydHknLCAnaW9uLXByaXN0aW5lJyk7XG4gIGNsYXNzTGlzdC5hZGQoLi4uY2xhc3Nlcyk7XG59O1xuXG5jb25zdCBzdGFydHNXaXRoID0gKGlucHV0OiBzdHJpbmcsIHNlYXJjaDogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiBpbnB1dC5zdWJzdHJpbmcoMCwgc2VhcmNoLmxlbmd0aCkgPT09IHNlYXJjaDtcbn07XG4iXX0=
@@ -1,10 +0,0 @@
1
- export const raf = (h) => {
2
- if (typeof __zone_symbol__requestAnimationFrame === 'function') {
3
- return __zone_symbol__requestAnimationFrame(h);
4
- }
5
- if (typeof requestAnimationFrame === 'function') {
6
- return requestAnimationFrame(h);
7
- }
8
- return setTimeout(h);
9
- };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbW1vbi9zcmMvdXRpbHMvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFNLEVBQU8sRUFBRTtJQUNqQyxJQUFJLE9BQU8sb0NBQW9DLEtBQUssVUFBVSxFQUFFO1FBQzlELE9BQU8sb0NBQW9DLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDaEQ7SUFDRCxJQUFJLE9BQU8scUJBQXFCLEtBQUssVUFBVSxFQUFFO1FBQy9DLE9BQU8scUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakM7SUFDRCxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJkZWNsYXJlIGNvbnN0IF9fem9uZV9zeW1ib2xfX3JlcXVlc3RBbmltYXRpb25GcmFtZTogYW55O1xuZGVjbGFyZSBjb25zdCByZXF1ZXN0QW5pbWF0aW9uRnJhbWU6IGFueTtcblxuZXhwb3J0IGNvbnN0IHJhZiA9IChoOiBhbnkpOiBhbnkgPT4ge1xuICBpZiAodHlwZW9mIF9fem9uZV9zeW1ib2xfX3JlcXVlc3RBbmltYXRpb25GcmFtZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBfX3pvbmVfc3ltYm9sX19yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoaCk7XG4gIH1cbiAgaWYgKHR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGgpO1xuICB9XG4gIHJldHVybiBzZXRUaW1lb3V0KGgpO1xufTtcbiJdfQ==