@openmrs/ngx-formentry 3.0.1-pre.49 → 3.0.1-pre.50

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 (25) hide show
  1. package/bundles/openmrs-ngx-formentry.umd.js +218 -68
  2. package/bundles/openmrs-ngx-formentry.umd.js.map +1 -1
  3. package/components/radio-button/radio.component.d.ts +19 -0
  4. package/components/radio-button/radio.module.d.ts +9 -0
  5. package/esm2015/components/radio-button/radio.component.js +84 -0
  6. package/esm2015/components/radio-button/radio.module.js +19 -0
  7. package/esm2015/form-entry/form-entry.module.js +5 -1
  8. package/esm2015/form-entry/form-factory/question.factory.js +35 -2
  9. package/esm2015/form-entry/form-renderer/form-renderer.component.js +13 -12
  10. package/esm2015/form-entry/question-models/checkbox.model.js +2 -2
  11. package/esm2015/form-entry/question-models/interfaces/base-options.js +1 -1
  12. package/esm2015/form-entry/question-models/interfaces/radio-button-options.js +2 -0
  13. package/esm2015/form-entry/question-models/models.js +2 -1
  14. package/esm2015/form-entry/question-models/question-base.js +2 -1
  15. package/esm2015/form-entry/question-models/radio-button.model.js +12 -0
  16. package/fesm2015/openmrs-ngx-formentry.js +147 -7
  17. package/fesm2015/openmrs-ngx-formentry.js.map +1 -1
  18. package/form-entry/form-entry.module.d.ts +7 -6
  19. package/form-entry/form-factory/question.factory.d.ts +2 -0
  20. package/form-entry/question-models/interfaces/base-options.d.ts +1 -0
  21. package/form-entry/question-models/interfaces/radio-button-options.d.ts +7 -0
  22. package/form-entry/question-models/models.d.ts +1 -0
  23. package/form-entry/question-models/question-base.d.ts +1 -0
  24. package/form-entry/question-models/radio-button.model.d.ts +9 -0
  25. package/package.json +1 -1
@@ -2,7 +2,7 @@
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('rxjs'), require('moment'), require('lodash'), require('@angular-extensions/elements'), require('ngx-file-uploader-openmrs'), require('@angular/platform-browser'), require('rxjs/operators'), require('@ng-select/ng-select'), require('@angular/cdk/portal'), require('@angular/cdk/overlay'), require('@angular/cdk/keycodes'), require('@angular/cdk/coercion'), require('@angular/cdk/a11y'), require('@angular/animations'), require('ngx-webcam'), require('@angular/cdk/platform')) :
3
3
  typeof define === 'function' && define.amd ? define('@openmrs/ngx-formentry', ['exports', '@angular/core', '@angular/common', '@angular/forms', 'rxjs', 'moment', 'lodash', '@angular-extensions/elements', 'ngx-file-uploader-openmrs', '@angular/platform-browser', 'rxjs/operators', '@ng-select/ng-select', '@angular/cdk/portal', '@angular/cdk/overlay', '@angular/cdk/keycodes', '@angular/cdk/coercion', '@angular/cdk/a11y', '@angular/animations', 'ngx-webcam', '@angular/cdk/platform'], factory) :
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.openmrs = global.openmrs || {}, global.openmrs["ngx-formentry"] = {}), global.ng.core, global.ng.common, global.ng.forms, global.rxjs, global.moment, global.lodash, global["@angular-extensions/elements"], global["ngx-file-uploader-openmrs"], global.ng.platformBrowser, global.rxjs.operators, global["@ng-select/ng-select"], global.ng.cdk.portal, global.ng.cdk.overlay, global.ng.cdk.keycodes, global.ng.cdk.coercion, global.ng.cdk.a11y, global.ng.animations, global["ngx-webcam"], global.ng.cdk.platform));
5
- })(this, (function (exports, i0, i1, i19, rxjs, moment, _, i2, i1$2, i1$1, operators, i1$3, i2$1, i1$6, keycodes, coercion, i1$4, i1$5, ngxWebcam, i1$7) { 'use strict';
5
+ })(this, (function (exports, i0, i1, i20, rxjs, moment, _, i2, i1$2, i1$1, operators, i1$3, i2$1, i1$6, keycodes, coercion, i1$4, i1$5, ngxWebcam, i1$7) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -26,7 +26,7 @@
26
26
 
27
27
  var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
28
28
  var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
29
- var i19__namespace = /*#__PURE__*/_interopNamespace(i19);
29
+ var i20__namespace = /*#__PURE__*/_interopNamespace(i20);
30
30
  var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
31
31
  var ___namespace = /*#__PURE__*/_interopNamespace(_);
32
32
  var ___default = /*#__PURE__*/_interopDefaultLegacy(_);
@@ -605,7 +605,7 @@
605
605
  configurable: true
606
606
  });
607
607
  ControlRelations.prototype.addRelatedControls = function (relatedTo) {
608
- if (relatedTo instanceof i19.AbstractControl) {
608
+ if (relatedTo instanceof i20.AbstractControl) {
609
609
  this.relations.push(new ControlRelation(this._relationFor, relatedTo));
610
610
  }
611
611
  if (relatedTo instanceof Array) {
@@ -1400,7 +1400,7 @@
1400
1400
  _super.prototype.setValue.call(this, value);
1401
1401
  };
1402
1402
  return AfeFormControl;
1403
- }(i19.FormControl));
1403
+ }(i20.FormControl));
1404
1404
 
1405
1405
  var AfeFormGroup = /** @class */ (function (_super) {
1406
1406
  __extends(AfeFormGroup, _super);
@@ -1463,7 +1463,7 @@
1463
1463
  _super.prototype.setValue.call(this, value);
1464
1464
  };
1465
1465
  return AfeFormGroup;
1466
- }(i19.FormGroup));
1466
+ }(i20.FormGroup));
1467
1467
 
1468
1468
  var AfeFormArray = /** @class */ (function (_super) {
1469
1469
  __extends(AfeFormArray, _super);
@@ -1554,7 +1554,7 @@
1554
1554
  _super.prototype.setValue.call(this, value);
1555
1555
  };
1556
1556
  return AfeFormArray;
1557
- }(i19.FormArray));
1557
+ }(i20.FormArray));
1558
1558
 
1559
1559
  exports.AfeControlType = void 0;
1560
1560
  (function (AfeControlType) {
@@ -1580,6 +1580,7 @@
1580
1580
  this.alert = options.alert;
1581
1581
  this.historicalDataValue = options.historicalDataValue;
1582
1582
  this.calculateExpression = options.calculateExpression;
1583
+ this.allowRadioUnselect = options.allowRadioUnselect;
1583
1584
  }
1584
1585
  QuestionBase.prototype.setHistoricalValue = function (v) {
1585
1586
  this.enableHistoricalValue = v;
@@ -2214,14 +2215,14 @@
2214
2215
  });
2215
2216
  Object.defineProperty(ValidationFactory.prototype, "minLengthValidator", {
2216
2217
  get: function () {
2217
- return i19.Validators.minLength;
2218
+ return i20.Validators.minLength;
2218
2219
  },
2219
2220
  enumerable: false,
2220
2221
  configurable: true
2221
2222
  });
