@openmrs/ngx-formentry 3.0.1-pre.61 → 3.0.1-pre.62

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 (102) hide show
  1. package/bundles/openmrs-ngx-formentry.umd.js +841 -869
  2. package/bundles/openmrs-ngx-formentry.umd.js.map +1 -1
  3. package/components/afe-ng-select.component.d.ts +3 -4
  4. package/components/appointments-overview/appointments-overview.component.d.ts +3 -4
  5. package/components/check-box/checkbox.component.d.ts +3 -4
  6. package/components/custom-component-wrapper/custom-component-wrapper.component.d.ts +2 -4
  7. package/components/custom-control-wrapper/custom-control-wrapper.component.d.ts +1 -1
  8. package/components/date-time-picker/date-picker/date-picker.component.d.ts +3 -3
  9. package/components/date-time-picker/date-time-picker.component.d.ts +4 -5
  10. package/components/date-time-picker/picker-modal/modal.component.d.ts +4 -5
  11. package/components/date-time-picker/time-picker/time-picker.component.d.ts +3 -3
  12. package/components/file-upload/file-upload.component.d.ts +2 -2
  13. package/components/input/input.directive.d.ts +4 -4
  14. package/components/input/input.module.d.ts +1 -1
  15. package/components/input/label.component.d.ts +12 -12
  16. package/components/input/text-area.directive.d.ts +4 -4
  17. package/components/ngx-datetime-picker/ngx-datetime-picker.component.d.ts +1 -1
  18. package/components/ngx-pick-datetime/lib/date-time/calendar-body.component.d.ts +5 -9
  19. package/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.d.ts +2 -5
  20. package/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.d.ts +6 -10
  21. package/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.d.ts +3 -6
  22. package/components/ngx-pick-datetime/lib/date-time/calendar.component.d.ts +4 -11
  23. package/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.d.ts +5 -6
  24. package/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.d.ts +15 -19
  25. package/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.d.ts +9 -15
  26. package/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.d.ts +5 -9
  27. package/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.d.ts +3 -7
  28. package/components/ngx-pick-datetime/lib/date-time/timer-box.component.d.ts +2 -5
  29. package/components/ngx-pick-datetime/lib/date-time/timer.component.d.ts +5 -9
  30. package/components/ngx-pick-datetime/lib/dialog/dialog-container.component.d.ts +15 -16
  31. package/components/ngx-remote-select/ngx-remote-select.component.d.ts +5 -5
  32. package/components/ngx-tabset/components/ngx-tab-set.component.d.ts +2 -2
  33. package/components/ngx-tabset/components/tab.component.d.ts +1 -1
  34. package/components/ngx-tabset/directives/hover-class.directive.d.ts +2 -2
  35. package/components/number-input/number-input.component.d.ts +2 -2
  36. package/components/radio-button/radio.component.d.ts +3 -4
  37. package/components/select/optgroup.directive.d.ts +3 -3
  38. package/components/select/option.directive.d.ts +3 -3
  39. package/components/select/select.component.d.ts +6 -6
  40. package/components/select/select.module.d.ts +1 -1
  41. package/esm2015/components/afe-ng-select.component.js +4 -5
  42. package/esm2015/components/appointments-overview/appointments-overview.component.js +3 -4
  43. package/esm2015/components/check-box/checkbox.component.js +3 -4
  44. package/esm2015/components/custom-component-wrapper/custom-component-wrapper.component.js +3 -4
  45. package/esm2015/components/custom-control-wrapper/custom-control-wrapper.component.js +3 -3
  46. package/esm2015/components/date-time-picker/date-picker/date-picker.component.js +11 -11
  47. package/esm2015/components/date-time-picker/date-time-picker.component.js +7 -8
  48. package/esm2015/components/date-time-picker/picker-modal/modal.component.js +6 -7
  49. package/esm2015/components/date-time-picker/time-picker/time-picker.component.js +11 -11
  50. package/esm2015/components/file-upload/file-upload.component.js +3 -3
  51. package/esm2015/components/file-upload/secure.pipe.js +1 -3
  52. package/esm2015/components/input/input.directive.js +7 -8
  53. package/esm2015/components/input/input.module.js +7 -7
  54. package/esm2015/components/input/label.component.js +18 -19
  55. package/esm2015/components/input/text-area.directive.js +7 -8
  56. package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.component.js +4 -4
  57. package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.module.js +2 -3
  58. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-body.component.js +13 -20
  59. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.js +11 -16
  60. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.js +20 -24
  61. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.js +14 -19
  62. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar.component.js +13 -22
  63. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.js +18 -26
  64. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.js +61 -53
  65. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.js +82 -73
  66. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.js +20 -23
  67. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.js +6 -11
  68. package/esm2015/components/ngx-pick-datetime/lib/date-time/timer-box.component.js +12 -17
  69. package/esm2015/components/ngx-pick-datetime/lib/date-time/timer.component.js +19 -23
  70. package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog-container.component.js +52 -41
  71. package/esm2015/components/ngx-remote-select/ngx-remote-select.component.js +6 -6
  72. package/esm2015/components/ngx-tabset/components/ngx-tab-set.component.js +6 -6
  73. package/esm2015/components/ngx-tabset/components/tab.component.js +3 -3
  74. package/esm2015/components/ngx-tabset/directives/hover-class.directive.js +4 -5
  75. package/esm2015/components/number-input/number-input.component.js +6 -6
  76. package/esm2015/components/radio-button/radio.component.js +3 -4
  77. package/esm2015/components/select/optgroup.directive.js +6 -8
  78. package/esm2015/components/select/option.directive.js +6 -8
  79. package/esm2015/components/select/select.component.js +16 -274
  80. package/esm2015/components/select/select.module.js +7 -7
  81. package/esm2015/form-entry/data-sources/data-sources.js +1 -2
  82. package/esm2015/form-entry/directives/collapse.directive.js +5 -9
  83. package/esm2015/form-entry/directives/{historical-value-directive.js → historical-value.directive.js} +3 -3
  84. package/esm2015/form-entry/error-renderer/error-renderer.component.js +3 -4
  85. package/esm2015/form-entry/expression-runner/expression-runner.js +1 -2
  86. package/esm2015/form-entry/form-entry.module.js +2 -2
  87. package/esm2015/form-entry/form-factory/form.js +1 -5
  88. package/esm2015/form-entry/form-renderer/form-renderer.component.js +9 -10
  89. package/esm2015/form-entry/question-models/interfaces/date-question-options.js +1 -1
  90. package/esm2015/form-entry/value-adapters/encounter.adapter.js +1 -2
  91. package/esm2015/form-entry/value-adapters/obs-adapter-helper.js +1 -6
  92. package/esm2015/form-entry/value-adapters/obs.adapter.js +1 -5
  93. package/esm2015/form-entry/value-adapters/order.adapter.js +1 -2
  94. package/esm2015/form-entry/value-adapters/person-attribute.adapter.js +1 -2
  95. package/fesm2015/openmrs-ngx-formentry.js +637 -927
  96. package/fesm2015/openmrs-ngx-formentry.js.map +1 -1
  97. package/form-entry/directives/collapse.directive.d.ts +1 -1
  98. package/form-entry/directives/{historical-value-directive.d.ts → historical-value.directive.d.ts} +1 -1
  99. package/form-entry/error-renderer/error-renderer.component.d.ts +2 -4
  100. package/form-entry/form-entry.module.d.ts +1 -1
  101. package/form-entry/form-renderer/form-renderer.component.d.ts +1 -1
  102. package/package.json +1 -1
@@ -1,22 +1,27 @@
1
- /**
2
- * date-time-picker-container.component
3
- */
4
- import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, OnInit } from '@angular/core';
1
+ import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef } from '@angular/core';
5
2
  import { AnimationEvent } from '@angular/animations';
6
- import { OwlDateTimeIntl } from './date-time-picker-intl.service';
7
- import { OwlCalendarComponent } from './calendar.component';
8
- import { OwlTimerComponent } from './timer.component';
3
+ import { Observable } from 'rxjs';
9
4
  import { DateTimeAdapter } from './adapter/date-time-adapter.class';
5
+ import { OwlCalendarComponent } from './calendar.component';
10
6
  import { OwlDateTime, PickerType } from './date-time.class';
11
- import { Observable } from 'rxjs';
7
+ import { OwlDateTimeIntl } from './date-time-picker-intl.service';
8
+ import { OwlTimerComponent } from './timer.component';
12
9
  import * as i0 from "@angular/core";
13
- export declare class OwlDateTimeContainerComponent<T> implements OnInit, AfterContentInit, AfterViewInit {
10
+ export declare class OwlDateTimeContainerComponent<T> implements AfterContentInit, AfterViewInit {
14
11
  private cdRef;
15
12
  private elmRef;
16
13
  private pickerIntl;
17
14
  private dateTimeAdapter;
18
15
  calendar: OwlCalendarComponent<T>;
19
16
  timer: OwlTimerComponent<T>;
17
+ get owlDTContainerClass(): boolean;
18
+ get owlDTPopupContainerClass(): boolean;
19
+ get owlDTDialogContainerClass(): boolean;
20
+ get owlDTInlineContainerClass(): boolean;
21
+ get owlDTContainerDisabledClass(): boolean;
22
+ get owlDTContainerId(): string;
23
+ get owlDTContainerAnimation(): "" | "enter";
24
+ handleContainerAnimationDone(event: AnimationEvent): void;
20
25
  picker: OwlDateTime<T>;
21
26
  activeSelectedIndex: number;
22
27
  /**
@@ -64,18 +69,9 @@ export declare class OwlDateTimeContainerComponent<T> implements OnInit, AfterCo
64
69
  * */
65
70
  get showControlButtons(): boolean;
66
71
  get containerElm(): HTMLElement;
67
- get owlDTContainerClass(): boolean;
68
- get owlDTPopupContainerClass(): boolean;
69
- get owlDTDialogContainerClass(): boolean;
70
- get owlDTInlineContainerClass(): boolean;
71
- get owlDTContainerDisabledClass(): boolean;
72
- get owlDTContainerId(): string;
73
- get owlDTContainerAnimation(): any;
74
72
  constructor(cdRef: ChangeDetectorRef, elmRef: ElementRef, pickerIntl: OwlDateTimeIntl, dateTimeAdapter: DateTimeAdapter<T>);
75
- ngOnInit(): void;
76
73
  ngAfterContentInit(): void;
77
74
  ngAfterViewInit(): void;
78
- handleContainerAnimationDone(event: AnimationEvent): void;
79
75
  dateSelected(date: T): void;
80
76
  timeSelected(time: T): void;
81
77
  /**
@@ -121,5 +117,5 @@ export declare class OwlDateTimeContainerComponent<T> implements OnInit, AfterCo
121
117
  * */
122
118
  private focusPicker;
123
119
  static ɵfac: i0.ɵɵFactoryDeclaration<OwlDateTimeContainerComponent<any>, [null, null, null, { optional: true; }]>;
124
- static ɵcmp: i0.ɵɵComponentDeclaration<OwlDateTimeContainerComponent<any>, "owl-date-time-container", ["owlDateTimeContainer"], {}, {}, never, never>;
120
+ static ɵcmp: i0.ɵɵComponentDeclaration<OwlDateTimeContainerComponent<any>, "ofe-owl-date-time-container", ["owlDateTimeContainer"], {}, {}, never, never>;
125
121
  }
@@ -1,6 +1,3 @@
1
- /**
2
- * date-time-picker-input.directive
3
- */
4
1
  import { AfterContentInit, ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2 } from '@angular/core';
5
2
  import { AbstractControl, ControlValueAccessor, Validator } from '@angular/forms';
6
3
  import { OwlDateTimeComponent } from './date-time-picker.component';
@@ -15,6 +12,15 @@ export declare class OwlDateTimeInputDirective<T> implements OnInit, AfterConten
15
12
  private renderer;
16
13
  private dateTimeAdapter;
17
14
  private dateTimeFormats;
15
+ get owlDateTimeInputAriaHaspopup(): boolean;
16
+ get maxIso8601(): string;
17
+ get minIso8601(): string;
18
+ get owlDateTimeInputAriaOwns(): string;
19
+ get owlDateTimeInputDisabled(): boolean;
20
+ handleBlurOnHost($event: Event): void;
21
+ handleChangeOnHost($event: Event): void;
22
+ handleInputOnHost($event: any): void;
23
+ handleKeydownOnHost($event: KeyboardEvent): void;
18
24
  /**
19
25
  * The date time picker that this input is associated with.
20
26
  * */
@@ -39,11 +45,6 @@ export declare class OwlDateTimeInputDirective<T> implements OnInit, AfterConten
39
45
  get elementRef(): ElementRef;
40
46
  get isInSingleMode(): boolean;
41
47
  get isInRangeMode(): boolean;
42
- get owlDateTimeInputAriaHaspopup(): boolean;
43
- get owlDateTimeInputAriaOwns(): string;
44
- get minIso8601(): string;
45
- get maxIso8601(): string;
46
- get owlDateTimeInputDisabled(): boolean;
47
48
  private _dateTimeFilter;
48
49
  /** Whether the date time picker's input is disabled. */
49
50
  private _disabled;
@@ -108,13 +109,6 @@ export declare class OwlDateTimeInputDirective<T> implements OnInit, AfterConten
108
109
  [key: string]: any;
109
110
  };
110
111
  registerOnValidatorChange(fn: () => void): void;
111
- /**
112
- * Open the picker when user hold alt + DOWN_ARROW
113
- * */
114
- handleKeydownOnHost(event: KeyboardEvent): void;
115
- handleBlurOnHost(event: Event): void;
116
- handleInputOnHost(event: any): void;
117
- handleChangeOnHost(event: any): void;
118
112
  /**
119
113
  * Set the native input property 'value'
120
114
  */