2222
2223
  Object.defineProperty(ValidationFactory.prototype, "maxLengthValidator", {
2223
2224
  get: function () {
2224
- return i19.Validators.maxLength;
2225
+ return i20.Validators.maxLength;
2225
2226
  },
2226
2227
  enumerable: false,
2227
2228
  configurable: true
@@ -2728,7 +2729,7 @@
2728
2729
  CustomControlWrapperComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: CustomControlWrapperComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
2729
2730
  CustomControlWrapperComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: CustomControlWrapperComponent, selector: "app-custom-control-wrapper", inputs: { question: "question" }, providers: [
2730
2731
  {
2731
- provide: i19.NG_VALUE_ACCESSOR,
2732
+ provide: i20.NG_VALUE_ACCESSOR,
2732
2733
  multi: true,
2733
2734
  useExisting: i0.forwardRef(function () { return CustomControlWrapperComponent; })
2734
2735
  }
@@ -2740,7 +2741,7 @@
2740
2741
  templateUrl: 'custom-control-wrapper.component.html',
2741
2742
  providers: [
2742
2743
  {
2743
- provide: i19.NG_VALUE_ACCESSOR,
2744
+ provide: i20.NG_VALUE_ACCESSOR,
2744
2745
  multi: true,
2745
2746
  useExisting: i0.forwardRef(function () { return CustomControlWrapperComponent; })
2746
2747
  }
@@ -2882,7 +2883,7 @@
2882
2883
  Select.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: Select, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
2883
2884
  Select.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: Select, selector: "ibm-select", inputs: { 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" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "focusout": "focusOut()" } }, providers: [
2884
2885
  {
2885
- provide: i19.NG_VALUE_ACCESSOR,
2886
+ provide: i20.NG_VALUE_ACCESSOR,
2886
2887
  useExisting: Select,
2887
2888
  multi: true
2888
2889
  }
@@ -2897,7 +2898,7 @@
2897
2898
  ],
2898
2899
  providers: [
2899
2900
  {
2900
- provide: i19.NG_VALUE_ACCESSOR,
2901
+ provide: i20.NG_VALUE_ACCESSOR,
2901
2902
  useExisting: Select,
2902
2903
  multi: true
2903
2904
  }
@@ -3143,11 +3144,11 @@
3143
3144
  FileUploadComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FileUploadComponent, deps: [{ token: i0__namespace.Renderer2 }], target: i0__namespace.ɵɵFactoryTarget.Component });
3144
3145
  FileUploadComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FileUploadComponent, selector: "app-file-upload", inputs: { dataSource: "dataSource" }, providers: [
3145
3146
  {
3146
- provide: i19.NG_VALUE_ACCESSOR,
3147
+ provide: i20.NG_VALUE_ACCESSOR,
3147
3148
  useExisting: i0.forwardRef(function () { return FileUploadComponent; }),
3148
3149
  multi: true
3149
3150
  }
3150
- ], ngImport: i0__namespace, template: "<lib-ngx-file-uploader\n [srcUrl]=\"pdfUrl\"\n [formEntry]=\"formEntryMode\"\n [(ngModel)]=\"fileUuid\"\n (_onClear)=\"clearValue()\"\n (uploadData)=\"onFileChange($event)\"\n>\n</lib-ngx-file-uploader>\n<div *ngIf=\"fileUuid\">\n <img\n *ngIf=\"!pdfUploaded\"\n class=\"img-responsive\"\n [src]=\"fileUuid | secure: this.dataSource.fetchFile\"\n alt=\"\"\n />\n</div>\n", styles: ["\n img {\n margin-left: auto;\n margin-right: auto;\n display: block;\n }\n "], components: [{ type: i1__namespace$2.NgxFileUploaderComponent, selector: "lib-ngx-file-uploader", inputs: ["singleFile", "formEntry", "srcUrl", "source"], outputs: ["fileChanged", "uploadData", "_onClear"] }], directives: [{ type: i19__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i19__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "secure": SecurePipe } });
3151
+ ], ngImport: i0__namespace, template: "<lib-ngx-file-uploader\n [srcUrl]=\"pdfUrl\"\n [formEntry]=\"formEntryMode\"\n [(ngModel)]=\"fileUuid\"\n (_onClear)=\"clearValue()\"\n (uploadData)=\"onFileChange($event)\"\n>\n</lib-ngx-file-uploader>\n<div *ngIf=\"fileUuid\">\n <img\n *ngIf=\"!pdfUploaded\"\n class=\"img-responsive\"\n [src]=\"fileUuid | secure: this.dataSource.fetchFile\"\n alt=\"\"\n />\n</div>\n", styles: ["\n img {\n margin-left: auto;\n margin-right: auto;\n display: block;\n }\n "], components: [{ type: i1__namespace$2.NgxFileUploaderComponent, selector: "lib-ngx-file-uploader", inputs: ["singleFile", "formEntry", "srcUrl", "source"], outputs: ["fileChanged", "uploadData", "_onClear"] }], directives: [{ type: i20__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i20__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "secure": SecurePipe } });
3151
3152
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FileUploadComponent, decorators: [{
3152
3153
  type: i0.Component,
3153
3154
  args: [{
@@ -3155,7 +3156,7 @@
3155
3156
  templateUrl: 'file-upload.component.html',
3156
3157
  providers: [
3157
3158
  {
3158
- provide: i19.NG_VALUE_ACCESSOR,
3159
+ provide: i20.NG_VALUE_ACCESSOR,
3159
3160
  useExisting: i0.forwardRef(function () { return FileUploadComponent; }),
3160
3161
  multi: true
3161
3162
  }
@@ -3271,11 +3272,11 @@
3271
3272
  RemoteSelectComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: RemoteSelectComponent, deps: [{ token: i0__namespace.Renderer2 }], target: i0__namespace.ɵɵFactoryTarget.Component });
3272
3273
  RemoteSelectComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: RemoteSelectComponent, selector: "ngx-remote-select", inputs: { placeholder: "placeholder", componentID: "componentID", disabled: "disabled", theme: "theme", dataSource: "dataSource" }, outputs: { done: "done" }, providers: [
3273
3274
  {
3274
- provide: i19.NG_VALUE_ACCESSOR,
3275
+ provide: i20.NG_VALUE_ACCESSOR,
3275
3276
  useExisting: i0.forwardRef(function () { return RemoteSelectComponent; }),
3276
3277
  multi: true
3277
3278
  }
3278
- ], ngImport: i0__namespace, template: "<div>\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [disabled]=\"disabled\"\n [items]=\"remoteOptions$ | async\"\n bindLabel=\"label\"\n bindValue=\"value\"\n [multiple]=\"false\"\n [hideSelected]=\"true\"\n [compareWith]=\"compareItems\"\n [trackByFn]=\"trackByFn\"\n [loading]=\"loading\"\n typeToSearchText=\"Please enter 2 or more characters\"\n [typeahead]=\"remoteOptionInput$\"\n [(ngModel)]=\"selectedRemoteOptions\"\n (ngModelChange)=\"selected($event)\"\n >\n </ng-select>\n</div>\n", components: [{ type: i1__namespace$3.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }], directives: [{ type: i1__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i19__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i19__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i1__namespace.AsyncPipe } });
3279
+ ], ngImport: i0__namespace, template: "<div>\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [disabled]=\"disabled\"\n [items]=\"remoteOptions$ | async\"\n bindLabel=\"label\"\n bindValue=\"value\"\n [multiple]=\"false\"\n [hideSelected]=\"true\"\n [compareWith]=\"compareItems\"\n [trackByFn]=\"trackByFn\"\n [loading]=\"loading\"\n typeToSearchText=\"Please enter 2 or more characters\"\n [typeahead]=\"remoteOptionInput$\"\n [(ngModel)]=\"selectedRemoteOptions\"\n (ngModelChange)=\"selected($event)\"\n >\n </ng-select>\n</div>\n", components: [{ type: i1__namespace$3.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }], directives: [{ type: i1__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i20__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i20__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i1__namespace.AsyncPipe } });
3279
3280
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: RemoteSelectComponent, decorators: [{
3280
3281
  type: i0.Component,
3281
3282
  args: [{
@@ -3283,7 +3284,7 @@
3283
3284
  templateUrl: 'remote-select.component.html',
3284
3285
  providers: [
3285
3286
  {
3286
- provide: i19.NG_VALUE_ACCESSOR,
3287
+ provide: i20.NG_VALUE_ACCESSOR,
3287
3288
  useExisting: i0.forwardRef(function () { return RemoteSelectComponent; }),
3288
3289
  multi: true
3289
3290
  }
@@ -7888,12 +7889,12 @@
7888
7889
 
7889
7890
  /* eslint-disable @angular-eslint/no-host-metadata-property */
7890
7891
  var OWL_DATETIME_VALUE_ACCESSOR$1 = {
7891
- provide: i19.NG_VALUE_ACCESSOR,
7892
+ provide: i20.NG_VALUE_ACCESSOR,
7892
7893
  useExisting: i0.forwardRef(function () { return OwlDateTimeInputDirective; }),
7893
7894
  multi: true
7894
7895
  };
7895
7896
  var OWL_DATETIME_VALIDATORS = {
7896
- provide: i19.NG_VALIDATORS,
7897
+ provide: i20.NG_VALIDATORS,
7897
7898
  useExisting: i0.forwardRef(function () { return OwlDateTimeInputDirective; }),
7898
7899
  multi: true
7899
7900
  };
@@ -8008,7 +8009,7 @@
8008
8009
  : { owlDateTimeRange: true };
8009
8010
  };
8010
8011
  /** The combined form control validator for this input. */
8011
- this.validator = i19.Validators.compose([
8012
+ this.validator = i20.Validators.compose([
8012
8013
  this.parseValidator,
8013
8014
  this.minValidator,
8014
8015
  this.maxValidator,
@@ -8669,11 +8670,11 @@
8669
8670
  NgxDatetimeComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: NgxDatetimeComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
8670
8671
  NgxDatetimeComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: NgxDatetimeComponent, selector: "ngx-datetimepicker", inputs: { id: "id", theme: "theme", datePickerFormat: "datePickerFormat", showWeeks: "showWeeks", weeks: "weeks" }, providers: [
8671
8672
  {
8672
- provide: i19.NG_VALUE_ACCESSOR,
8673
+ provide: i20.NG_VALUE_ACCESSOR,
8673
8674
  useExisting: i0.forwardRef(function () { return NgxDatetimeComponent; }),
8674
8675
  multi: true
8675
8676
  }
8676
- ], ngImport: i0__namespace, template: "<div class=\"date-time-picker-container\">\n <div\n data-date-picker\n data-date-picker-type=\"single\"\n class=\"cds--date-picker cds--date-picker--single cds--date-picker--light\"\n [ngClass]=\"{\n 'cds--date-picker--light': theme === 'light'\n}\"\n >\n <div class=\"cds--date-picker-container fill\">\n <div class=\"cds--date-picker-input__wrapper\">\n <input\n [disabled]=\"isDisabled\"\n (dateTimeChange)=\"onInput($event)\"\n type=\"text\"\n class=\"cds--date-picker__input fill\"\n [id]=\"id\"\n [value]=\"value\"\n [owlDateTime]=\"dt1\"\n [owlDateTimeTrigger]=\"dt1\"\n placeholder=\"mm/dd/yyyy\"\n data-date-picker-input\n />\n <svg\n [owlDateTimeTrigger]=\"dt1\"\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n style=\"will-change: transform\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-date-picker-icon=\"true\"\n class=\"cds--date-picker__icon\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M13,2h-2V1h-1v1H6V1H5v1H3C2.4,2,2,2.4,2,3v10c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V3C14,2.4,13.6,2,13,2z M13,13H3V6h10V13z M13,5H3V3h2v1h1V3h4v1h1V3h2V5z\"\n ></path>\n </svg>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"showWeeks\"\n class=\"cds--select some-class week-select-wrapper\"\n [ngClass]=\"{'cds--select--light': theme === 'light'}\"\n >\n <div class=\"cds--select-input__wrapper\">\n <select\n (change)=\"onWeeksSelected($event.target.value)\"\n id=\"select-1\"\n class=\"cds--select-input\"\n >\n <option\n class=\"cds--select-option\"\n value=\"placeholder-item\"\n disabled=\"\"\n hidden=\"\"\n selected=\"\"\n >\n Select Weeks\n </option>\n <option\n class=\"cds--select-option\"\n [value]=\"week\"\n *ngFor=\"let week of weeks\"\n >\n {{week}} Weeks\n </option>\n </select>\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n aria-hidden=\"true\"\n class=\"cds--select__arrow\"\n >\n <path d=\"M8 11L3 6 3.7 5.3 8 9.6 12.3 5.3 13 6z\"></path>\n </svg>\n </div>\n </div>\n</div>\n<owl-date-time\n [pickerType]=\"datePickerFormat ? datePickerFormat :'calendar'\"\n [disabled]=\"isDisabled\"\n #dt1\n></owl-date-time>\n", styles: [".date-time-picker-container{display:flex;justify-content:space-between}.week-select-wrapper{margin-left:1rem;width:30%}\n"], components: [{ type: OwlDateTimeComponent, selector: "owl-date-time", inputs: ["backdropClass", "panelClass", "startAt", "pickerType", "pickerMode", "disabled", "opened", "scrollStrategy"], outputs: ["afterPickerClosed", "afterPickerOpen", "yearSelected", "monthSelected"], exportAs: ["owlDateTime"] }], directives: [{ type: i1__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: OwlDateTimeInputDirective, selector: "input[owlDateTime]", inputs: ["owlDateTime", "owlDateTimeFilter", "min", "max", "selectMode", "value", "values", "_disabled", "rangeSeparator"], outputs: ["dateTimeChange", "dateTimeInput"], exportAs: ["owlDateTimeInput"] }, { type: OwlDateTimeTriggerDirective, selector: "[owlDateTimeTrigger]", inputs: ["owlDateTimeTrigger", "disabled"] }, { type: i1__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i19__namespace.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i19__namespace.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i1__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
8677
+ ], ngImport: i0__namespace, template: "<div class=\"date-time-picker-container\">\n <div\n data-date-picker\n data-date-picker-type=\"single\"\n class=\"cds--date-picker cds--date-picker--single cds--date-picker--light\"\n [ngClass]=\"{\n 'cds--date-picker--light': theme === 'light'\n}\"\n >\n <div class=\"cds--date-picker-container fill\">\n <div class=\"cds--date-picker-input__wrapper\">\n <input\n [disabled]=\"isDisabled\"\n (dateTimeChange)=\"onInput($event)\"\n type=\"text\"\n class=\"cds--date-picker__input fill\"\n [id]=\"id\"\n [value]=\"value\"\n [owlDateTime]=\"dt1\"\n [owlDateTimeTrigger]=\"dt1\"\n placeholder=\"mm/dd/yyyy\"\n data-date-picker-input\n />\n <svg\n [owlDateTimeTrigger]=\"dt1\"\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n style=\"will-change: transform\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-date-picker-icon=\"true\"\n class=\"cds--date-picker__icon\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M13,2h-2V1h-1v1H6V1H5v1H3C2.4,2,2,2.4,2,3v10c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V3C14,2.4,13.6,2,13,2z M13,13H3V6h10V13z M13,5H3V3h2v1h1V3h4v1h1V3h2V5z\"\n ></path>\n </svg>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"showWeeks\"\n class=\"cds--select some-class week-select-wrapper\"\n [ngClass]=\"{'cds--select--light': theme === 'light'}\"\n >\n <div class=\"cds--select-input__wrapper\">\n <select\n (change)=\"onWeeksSelected($event.target.value)\"\n id=\"select-1\"\n class=\"cds--select-input\"\n >\n <option\n class=\"cds--select-option\"\n value=\"placeholder-item\"\n disabled=\"\"\n hidden=\"\"\n selected=\"\"\n >\n Select Weeks\n </option>\n <option\n class=\"cds--select-option\"\n [value]=\"week\"\n *ngFor=\"let week of weeks\"\n >\n {{week}} Weeks\n </option>\n </select>\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n aria-hidden=\"true\"\n class=\"cds--select__arrow\"\n >\n <path d=\"M8 11L3 6 3.7 5.3 8 9.6 12.3 5.3 13 6z\"></path>\n </svg>\n </div>\n </div>\n</div>\n<owl-date-time\n [pickerType]=\"datePickerFormat ? datePickerFormat :'calendar'\"\n [disabled]=\"isDisabled\"\n #dt1\n></owl-date-time>\n", styles: [".date-time-picker-container{display:flex;justify-content:space-between}.week-select-wrapper{margin-left:1rem;width:30%}\n"], components: [{ type: OwlDateTimeComponent, selector: "owl-date-time", inputs: ["backdropClass", "panelClass", "startAt", "pickerType", "pickerMode", "disabled", "opened", "scrollStrategy"], outputs: ["afterPickerClosed", "afterPickerOpen", "yearSelected", "monthSelected"], exportAs: ["owlDateTime"] }], directives: [{ type: i1__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: OwlDateTimeInputDirective, selector: "input[owlDateTime]", inputs: ["owlDateTime", "owlDateTimeFilter", "min", "max", "selectMode", "value", "values", "_disabled", "rangeSeparator"], outputs: ["dateTimeChange", "dateTimeInput"], exportAs: ["owlDateTimeInput"] }, { type: OwlDateTimeTriggerDirective, selector: "[owlDateTimeTrigger]", inputs: ["owlDateTimeTrigger", "disabled"] }, { type: i1__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i20__namespace.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i20__namespace.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i1__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
8677
8678
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: NgxDatetimeComponent, decorators: [{
8678
8679
  type: i0.Component,
8679
8680
  args: [{
@@ -8682,7 +8683,7 @@
8682
8683
  styleUrls: ['./ngx-datetime-picker.css'],
8683
8684
  providers: [
8684
8685
  {
8685
- provide: i19.NG_VALUE_ACCESSOR,
8686
+ provide: i20.NG_VALUE_ACCESSOR,
8686
8687
  useExisting: i0.forwardRef(function () { return NgxDatetimeComponent; }),
8687
8688
  multi: true
8688
8689
  }
@@ -8874,7 +8875,7 @@
8874
8875
  NumberInputComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: NumberInputComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
8875
8876
  NumberInputComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: NumberInputComponent, selector: "number-input", inputs: { 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" }, outputs: { change: "change" }, host: { listeners: { "focusout": "focusOut()" } }, providers: [
8876
8877
  {
8877
- provide: i19.NG_VALUE_ACCESSOR,
8878
+ provide: i20.NG_VALUE_ACCESSOR,
8878
8879
  useExisting: i0.forwardRef(function () { return NumberInputComponent; }),
8879
8880
  multi: true
8880
8881
  }
@@ -8886,7 +8887,7 @@
8886
8887
  templateUrl: 'number-input.component.html',
8887
8888
  providers: [
8888
8889
  {
8889
- provide: i19.NG_VALUE_ACCESSOR,
8890
+ provide: i20.NG_VALUE_ACCESSOR,
8890
8891
  useExisting: i0.forwardRef(function () { return NumberInputComponent; }),
8891
8892
  multi: true
8892
8893
  }
@@ -8937,6 +8938,90 @@
8937
8938
  args: ['focusout']
8938
8939
  }] } });
8939
8940
 
8941
+ var RadioButtonControlComponent = /** @class */ (function () {
8942
+ function RadioButtonControlComponent() {
8943
+ this.onChange = function (change) { };
8944
+ this.onTouched = function () { };
8945
+ }
8946
+ RadioButtonControlComponent.prototype.ngOnInit = function () {
8947
+ var _this = this;
8948
+ this.options = this.options.map(function (option) {
8949
+ if (_this.selected == option.value) {
8950
+ _this.selected = option.value;
8951
+ Object.assign(option, { checked: true });
8952
+ }
8953
+ return option;
8954
+ });
8955
+ };
8956
+ RadioButtonControlComponent.prototype.ngAfterViewInit = function () { };
8957
+ RadioButtonControlComponent.prototype.writeValue = function (value) { };
8958
+ RadioButtonControlComponent.prototype.registerOnChange = function (fn) {
8959
+ this.onChange = fn;
8960
+ };
8961
+ RadioButtonControlComponent.prototype.registerOnTouched = function (fn) {
8962
+ this.onTouched = fn;
8963
+ };
8964
+ RadioButtonControlComponent.prototype.selectOpt = function (option, event) {
8965
+ var _this = this;
8966
+ this.options.forEach(function (o) {
8967
+ if (event.target.checked && o.value == option.value) {
8968
+ _this.selected = o.value;
8969
+ Object.assign(o, { checked: true });
8970
+ }
8971
+ else {
8972
+ _this.selected = null;
8973
+ Object.assign(o, { checked: false });
8974
+ }
8975
+ });
8976
+ };
8977
+ RadioButtonControlComponent.prototype.selectUnselectOpt = function (option, event) {
8978
+ var _this = this;
8979
+ this.options.forEach(function (o) {
8980
+ if (event.target.checked &&
8981
+ _this.selected == o.value &&
8982
+ _this.selected == option.value) {
8983
+ _this.selected = null;
8984
+ Object.assign(o, { checked: false });
8985
+ }
8986
+ else if (event.target.checked && o.value == option.value) {
8987
+ _this.selected = o.value;
8988
+ Object.assign(o, { checked: true });
8989
+ }
8990
+ });
8991
+ };
8992
+ return RadioButtonControlComponent;
8993
+ }());
8994
+ RadioButtonControlComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: RadioButtonControlComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
8995
+ RadioButtonControlComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: RadioButtonControlComponent, selector: "radio", inputs: { id: "id", selected: "selected", options: "options", allowRadioUnselect: "allowRadioUnselect" }, providers: [
8996
+ {
8997
+ provide: i20.NG_VALUE_ACCESSOR,
8998
+ useExisting: i0.forwardRef(function () { return RadioButtonControlComponent; }),
8999
+ multi: true
9000
+ }
9001
+ ], ngImport: i0__namespace, template: "<fieldset class=\"bx--fieldset\">\n <div *ngFor=\"let option of options; let i = index\" class=\"bx--form-item bx--radio-wrapper\">\n <label class=\"form-control no-border\">\n <input type=\"radio\" [id]=\"id + '_' + i\" name=\"id\" [checked]=\"option.checked\" [value]=\"option.value\" (click)=\"allowRadioUnselect ? selectOpt(option, $event) : selectUnselectOpt(option, $event)\" />\n {{ option.label }}\n </label>\n </div>\n</fieldset>\n\n", directives: [{ type: i1__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
9002
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: RadioButtonControlComponent, decorators: [{
9003
+ type: i0.Component,
9004
+ args: [{
9005
+ selector: 'radio',
9006
+ templateUrl: './radio.component.html',
9007
+ providers: [
9008
+ {
9009
+ provide: i20.NG_VALUE_ACCESSOR,
9010
+ useExisting: i0.forwardRef(function () { return RadioButtonControlComponent; }),
9011
+ multi: true
9012
+ }
9013
+ ]
9014
+ }]
9015
+ }], propDecorators: { id: [{
9016
+ type: i0.Input
9017
+ }], selected: [{
9018
+ type: i0.Input
9019
+ }], options: [{
9020
+ type: i0.Input
9021
+ }], allowRadioUnselect: [{
9022
+ type: i0.Input
9023
+ }] } });
9024
+
8940
9025
  var CheckboxControlComponent = /** @class */ (function () {
8941
9026
  function CheckboxControlComponent() {
8942
9027
  this._value = [];
@@ -9004,7 +9089,7 @@
9004
9089
  CheckboxControlComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: CheckboxControlComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
9005
9090
  CheckboxControlComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: CheckboxControlComponent, selector: "checkbox", inputs: { id: "id", options: "options", selected: "selected" }, providers: [
9006
9091
  {
9007
- provide: i19.NG_VALUE_ACCESSOR,
9092
+ provide: i20.NG_VALUE_ACCESSOR,
9008
9093
  useExisting: i0.forwardRef(function () { return CheckboxControlComponent; }),
9009
9094
  multi: true
9010
9095
  }
@@ -9016,7 +9101,7 @@
9016
9101
  templateUrl: './checkbox.component.html',
9017
9102
  providers: [
9018
9103
  {
9019
- provide: i19.NG_VALUE_ACCESSOR,
9104
+ provide: i20.NG_VALUE_ACCESSOR,
9020
9105
  useExisting: i0.forwardRef(function () { return CheckboxControlComponent; }),
9021
9106
  multi: true
9022
9107
  }
@@ -9827,7 +9912,7 @@
9827
9912
  return FormRendererComponent;
9828
9913
  }());
9829
9914
  FormRendererComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FormRendererComponent, deps: [{ token: ValidationFactory }, { token: DataSources }, { token: FormErrorsService }, { token: i1.DOCUMENT }], target: i0__namespace.ɵɵFactoryTarget.Component });
9830
- FormRendererComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FormRendererComponent, selector: "form-renderer", inputs: { parentComponent: "parentComponent", node: "node", parentGroup: "parentGroup", theme: "theme", labelMap: "labelMap" }, usesOnChanges: true, ngImport: i0__namespace, template: "<!--CONTAINERS-->\n<div *ngIf=\"node.question.renderingType === 'form'\">\n <ngx-tab-set (onSelect)=\"tabSelected($event)\" [selectedIndex]=\"activeTab\">\n <ngx-tab\n [tabTitle]=\"question.label\"\n *ngFor=\"let question of node.question.questions; let i = index\"\n >\n <form-renderer\n [node]=\"node.children[question.key]\"\n [parentComponent]=\"this\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n >\n </form-renderer>\n </ngx-tab>\n\n <div *ngIf=\"showErrors()\" class=\"container\">\n <div\n data-notification\n *ngFor=\"let errorNode of errorNodes\"\n class=\"cds--inline-notification cds--inline-notification--error cds--inline-notification--low-contrast pointer\"\n role=\"alert\"\n (click)=\"announceErrorField(errorNode)\"\n >\n <div class=\"cds--inline-notification__details\">\n <div class=\"cds--inline-notification__text-wrapper\">\n <p class=\"cds--inline-notification__title\">\n {{ errorNode.question.label }}\n </p>\n <p class=\"cds--inline-notification__subtitle\">\n {{ getControlError(errorNode) }}\n </p>\n </div>\n </div>\n <button\n tabindex=\"0\"\n class=\"cds--inline-notification__action-button cds--btn cds--btn--sm cds--btn--ghost\"\n type=\"button\"\n >\n Fix\n </button>\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n style=\"will-change: transform\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"cds--inline-notification__icon\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M10,1c-5,0-9,4-9,9s4,9,9,9s9-4,9-9S15,1,10,1z M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n ></path>\n <path\n d=\"M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n data-icon-path=\"inner-path\"\n opacity=\"0\"\n ></path>\n </svg>\n </div>\n </div>\n </ngx-tab-set>\n</div>\n<div *ngIf=\"node.question.renderingType === 'page'\">\n <!--Page Components-->\n <app-custom-component-wrapper\n [dark]=\"theme === 'light'\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </app-custom-component-wrapper>\n <form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></form-renderer>\n</div>\n<div *ngIf=\"node.question.renderingType === 'section' && checkSection(node)\">\n <div\n class=\"cds--accordion__item\"\n [ngClass]=\"{ 'cds--accordion__item--active': !isCollapsed }\"\n >\n <button\n class=\"cds--accordion__heading\"\n type=\"button\"\n [attr.aria-expanded]=\"isCollapsed ? 'false' : 'true'\"\n aria-controls=\"accordion-item-0\"\n (click)=\"isCollapsed = !isCollapsed\"\n >\n <svg\n class=\"cds--accordion__arrow\"\n ibmIcon=\"chevron--right\"\n size=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n aria-hidden=\"true\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M11 8L6 13 5.3 12.3 9.6 8 5.3 3.7 6 3z\"></path>\n </svg>\n <p class=\"cds--accordion__title\">\n {{ node.question.label }}\n </p>\n </button>\n <div [collapse]=\"isCollapsed\">\n <!--Section Components-->\n <app-custom-component-wrapper\n [dark]=\"theme === 'light'\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </app-custom-component-wrapper>\n <div\n class=\"cds--accordion__content accordion-content-override\"\n [ngClass]=\"{\n 'accordion-content-dark': theme === 'light'\n }\"\n >\n <form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></form-renderer>\n </div>\n </div>\n </div>\n</div>\n\n<!-- MESSAGES -->\n<div\n *ngIf=\"node.control && node.control.alert && node.control.alert !== ''\"\n class=\"alert alert-warning\"\n>\n <a class=\"close\" data-dismiss=\"alert\">&times;</a> {{ node.control.alert }}\n</div>\n\n<!--CONTROLS-->\n\n<div\n *ngIf=\"node.question.controlType === 0\"\n [formGroup]=\"parentGroup\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <app-custom-component-wrapper\n [dark]=\"!(theme === 'light')\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </app-custom-component-wrapper>\n <div class=\"cds--form-item\">\n <!--LEAF CONTROL-->\n <div class=\"question-area\">\n <a\n class=\"form-tooltip pull-right\"\n (click)=\"toggleInformation(node.question.extras.id)\"\n data-placement=\"right\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n <i class=\"glyphicon glyphicon-question-sign\" aria-hidden=\"true\"></i>\n </a>\n\n <label\n *ngIf=\"node.question.label\"\n [style.color]=\"hasErrors() ? 'red' : ''\"\n class=\"cds--label\"\n [attr.for]=\"node.question.key\"\n >\n {{ node.question.required ? '*' : '' }}\n {{ node.question.prefix ? node.question.prefix + ' ' : ''\n }}{{ node.question.label }}\n </label>\n\n <div\n *ngIf=\"\n node.question.extras.questionOptions.customControl;\n else nativeControls\n \"\n >\n <app-custom-control-wrapper\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [question]=\"node.question\"\n >\n </app-custom-control-wrapper>\n </div>\n\n <ng-template #nativeControls>\n <div class=\"afe-control\" [ngSwitch]=\"node.question.renderingType\">\n <ibm-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'select'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n >\n <option *ngFor=\"let o of node.question.options\" [value]=\"o.value\">\n {{ o.label }}\n </option>\n </ibm-select>\n\n <div *ngSwitchCase=\"'file'\">\n <app-file-upload\n [dataSource]=\"dataSource\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n (fileChanged)=\"upload($event)\"\n >\n </app-file-upload>\n </div>\n\n <textarea\n [theme]=\"theme\"\n ibmTextArea\n [ngClass]=\"{\n 'cds--text-area--light': theme === 'light',\n 'cds--text-area--invalid': !node.control.valid\n }\"\n [placeholder]=\"node.question.placeholder\"\n [rows]=\"node.question.rows\"\n class=\"cds--text-area\"\n *ngSwitchCase=\"'textarea'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n >\n </textarea>\n\n <ngx-remote-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'remote-select'\"\n [placeholder]=\"node.question.placeholder\"\n tabindex=\"0\"\n [dataSource]=\"dataSource\"\n [componentID]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n ></ngx-remote-select>\n\n <ngx-datetimepicker\n [weeks]=\"node.question.extras.questionOptions.weeksList\"\n [showWeeks]=\"node.question.showWeeksAdder\"\n [theme]=\"theme\"\n [id]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n *ngSwitchCase=\"'date'\"\n [datePickerFormat]=\"node.question.datePickerFormat\"\n >\n </ngx-datetimepicker>\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'multi-select'\"\n [items]=\"node.question.options\"\n bindLabel=\"label\"\n bindValue=\"value\"\n [multiple]=\"true\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n </ng-select>\n\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'single-select'\"\n [items]=\"node.question.options\"\n bindLabel=\"label\"\n bindValue=\"value\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n </ng-select>\n\n <number-input\n [theme]=\"theme\"\n *ngSwitchCase=\"'number'\"\n [id]=\"node.question.key + 'id'\"\n [min]=\"node.question.extras.questionOptions.min\"\n [max]=\"node.question.extras.questionOptions.max\"\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder\"\n >\n </number-input>\n\n <input\n [theme]=\"theme\"\n class=\"cds--text-input\"\n ibmText\n *ngSwitchDefault\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder\"\n [type]=\"node.question.renderingType\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n />\n\n <div *ngSwitchCase=\"'radio'\">\n <div\n *ngFor=\"let o of node.question.options\"\n [ngClass]=\"{\n 'in-line': node.question.orientation === 'horizontal'\n }\"\n >\n <label class=\"form-control no-border\">\n <input\n type=\"radio\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [value]=\"o.value\"\n />\n {{ o.label }}\n </label>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'checkbox'\">\n <checkbox\n [id]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n [options]=\"node.question.options\"\n [selected]=\"node.control.value\"\n ></checkbox>\n </div>\n\n <div\n *ngIf=\"\n node.question.enableHistoricalValue &&\n node.question.historicalDisplay\n \"\n style=\"margin-top: 2px\"\n >\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-xs-9\">\n <span class=\"text-warning\">Previous Value: </span>\n <strong>{{ node.question.historicalDisplay?.text }}</strong>\n <span *ngIf=\"node.question.showHistoricalValueDate\">\n <span> | </span>\n <strong class=\"text-primary\"\n >{{ node.question.historicalDisplay?._date | date }}\n </strong>\n <span\n class=\"text-primary\"\n *ngIf=\"\n node.question.historicalDisplay &&\n node.question.historicalDisplay._date\n \"\n >\n ({{\n node.question.historicalDisplay._date | timeAgo\n }})</span\n >\n </span>\n </div>\n <button\n type=\"button\"\n [node]=\"node\"\n [name]=\"'historyValue'\"\n class=\"cds--btn cds--btn--primary cds--btn--sm col-xs-3\"\n >\n Use Value\n </button>\n </div>\n </div>\n </div>\n <appointments-overview [node]=\"node\"></appointments-overview>\n <div *ngIf=\"hasErrors()\">\n <div *ngFor=\"let e of errors()\">\n <span class=\"text-danger\">{{ e }}</span>\n </div>\n </div>\n </div>\n </ng-template>\n\n <div\n class=\"question-info col-md-12 col-lg-12 col-sm-12\"\n id=\"{{ node.question.extras.id }}\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n {{ node.question.extras.questionInfo }}\n </div>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 1\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--ARRAY CONTROL-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div class=\"well\" style=\"padding: 2px\" *ngSwitchCase=\"'repeating'\">\n <h4 style=\"margin: 2px; font-weight: bold\">{{ node.question.label }}</h4>\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 2px;\n \"\n />\n <div [ngSwitch]=\"node.question.extras.type\">\n <div *ngSwitchCase=\"'testOrder'\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n ></form-renderer>\n <div>{{ child.orderNumber }}</div>\n <button\n type=\"button \"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n Remove\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n\n <div *ngSwitchCase=\"'obsGroup'\" style=\"margin-bottom: 20px\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n ></form-renderer>\n <button\n type=\"button \"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n Remove\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n </div>\n <button\n type=\"button\"\n class=\"cds--btn cds--btn--primary\"\n (click)=\"node.createChildNode()\"\n >\n Add\n </button>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 2\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--GROUP-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div *ngSwitchCase=\"'group'\">\n <form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></form-renderer>\n </div>\n <div\n *ngSwitchCase=\"'field-set'\"\n style=\"border: 1px solid #eeeeee; padding: 2px; margin: 2px\"\n >\n <form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></form-renderer>\n </div>\n </div>\n</div>\n", styles: [".slider{width:auto;margin:30px}.slick-prev:before,.slick-next:before{color:#337ab7}.slick-dots{bottom:-40px}.slick-slide{outline:none}\n", "a{color:#fff;text-decoration:none;font-size:12px;text-transform:uppercase}ul{list-style-type:none;margin:2px auto;position:relative}li{display:block;padding:10px 20px;white-space:nowrap;transition:all .3s ease-in;border-bottom:4px solid transparent}li:hover{border-bottom:4px solid white;opacity:.7;cursor:pointer}.owl-theme .owl-controls .owl-nav{position:absolute;width:100%;top:0}.owl-theme .owl-controls .owl-nav [class*=owl-]{position:absolute;background:none;color:#000}.owl-theme .owl-controls .owl-nav [class*=owl-]:hover{background:none;color:#000}.owl-theme .owl-controls .owl-nav .owl-next{right:0;transform:translate(120%)}.owl-theme .owl-controls .owl-nav .owl-prev{left:0;transform:translate(-120%)}.slick-initialized .swipe-tab-content{position:relative;min-height:365px}@media screen and (min-width: 767px){.slick-initialized .swipe-tab-content{min-height:500px}}.slick-initialized .swipe-tab{display:flex;align-items:center;justify-content:center;height:50px;background:none;border:0;color:#757575;cursor:pointer;text-align:center;border-bottom:2px solid rgba(51,122,183,0);transition:all .5s}.slick-initialized .swipe-tab:hover{color:#337ab7}.slick-initialized .swipe-tab.active-tab{border-bottom-color:#337ab7;color:#337ab7;font-weight:bold}.disabled{opacity:.5;pointer-events:none}.select2-container{margin-top:-5px}.btn{padding:0 12px!important}.form-tooltip{color:#337ab7;display:inline-block}.question-info{opacity:0;height:0px;display:none;transition-duration:opacity 1s ease-out;transtion-delay:.5s;padding-top:2px;padding-bottom:2px;color:#696969;border-style:ridge;border-width:1px;border-color:#337ab7;margin-top:2px}.hide-info{display:none;height:0px}.form-tooltip:hover~.question-info{display:block;opacity:1;height:auto}.form-tooltip .tooltipcontent:after{content:\" \";position:absolute;bottom:100%;right:0%;margin-left:-5px;border-width:5px;border-style:solid;border-top-color:transparent;border-right-color:transparent;border-bottom-color:#337ab7;border-left-color:transparent}ng-select.form-control{padding-top:0;height:auto;padding-bottom:0}.forms-dropdown-menu{max-height:450px;overflow-y:scroll}.no-border{border:0;box-shadow:none}.text-danger{color:var(--cds-support-01, #da1e28)}.error{margin-bottom:3rem}.afe-control{margin-bottom:1.5rem}[hidden]{display:none!important}.accordion-content-dark{background-color:#f4f4f4;padding-right:1rem}.accordion-content-override{box-sizing:content-box}.question-area{width:100%;max-width:18rem}.in-line{display:inline-block;padding-right:.5rem}\n"], components: [{ type: TabSetComponent, selector: "ngx-tab-set", inputs: ["disableStyle", "customNavClass", "customTabsClass", "selectedIndex"], outputs: ["onSelect"] }, { type: TabComponent, selector: "ngx-tab", inputs: ["tabTitle", "tabSubTitle", "active", "disabled", "bypassDOM", "customPaneClass"] }, { type: FormRendererComponent, selector: "form-renderer", inputs: ["parentComponent", "node", "parentGroup", "theme", "labelMap"] }, { type: CustomComponentWrapperComponent, selector: "app-custom-component-wrapper", inputs: ["componentConfigs", "dark"] }, { type: CustomControlWrapperComponent, selector: "app-custom-control-wrapper", inputs: ["question"] }, { type: Select, selector: "ibm-select", inputs: ["display", "label", "helperText", "invalidText", "warn", "warnText", "id", "size", "disabled", "skeleton", "invalid", "theme", "ariaLabel", "value"], outputs: ["valueChange"] }, { type: FileUploadComponent, selector: "app-file-upload", inputs: ["dataSource"] }, { type: RemoteSelectComponent, selector: "ngx-remote-select", inputs: ["placeholder", "componentID", "disabled", "theme", "dataSource"], outputs: ["done"] }, { type: NgxDatetimeComponent, selector: "ngx-datetimepicker", inputs: ["id", "theme", "datePickerFormat", "showWeeks", "weeks"] }, { type: i1__namespace$3.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: NumberInputComponent, selector: "number-input", inputs: ["theme", "disabled", "skeleton", "invalid", "id", "size", "required", "value", "min", "max", "label", "helperText", "invalidText", "step", "precision", "warn", "warnText", "decrementLabel", "incrementLabel"], outputs: ["change"] }, { type: CheckboxControlComponent, selector: "checkbox", inputs: ["id", "options", "selected"] }, { type: AppointmentsOverviewComponent, selector: "appointments-overview", inputs: ["node"] }], directives: [{ type: i1__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: HistoricalValueDirective, selector: "[node]", inputs: ["_node", "node"], outputs: ["_nodeChange"] }, { type: i1__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: CollapseDirective, selector: "[collapse]", inputs: ["display", "isAnimated", "collapse"], outputs: ["collapsed", "collapses", "expanded", "expands"], exportAs: ["bs-collapse"] }, { type: i19__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i19__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i19__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i19__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i1__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i19__namespace.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i19__namespace.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: Option$1, selector: "option" }, { type: i19__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: TextArea, selector: "[ibmTextArea]", inputs: ["theme", "invalid", "skeleton"] }, { type: i1__namespace.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: TextInput, selector: "[ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { type: i19__namespace.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }], pipes: { "date": i1__namespace.DatePipe, "timeAgo": TimeAgoPipe } });
9915
+ FormRendererComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FormRendererComponent, selector: "form-renderer", inputs: { parentComponent: "parentComponent", node: "node", parentGroup: "parentGroup", theme: "theme", labelMap: "labelMap" }, usesOnChanges: true, ngImport: i0__namespace, template: "<!--CONTAINERS-->\n<div *ngIf=\"node.question.renderingType === 'form'\">\n <ngx-tab-set (onSelect)=\"tabSelected($event)\" [selectedIndex]=\"activeTab\">\n <ngx-tab\n [tabTitle]=\"question.label\"\n *ngFor=\"let question of node.question.questions; let i = index\"\n >\n <form-renderer\n [node]=\"node.children[question.key]\"\n [parentComponent]=\"this\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n >\n </form-renderer>\n </ngx-tab>\n\n <div *ngIf=\"showErrors()\" class=\"container\">\n <div\n data-notification\n *ngFor=\"let errorNode of errorNodes\"\n class=\"cds--inline-notification cds--inline-notification--error cds--inline-notification--low-contrast pointer\"\n role=\"alert\"\n (click)=\"announceErrorField(errorNode)\"\n >\n <div class=\"cds--inline-notification__details\">\n <div class=\"cds--inline-notification__text-wrapper\">\n <p class=\"cds--inline-notification__title\">\n {{ errorNode.question.label }}\n </p>\n <p class=\"cds--inline-notification__subtitle\">\n {{ getControlError(errorNode) }}\n </p>\n </div>\n </div>\n <button\n tabindex=\"0\"\n class=\"cds--inline-notification__action-button cds--btn cds--btn--sm cds--btn--ghost\"\n type=\"button\"\n >\n Fix\n </button>\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n style=\"will-change: transform\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"cds--inline-notification__icon\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M10,1c-5,0-9,4-9,9s4,9,9,9s9-4,9-9S15,1,10,1z M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n ></path>\n <path\n d=\"M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n data-icon-path=\"inner-path\"\n opacity=\"0\"\n ></path>\n </svg>\n </div>\n </div>\n </ngx-tab-set>\n</div>\n<div *ngIf=\"node.question.renderingType === 'page'\">\n <!--Page Components-->\n <app-custom-component-wrapper\n [dark]=\"theme === 'light'\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </app-custom-component-wrapper>\n <form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></form-renderer>\n</div>\n<div *ngIf=\"node.question.renderingType === 'section' && checkSection(node)\">\n <div\n class=\"cds--accordion__item\"\n [ngClass]=\"{ 'cds--accordion__item--active': !isCollapsed }\"\n >\n <button\n class=\"cds--accordion__heading\"\n type=\"button\"\n [attr.aria-expanded]=\"isCollapsed ? 'false' : 'true'\"\n aria-controls=\"accordion-item-0\"\n (click)=\"isCollapsed = !isCollapsed\"\n >\n <svg\n class=\"cds--accordion__arrow\"\n ibmIcon=\"chevron--right\"\n size=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n aria-hidden=\"true\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M11 8L6 13 5.3 12.3 9.6 8 5.3 3.7 6 3z\"></path>\n </svg>\n <p class=\"cds--accordion__title\">\n {{ node.question.label }}\n </p>\n </button>\n <div [collapse]=\"isCollapsed\">\n <!--Section Components-->\n <app-custom-component-wrapper\n [dark]=\"theme === 'light'\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </app-custom-component-wrapper>\n <div\n class=\"cds--accordion__content accordion-content-override\"\n [ngClass]=\"{\n 'accordion-content-dark': theme === 'light'\n }\"\n >\n <form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></form-renderer>\n </div>\n </div>\n </div>\n</div>\n\n<!-- MESSAGES -->\n<div\n *ngIf=\"node.control && node.control.alert && node.control.alert !== ''\"\n class=\"alert alert-warning\"\n>\n <a class=\"close\" data-dismiss=\"alert\">&times;</a> {{ node.control.alert }}\n</div>\n\n<!--CONTROLS-->\n\n<div\n *ngIf=\"node.question.controlType === 0\"\n [formGroup]=\"parentGroup\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <app-custom-component-wrapper\n [dark]=\"!(theme === 'light')\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </app-custom-component-wrapper>\n <div class=\"cds--form-item\">\n <!--LEAF CONTROL-->\n <div class=\"question-area\">\n <a\n class=\"form-tooltip pull-right\"\n (click)=\"toggleInformation(node.question.extras.id)\"\n data-placement=\"right\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n <i class=\"glyphicon glyphicon-question-sign\" aria-hidden=\"true\"></i>\n </a>\n\n <label\n *ngIf=\"node.question.label\"\n [style.color]=\"hasErrors() ? 'red' : ''\"\n class=\"cds--label\"\n [attr.for]=\"node.question.key\"\n >\n {{ node.question.required ? '*' : '' }}\n {{ node.question.prefix ? node.question.prefix + ' ' : ''\n }}{{ node.question.label }}\n </label>\n\n <div\n *ngIf=\"\n node.question.extras.questionOptions.customControl;\n else nativeControls\n \"\n >\n <app-custom-control-wrapper\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [question]=\"node.question\"\n >\n </app-custom-control-wrapper>\n </div>\n\n <ng-template #nativeControls>\n <div class=\"afe-control\" [ngSwitch]=\"node.question.renderingType\">\n <ibm-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'select'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n >\n <option *ngFor=\"let o of node.question.options\" [value]=\"o.value\">\n {{ o.label }}\n </option>\n </ibm-select>\n\n <div *ngSwitchCase=\"'file'\">\n <app-file-upload\n [dataSource]=\"dataSource\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n (fileChanged)=\"upload($event)\"\n >\n </app-file-upload>\n </div>\n\n <textarea\n [theme]=\"theme\"\n ibmTextArea\n [ngClass]=\"{\n 'cds--text-area--light': theme === 'light',\n 'cds--text-area--invalid': !node.control.valid\n }\"\n [placeholder]=\"node.question.placeholder\"\n [rows]=\"node.question.rows\"\n class=\"cds--text-area\"\n *ngSwitchCase=\"'textarea'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n >\n </textarea>\n\n <ngx-remote-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'remote-select'\"\n [placeholder]=\"node.question.placeholder\"\n tabindex=\"0\"\n [dataSource]=\"dataSource\"\n [componentID]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n ></ngx-remote-select>\n\n <ngx-datetimepicker\n [weeks]=\"node.question.extras.questionOptions.weeksList\"\n [showWeeks]=\"node.question.showWeeksAdder\"\n [theme]=\"theme\"\n [id]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n *ngSwitchCase=\"'date'\"\n [datePickerFormat]=\"node.question.datePickerFormat\"\n >\n </ngx-datetimepicker>\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'multi-select'\"\n [items]=\"node.question.options\"\n bindLabel=\"label\"\n bindValue=\"value\"\n [multiple]=\"true\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n </ng-select>\n\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'single-select'\"\n [items]=\"node.question.options\"\n bindLabel=\"label\"\n bindValue=\"value\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n </ng-select>\n\n <number-input\n [theme]=\"theme\"\n *ngSwitchCase=\"'number'\"\n [id]=\"node.question.key + 'id'\"\n [min]=\"node.question.extras.questionOptions.min\"\n [max]=\"node.question.extras.questionOptions.max\"\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder\"\n >\n </number-input>\n\n <input\n [theme]=\"theme\"\n class=\"cds--text-input\"\n ibmText\n *ngSwitchDefault\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder\"\n [type]=\"node.question.renderingType\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n />\n\n <div *ngSwitchCase=\"'radio'\">\n <radio [id]=\"node.question.key + 'id'\" [formControlName]=\"node.question.key\"\n [options]=\"node.question.options\" [selected]=\"node.control.value\" [allowRadioUnselect]=\"node.question.allowRadioUnselect\"></radio>\n </div>\n\n <div *ngSwitchCase=\"'checkbox'\">\n <checkbox\n [id]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n [options]=\"node.question.options\"\n [selected]=\"node.control.value\"\n ></checkbox>\n </div>\n\n <div\n *ngIf=\"\n node.question.enableHistoricalValue &&\n node.question.historicalDisplay\n \"\n style=\"margin-top: 2px\"\n >\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-xs-9\">\n <span class=\"text-warning\">Previous Value: </span>\n <strong>{{ node.question.historicalDisplay?.text }}</strong>\n <span *ngIf=\"node.question.showHistoricalValueDate\">\n <span> | </span>\n <strong class=\"text-primary\"\n >{{ node.question.historicalDisplay?._date | date }}\n </strong>\n <span\n class=\"text-primary\"\n *ngIf=\"\n node.question.historicalDisplay &&\n node.question.historicalDisplay._date\n \"\n >\n ({{\n node.question.historicalDisplay._date | timeAgo\n }})</span\n >\n </span>\n </div>\n <button\n type=\"button\"\n [node]=\"node\"\n [name]=\"'historyValue'\"\n class=\"cds--btn cds--btn--primary cds--btn--sm col-xs-3\"\n >\n Use Value\n </button>\n </div>\n </div>\n </div>\n <appointments-overview [node]=\"node\"></appointments-overview>\n <div *ngIf=\"hasErrors()\">\n <div *ngFor=\"let e of errors()\">\n <span class=\"text-danger\">{{ e }}</span>\n </div>\n </div>\n </div>\n </ng-template>\n\n <div\n class=\"question-info col-md-12 col-lg-12 col-sm-12\"\n id=\"{{ node.question.extras.id }}\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n {{ node.question.extras.questionInfo }}\n </div>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 1\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--ARRAY CONTROL-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div class=\"well\" style=\"padding: 2px\" *ngSwitchCase=\"'repeating'\">\n <h4 style=\"margin: 2px; font-weight: bold\">{{ node.question.label }}</h4>\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 2px;\n \"\n />\n <div [ngSwitch]=\"node.question.extras.type\">\n <div *ngSwitchCase=\"'testOrder'\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n ></form-renderer>\n <div>{{ child.orderNumber }}</div>\n <button\n type=\"button \"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n Remove\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n\n <div *ngSwitchCase=\"'obsGroup'\" style=\"margin-bottom: 20px\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n ></form-renderer>\n <button\n type=\"button \"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n Remove\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n </div>\n <button\n type=\"button\"\n class=\"cds--btn cds--btn--primary\"\n (click)=\"node.createChildNode()\"\n >\n Add\n </button>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 2\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--GROUP-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div *ngSwitchCase=\"'group'\">\n <form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></form-renderer>\n </div>\n <div\n *ngSwitchCase=\"'field-set'\"\n style=\"border: 1px solid #eeeeee; padding: 2px; margin: 2px\"\n >\n <form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></form-renderer>\n </div>\n </div>\n</div>\n", styles: [".slider{width:auto;margin:30px}.slick-prev:before,.slick-next:before{color:#337ab7}.slick-dots{bottom:-40px}.slick-slide{outline:none}\n", "a{color:#fff;text-decoration:none;font-size:12px;text-transform:uppercase}ul{list-style-type:none;margin:2px auto;position:relative}li{display:block;padding:10px 20px;white-space:nowrap;transition:all .3s ease-in;border-bottom:4px solid transparent}li:hover{border-bottom:4px solid white;opacity:.7;cursor:pointer}.owl-theme .owl-controls .owl-nav{position:absolute;width:100%;top:0}.owl-theme .owl-controls .owl-nav [class*=owl-]{position:absolute;background:none;color:#000}.owl-theme .owl-controls .owl-nav [class*=owl-]:hover{background:none;color:#000}.owl-theme .owl-controls .owl-nav .owl-next{right:0;transform:translate(120%)}.owl-theme .owl-controls .owl-nav .owl-prev{left:0;transform:translate(-120%)}.slick-initialized .swipe-tab-content{position:relative;min-height:365px}@media screen and (min-width: 767px){.slick-initialized .swipe-tab-content{min-height:500px}}.slick-initialized .swipe-tab{display:flex;align-items:center;justify-content:center;height:50px;background:none;border:0;color:#757575;cursor:pointer;text-align:center;border-bottom:2px solid rgba(51,122,183,0);transition:all .5s}.slick-initialized .swipe-tab:hover{color:#337ab7}.slick-initialized .swipe-tab.active-tab{border-bottom-color:#337ab7;color:#337ab7;font-weight:bold}.disabled{opacity:.5;pointer-events:none}.select2-container{margin-top:-5px}.btn{padding:0 12px!important}.form-tooltip{color:#337ab7;display:inline-block}.question-info{opacity:0;height:0px;display:none;transition-duration:opacity 1s ease-out;transtion-delay:.5s;padding-top:2px;padding-bottom:2px;color:#696969;border-style:ridge;border-width:1px;border-color:#337ab7;margin-top:2px}.hide-info{display:none;height:0px}.form-tooltip:hover~.question-info{display:block;opacity:1;height:auto}.form-tooltip .tooltipcontent:after{content:\" \";position:absolute;bottom:100%;right:0%;margin-left:-5px;border-width:5px;border-style:solid;border-top-color:transparent;border-right-color:transparent;border-bottom-color:#337ab7;border-left-color:transparent}ng-select.form-control{padding-top:0;height:auto;padding-bottom:0}.forms-dropdown-menu{max-height:450px;overflow-y:scroll}.no-border{border:0;box-shadow:none}.text-danger{color:var(--cds-support-01, #da1e28)}.error{margin-bottom:3rem}.afe-control{margin-bottom:1.5rem}[hidden]{display:none!important}.accordion-content-dark{background-color:#f4f4f4;padding-right:1rem}.accordion-content-override{box-sizing:content-box}.question-area{width:100%;max-width:18rem}.in-line{display:inline-block;padding-right:.5rem}\n"], components: [{ type: TabSetComponent, selector: "ngx-tab-set", inputs: ["disableStyle", "customNavClass", "customTabsClass", "selectedIndex"], outputs: ["onSelect"] }, { type: TabComponent, selector: "ngx-tab", inputs: ["tabTitle", "tabSubTitle", "active", "disabled", "bypassDOM", "customPaneClass"] }, { type: FormRendererComponent, selector: "form-renderer", inputs: ["parentComponent", "node", "parentGroup", "theme", "labelMap"] }, { type: CustomComponentWrapperComponent, selector: "app-custom-component-wrapper", inputs: ["componentConfigs", "dark"] }, { type: CustomControlWrapperComponent, selector: "app-custom-control-wrapper", inputs: ["question"] }, { type: Select, selector: "ibm-select", inputs: ["display", "label", "helperText", "invalidText", "warn", "warnText", "id", "size", "disabled", "skeleton", "invalid", "theme", "ariaLabel", "value"], outputs: ["valueChange"] }, { type: FileUploadComponent, selector: "app-file-upload", inputs: ["dataSource"] }, { type: RemoteSelectComponent, selector: "ngx-remote-select", inputs: ["placeholder", "componentID", "disabled", "theme", "dataSource"], outputs: ["done"] }, { type: NgxDatetimeComponent, selector: "ngx-datetimepicker", inputs: ["id", "theme", "datePickerFormat", "showWeeks", "weeks"] }, { type: i1__namespace$3.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: NumberInputComponent, selector: "number-input", inputs: ["theme", "disabled", "skeleton", "invalid", "id", "size", "required", "value", "min", "max", "label", "helperText", "invalidText", "step", "precision", "warn", "warnText", "decrementLabel", "incrementLabel"], outputs: ["change"] }, { type: RadioButtonControlComponent, selector: "radio", inputs: ["id", "selected", "options", "allowRadioUnselect"] }, { type: CheckboxControlComponent, selector: "checkbox", inputs: ["id", "options", "selected"] }, { type: AppointmentsOverviewComponent, selector: "appointments-overview", inputs: ["node"] }], directives: [{ type: i1__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: HistoricalValueDirective, selector: "[node]", inputs: ["_node", "node"], outputs: ["_nodeChange"] }, { type: i1__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: CollapseDirective, selector: "[collapse]", inputs: ["display", "isAnimated", "collapse"], outputs: ["collapsed", "collapses", "expanded", "expands"], exportAs: ["bs-collapse"] }, { type: i20__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i20__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i20__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i20__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i1__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i20__namespace.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i20__namespace.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: Option$1, selector: "option" }, { type: i20__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: TextArea, selector: "[ibmTextArea]", inputs: ["theme", "invalid", "skeleton"] }, { type: i1__namespace.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: TextInput, selector: "[ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }], pipes: { "date": i1__namespace.DatePipe, "timeAgo": TimeAgoPipe } });
9831
9916
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FormRendererComponent, decorators: [{
9832
9917
  type: i0.Component,
9833
9918
  args: [{
@@ -9912,12 +9997,12 @@
9912
9997
  return NumberInputModule;
9913
9998
  }());
9914
9999
  NumberInputModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: NumberInputModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
9915
- NumberInputModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: NumberInputModule, declarations: [NumberInputComponent], imports: [i1.CommonModule, i19.FormsModule], exports: [NumberInputComponent] });
9916
- NumberInputModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: NumberInputModule, providers: [], imports: [[i1.CommonModule, i19.FormsModule]] });
10000
+ NumberInputModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: NumberInputModule, declarations: [NumberInputComponent], imports: [i1.CommonModule, i20.FormsModule], exports: [NumberInputComponent] });
10001
+ NumberInputModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: NumberInputModule, providers: [], imports: [[i1.CommonModule, i20.FormsModule]] });
9917
10002
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: NumberInputModule, decorators: [{
9918
10003
  type: i0.NgModule,
9919
10004
  args: [{
9920
- imports: [i1.CommonModule, i19.FormsModule],
10005
+ imports: [i1.CommonModule, i20.FormsModule],
9921
10006
  exports: [NumberInputComponent],
9922
10007
  declarations: [NumberInputComponent],
9923
10008
  providers: []
@@ -9949,13 +10034,13 @@
9949
10034
  }());
9950
10035
  RemoteFileUploadModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: RemoteFileUploadModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
9951
10036
  RemoteFileUploadModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: RemoteFileUploadModule, declarations: [FileUploadComponent], imports: [i1.CommonModule,
9952
- i19.FormsModule,
10037
+ i20.FormsModule,
9953
10038
  SharedModule,
9954
10039
  ngxWebcam.WebcamModule,
9955
10040
  i1$2.NgxFileUploaderModule], exports: [FileUploadComponent] });
9956
10041
  RemoteFileUploadModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: RemoteFileUploadModule, providers: [], imports: [[
9957
10042
  i1.CommonModule,
9958
- i19.FormsModule,
10043
+ i20.FormsModule,
9959
10044
  SharedModule,
9960
10045
  ngxWebcam.WebcamModule,
9961
10046
  i1$2.NgxFileUploaderModule
@@ -9965,7 +10050,7 @@
9965
10050
  args: [{
9966
10051
  imports: [
9967
10052
  i1.CommonModule,
9968
- i19.FormsModule,
10053
+ i20.FormsModule,
9969
10054
  SharedModule,
9970
10055
  ngxWebcam.WebcamModule,
9971
10056
  i1$2.NgxFileUploaderModule
@@ -10417,7 +10502,7 @@
10417
10502
  DateTimePickerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: DateTimePickerComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
10418
10503
  DateTimePickerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DateTimePickerComponent, selector: "date-time-picker", inputs: { modelValue: "modelValue", showDate: "showDate", showTime: "showTime", showWeeks: "showWeeks", weeks: "weeks" }, outputs: { onDateChange: "onDateChange" }, providers: [
10419
10504
  {
10420
- provide: i19.NG_VALUE_ACCESSOR,
10505
+ provide: i20.NG_VALUE_ACCESSOR,
10421
10506
  useExisting: i0.forwardRef(function () { return DateTimePickerComponent; }),
10422
10507
  multi: true
10423
10508
  }
@@ -10430,7 +10515,7 @@
10430
10515
  styleUrls: ['./date-time-picker.component.css'],
10431
10516
  providers: [
10432
10517
  {
10433
- provide: i19.NG_VALUE_ACCESSOR,
10518
+ provide: i20.NG_VALUE_ACCESSOR,
10434
10519
  useExisting: i0.forwardRef(function () { return DateTimePickerComponent; }),
10435
10520
  multi: true
10436
10521
  }
@@ -10463,16 +10548,16 @@
10463
10548
  TimePickerComponent,
10464
10549
  ModalComponent,
10465
10550
  MomentPipe,
10466
- DateTimePickerComponent], imports: [i1.CommonModule, i19.FormsModule], exports: [DatePickerComponent,
10551
+ DateTimePickerComponent], imports: [i1.CommonModule, i20.FormsModule], exports: [DatePickerComponent,
10467
10552
  TimePickerComponent,
10468
10553
  ModalComponent,
10469
10554
  MomentPipe,
10470
10555
  DateTimePickerComponent] });
10471
- DateTimePickerModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: DateTimePickerModule, providers: [], imports: [[i1.CommonModule, i19.FormsModule]] });
10556
+ DateTimePickerModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: DateTimePickerModule, providers: [], imports: [[i1.CommonModule, i20.FormsModule]] });
10472
10557
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: DateTimePickerModule, decorators: [{
10473
10558
  type: i0.NgModule,
10474
10559
  args: [{
10475
- imports: [i1.CommonModule, i19.FormsModule],
10560
+ imports: [i1.CommonModule, i20.FormsModule],
10476
10561
  declarations: [
10477
10562
  DatePickerComponent,
10478
10563
  TimePickerComponent,
@@ -10492,7 +10577,7 @@
10492
10577
  }] });
10493
10578
 
10494
10579
  var OWL_DATETIME_VALUE_ACCESSOR = {
10495
- provide: i19.NG_VALUE_ACCESSOR,
10580
+ provide: i20.NG_VALUE_ACCESSOR,
10496
10581
  useExisting: i0.forwardRef(function () { return OwlDateTimeInlineComponent; }),
10497
10582
  multi: true
10498
10583
  };
@@ -11325,12 +11410,12 @@
11325
11410
  }());
11326
11411
  NgxDateTimePickerModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: NgxDateTimePickerModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
11327
11412
  NgxDateTimePickerModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: NgxDateTimePickerModule, declarations: [NgxDatetimeComponent], imports: [i1.CommonModule,
11328
- i19.FormsModule,
11413
+ i20.FormsModule,
11329
11414
  OwlDateTimeModule,
11330
11415
  OwlNativeDateTimeModule], exports: [NgxDatetimeComponent] });
11331
11416
  NgxDateTimePickerModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: NgxDateTimePickerModule, providers: [], imports: [[
11332
11417
  i1.CommonModule,
11333
- i19.FormsModule,
11418
+ i20.FormsModule,
11334
11419
  OwlDateTimeModule,
11335
11420
  OwlNativeDateTimeModule
11336
11421
  ]] });
@@ -11340,7 +11425,7 @@
11340
11425
  schemas: [i0.CUSTOM_ELEMENTS_SCHEMA],
11341
11426
  imports: [
11342
11427
  i1.CommonModule,
11343
- i19.FormsModule,
11428
+ i20.FormsModule,
11344
11429
  OwlDateTimeModule,
11345
11430
  OwlNativeDateTimeModule
11346
11431
  ],
@@ -11421,7 +11506,7 @@
11421
11506
  AfeNgSelectComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: AfeNgSelectComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
11422
11507
  AfeNgSelectComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AfeNgSelectComponent, selector: "afe-ng-select", inputs: { dataSource: "dataSource", multiple: "multiple", extras: "extras" }, providers: [
11423
11508
  {
11424
- provide: i19.NG_VALUE_ACCESSOR,
11509
+ provide: i20.NG_VALUE_ACCESSOR,
11425
11510
  useExisting: i0.forwardRef(function () { return AfeNgSelectComponent; }),
11426
11511
  multi: true
11427
11512
  }
@@ -11433,7 +11518,7 @@
11433
11518
  template: "<ng-select\n (searchInputText)=\"getChangingText($event)\"\n (ngModelChange)=\"onValueChange($event)\"\n [options]=\"question_options\"\n [multiple]=\"multiple\"\n >\n </ng-select> ",
11434
11519
  providers: [
11435
11520
  {
11436
- provide: i19.NG_VALUE_ACCESSOR,
11521
+ provide: i20.NG_VALUE_ACCESSOR,
11437
11522
  useExisting: i0.forwardRef(function () { return AfeNgSelectComponent; }),
11438
11523
  multi: true
11439
11524
  }
@@ -11809,7 +11894,7 @@
11809
11894
  __extends(CheckBoxQuestion, _super);
11810
11895
  function CheckBoxQuestion(options) {
11811
11896
  var _this = _super.call(this, options) || this;
11812
- _this.renderingType = 'checkbox' || 'radio';
11897
+ _this.renderingType = 'checkbox';
11813
11898
  _this.options = options.options || [];
11814
11899
  _this.controlType = exports.AfeControlType.AfeFormControl;
11815
11900
  return _this;
@@ -11817,6 +11902,19 @@
11817
11902
  return CheckBoxQuestion;
11818
11903
  }(QuestionBase));
11819
11904
 
11905
+ var RadioButtonQuestion = /** @class */ (function (_super) {
11906
+ __extends(RadioButtonQuestion, _super);
11907
+ function RadioButtonQuestion(options) {
11908
+ var _this = _super.call(this, options) || this;
11909
+ _this.renderingType = 'radio';
11910
+ _this.allowRadioUnselect = options.allowRadioUnselect === false;
11911
+ _this.options = options.options || [];
11912
+ _this.controlType = exports.AfeControlType.AfeFormControl;
11913
+ return _this;
11914
+ }
11915
+ return RadioButtonQuestion;
11916
+ }(QuestionBase));
11917
+
11820
11918
  var Form = /** @class */ (function () {
11821
11919
  function Form(schema, formFactory, questionFactory) {
11822
11920
  this.schema = schema;
@@ -12587,6 +12685,38 @@
12587
12685
  this.addCalculatorProperty(schemaQuestion, question);
12588
12686
  return question;
12589
12687
  };
12688
+ QuestionFactory.prototype.toRadioButtonQuestion = function (schemaQuestion) {
12689
+ var question = new RadioButtonQuestion({
12690
+ options: [],
12691
+ type: '',
12692
+ key: ''
12693
+ });
12694
+ question.label = schemaQuestion.label;
12695
+ question.key = schemaQuestion.id;
12696
+ question.extras = schemaQuestion;
12697
+ question.allowRadioUnselect =
12698
+ schemaQuestion.questionOptions.allowRadioUnselect;
12699
+ question.options = schemaQuestion.questionOptions.answers.map(function (obj) {
12700
+ return {
12701
+ label: obj.label,
12702
+ value: obj.concept
12703
+ };
12704
+ });
12705
+ question.options.splice(0, 0);
12706
+ question.renderingType = schemaQuestion.questionOptions.rendering;
12707
+ var mappings = {
12708
+ label: 'label',
12709
+ required: 'required',
12710
+ id: 'key'
12711
+ };
12712
+ question.componentConfigs = schemaQuestion.componentConfigs || [];
12713
+ this.copyProperties(mappings, schemaQuestion, question);
12714
+ this.addDisableOrHideProperty(schemaQuestion, question);
12715
+ this.addAlertProperty(schemaQuestion, question);
12716
+ this.addHistoricalExpressions(schemaQuestion, question);
12717
+ this.addCalculatorProperty(schemaQuestion, question);
12718
+ return question;
12719
+ };
12590
12720
  QuestionFactory.prototype.toMultiCheckboxQuestion = function (schemaQuestion) {
12591
12721
  var question = new MultiSelectQuestion({
12592
12722
  renderType: '',
@@ -13099,7 +13229,7 @@
13099
13229
  case 'encounterProvider':
13100
13230
  return this.toEncounterProviderQuestion(schema);
13101
13231
  case 'radio':
13102
- return this.toCheckBoxQuestion(schema);
13232
+ return this.toRadioButtonQuestion(schema);
13103
13233
  case 'checkbox':
13104
13234
  return this.toCheckBoxQuestion(schema);
13105
13235
  case 'encounterProvider':
@@ -15162,12 +15292,12 @@
15162
15292
  return NgxRemoteSelectModule;
15163
15293
  }());
15164
15294
  NgxRemoteSelectModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: NgxRemoteSelectModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
15165
- NgxRemoteSelectModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: NgxRemoteSelectModule, declarations: [RemoteSelectComponent], imports: [i1.CommonModule, i1$3.NgSelectModule, i19.FormsModule], exports: [RemoteSelectComponent] });
15166
- NgxRemoteSelectModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: NgxRemoteSelectModule, providers: [], imports: [[i1.CommonModule, i1$3.NgSelectModule, i19.FormsModule]] });
15295
+ NgxRemoteSelectModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: NgxRemoteSelectModule, declarations: [RemoteSelectComponent], imports: [i1.CommonModule, i1$3.NgSelectModule, i20.FormsModule], exports: [RemoteSelectComponent] });
15296
+ NgxRemoteSelectModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: NgxRemoteSelectModule, providers: [], imports: [[i1.CommonModule, i1$3.NgSelectModule, i20.FormsModule]] });
15167
15297
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: NgxRemoteSelectModule, decorators: [{
15168
15298
  type: i0.NgModule,
15169
15299
  args: [{
15170
- imports: [i1.CommonModule, i1$3.NgSelectModule, i19.FormsModule],
15300
+ imports: [i1.CommonModule, i1$3.NgSelectModule, i20.FormsModule],
15171
15301
  exports: [RemoteSelectComponent],
15172
15302
  declarations: [RemoteSelectComponent],
15173
15303
  providers: []
@@ -15180,14 +15310,31 @@
15180
15310
  return CheckboxModule;
15181
15311
  }());
15182
15312
  CheckboxModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: CheckboxModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
15183
- CheckboxModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: CheckboxModule, declarations: [CheckboxControlComponent], imports: [i1.CommonModule, i19.FormsModule], exports: [CheckboxControlComponent] });
15184
- CheckboxModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: CheckboxModule, imports: [[i1.CommonModule, i19.FormsModule]] });
15313
+ CheckboxModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: CheckboxModule, declarations: [CheckboxControlComponent], imports: [i1.CommonModule, i20.FormsModule], exports: [CheckboxControlComponent] });
15314
+ CheckboxModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: CheckboxModule, imports: [[i1.CommonModule, i20.FormsModule]] });
15185
15315
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: CheckboxModule, decorators: [{
15186
15316
  type: i0.NgModule,
15187
15317
  args: [{
15188
15318
  declarations: [CheckboxControlComponent],
15189
15319
  exports: [CheckboxControlComponent],
15190
- imports: [i1.CommonModule, i19.FormsModule]
15320
+ imports: [i1.CommonModule, i20.FormsModule]
15321
+ }]
15322
+ }] });
15323
+
15324
+ var RadioModule = /** @class */ (function () {
15325
+ function RadioModule() {
15326
+ }
15327
+ return RadioModule;
15328
+ }());
15329
+ RadioModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: RadioModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
15330
+ RadioModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: RadioModule, declarations: [RadioButtonControlComponent], imports: [i1.CommonModule, i20.FormsModule], exports: [RadioButtonControlComponent] });
15331
+ RadioModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: RadioModule, imports: [[i1.CommonModule, i20.FormsModule]] });
15332
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: RadioModule, decorators: [{
15333
+ type: i0.NgModule,
15334
+ args: [{
15335
+ declarations: [RadioButtonControlComponent],
15336
+ exports: [RadioButtonControlComponent],
15337
+ imports: [i1.CommonModule, i20.FormsModule]
15191
15338
  }]
15192
15339
  }] });
15193
15340
 
@@ -15253,14 +15400,14 @@
15253
15400
  return SelectModule;
15254
15401
  }());
15255
15402
  SelectModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SelectModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
15256
- SelectModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SelectModule, declarations: [Select, Option$1, OptGroup], imports: [i1.CommonModule, i19.FormsModule], exports: [Select, Option$1, OptGroup] });
15257
- SelectModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SelectModule, imports: [[i1.CommonModule, i19.FormsModule]] });
15403
+ SelectModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SelectModule, declarations: [Select, Option$1, OptGroup], imports: [i1.CommonModule, i20.FormsModule], exports: [Select, Option$1, OptGroup] });
15404
+ SelectModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SelectModule, imports: [[i1.CommonModule, i20.FormsModule]] });
15258
15405
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SelectModule, decorators: [{
15259
15406
  type: i0.NgModule,
15260
15407
  args: [{
15261
15408
  declarations: [Select, Option$1, OptGroup],
15262
15409
  exports: [Select, Option$1, OptGroup],
15263
- imports: [i1.CommonModule, i19.FormsModule]
15410
+ imports: [i1.CommonModule, i20.FormsModule]
15264
15411
  }]
15265
15412
  }] });
15266
15413
 
@@ -15392,14 +15539,14 @@
15392
15539
  return InputModule;