@@ -1,24 +1,20 @@
1
- /**
2
- * date-time-picker-trigger.directive
3
- */
4
- import { AfterContentInit, ChangeDetectorRef, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
1
+ import { AfterContentInit, ChangeDetectorRef, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
5
2
  import { OwlDateTimeComponent } from './date-time-picker.component';
6
3
  import * as i0 from "@angular/core";
7
- export declare class OwlDateTimeTriggerDirective<T> implements OnInit, OnChanges, AfterContentInit, OnDestroy {
4
+ export declare class OwlDateTimeTriggerDirective<T> implements OnChanges, AfterContentInit, OnDestroy {
8
5
  protected changeDetector: ChangeDetectorRef;
9
6
  dtPicker: OwlDateTimeComponent<T>;
7
+ get owlDTTriggerDisabledClass(): boolean;
8
+ handleClickOnHost($event: Event): void;
10
9
  private _disabled;
11
10
  get disabled(): boolean;
12
11
  set disabled(value: boolean);
13
- get owlDTTriggerDisabledClass(): boolean;
14
12
  private stateChanges;
15
13
  constructor(changeDetector: ChangeDetectorRef);
16
- ngOnInit(): void;
17
14
  ngOnChanges(changes: SimpleChanges): void;
18
15
  ngAfterContentInit(): void;
19
16
  ngOnDestroy(): void;
20
- handleClickOnHost(event: Event): void;
21
17
  private watchStateChanges;
22
18
  static ɵfac: i0.ɵɵFactoryDeclaration<OwlDateTimeTriggerDirective<any>, never>;
23
- static ɵdir: i0.ɵɵDirectiveDeclaration<OwlDateTimeTriggerDirective<any>, "[owlDateTimeTrigger]", never, { "dtPicker": "owlDateTimeTrigger"; "disabled": "disabled"; }, {}, never>;
19
+ static ɵdir: i0.ɵɵDirectiveDeclaration<OwlDateTimeTriggerDirective<any>, "[ofeOwlDateTimeTrigger]", never, { "dtPicker": "ofeOwlDateTimeTrigger"; "disabled": "disabled"; }, {}, never>;
24
20
  }
@@ -1,7 +1,4 @@
1
- /**
2
- * date-time-picker.component
3
- */
4
- import { ChangeDetectorRef, EventEmitter, InjectionToken, NgZone, OnDestroy, OnInit, ViewContainerRef } from '@angular/core';
1
+ import { ChangeDetectorRef, EventEmitter, InjectionToken, NgZone, OnDestroy, ViewContainerRef } from '@angular/core';
5
2
  import { BlockScrollStrategy, Overlay, ScrollStrategy } from '@angular/cdk/overlay';
6
3
  import { OwlDateTimeInputDirective } from './date-time-picker-input.directive';
7
4
  import { DateTimeAdapter } from './adapter/date-time-adapter.class';
@@ -19,7 +16,7 @@ export declare const OWL_DTPICKER_SCROLL_STRATEGY_PROVIDER: {
19
16
  deps: (typeof Overlay)[];
20
17
  useFactory: typeof OWL_DTPICKER_SCROLL_STRATEGY_PROVIDER_FACTORY;
21
18
  };
22
- export declare class OwlDateTimeComponent<T> extends OwlDateTime<T> implements OnInit, OnDestroy {
19
+ export declare class OwlDateTimeComponent<T> extends OwlDateTime<T> implements OnDestroy {
23
20
  private overlay;
24
21
  private viewContainerRef;
25
22
  private dialogService;
@@ -118,7 +115,6 @@ export declare class OwlDateTimeComponent<T> extends OwlDateTime<T> implements O
118
115
  get isInRangeMode(): boolean;
119
116
  private defaultScrollStrategy;
120
117
  constructor(overlay: Overlay, viewContainerRef: ViewContainerRef, dialogService: OwlDialogService, ngZone: NgZone, changeDetector: ChangeDetectorRef, dateTimeAdapter: DateTimeAdapter<T>, defaultScrollStrategy: any, dateTimeFormats: OwlDateTimeFormats, document: any);
121
- ngOnInit(): void;
122
118
  ngOnDestroy(): void;
123
119
  registerInput(input: OwlDateTimeInputDirective<T>): void;
124
120
  open(): void;
@@ -156,5 +152,5 @@ export declare class OwlDateTimeComponent<T> extends OwlDateTime<T> implements O
156
152
  * */
157
153
  private createPopupPositionStrategy;
158
154
  static ɵfac: i0.ɵɵFactoryDeclaration<OwlDateTimeComponent<any>, [null, null, null, null, null, { optional: true; }, null, { optional: true; }, { optional: true; }]>;
159
- static ɵcmp: i0.ɵɵComponentDeclaration<OwlDateTimeComponent<any>, "owl-date-time", ["owlDateTime"], { "backdropClass": "backdropClass"; "panelClass": "panelClass"; "startAt": "startAt"; "pickerType": "pickerType"; "pickerMode": "pickerMode"; "disabled": "disabled"; "opened": "opened"; "scrollStrategy": "scrollStrategy"; }, { "afterPickerClosed": "afterPickerClosed"; "afterPickerOpen": "afterPickerOpen"; "yearSelected": "yearSelected"; "monthSelected": "monthSelected"; }, never, never>;
155
+ static ɵcmp: i0.ɵɵComponentDeclaration<OwlDateTimeComponent<any>, "ofe-owl-date-time", ["owlDateTime"], { "backdropClass": "backdropClass"; "panelClass": "panelClass"; "startAt": "startAt"; "pickerType": "pickerType"; "pickerMode": "pickerMode"; "disabled": "disabled"; "opened": "opened"; "scrollStrategy": "scrollStrategy"; }, { "afterPickerClosed": "afterPickerClosed"; "afterPickerOpen": "afterPickerOpen"; "yearSelected": "yearSelected"; "monthSelected": "monthSelected"; }, never, never>;
160
156
  }
@@ -1,9 +1,7 @@
1
- /**
2
- * timer-box.component
3
- */
4
1
  import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
5
2
  import * as i0 from "@angular/core";
6
3
  export declare class OwlTimerBoxComponent implements OnInit, OnDestroy {
4
+ get owlDTTimerBoxClass(): boolean;
7
5
  showDivider: boolean;
8
6
  upBtnAriaLabel: string;
9
7
  upBtnDisabled: boolean;
@@ -24,7 +22,6 @@ export declare class OwlTimerBoxComponent implements OnInit, OnDestroy {
24
22
  private inputStream;
25
23
  private inputStreamSub;
26
24
  get displayValue(): number;
27
- get owlDTTimerBoxClass(): boolean;
28
25
  constructor();
29
26
  ngOnInit(): void;
30
27
  ngOnDestroy(): void;
@@ -34,5 +31,5 @@ export declare class OwlTimerBoxComponent implements OnInit, OnDestroy {
34
31
  private updateValue;
35
32
  private updateValueViaInput;
36
33
  static ɵfac: i0.ɵɵFactoryDeclaration<OwlTimerBoxComponent, never>;
37
- static ɵcmp: i0.ɵɵComponentDeclaration<OwlTimerBoxComponent, "owl-date-time-timer-box", ["owlDateTimeTimerBox"], { "showDivider": "showDivider"; "upBtnAriaLabel": "upBtnAriaLabel"; "upBtnDisabled": "upBtnDisabled"; "downBtnAriaLabel": "downBtnAriaLabel"; "downBtnDisabled": "downBtnDisabled"; "boxValue": "boxValue"; "value": "value"; "min": "min"; "max": "max"; "step": "step"; "inputLabel": "inputLabel"; }, { "valueChange": "valueChange"; "inputChange": "inputChange"; }, never, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<OwlTimerBoxComponent, "ofe-owl-date-time-timer-box", ["owlDateTimeTimerBox"], { "showDivider": "showDivider"; "upBtnAriaLabel": "upBtnAriaLabel"; "upBtnDisabled": "upBtnDisabled"; "downBtnAriaLabel": "downBtnAriaLabel"; "downBtnDisabled": "downBtnDisabled"; "boxValue": "boxValue"; "value": "value"; "min": "min"; "max": "max"; "step": "step"; "inputLabel": "inputLabel"; }, { "valueChange": "valueChange"; "inputChange": "inputChange"; }, never, never>;
38
35
  }
@@ -1,16 +1,15 @@
1
- /**
2
- * timer.component
3
- */
4
- import { ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnInit } from '@angular/core';
1
+ import { ChangeDetectorRef, ElementRef, EventEmitter, NgZone } from '@angular/core';
5
2
  import { OwlDateTimeIntl } from './date-time-picker-intl.service';
6
3
  import { DateTimeAdapter } from './adapter/date-time-adapter.class';
7
4
  import * as i0 from "@angular/core";
8
- export declare class OwlTimerComponent<T> implements OnInit {
5
+ export declare class OwlTimerComponent<T> {
9
6
  private ngZone;
10
7
  private elmRef;
11
8
  private pickerIntl;
12
9
  private cdRef;
13
10
  private dateTimeAdapter;
11
+ get owlDTTimeTabIndex(): number;
12
+ get owlDTTimerClass(): boolean;
14
13
  /** The current picker moment */
15
14
  private _pickerMoment;
16
15
  get pickerMoment(): T;
@@ -61,10 +60,7 @@ export declare class OwlTimerComponent<T> implements OnInit {
61
60
  get downSecondButtonLabel(): string;
62
61
  get hour12ButtonLabel(): string;
63
62
  selectedChange: EventEmitter<T>;
64
- get owlDTTimerClass(): boolean;
65
- get owlDTTimeTabIndex(): number;
66
63
  constructor(ngZone: NgZone, elmRef: ElementRef, pickerIntl: OwlDateTimeIntl, cdRef: ChangeDetectorRef, dateTimeAdapter: DateTimeAdapter<T>);
67
- ngOnInit(): void;
68
64
  /**
69
65
  * Focus to the host element
70
66
  * */
@@ -128,5 +124,5 @@ export declare class OwlTimerComponent<T> implements OnInit {
128
124
  */
129
125
  private getValidDate;
130
126
  static ɵfac: i0.ɵɵFactoryDeclaration<OwlTimerComponent<any>, [null, null, null, null, { optional: true; }]>;
131
- static ɵcmp: i0.ɵɵComponentDeclaration<OwlTimerComponent<any>, "owl-date-time-timer", ["owlDateTimeTimer"], { "pickerMoment": "pickerMoment"; "minDateTime": "minDateTime"; "maxDateTime": "maxDateTime"; "showSecondsTimer": "showSecondsTimer"; "hour12Timer": "hour12Timer"; "stepHour": "stepHour"; "stepMinute": "stepMinute"; "stepSecond": "stepSecond"; }, { "selectedChange": "selectedChange"; }, never, never>;
127
+ static ɵcmp: i0.ɵɵComponentDeclaration<OwlTimerComponent<any>, "ofe-owl-date-time-timer", ["owlDateTimeTimer"], { "pickerMoment": "pickerMoment"; "minDateTime": "minDateTime"; "maxDateTime": "maxDateTime"; "showSecondsTimer": "showSecondsTimer"; "hour12Timer": "hour12Timer"; "stepHour": "stepHour"; "stepMinute": "stepMinute"; "stepSecond": "stepSecond"; }, { "selectedChange": "selectedChange"; }, never, never>;
132
128
  }
@@ -1,17 +1,26 @@
1
- /**
2
- * dialog-container.component
3
- */
4
- import { ChangeDetectorRef, ComponentRef, ElementRef, EmbeddedViewRef, EventEmitter, OnInit } from '@angular/core';
1
+ import { ChangeDetectorRef, ComponentRef, ElementRef, EmbeddedViewRef, EventEmitter } from '@angular/core';
5
2
  import { AnimationEvent } from '@angular/animations';
6
3
  import { FocusTrapFactory } from '@angular/cdk/a11y';
7
4
  import { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
8
5
  import { OwlDialogConfig } from './dialog-config.class';
9
6
  import * as i0 from "@angular/core";
10
- export declare class OwlDialogContainerComponent extends BasePortalOutlet implements OnInit {
7
+ export declare class OwlDialogContainerComponent extends BasePortalOutlet {
11
8
  private changeDetector;
12
9
  private elementRef;
13
10
  private focusTrapFactory;
14
11
  private document;
12
+ get owlDialogContainerTabIndex(): number;
13
+ get owlDialogContainerClass(): boolean;
14
+ get owlDialogContainerId(): string;
15
+ get owlDialogContainerRole(): "dialog" | "alertdialog";
16
+ get owlDialogContainerAriaLabelledby(): string;
17
+ get owlDialogContainerAriaDescribedby(): string;
18
+ get owlDialogContainerAnimation(): {
19
+ value: "enter" | "exit" | "void";
20
+ params: any;
21
+ };
22
+ onAnimationStart(event: AnimationEvent): void;
23
+ onAnimationDone(event: AnimationEvent): void;
15
24
  portalOutlet: CdkPortalOutlet;
16
25
  /** The class that traps and manages focus within the dialog. */
17
26
  private focusTrap;
@@ -25,23 +34,13 @@ export declare class OwlDialogContainerComponent extends BasePortalOutlet implem
25
34
  private state;
26
35
  private params;
27
36
  private elementFocusedBeforeDialogWasOpened;
28
- get owlDialogContainerClass(): boolean;
29
- get owlDialogContainerTabIndex(): number;
30
- get owlDialogContainerId(): string;
31
- get owlDialogContainerRole(): string;
32
- get owlDialogContainerAriaLabelledby(): string;
33
- get owlDialogContainerAriaDescribedby(): string;
34
- get owlDialogContainerAnimation(): any;
35
37
  constructor(changeDetector: ChangeDetectorRef, elementRef: ElementRef, focusTrapFactory: FocusTrapFactory, document: any);
36
- ngOnInit(): void;
37
38
  /**
38
39
  * Attach a ComponentPortal as content to this dialog container.
39
40
  */
40
41
  attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T>;
41
42
  attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C>;
42
43
  setConfig(config: OwlDialogConfig): void;
43
- onAnimationStart(event: AnimationEvent): void;
44
- onAnimationDone(event: AnimationEvent): void;
45
44
  startExitAnimation(): void;
46
45
  /**
47
46
  * Calculate origin used in the `zoomFadeInFrom()`
@@ -55,5 +54,5 @@ export declare class OwlDialogContainerComponent extends BasePortalOutlet implem
55
54
  private trapFocus;
56
55
  private restoreFocus;
57
56
  static ɵfac: i0.ɵɵFactoryDeclaration<OwlDialogContainerComponent, [null, null, null, { optional: true; }]>;
58
- static ɵcmp: i0.ɵɵComponentDeclaration<OwlDialogContainerComponent, "owl-dialog-container", never, {}, {}, never, never>;
57
+ static ɵcmp: i0.ɵɵComponentDeclaration<OwlDialogContainerComponent, "ofe-owl-dialog-container", never, {}, {}, never, never>;
59
58
  }
@@ -10,15 +10,15 @@ export declare class RemoteSelectComponent implements OnInit, ControlValueAccess
10
10
  remoteOptionsLoading: boolean;
11
11
  remoteOptionInput$: Subject<string>;
12
12
  selectedRemoteOptions: SelectOption;
13
- placeholder: string;
14
- componentID: string;
15
- disabled: boolean;
16
- theme: string;
17
13
  items: any[];
18
14
  value: any[];
19
15
  loading: boolean;
20
16
  searchText: string;
21
17
  notFoundMsg: string;
18
+ placeholder: string;
19
+ componentID: string;
20
+ disabled: boolean;
21
+ theme: string;
22
22
  done: EventEmitter<any>;
23
23
  private _dataSource;
24
24
  get dataSource(): DataSource;
@@ -36,5 +36,5 @@ export declare class RemoteSelectComponent implements OnInit, ControlValueAccess
36
36
  trackByFn(item: SelectOption): any;
37
37
  private loadOptions;
38
38
  static ɵfac: i0.ɵɵFactoryDeclaration<RemoteSelectComponent, never>;
39
- static ɵcmp: i0.ɵɵComponentDeclaration<RemoteSelectComponent, "ngx-remote-select", never, { "placeholder": "placeholder"; "componentID": "componentID"; "disabled": "disabled"; "theme": "theme"; "dataSource": "dataSource"; }, { "done": "done"; }, never, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<RemoteSelectComponent, "ofe-remote-select", never, { "placeholder": "placeholder"; "componentID": "componentID"; "disabled": "disabled"; "theme": "theme"; "dataSource": "dataSource"; }, { "done": "done"; }, never, never>;
40
40
  }
@@ -8,12 +8,12 @@ export declare class TabSetComponent implements AfterContentInit, OnChanges {
8
8
  customNavClass: String;
9
9
  customTabsClass: String;
10
10
  selectedIndex: Number;
11
- onSelect: EventEmitter<any>;
11
+ tabSelect: EventEmitter<any>;
12
12
  ngOnChanges(changes: SimpleChanges): void;
13
13
  ngAfterContentInit(): void;
14
14
  onHover($event: any): void;
15
15
  selectTab(tabToSelect: TabComponent): void;
16
16
  getStatusClasses(active: any, disabled: any): "active" | "disabled" | "enabled";
17
17
  static ɵfac: i0.ɵɵFactoryDeclaration<TabSetComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<TabSetComponent, "ngx-tab-set", never, { "disableStyle": "disableStyle"; "customNavClass": "customNavClass"; "customTabsClass": "customTabsClass"; "selectedIndex": "selectedIndex"; }, { "onSelect": "onSelect"; }, ["tabs"], ["*"]>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<TabSetComponent, "ofe-tab-set", never, { "disableStyle": "disableStyle"; "customNavClass": "customNavClass"; "customTabsClass": "customTabsClass"; "selectedIndex": "selectedIndex"; }, { "tabSelect": "tabSelect"; }, ["tabs"], ["*"]>;
19
19
  }
@@ -9,5 +9,5 @@ export declare class TabComponent {
9
9
  customPaneClass: string;
10
10
  template: TemplateRef<any>;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<TabComponent, never>;
12
- static ɵcmp: i0.ɵɵComponentDeclaration<TabComponent, "ngx-tab", never, { "tabTitle": "tabTitle"; "tabSubTitle": "tabSubTitle"; "active": "active"; "disabled": "disabled"; "bypassDOM": "bypassDOM"; "customPaneClass": "customPaneClass"; }, {}, ["template"], ["*"]>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<TabComponent, "ofe-tab", never, { "tabTitle": "tabTitle"; "tabSubTitle": "tabSubTitle"; "active": "active"; "disabled": "disabled"; "bypassDOM": "bypassDOM"; "customPaneClass": "customPaneClass"; }, {}, ["template"], ["*"]>;
13
13
  }
@@ -3,9 +3,9 @@ import * as i0 from "@angular/core";
3
3
  export declare class HoverClassDirective {
4
4
  elementRef: ElementRef;
5
5
  constructor(elementRef: ElementRef);
6
- hoverClass: any;
6
+ hoverClass: string;
7
7
  onMouseEnter(): void;
8
8
  onMouseLeave(): void;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<HoverClassDirective, never>;
10
- static ɵdir: i0.ɵɵDirectiveDeclaration<HoverClassDirective, "[hover-class]", never, { "hoverClass": "hover-class"; }, {}, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HoverClassDirective, "[ofeHoverClass]", never, { "hoverClass": "hoverClass"; }, {}, never>;
11
11
  }
@@ -91,7 +91,7 @@ export declare class NumberInputComponent implements ControlValueAccessor {
91
91
  /**
92
92
  * Emits event notifying other classes when a change in state occurs in the input.
93
93
  */
94
- change: EventEmitter<NumberChangeEvent>;
94
+ numberChange: EventEmitter<NumberChangeEvent>;
95
95
  /**
96
96
  * Sets the decrement label text
97
97
  */
@@ -147,5 +147,5 @@ export declare class NumberInputComponent implements ControlValueAccessor {
147
147
  onNumberInputChange(event: any): void;
148
148
  isTemplate(value: any): boolean;
149
149
  static ɵfac: i0.ɵɵFactoryDeclaration<NumberInputComponent, never>;
150
- static ɵcmp: i0.ɵɵComponentDeclaration<NumberInputComponent, "number-input", never, { "theme": "theme"; "disabled": "disabled"; "skeleton": "skeleton"; "invalid": "invalid"; "id": "id"; "size": "size"; "required": "required"; "value": "value"; "min": "min"; "max": "max"; "label": "label"; "helperText": "helperText"; "invalidText": "invalidText"; "step": "step"; "precision": "precision"; "warn": "warn"; "warnText": "warnText"; "decrementLabel": "decrementLabel"; "incrementLabel": "incrementLabel"; }, { "change": "change"; }, never, never>;
150
+ static ɵcmp: i0.ɵɵComponentDeclaration<NumberInputComponent, "ofe-number-input", never, { "theme": "theme"; "disabled": "disabled"; "skeleton": "skeleton"; "invalid": "invalid"; "id": "id"; "size": "size"; "required": "required"; "value": "value"; "min": "min"; "max": "max"; "label": "label"; "helperText": "helperText"; "invalidText": "invalidText"; "step": "step"; "precision": "precision"; "warn": "warn"; "warnText": "warnText"; "decrementLabel": "decrementLabel"; "incrementLabel": "incrementLabel"; }, { "numberChange": "numberChange"; }, never, never>;
151
151
  }
@@ -1,12 +1,11 @@
1
- import { OnInit, AfterViewInit } from '@angular/core';
1
+ import { OnInit } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- export declare class RadioButtonControlComponent implements OnInit, AfterViewInit {
3
+ export declare class RadioButtonControlComponent implements OnInit {
4
4
  id: String;
5
5
  selected: any;
6
6
  options: Array<any>;
7
7
  allowRadioUnselect: Boolean;
8
8
  ngOnInit(): void;
9
- ngAfterViewInit(): void;
10
9
  writeValue(value: any): void;
11
10
  registerOnChange(fn: (_: any) => void): void;
12
11
  registerOnTouched(fn: () => void): void;
@@ -15,5 +14,5 @@ export declare class RadioButtonControlComponent implements OnInit, AfterViewIni
15
14
  private onChange;
16
15
  private onTouched;
17
16
  static ɵfac: i0.ɵɵFactoryDeclaration<RadioButtonControlComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<RadioButtonControlComponent, "radio", never, { "id": "id"; "selected": "selected"; "options": "options"; "allowRadioUnselect": "allowRadioUnselect"; }, {}, never, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<RadioButtonControlComponent, "ofe-radio-button", never, { "id": "id"; "selected": "selected"; "options": "options"; "allowRadioUnselect": "allowRadioUnselect"; }, {}, never, never>;
19
18
  }
@@ -1,6 +1,6 @@
1
1
  import * as i0 from "@angular/core";
2
- export declare class OptGroup {
2
+ export declare class OptGroupDirective {
3
3
  inputClass: string;
4
- static ɵfac: i0.ɵɵFactoryDeclaration<OptGroup, never>;
5
- static ɵdir: i0.ɵɵDirectiveDeclaration<OptGroup, "optgroup", never, {}, {}, never>;
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<OptGroupDirective, never>;
5
+ static ɵdir: i0.ɵɵDirectiveDeclaration<OptGroupDirective, "[ofeOptgroup]", never, {}, {}, never>;
6
6
  }
@@ -1,6 +1,6 @@
1
1
  import * as i0 from "@angular/core";
2
- export declare class Option {
2
+ export declare class OptionDirective {
3
3
  inputClass: string;
4
- static ɵfac: i0.ɵɵFactoryDeclaration<Option, never>;
5
- static ɵdir: i0.ɵɵDirectiveDeclaration<Option, "option", never, {}, {}, never>;
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<OptionDirective, never>;
5
+ static ɵdir: i0.ɵɵDirectiveDeclaration<OptionDirective, "[ofeOption]", never, {}, {}, never>;
6
6
  }
@@ -2,24 +2,24 @@ import { AfterViewInit, ElementRef, EventEmitter, TemplateRef } from '@angular/c
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
5
- * `ibm-select` provides a styled `select` component.
5
+ * `ofe-select` provides a styled `select` component.
6
6
  *
7
7
  * [See demo](../../?path=/story/select--basic)
8
8
  *
9
9
  * Example:
10
10
  *
11
11
  * ```
12
- * <ibm-select [(ngModel)]="model">
12
+ * <ofe-select [(ngModel)]="model">
13
13
  * <option value="default" disabled selected hidden>Choose an option</option>
14
14
  * <option value="option1">Option 1</option>
15
15
  * <option value="option2">Option 2</option>
16
16
  * <option value="option3">Option 3</option>
17
- * </ibm-select>
17
+ * </ofe-select>
18
18
  * ```
19
19
  *
20
20
  * <example-url>../../iframe.html?id=select--basic</example-url>
21
21
  */
22
- export declare class Select implements ControlValueAccessor, AfterViewInit {
22
+ export declare class SelectComponent implements ControlValueAccessor, AfterViewInit {
23
23
  /**
24
24
  * Tracks the total number of selects instantiated. Used to generate unique IDs
25
25
  */
@@ -110,6 +110,6 @@ export declare class Select implements ControlValueAccessor, AfterViewInit {
110
110
  */
111
111
  protected onChangeHandler: (_: any) => void;
112
112
  protected onTouchedHandler: () => void;
113
- static ɵfac: i0.ɵɵFactoryDeclaration<Select, never>;
114
- static ɵcmp: i0.ɵɵComponentDeclaration<Select, "ibm-select", never, { "display": "display"; "label": "label"; "helperText": "helperText"; "invalidText": "invalidText"; "warn": "warn"; "warnText": "warnText"; "id": "id"; "size": "size"; "disabled": "disabled"; "skeleton": "skeleton"; "invalid": "invalid"; "theme": "theme"; "ariaLabel": "ariaLabel"; "value": "value"; }, { "valueChange": "valueChange"; }, never, ["*"]>;
113
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponent, never>;
114
+ static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent, "ofe-select", never, { "display": "display"; "label": "label"; "helperText": "helperText"; "invalidText": "invalidText"; "warn": "warn"; "warnText": "warnText"; "id": "id"; "size": "size"; "disabled": "disabled"; "skeleton": "skeleton"; "invalid": "invalid"; "theme": "theme"; "ariaLabel": "ariaLabel"; "value": "value"; }, { "valueChange": "valueChange"; }, never, ["*"]>;
115
115
  }
@@ -6,6 +6,6 @@ import * as i4 from "@angular/common";
6
6
  import * as i5 from "@angular/forms";
7
7
  export declare class SelectModule {
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<SelectModule, [typeof i1.Select, typeof i2.Option, typeof i3.OptGroup], [typeof i4.CommonModule, typeof i5.FormsModule], [typeof i1.Select, typeof i2.Option, typeof i3.OptGroup]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SelectModule, [typeof i1.SelectComponent, typeof i2.OptionDirective, typeof i3.OptGroupDirective], [typeof i4.CommonModule, typeof i5.FormsModule], [typeof i1.SelectComponent, typeof i2.OptionDirective, typeof i3.OptGroupDirective]>;
10
10
  static ɵinj: i0.ɵɵInjectorDeclaration<SelectModule>;
11
11
  }
@@ -20,7 +20,6 @@ export class AfeNgSelectComponent {
20
20
  this.propagateChange = fn;
21
21
  }
22
22
  registerOnTouched(fn) { }
23
- ngOnChanges(changes) { }
24
23
  ngOnInit() {
25
24
  if (this.extras) {
26
25
  if (this.extras.originalValue) {
@@ -60,13 +59,13 @@ export class AfeNgSelectComponent {
60
59
  }
61
60
  }
62
61
  AfeNgSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AfeNgSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
- AfeNgSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AfeNgSelectComponent, selector: "afe-ng-select", inputs: { dataSource: "dataSource", multiple: "multiple", extras: "extras" }, providers: [
62
+ AfeNgSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AfeNgSelectComponent, selector: "ofe-ng-select", inputs: { dataSource: "dataSource", multiple: "multiple", extras: "extras" }, providers: [
64
63
  {
65
64
  provide: NG_VALUE_ACCESSOR,
66
65
  useExisting: forwardRef(() => AfeNgSelectComponent),
67
66
  multi: true
68
67
  }
69
- ], usesOnChanges: true, ngImport: i0, template: `<ng-select
68
+ ], ngImport: i0, template: `<ng-select
70
69
  (searchInputText)="getChangingText($event)"
71
70
  (ngModelChange)="onValueChange($event)"
72
71
  [options]="question_options"
@@ -76,7 +75,7 @@ AfeNgSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
76
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AfeNgSelectComponent, decorators: [{
77
76
  type: Component,
78
77
  args: [{
79
- selector: 'afe-ng-select',
78
+ selector: 'ofe-ng-select',
80
79
  template: `<ng-select
81
80
  (searchInputText)="getChangingText($event)"
82
81
  (ngModelChange)="onValueChange($event)"
@@ -99,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
99
98
  }], extras: [{
100
99
  type: Input
101
100
  }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZlLW5nLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9jb21wb25lbnRzL2FmZS1uZy1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7QUFxQnJFLE1BQU0sT0FBTyxvQkFBb0I7SUFqQmpDO1FBd0JFLHFCQUFnQixHQUFRLEVBQUUsQ0FBQztRQUUzQixXQUFNLEdBQVEsRUFBRSxDQUFDO1FBQ2pCLG9CQUFlLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztLQXVFbEM7SUFyRUMsZUFBZSxDQUFDLEtBQUs7UUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN4QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFRLElBQVMsQ0FBQztJQUM3QixnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPLElBQVMsQ0FBQztJQUVuQyxXQUFXLENBQUMsT0FBWSxJQUFHLENBQUM7SUFFNUIsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksSUFBSSxDQUFD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cnQgeyBDb21wb25lbnQsIElucHV0LCBmb3J3YXJkUmVmLCBPbkluaXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tICcuLi9mb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy9zZWxlY3Qtb3B0aW9uJztcblxuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJy4uL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL2ludGVyZmFjZXMvZGF0YS1zb3VyY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhZmUtbmctc2VsZWN0JyxcbiAgdGVtcGxhdGU6IGA8bmctc2VsZWN0XG4gICAgKHNlYXJjaElucHV0VGV4dCk9XCJnZXRDaGFuZ2luZ1RleHQoJGV2ZW50KVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICBbb3B0aW9uc109XCJxdWVzdGlvbl9vcHRpb25zXCJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICA+XG4gIDwvbmctc2VsZWN0PiBgLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFmZU5nU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEFmZU5nU2VsZWN0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgc3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PE9wdGlvbltdPjtcbiAgc3ViamVjdE9wdGlvbjogQmVoYXZpb3JTdWJqZWN0PE9wdGlvbj47XG4gIEBJbnB1dCgpIGRhdGFTb3VyY2U6IERhdGFTb3VyY2U7XG4gIEBJbnB1dCgpIG11bHRpcGxlOiBib29sZWFuO1xuICBASW5wdXQoKSBleHRyYXM6IGFueTtcbiAgcXVlc3Rpb25fb3B0aW9uczogYW55ID0gW107XG4gIHNlbGVjdGVkX3F1ZXN0aW9uX29wdGlvbjogYW55O1xuICBlcnJvcnM6IGFueSA9IFtdO1xuICBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7fTtcblxuICBnZXRDaGFuZ2luZ1RleHQoZXZlbnQpIHtcbiAgICB0aGlzLmdldERhdGEoZXZlbnQpLnN1YnNjcmliZSgob3B0aW9ucykgPT4ge1xuICAgICAgdGhpcy5xdWVzdGlvbl9vcHRpb25zID0gb3B0aW9ucztcbiAgICB9KTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHt9XG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IGFueSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5leHRyYXMpIHtcbiAgICAgIGlmICh0aGlzLmV4dHJhcy5vcmlnaW5hbFZhbHVlKSB7XG4gICAgICAgIHRoaXMucmVzb2x2ZVNlbGVjdGVkT3B0aW9uKHRoaXMuZXh0cmFzLm9yaWdpbmFsVmFsdWUpLnN1YnNjcmliZShcbiAgICAgICAgICAob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkX3F1ZXN0aW9uX29wdGlvbiA9IG9wdGlvbjtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0RGF0YShzZWFyY2hUZXh0OiBzdHJpbmcpOiBPYnNlcnZhYmxlPE9wdGlvbltdPiB7XG4gICAgdGhpcy5zdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxPcHRpb25bXT4oW10pO1xuXG4gICAgY29uc3QgT3B0aW9uc09ic2VydmFibGUgPSB0aGlzLmRhdGFTb3VyY2Uuc2VhcmNoT3B0aW9ucyhzZWFyY2hUZXh0KTtcblxuICAgIE9wdGlvbnNPYnNlcnZhYmxlLnN1YnNjcmliZShcbiAgICAgIChvcHRpb25zKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hcHBlZE9wdGlvbnM6IE9wdGlvbltdID0gbmV3IEFycmF5PE9wdGlvbj4oKTtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBtYXBwZWRPcHRpb25zLnB1c2gobmV3IE9wdGlvbihvcHRpb25zW2ldKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zdWJqZWN0Lm5leHQobWFwcGVkT3B0aW9ucyk7XG4gICAgICB9LFxuICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuc3ViamVjdC5lcnJvcihlcnJvcik7XG4gICAgICB9XG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBvblZhbHVlQ2hhbmdlKGV2ZW50KSB7fVxuICByZXNvbHZlU2VsZWN0ZWRPcHRpb24odmFsdWU6IGFueSk6IE9ic2VydmFibGU8T3B0aW9uPiB7XG4gICAgdGhpcy5zdWJqZWN0T3B0aW9uID0gbmV3IEJlaGF2aW9yU3ViamVjdDxPcHRpb24+KG51bGwpO1xuICAgIGNvbnN0IE9wdGlvbk9ic2VydmFibGUgPSB0aGlzLmRhdGFTb3VyY2UucmVzb2x2ZVNlbGVjdGVkVmFsdWUodmFsdWUpO1xuXG4gICAgT3B0aW9uT2JzZXJ2YWJsZS5zdWJzY3JpYmUoXG4gICAgICAob3B0aW9uKSA9PiB7XG4gICAgICAgIHRoaXMuc3ViamVjdE9wdGlvbi5uZXh0KG9wdGlvbik7XG4gICAgICB9LFxuICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuc3ViamVjdE9wdGlvbi5lcnJvcihlcnJvcik7XG4gICAgICB9XG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLnN1YmplY3RPcHRpb24uYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICByZXNldE9wdGlvbnMoKSB7XG4gICAgdGhpcy5zdWJqZWN0Lm5leHQobmV3IEFycmF5PE9wdGlvbj4oKSk7XG4gIH1cbn1cbiJdfQ==
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZlLW5nLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9jb21wb25lbnRzL2FmZS1uZy1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFjLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNkNBQTZDLENBQUM7OztBQXFCckUsTUFBTSxPQUFPLG9CQUFvQjtJQWpCakM7UUF1QkUscUJBQWdCLEdBQVEsRUFBRSxDQUFDO1FBRTNCLFdBQU0sR0FBUSxFQUFFLENBQUM7UUFDakIsb0JBQWUsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO0tBcUVsQztJQW5FQyxlQUFlLENBQUMsS0FBSztRQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVEsSUFBUyxDQUFDO0lBQzdCLGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU8sSUFBUyxDQUFDO0lBRW5DLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFO2dCQUM3QixJQUFJ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ZiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gJy4uL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL3NlbGVjdC1vcHRpb24nO1xuXG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvaW50ZXJmYWNlcy9kYXRhLXNvdXJjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29mZS1uZy1zZWxlY3QnLFxuICB0ZW1wbGF0ZTogYDxuZy1zZWxlY3RcbiAgICAoc2VhcmNoSW5wdXRUZXh0KT1cImdldENoYW5naW5nVGV4dCgkZXZlbnQpXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIFtvcHRpb25zXT1cInF1ZXN0aW9uX29wdGlvbnNcIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gID5cbiAgPC9uZy1zZWxlY3Q+IGAsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQWZlTmdTZWxlY3RDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQWZlTmdTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcbiAgc3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PE9wdGlvbltdPjtcbiAgc3ViamVjdE9wdGlvbjogQmVoYXZpb3JTdWJqZWN0PE9wdGlvbj47XG4gIEBJbnB1dCgpIGRhdGFTb3VyY2U6IERhdGFTb3VyY2U7XG4gIEBJbnB1dCgpIG11bHRpcGxlOiBib29sZWFuO1xuICBASW5wdXQoKSBleHRyYXM6IGFueTtcbiAgcXVlc3Rpb25fb3B0aW9uczogYW55ID0gW107XG4gIHNlbGVjdGVkX3F1ZXN0aW9uX29wdGlvbjogYW55O1xuICBlcnJvcnM6IGFueSA9IFtdO1xuICBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7fTtcblxuICBnZXRDaGFuZ2luZ1RleHQoZXZlbnQpIHtcbiAgICB0aGlzLmdldERhdGEoZXZlbnQpLnN1YnNjcmliZSgob3B0aW9ucykgPT4ge1xuICAgICAgdGhpcy5xdWVzdGlvbl9vcHRpb25zID0gb3B0aW9ucztcbiAgICB9KTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHt9XG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmV4dHJhcykge1xuICAgICAgaWYgKHRoaXMuZXh0cmFzLm9yaWdpbmFsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5yZXNvbHZlU2VsZWN0ZWRPcHRpb24odGhpcy5leHRyYXMub3JpZ2luYWxWYWx1ZSkuc3Vic2NyaWJlKFxuICAgICAgICAgIChvcHRpb24pID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRfcXVlc3Rpb25fb3B0aW9uID0gb3B0aW9uO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXREYXRhKHNlYXJjaFRleHQ6IHN0cmluZyk6IE9ic2VydmFibGU8T3B0aW9uW10+IHtcbiAgICB0aGlzLnN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE9wdGlvbltdPihbXSk7XG5cbiAgICBjb25zdCBPcHRpb25zT2JzZXJ2YWJsZSA9IHRoaXMuZGF0YVNvdXJjZS5zZWFyY2hPcHRpb25zKHNlYXJjaFRleHQpO1xuXG4gICAgT3B0aW9uc09ic2VydmFibGUuc3Vic2NyaWJlKFxuICAgICAgKG9wdGlvbnMpID0+IHtcbiAgICAgICAgY29uc3QgbWFwcGVkT3B0aW9uczogT3B0aW9uW10gPSBuZXcgQXJyYXk8T3B0aW9uPigpO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb3B0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIG1hcHBlZE9wdGlvbnMucHVzaChuZXcgT3B0aW9uKG9wdGlvbnNbaV0pKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN1YmplY3QubmV4dChtYXBwZWRPcHRpb25zKTtcbiAgICAgIH0sXG4gICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5zdWJqZWN0LmVycm9yKGVycm9yKTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgcmV0dXJuIHRoaXMuc3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2UoZXZlbnQpIHt9XG4gIHJlc29sdmVTZWxlY3RlZE9wdGlvbih2YWx1ZTogYW55KTogT2JzZXJ2YWJsZTxPcHRpb24+IHtcbiAgICB0aGlzLnN1YmplY3RPcHRpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE9wdGlvbj4obnVsbCk7XG4gICAgY29uc3QgT3B0aW9uT2JzZXJ2YWJsZSA9IHRoaXMuZGF0YVNvdXJjZS5yZXNvbHZlU2VsZWN0ZWRWYWx1ZSh2YWx1ZSk7XG5cbiAgICBPcHRpb25PYnNlcnZhYmxlLnN1YnNjcmliZShcbiAgICAgIChvcHRpb24pID0+IHtcbiAgICAgICAgdGhpcy5zdWJqZWN0T3B0aW9uLm5leHQob3B0aW9uKTtcbiAgICAgIH0sXG4gICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5zdWJqZWN0T3B0aW9uLmVycm9yKGVycm9yKTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgcmV0dXJuIHRoaXMuc3ViamVjdE9wdGlvbi5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHJlc2V0T3B0aW9ucygpIHtcbiAgICB0aGlzLnN1YmplY3QubmV4dChuZXcgQXJyYXk8T3B0aW9uPigpKTtcbiAgfVxufVxuIl19