15393
15540
  }());
15394
15541
  InputModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: InputModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
15395
- InputModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: InputModule, declarations: [Label, TextInput, TextArea], imports: [i1.CommonModule, i19.FormsModule], exports: [Label, TextInput, TextArea] });
15396
- InputModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: InputModule, imports: [[i1.CommonModule, i19.FormsModule]] });
15542
+ InputModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: InputModule, declarations: [Label, TextInput, TextArea], imports: [i1.CommonModule, i20.FormsModule], exports: [Label, TextInput, TextArea] });
15543
+ InputModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: InputModule, imports: [[i1.CommonModule, i20.FormsModule]] });
15397
15544
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: InputModule, decorators: [{
15398
15545
  type: i0.NgModule,
15399
15546
  args: [{
15400
15547
  declarations: [Label, TextInput, TextArea],
15401
15548
  exports: [Label, TextInput, TextArea],
15402
- imports: [i1.CommonModule, i19.FormsModule]
15549
+ imports: [i1.CommonModule, i20.FormsModule]
15403
15550
  }]
15404
15551
  }] });
15405
15552
 
@@ -15409,13 +15556,13 @@
15409
15556
  return CustomControlWrapperModule;
15410
15557
  }());
15411
15558
  CustomControlWrapperModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: CustomControlWrapperModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
15412
- CustomControlWrapperModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: CustomControlWrapperModule, declarations: [CustomControlWrapperComponent], imports: [i1.CommonModule, i19.FormsModule, i2.LazyElementsModule], exports: [CustomControlWrapperComponent] });
15413
- CustomControlWrapperModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: CustomControlWrapperModule, providers: [], imports: [[i1.CommonModule, i19.FormsModule, i2.LazyElementsModule]] });
15559
+ CustomControlWrapperModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: CustomControlWrapperModule, declarations: [CustomControlWrapperComponent], imports: [i1.CommonModule, i20.FormsModule, i2.LazyElementsModule], exports: [CustomControlWrapperComponent] });
15560
+ CustomControlWrapperModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: CustomControlWrapperModule, providers: [], imports: [[i1.CommonModule, i20.FormsModule, i2.LazyElementsModule]] });
15414
15561
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: CustomControlWrapperModule, decorators: [{
15415
15562
  type: i0.NgModule,
15416
15563
  args: [{
15417
15564
  schemas: [i0.CUSTOM_ELEMENTS_SCHEMA],
15418
- imports: [i1.CommonModule, i19.FormsModule, i2.LazyElementsModule],
15565
+ imports: [i1.CommonModule, i20.FormsModule, i2.LazyElementsModule],
15419
15566
  exports: [CustomControlWrapperComponent],
15420
15567
  declarations: [CustomControlWrapperComponent],
15421
15568
  providers: []
@@ -15454,7 +15601,7 @@
15454
15601
  ErrorRendererComponent,
15455
15602
  TimeAgoPipe,
15456
15603
  CollapseDirective], imports: [i1.CommonModule,
15457
- i19.ReactiveFormsModule,
15604
+ i20.ReactiveFormsModule,
15458
15605
  SelectModule,
15459
15606
  i1$3.NgSelectModule,
15460
15607
  NumberInputModule,
@@ -15464,6 +15611,7 @@
15464
15611
  // NoopAnimationsModule,
15465
15612
  RemoteFileUploadModule,
15466
15613
  CheckboxModule,
15614
+ RadioModule,
15467
15615
  NgxDateTimePickerModule,
15468
15616
  SharedModule,
15469
15617
  CustomControlWrapperModule,
@@ -15473,7 +15621,7 @@
15473
15621
  DateTimePickerModule,
15474
15622
  NgxDateTimePickerModule] });
15475
15623
  FormEntryModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FormEntryModule, providers: [
15476
- i19.FormBuilder,
15624
+ i20.FormBuilder,
15477
15625
  FormControlService,
15478
15626
  FormErrorsService,
15479
15627
  ValidationFactory,
@@ -15495,7 +15643,7 @@
15495
15643
  DebugModeService
15496
15644
  ], imports: [[
15497
15645
  i1.CommonModule,
15498
- i19.ReactiveFormsModule,
15646
+ i20.ReactiveFormsModule,
15499
15647
  SelectModule,
15500
15648
  i1$3.NgSelectModule,
15501
15649
  NumberInputModule,
@@ -15505,6 +15653,7 @@
15505
15653
  // NoopAnimationsModule,
15506
15654
  RemoteFileUploadModule,
15507
15655
  CheckboxModule,
15656
+ RadioModule,
15508
15657
  NgxDateTimePickerModule,
15509
15658
  SharedModule,
15510
15659
  CustomControlWrapperModule,
@@ -15518,7 +15667,7 @@
15518
15667
  schemas: [i0.CUSTOM_ELEMENTS_SCHEMA],
15519
15668
  imports: [
15520
15669
  i1.CommonModule,
15521
- i19.ReactiveFormsModule,
15670
+ i20.ReactiveFormsModule,
15522
15671
  SelectModule,
15523
15672
  i1$3.NgSelectModule,
15524
15673
  NumberInputModule,
@@ -15528,6 +15677,7 @@
15528
15677
  // NoopAnimationsModule,
15529
15678
  RemoteFileUploadModule,
15530
15679
  CheckboxModule,
15680
+ RadioModule,
15531
15681
  NgxDateTimePickerModule,
15532
15682
  SharedModule,
15533
15683
  CustomControlWrapperModule,
@@ -15544,7 +15694,7 @@
15544
15694
  CollapseDirective
15545
15695
  ],
15546
15696
  providers: [
15547
- i19.FormBuilder,
15697
+ i20.FormBuilder,
15548
15698
  FormControlService,
15549
15699
  FormErrorsService,
15550
15700
  ValidationFactory,