kwikid-forms 0.6.27 → 0.6.29

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/kwikid-forms.umd.js +935 -535
  2. package/bundles/kwikid-forms.umd.js.map +1 -1
  3. package/esm2015/lib/renderer/form-view/definitions/form-view.logs.definition.js +44 -0
  4. package/esm2015/lib/renderer/form-view/form-view.component.js +270 -21
  5. package/esm2015/lib/renderer/form-view/helpers/form-view.logs.helper.js +19 -0
  6. package/esm2015/lib/renderer/forms-list/forms-list.component.js +22 -5
  7. package/esm2015/lib/renderer/forms-list/forms-list.definitions.js +7 -1
  8. package/esm2015/lib/renderer/forms-list/forms-list.helper.js +19 -0
  9. package/esm2015/lib/renderer/renderer.component.js +62 -16
  10. package/esm2015/lib/renderer/renderer.definitions.js +10 -1
  11. package/esm2015/lib/renderer/renderer.helper.js +19 -1
  12. package/fesm2015/kwikid-forms.js +456 -40
  13. package/fesm2015/kwikid-forms.js.map +1 -1
  14. package/lib/renderer/form-view/definitions/form-view.logs.definition.d.ts +42 -0
  15. package/lib/renderer/form-view/form-view.component.d.ts +4 -1
  16. package/lib/renderer/form-view/helpers/form-view.logs.helper.d.ts +7 -0
  17. package/lib/renderer/forms-list/forms-list.component.d.ts +4 -1
  18. package/lib/renderer/forms-list/forms-list.definitions.d.ts +5 -0
  19. package/lib/renderer/forms-list/forms-list.helper.d.ts +7 -0
  20. package/lib/renderer/renderer.component.d.ts +3 -1
  21. package/lib/renderer/renderer.definitions.d.ts +8 -0
  22. package/lib/renderer/renderer.helper.d.ts +7 -0
  23. package/package.json +1 -1
  24. package/esm2015/lib/renderer/form-view/definitions/from-view.logs.definition.js +0 -5
  25. package/lib/renderer/form-view/definitions/from-view.logs.definition.d.ts +0 -3
@@ -3028,6 +3028,12 @@
3028
3028
  EFormsListStatus["EDITABLE"] = "editable";
3029
3029
  EFormsListStatus["LOCKED"] = "locked";
3030
3030
  })(EFormsListStatus || (EFormsListStatus = {}));
3031
+ var ELogEventType$2;
3032
+ (function (ELogEventType) {
3033
+ ELogEventType["FORM__FORM_OPEN_BUTTON_CLICK"] = "FORM__FORM_OPEN_BUTTON_CLICK";
3034
+ ELogEventType["FORM__LIST_LOAD_SUCCESS"] = "FORM__LIST_LOAD_SUCCESS";
3035
+ ELogEventType["FORM__STEP_CONFIG_LOAD_SUCCESS"] = "FORM__STEP_CONFIG_LOAD_SUCCESS";
3036
+ })(ELogEventType$2 || (ELogEventType$2 = {}));
3031
3037
 
3032
3038
  var EActionKey;
3033
3039
  (function (EActionKey) {
@@ -3104,10 +3110,49 @@
3104
3110
  EFormViewGoBackMode["TABBED"] = "TABBED";
3105
3111
  })(EFormViewGoBackMode || (EFormViewGoBackMode = {}));
3106
3112
 
3107
- var ETypeLogs;
3108
- (function (ETypeLogs) {
3109
- ETypeLogs["API"] = "API";
3110
- })(ETypeLogs || (ETypeLogs = {}));
3113
+ var ELogEventType$1;
3114
+ (function (ELogEventType) {
3115
+ ELogEventType["FORM__ACTION_EXECUTE"] = "FORM__ACTION_EXECUTE";
3116
+ ELogEventType["FORM__ACTION_EXECUTE_GROUP"] = "FORM__ACTION_EXECUTE_GROUP";
3117
+ ELogEventType["FORM__ALERT_ERROR"] = "FORM__ALERT_ERROR";
3118
+ ELogEventType["FORM__ALERT_HIDE"] = "FORM__ALERT_HIDE";
3119
+ ELogEventType["FORM__ALERT_SHOW"] = "FORM__ALERT_SHOW";
3120
+ ELogEventType["FORM__API_BUTTON_CLICK"] = "FORM__API_BUTTON_CLICK";
3121
+ ELogEventType["FORM__API_REQUEST"] = "FORM__API_REQUEST";
3122
+ ELogEventType["FORM__API_REQUEST_INVALID"] = "FORM__API_REQUEST_INVALID";
3123
+ ELogEventType["FORM__API_RESPONSE"] = "FORM__API_RESPONSE";
3124
+ ELogEventType["FORM__CAMERA_BACK_BUTTON_CLICK"] = "FORM__CAMERA_BACK_BUTTON_CLICK";
3125
+ ELogEventType["FORM__CAMERA_CLOSE_BUTTON_CLICK"] = "FORM__CAMERA_CLOSE_BUTTON_CLICK";
3126
+ ELogEventType["FORM__CAMERA_SAVE_BUTTON_CLICK"] = "FORM__CAMERA_SAVE_BUTTON_CLICK";
3127
+ ELogEventType["FORM__CONFIG_LOAD_SUCCESS"] = "FORM__CONFIG_LOAD_SUCCESS";
3128
+ ELogEventType["FORM__DIALOG_ERROR"] = "FORM__DIALOG_ERROR";
3129
+ ELogEventType["FORM__DIALOG_HIDE"] = "FORM__DIALOG_HIDE";
3130
+ ELogEventType["FORM__DIALOG_SHOW"] = "FORM__DIALOG_SHOW";
3131
+ ELogEventType["FORM__FIELD_BUTTON_CLICK"] = "FORM__FIELD_BUTTON_CLICK";
3132
+ ELogEventType["FORM__FIELD_CAMERA_BUTTON_CLICK"] = "FORM__FIELD_CAMERA_BUTTON_CLICK";
3133
+ ELogEventType["FORM__FIELD_DISABLE"] = "FORM__FIELD_DISABLE";
3134
+ ELogEventType["FORM__FIELD_ENABLE"] = "FORM__FIELD_ENABLE";
3135
+ ELogEventType["FORM__FIELD_ERROR_HIDE"] = "FORM__FIELD_ERROR_HIDE";
3136
+ ELogEventType["FORM__FIELD_ERROR_SHOW"] = "FORM__FIELD_ERROR_SHOW";
3137
+ ELogEventType["FORM__FIELD_FILE_ADD"] = "FORM__FIELD_FILE_ADD";
3138
+ ELogEventType["FORM__FIELD_FILE_REMOVE"] = "FORM__FIELD_FILE_REMOVE";
3139
+ ELogEventType["FORM__FIELD_HIDE"] = "FORM__FIELD_HIDE";
3140
+ ELogEventType["FORM__FIELD_MEDIA_FILE_REMOVE"] = "FORM__FIELD_MEDIA_FILE_REMOVE";
3141
+ ELogEventType["FORM__FIELD_MESSAGE_HIDE"] = "FORM__FIELD_MESSAGE_HIDE";
3142
+ ELogEventType["FORM__FIELD_MESSAGE_SHOW"] = "FORM__FIELD_MESSAGE_SHOW";
3143
+ ELogEventType["FORM__FIELD_RESET"] = "FORM__FIELD_RESET";
3144
+ ELogEventType["FORM__FIELD_RESET_BUTTON_CLICK"] = "FORM__FIELD_RESET_BUTTON_CLICK";
3145
+ ELogEventType["FORM__FIELD_SHOW"] = "FORM__FIELD_SHOW";
3146
+ ELogEventType["FORM__PREVIEW_ERROR"] = "FORM__PREVIEW_ERROR";
3147
+ ELogEventType["FORM__PREVIEW_HIDE"] = "FORM__PREVIEW_HIDE";
3148
+ ELogEventType["FORM__PREVIEW_SHOW"] = "FORM__PREVIEW_SHOW";
3149
+ ELogEventType["FORM__REDIRECT_URL"] = "FORM__REDIRECT_URL";
3150
+ ELogEventType["FORM__SAVE_AUTO"] = "FORM__SAVE_AUTO";
3151
+ ELogEventType["FORM__SAVE_BUTTON_CLICK"] = "FORM__SAVE_BUTTON_CLICK";
3152
+ ELogEventType["FORM__TASK_POST"] = "FORM__TASK_POST";
3153
+ ELogEventType["FORM__TASK_PRE"] = "FORM__TASK_PRE";
3154
+ ELogEventType["FORM__VIEW_BUTTON_CLICK"] = "FORM__VIEW_BUTTON_CLICK";
3155
+ })(ELogEventType$1 || (ELogEventType$1 = {}));
3111
3156
 
3112
3157
  var Defaults = /** @class */ (function () {
3113
3158
  function Defaults(field, formFields, allFormsData, formData, previousFormData, takeAction) {
@@ -4281,6 +4326,24 @@
4281
4326
  kwikidToolkit.logMethod
4282
4327
  ], CameraHelper.prototype, "getCameraWatermarkData", null);
4283
4328
 
4329
+ function formatEventLogs$2(eventType, stepConfig, formConfig, extras) {
4330
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
4331
+ var logLabel = [
4332
+ eventType,
4333
+ (_c = (_b = (_a = stepConfig === null || stepConfig === void 0 ? void 0 : stepConfig.form) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : stepConfig === null || stepConfig === void 0 ? void 0 : stepConfig.key) !== null && _c !== void 0 ? _c : "_",
4334
+ (_d = formConfig === null || formConfig === void 0 ? void 0 : formConfig.key) !== null && _d !== void 0 ? _d : "_",
4335
+ (_e = extras === null || extras === void 0 ? void 0 : extras.field_key) !== null && _e !== void 0 ? _e : "_"
4336
+ ]
4337
+ .filter(function (item) { return kwikidToolkit.isNotEmptyValue(item); })
4338
+ .join(" | ");
4339
+ return {
4340
+ type: eventType,
4341
+ label: "" + logLabel,
4342
+ timestamp: new Date().getTime(),
4343
+ data: Object.assign({ step_key: (_g = (_f = stepConfig === null || stepConfig === void 0 ? void 0 : stepConfig.form) === null || _f === void 0 ? void 0 : _f.key) !== null && _g !== void 0 ? _g : stepConfig === null || stepConfig === void 0 ? void 0 : stepConfig.key, step_title: (_j = (_h = stepConfig === null || stepConfig === void 0 ? void 0 : stepConfig.props) === null || _h === void 0 ? void 0 : _h.label) !== null && _j !== void 0 ? _j : stepConfig === null || stepConfig === void 0 ? void 0 : stepConfig.label, form_key: formConfig === null || formConfig === void 0 ? void 0 : formConfig.key, form_title: (_l = (_k = formConfig === null || formConfig === void 0 ? void 0 : formConfig.props) === null || _k === void 0 ? void 0 : _k.title) !== null && _l !== void 0 ? _l : formConfig === null || formConfig === void 0 ? void 0 : formConfig.title }, extras)
4344
+ };
4345
+ }
4346
+
4284
4347
  var Tasks = /** @class */ (function () {
4285
4348
  function Tasks(task, object, takeAction) {
4286
4349
  this._task = task;
@@ -4473,11 +4536,11 @@
4473
4536
  (function () { return __awaiter(_this, void 0, void 0, function () {
4474
4537
  var res;
4475
4538
  var _this = this;
4476
- return __generator(this, function (_o) {
4477
- switch (_o.label) {
4539
+ return __generator(this, function (_7) {
4540
+ switch (_7.label) {
4478
4541
  case 0: return [4 /*yield*/, this.initFormConfig(this.formConfig)];
4479
4542
  case 1:
4480
- res = _o.sent();
4543
+ res = _7.sent();
4481
4544
  if (res) {
4482
4545
  this.loading = false;
4483
4546
  this.cameraRecordingTimerSubcription = this.cameraRecordService
@@ -4500,12 +4563,18 @@
4500
4563
  };
4501
4564
  KwikIDFormViewComponent.prototype.ngAfterViewInit = function () { };
4502
4565
  KwikIDFormViewComponent.prototype.ngOnChanges = function (changes) {
4503
- var _o, _p, _q;
4566
+ var _7, _8, _9;
4504
4567
  var _this = this;
4505
4568
  var _a, _b, _c, _d;
4506
4569
  var verifyChange = function (key) {
4507
4570
  return kwikidToolkit.checkObjectKeyExists(changes, key) && !changes[key].firstChange;
4508
4571
  };
4572
+ if (verifyChange("userConfig")) {
4573
+ this.userConfig = changes.userConfig.currentValue;
4574
+ }
4575
+ if (verifyChange("stepConfig")) {
4576
+ this.stepConfig = changes.stepConfig.currentValue;
4577
+ }
4509
4578
  if (verifyChange("formData")) {
4510
4579
  if (kwikidToolkit.checkObjectKeyExists(changes.formData.currentValue, "data") &&
4511
4580
  kwikidToolkit.checkObjectKeyExists(changes.formData.currentValue, "extendedData")) {
@@ -4522,9 +4591,9 @@
4522
4591
  ? changes.popupFormCallback.currentValue.popupFormData["data"]
4523
4592
  : changes.popupFormCallback.currentValue.popupFormData;
4524
4593
  var popupFormConfig = changes.popupFormCallback.currentValue.popupFormConfig;
4525
- this.popupFormData = kwikidToolkit.mergeObjects(this.popupFormData, (_o = {},
4526
- _o[popupFormConfig.key] = popupFormData,
4527
- _o));
4594
+ this.popupFormData = kwikidToolkit.mergeObjects(this.popupFormData, (_7 = {},
4595
+ _7[popupFormConfig.key] = popupFormData,
4596
+ _7));
4528
4597
  this.formData = kwikidToolkit.mergeObjects(this.formData, this.popupFormData);
4529
4598
  if (kwikidToolkit.checkObjectKeyExists(changes.popupFormCallback.currentValue, "stopTaskExecution")) {
4530
4599
  this.stopTaskExecution =
@@ -4547,10 +4616,21 @@
4547
4616
  case EFieldType.FILE:
4548
4617
  if (response) {
4549
4618
  var updatedFile = kwikidToolkit.getObjectDeepCopy(Object.assign({ id: uuid.v4() }, response));
4619
+ this.triggerLogs(ELogEventType$1.FORM__API_RESPONSE, {
4620
+ api_key: this.apiCallResponse.key,
4621
+ field_key: this.apiCallResponse.key,
4622
+ response_type: "FILE_UPLOAD_API_SUCCESS",
4623
+ response: response
4624
+ });
4550
4625
  this.updateFiles(updatedFile, "NORMAL", this.apiCallResponse.key);
4551
4626
  }
4552
4627
  else {
4553
4628
  var updatedFile = kwikidToolkit.getObjectDeepCopy(Object.assign({ id: uuid.v4() }, (_c = (_b = this.apiCallResponse) === null || _b === void 0 ? void 0 : _b.payload) === null || _c === void 0 ? void 0 : _c.metadata));
4629
+ this.triggerLogs(ELogEventType$1.FORM__API_RESPONSE, {
4630
+ api_key: this.apiCallResponse.key,
4631
+ field_key: this.apiCallResponse.key,
4632
+ response_type: "FILE_UPLOAD_API_ERROR"
4633
+ });
4554
4634
  this.updateFiles(updatedFile, "ERROR", this.apiCallResponse.key);
4555
4635
  }
4556
4636
  this.hideApiLoader();
@@ -4565,9 +4645,9 @@
4565
4645
  emitEvent: false,
4566
4646
  onlySelf: false
4567
4647
  });
4568
- this.formGroup.patchValue((_p = {},
4569
- _p[field_1.key] = kwikidToolkit.getObjectDeepCopy([image]),
4570
- _p), { emitEvent: false });
4648
+ this.formGroup.patchValue((_8 = {},
4649
+ _8[field_1.key] = kwikidToolkit.getObjectDeepCopy([image]),
4650
+ _8), { emitEvent: false });
4571
4651
  this.formGroup.controls[field_1.key].updateValueAndValidity({
4572
4652
  emitEvent: false
4573
4653
  });
@@ -4587,11 +4667,11 @@
4587
4667
  ALL_FORMS_DATA: this.allFormsData
4588
4668
  }, this.takeAction.bind(this));
4589
4669
  (function () { return __awaiter(_this, void 0, void 0, function () {
4590
- return __generator(this, function (_o) {
4591
- switch (_o.label) {
4670
+ return __generator(this, function (_7) {
4671
+ switch (_7.label) {
4592
4672
  case 0: return [4 /*yield*/, validations_1.validate(field_1.validation)];
4593
4673
  case 1:
4594
- _o.sent();
4674
+ _7.sent();
4595
4675
  return [2 /*return*/];
4596
4676
  }
4597
4677
  });
@@ -4604,8 +4684,19 @@
4604
4684
  value: this.formGroup.controls[field_1.key].value
4605
4685
  }, "ON_CHANGE");
4606
4686
  }
4687
+ this.triggerLogs(ELogEventType$1.FORM__API_RESPONSE, {
4688
+ api_key: this.apiCallResponse.key,
4689
+ field_key: this.apiCallResponse.key,
4690
+ response_type: "IMAGE_UPLOAD_API_SUCCESS",
4691
+ response: response
4692
+ });
4607
4693
  }
4608
4694
  else {
4695
+ this.triggerLogs(ELogEventType$1.FORM__API_RESPONSE, {
4696
+ api_key: this.apiCallResponse.key,
4697
+ field_key: this.apiCallResponse.key,
4698
+ response_type: "IMAGE_UPLOAD_API_ERROR"
4699
+ });
4609
4700
  console.error("File Upload for Image Failed");
4610
4701
  }
4611
4702
  this.hideApiLoader();
@@ -4620,9 +4711,9 @@
4620
4711
  emitEvent: false,
4621
4712
  onlySelf: false
4622
4713
  });
4623
- this.formGroup.patchValue((_q = {},
4624
- _q[field_1.key] = kwikidToolkit.getObjectDeepCopy([video]),
4625
- _q), { emitEvent: false });
4714
+ this.formGroup.patchValue((_9 = {},
4715
+ _9[field_1.key] = kwikidToolkit.getObjectDeepCopy([video]),
4716
+ _9), { emitEvent: false });
4626
4717
  this.formGroup.controls[field_1.key].updateValueAndValidity({
4627
4718
  emitEvent: false
4628
4719
  });
@@ -4642,11 +4733,11 @@
4642
4733
  ALL_FORMS_DATA: this.allFormsData
4643
4734
  }, this.takeAction.bind(this));
4644
4735
  (function () { return __awaiter(_this, void 0, void 0, function () {
4645
- return __generator(this, function (_o) {
4646
- switch (_o.label) {
4736
+ return __generator(this, function (_7) {
4737
+ switch (_7.label) {
4647
4738
  case 0: return [4 /*yield*/, validations_2.validate(field_1.validation)];
4648
4739
  case 1:
4649
- _o.sent();
4740
+ _7.sent();
4650
4741
  return [2 /*return*/];
4651
4742
  }
4652
4743
  });
@@ -4659,8 +4750,19 @@
4659
4750
  value: this.formGroup.controls[field_1.key].value
4660
4751
  }, "ON_CHANGE");
4661
4752
  }
4753
+ this.triggerLogs(ELogEventType$1.FORM__API_RESPONSE, {
4754
+ api_key: this.apiCallResponse.key,
4755
+ field_key: this.apiCallResponse.key,
4756
+ response_type: "VIDEO_UPLOAD_API_SUCCESS",
4757
+ response: response
4758
+ });
4662
4759
  }
4663
4760
  else {
4761
+ this.triggerLogs(ELogEventType$1.FORM__API_RESPONSE, {
4762
+ api_key: this.apiCallResponse.key,
4763
+ field_key: this.apiCallResponse.key,
4764
+ response_type: "VIDEO_UPLOAD_API_ERROR"
4765
+ });
4664
4766
  console.error("File Upload for Video Failed");
4665
4767
  }
4666
4768
  this.hideApiLoader();
@@ -4698,11 +4800,11 @@
4698
4800
  ALL_FORMS_DATA: this.allFormsData
4699
4801
  }, this.takeAction.bind(this));
4700
4802
  (function () { return __awaiter(_this, void 0, void 0, function () {
4701
- return __generator(this, function (_o) {
4702
- switch (_o.label) {
4803
+ return __generator(this, function (_7) {
4804
+ switch (_7.label) {
4703
4805
  case 0: return [4 /*yield*/, validations_3.validate(field_2.validation)];
4704
4806
  case 1:
4705
- _o.sent();
4807
+ _7.sent();
4706
4808
  return [2 /*return*/];
4707
4809
  }
4708
4810
  });
@@ -4717,11 +4819,11 @@
4717
4819
  if (verifyChange("formConfig")) {
4718
4820
  this.formConfig = changes.formConfig.currentValue;
4719
4821
  (function () { return __awaiter(_this, void 0, void 0, function () {
4720
- return __generator(this, function (_o) {
4721
- switch (_o.label) {
4822
+ return __generator(this, function (_7) {
4823
+ switch (_7.label) {
4722
4824
  case 0: return [4 /*yield*/, this.initFormConfig(this.formConfig)];
4723
4825
  case 1:
4724
- _o.sent();
4826
+ _7.sent();
4725
4827
  return [2 /*return*/];
4726
4828
  }
4727
4829
  });
@@ -4736,29 +4838,37 @@
4736
4838
  this.cameraRecordingStateSubcription.unsubscribe();
4737
4839
  }
4738
4840
  };
4841
+ KwikIDFormViewComponent.prototype.triggerLogs = function (eventType, logs) {
4842
+ this.getLogs.emit(formatEventLogs$2(eventType, this.stepConfig, this.formConfig, kwikidToolkit.getObjectDeepCopy(logs)));
4843
+ };
4739
4844
  KwikIDFormViewComponent.prototype.initFormConfig = function (formConfig) {
4740
4845
  return __awaiter(this, void 0, void 0, function () {
4741
- var _o, _p, preTask, task, e_1_1, _q, _loop_1, this_1, _r, _s, field, _t, _u, field, validations, e_2_1;
4742
- var e_1, _v, e_3, _w, e_2, _x;
4846
+ var _7, _8, preTask, task, e_1_1, _9, _loop_1, this_1, _10, _11, field, _12, _13, field, validations, e_2_1;
4847
+ var e_1, _14, e_3, _15, e_2, _16;
4743
4848
  var _this = this;
4744
- return __generator(this, function (_y) {
4745
- switch (_y.label) {
4849
+ return __generator(this, function (_17) {
4850
+ switch (_17.label) {
4746
4851
  case 0:
4747
4852
  formConfig = new Converter().convertFormConfig(formConfig);
4748
4853
  formConfig = new Converter().updateFormConfigProperties(formConfig);
4749
4854
  this.setFormFieldsFromFormConfig(formConfig);
4750
4855
  this.setFormFieldGroupsFromFormConfig(formConfig);
4751
4856
  this.setFormDataFromAllFormsData();
4857
+ this.formConfig = formConfig;
4858
+ this.triggerLogs(ELogEventType$1.FORM__CONFIG_LOAD_SUCCESS, Object.assign(Object.assign({}, (formConfig.sequenceNo && {
4859
+ form_sequence_no: formConfig.sequenceNo
4860
+ })), (formConfig.status && { form_status: formConfig.status })));
4752
4861
  if (!(kwikidToolkit.checkObjectKeyExists(this.formConfig, "tasks") &&
4753
4862
  kwikidToolkit.checkObjectKeyExists(this.formConfig.tasks, "pre"))) return [3 /*break*/, 10];
4754
- _y.label = 1;
4863
+ this.triggerLogs(ELogEventType$1.FORM__TASK_PRE, {});
4864
+ _17.label = 1;
4755
4865
  case 1:
4756
- _y.trys.push([1, 7, 8, 9]);
4757
- _o = __values(this.formConfig.tasks.pre), _p = _o.next();
4758
- _y.label = 2;
4866
+ _17.trys.push([1, 7, 8, 9]);
4867
+ _7 = __values(this.formConfig.tasks.pre), _8 = _7.next();
4868
+ _17.label = 2;
4759
4869
  case 2:
4760
- if (!!_p.done) return [3 /*break*/, 6];
4761
- preTask = _p.value;
4870
+ if (!!_8.done) return [3 /*break*/, 6];
4871
+ preTask = _8.value;
4762
4872
  task = new Tasks(preTask, {
4763
4873
  FORM_CONFIG: this.formConfig,
4764
4874
  FORM_FIELDS: this.formFields,
@@ -4776,7 +4886,7 @@
4776
4886
  }
4777
4887
  return [4 /*yield*/, task.execute()];
4778
4888
  case 3:
4779
- _y.sent();
4889
+ _17.sent();
4780
4890
  // Wait for ngOnChanges to be called before continuing to the next task
4781
4891
  return [4 /*yield*/, new Promise(function (resolve) {
4782
4892
  var intervalId = setInterval(function () {
@@ -4788,36 +4898,36 @@
4788
4898
  })];
4789
4899
  case 4:
4790
4900
  // Wait for ngOnChanges to be called before continuing to the next task
4791
- _y.sent();
4901
+ _17.sent();
4792
4902
  if (this.stopTaskExecution) {
4793
4903
  return [3 /*break*/, 6];
4794
4904
  }
4795
- _y.label = 5;
4905
+ _17.label = 5;
4796
4906
  case 5:
4797
- _p = _o.next();
4907
+ _8 = _7.next();
4798
4908
  return [3 /*break*/, 2];
4799
4909
  case 6: return [3 /*break*/, 9];
4800
4910
  case 7:
4801
- e_1_1 = _y.sent();
4911
+ e_1_1 = _17.sent();
4802
4912
  e_1 = { error: e_1_1 };
4803
4913
  return [3 /*break*/, 9];
4804
4914
  case 8:
4805
4915
  try {
4806
- if (_p && !_p.done && (_v = _o.return)) _v.call(_o);
4916
+ if (_8 && !_8.done && (_14 = _7.return)) _14.call(_7);
4807
4917
  }
4808
4918
  finally { if (e_1) throw e_1.error; }
4809
4919
  return [7 /*endfinally*/];
4810
4920
  case 9:
4811
4921
  this.formData = kwikidToolkit.mergeObjects(this.formData, this.popupFormData);
4812
- _y.label = 10;
4922
+ _17.label = 10;
4813
4923
  case 10:
4814
4924
  if (this.stopTaskExecution) {
4815
4925
  return [2 /*return*/, false];
4816
4926
  }
4817
- _q = this;
4927
+ _9 = this;
4818
4928
  return [4 /*yield*/, this.formViewService.createFormGroup(this.formFields, this.formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this))];
4819
4929
  case 11:
4820
- _q.formGroup = _y.sent();
4930
+ _9.formGroup = _17.sent();
4821
4931
  /**
4822
4932
  * For some reason if their a field of type 'IMAGE' then
4823
4933
  * formData is adding a 'undefined' key with last image's value from the array.
@@ -4827,10 +4937,10 @@
4827
4937
  delete this.formData["undefined"];
4828
4938
  }
4829
4939
  _loop_1 = function (field) {
4830
- var _z, _0;
4940
+ var _18, _19;
4831
4941
  if (field.isFormElement) {
4832
- this_1.previousFormData = Object.assign(Object.assign({}, this_1.previousFormData), (_z = {}, _z[field.key] = convertFormFieldValueToStandardFormat(field, this_1.formGroup.controls[field.key].value), _z));
4833
- this_1.formData = Object.assign(Object.assign({}, this_1.formData), (_0 = {}, _0[field.key] = convertFormFieldValueToStandardFormat(field, this_1.formGroup.controls[field.key].value), _0));
4942
+ this_1.previousFormData = Object.assign(Object.assign({}, this_1.previousFormData), (_18 = {}, _18[field.key] = convertFormFieldValueToStandardFormat(field, this_1.formGroup.controls[field.key].value), _18));
4943
+ this_1.formData = Object.assign(Object.assign({}, this_1.formData), (_19 = {}, _19[field.key] = convertFormFieldValueToStandardFormat(field, this_1.formGroup.controls[field.key].value), _19));
4834
4944
  if (field.type === EFieldType.FILE) {
4835
4945
  this_1.files[field.key] = this_1.formGroup.controls[field.key].value;
4836
4946
  }
@@ -4844,11 +4954,11 @@
4844
4954
  }
4845
4955
  this_1.formGroup.controls[field.key].valueChanges
4846
4956
  .pipe(operators.pairwise())
4847
- .subscribe(function (_o) {
4848
- var _p, _q;
4849
- var _r = __read(_o, 2), previousValue = _r[0], currentValue = _r[1];
4850
- _this.previousFormData = Object.assign(Object.assign({}, _this.previousFormData), (_p = {}, _p[field.key] = convertFormFieldValueToStandardFormat(field, previousValue), _p));
4851
- _this.formData = Object.assign(Object.assign({}, _this.formData), (_q = {}, _q[field.key] = convertFormFieldValueToStandardFormat(field, currentValue), _q));
4957
+ .subscribe(function (_7) {
4958
+ var _8, _9;
4959
+ var _10 = __read(_7, 2), previousValue = _10[0], currentValue = _10[1];
4960
+ _this.previousFormData = Object.assign(Object.assign({}, _this.previousFormData), (_8 = {}, _8[field.key] = convertFormFieldValueToStandardFormat(field, previousValue), _8));
4961
+ _this.formData = Object.assign(Object.assign({}, _this.formData), (_9 = {}, _9[field.key] = convertFormFieldValueToStandardFormat(field, currentValue), _9));
4852
4962
  if (field.type === EFieldType.FILE) {
4853
4963
  _this.files[field.key] = currentValue;
4854
4964
  }
@@ -4865,26 +4975,26 @@
4865
4975
  };
4866
4976
  this_1 = this;
4867
4977
  try {
4868
- for (_r = __values(this.formFields), _s = _r.next(); !_s.done; _s = _r.next()) {
4869
- field = _s.value;
4978
+ for (_10 = __values(this.formFields), _11 = _10.next(); !_11.done; _11 = _10.next()) {
4979
+ field = _11.value;
4870
4980
  _loop_1(field);
4871
4981
  }
4872
4982
  }
4873
4983
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
4874
4984
  finally {
4875
4985
  try {
4876
- if (_s && !_s.done && (_w = _r.return)) _w.call(_r);
4986
+ if (_11 && !_11.done && (_15 = _10.return)) _15.call(_10);
4877
4987
  }
4878
4988
  finally { if (e_3) throw e_3.error; }
4879
4989
  }
4880
- _y.label = 12;
4990
+ _17.label = 12;
4881
4991
  case 12:
4882
- _y.trys.push([12, 18, 19, 20]);
4883
- _t = __values(this.formFields), _u = _t.next();
4884
- _y.label = 13;
4992
+ _17.trys.push([12, 18, 19, 20]);
4993
+ _12 = __values(this.formFields), _13 = _12.next();
4994
+ _17.label = 13;
4885
4995
  case 13:
4886
- if (!!_u.done) return [3 /*break*/, 17];
4887
- field = _u.value;
4996
+ if (!!_13.done) return [3 /*break*/, 17];
4997
+ field = _13.value;
4888
4998
  if (!field.isFormElement) return [3 /*break*/, 16];
4889
4999
  if (!kwikidToolkit.checkObjectKeyExists(field, "validation")) return [3 /*break*/, 15];
4890
5000
  if (!field.validation.triggers.includes("ON_INIT")) return [3 /*break*/, 15];
@@ -4898,8 +5008,8 @@
4898
5008
  }, this.takeAction.bind(this));
4899
5009
  return [4 /*yield*/, validations.validate(field.validation)];
4900
5010
  case 14:
4901
- _y.sent();
4902
- _y.label = 15;
5011
+ _17.sent();
5012
+ _17.label = 15;
4903
5013
  case 15:
4904
5014
  if (kwikidToolkit.checkObjectKeyExists(field, "connectedElements")) {
4905
5015
  this.handleConnectedElements({
@@ -4907,18 +5017,18 @@
4907
5017
  value: this.formGroup.controls[field.key].value
4908
5018
  }, "ON_INIT");
4909
5019
  }
4910
- _y.label = 16;
5020
+ _17.label = 16;
4911
5021
  case 16:
4912
- _u = _t.next();
5022
+ _13 = _12.next();
4913
5023
  return [3 /*break*/, 13];
4914
5024
  case 17: return [3 /*break*/, 20];
4915
5025
  case 18:
4916
- e_2_1 = _y.sent();
5026
+ e_2_1 = _17.sent();
4917
5027
  e_2 = { error: e_2_1 };
4918
5028
  return [3 /*break*/, 20];
4919
5029
  case 19:
4920
5030
  try {
4921
- if (_u && !_u.done && (_x = _t.return)) _x.call(_t);
5031
+ if (_13 && !_13.done && (_16 = _12.return)) _16.call(_12);
4922
5032
  }
4923
5033
  finally { if (e_2) throw e_2.error; }
4924
5034
  return [7 /*endfinally*/];
@@ -4956,10 +5066,10 @@
4956
5066
  };
4957
5067
  KwikIDFormViewComponent.prototype.handleConnectedElementFieldGroupActions = function (childFieldGroupConfig, parentField) {
4958
5068
  return __awaiter(this, void 0, void 0, function () {
4959
- var rulesMapping, _o, _p, action, conditionSuccess, actions, e_4_1;
4960
- var e_4, _q;
4961
- return __generator(this, function (_r) {
4962
- switch (_r.label) {
5069
+ var rulesMapping, _7, _8, action, conditionSuccess, actions, e_4_1;
5070
+ var e_4, _9;
5071
+ return __generator(this, function (_10) {
5072
+ switch (_10.label) {
4963
5073
  case 0:
4964
5074
  if (!kwikidToolkit.checkObjectKeyExists(childFieldGroupConfig, "rules")) return [3 /*break*/, 8];
4965
5075
  rulesMapping = new kwikidToolkit.Rule(childFieldGroupConfig.rules, {
@@ -4969,14 +5079,14 @@
4969
5079
  PREVIOUS_FORM_DATA: this.previousFormData,
4970
5080
  ALL_FORMS_DATA: this.allFormsData
4971
5081
  }).mapping();
4972
- _r.label = 1;
5082
+ _10.label = 1;
4973
5083
  case 1:
4974
- _r.trys.push([1, 6, 7, 8]);
4975
- _o = __values(childFieldGroupConfig.actions), _p = _o.next();
4976
- _r.label = 2;
5084
+ _10.trys.push([1, 6, 7, 8]);
5085
+ _7 = __values(childFieldGroupConfig.actions), _8 = _7.next();
5086
+ _10.label = 2;
4977
5087
  case 2:
4978
- if (!!_p.done) return [3 /*break*/, 5];
4979
- action = _p.value;
5088
+ if (!!_8.done) return [3 /*break*/, 5];
5089
+ action = _8.value;
4980
5090
  conditionSuccess = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
4981
5091
  if (!conditionSuccess) return [3 /*break*/, 4];
4982
5092
  actions = new kwikidToolkit.Action(action, rulesMapping, {
@@ -4989,19 +5099,19 @@
4989
5099
  }, this.takeActionOnFieldGroup.bind(this));
4990
5100
  return [4 /*yield*/, actions.execute()];
4991
5101
  case 3:
4992
- _r.sent();
4993
- _r.label = 4;
5102
+ _10.sent();
5103
+ _10.label = 4;
4994
5104
  case 4:
4995
- _p = _o.next();
5105
+ _8 = _7.next();
4996
5106
  return [3 /*break*/, 2];
4997
5107
  case 5: return [3 /*break*/, 8];
4998
5108
  case 6:
4999
- e_4_1 = _r.sent();
5109
+ e_4_1 = _10.sent();
5000
5110
  e_4 = { error: e_4_1 };
5001
5111
  return [3 /*break*/, 8];
5002
5112
  case 7:
5003
5113
  try {
5004
- if (_p && !_p.done && (_q = _o.return)) _q.call(_o);
5114
+ if (_8 && !_8.done && (_9 = _7.return)) _9.call(_7);
5005
5115
  }
5006
5116
  finally { if (e_4) throw e_4.error; }
5007
5117
  return [7 /*endfinally*/];
@@ -5012,15 +5122,15 @@
5012
5122
  };
5013
5123
  KwikIDFormViewComponent.prototype.handleConnectedElementFieldGroup = function (currentField, connectedFieldGroupConfig, eventType) {
5014
5124
  return __awaiter(this, void 0, void 0, function () {
5015
- return __generator(this, function (_o) {
5016
- switch (_o.label) {
5125
+ return __generator(this, function (_7) {
5126
+ switch (_7.label) {
5017
5127
  case 0:
5018
5128
  if (!kwikidToolkit.checkObjectKeyExists(connectedFieldGroupConfig, "triggers")) return [3 /*break*/, 2];
5019
5129
  if (!connectedFieldGroupConfig.triggers.includes(eventType)) return [3 /*break*/, 2];
5020
5130
  return [4 /*yield*/, this.handleConnectedElementFieldGroupActions(connectedFieldGroupConfig, currentField)];
5021
5131
  case 1:
5022
- _o.sent();
5023
- _o.label = 2;
5132
+ _7.sent();
5133
+ _7.label = 2;
5024
5134
  case 2: return [2 /*return*/];
5025
5135
  }
5026
5136
  });
@@ -5028,10 +5138,10 @@
5028
5138
  };
5029
5139
  KwikIDFormViewComponent.prototype.handleConnectedElementFieldActions = function (connectedFieldConfig, connectedField) {
5030
5140
  return __awaiter(this, void 0, void 0, function () {
5031
- var rulesMapping, _o, _p, action, conditionSuccess, actions, e_5_1;
5032
- var e_5, _q;
5033
- return __generator(this, function (_r) {
5034
- switch (_r.label) {
5141
+ var rulesMapping, _7, _8, action, conditionSuccess, actions, e_5_1;
5142
+ var e_5, _9;
5143
+ return __generator(this, function (_10) {
5144
+ switch (_10.label) {
5035
5145
  case 0:
5036
5146
  if (!kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "rules")) return [3 /*break*/, 8];
5037
5147
  rulesMapping = new kwikidToolkit.Rule(connectedFieldConfig.rules, {
@@ -5041,14 +5151,14 @@
5041
5151
  PREVIOUS_FORM_DATA: this.previousFormData,
5042
5152
  ALL_FORMS_DATA: this.allFormsData
5043
5153
  }).mapping();
5044
- _r.label = 1;
5154
+ _10.label = 1;
5045
5155
  case 1:
5046
- _r.trys.push([1, 6, 7, 8]);
5047
- _o = __values(connectedFieldConfig.actions), _p = _o.next();
5048
- _r.label = 2;
5156
+ _10.trys.push([1, 6, 7, 8]);
5157
+ _7 = __values(connectedFieldConfig.actions), _8 = _7.next();
5158
+ _10.label = 2;
5049
5159
  case 2:
5050
- if (!!_p.done) return [3 /*break*/, 5];
5051
- action = _p.value;
5160
+ if (!!_8.done) return [3 /*break*/, 5];
5161
+ action = _8.value;
5052
5162
  conditionSuccess = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
5053
5163
  if (!conditionSuccess) return [3 /*break*/, 4];
5054
5164
  actions = new kwikidToolkit.Action(action, rulesMapping, {
@@ -5061,19 +5171,19 @@
5061
5171
  }, this.takeAction.bind(this));
5062
5172
  return [4 /*yield*/, actions.execute()];
5063
5173
  case 3:
5064
- _r.sent();
5065
- _r.label = 4;
5174
+ _10.sent();
5175
+ _10.label = 4;
5066
5176
  case 4:
5067
- _p = _o.next();
5177
+ _8 = _7.next();
5068
5178
  return [3 /*break*/, 2];
5069
5179
  case 5: return [3 /*break*/, 8];
5070
5180
  case 6:
5071
- e_5_1 = _r.sent();
5181
+ e_5_1 = _10.sent();
5072
5182
  e_5 = { error: e_5_1 };
5073
5183
  return [3 /*break*/, 8];
5074
5184
  case 7:
5075
5185
  try {
5076
- if (_p && !_p.done && (_q = _o.return)) _q.call(_o);
5186
+ if (_8 && !_8.done && (_9 = _7.return)) _9.call(_7);
5077
5187
  }
5078
5188
  finally { if (e_5) throw e_5.error; }
5079
5189
  return [7 /*endfinally*/];
@@ -5085,16 +5195,16 @@
5085
5195
  KwikIDFormViewComponent.prototype.handleConnectedElementFields = function (currentField, connectedFieldConfig, eventType, nested) {
5086
5196
  return __awaiter(this, void 0, void 0, function () {
5087
5197
  var connectedField;
5088
- return __generator(this, function (_o) {
5089
- switch (_o.label) {
5198
+ return __generator(this, function (_7) {
5199
+ switch (_7.label) {
5090
5200
  case 0:
5091
5201
  connectedField = getFormFieldByKey(this.formFields, connectedFieldConfig["key"]);
5092
5202
  if (!kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "triggers")) return [3 /*break*/, 2];
5093
5203
  if (!connectedFieldConfig.triggers.includes(eventType)) return [3 /*break*/, 2];
5094
5204
  return [4 /*yield*/, this.handleConnectedElementFieldActions(connectedFieldConfig, connectedField)];
5095
5205
  case 1:
5096
- connectedField = _o.sent();
5097
- _o.label = 2;
5206
+ connectedField = _7.sent();
5207
+ _7.label = 2;
5098
5208
  case 2:
5099
5209
  if (kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "handleNestedFields")) {
5100
5210
  if (connectedFieldConfig.handleNestedFields) {
@@ -5109,67 +5219,67 @@
5109
5219
  KwikIDFormViewComponent.prototype.handleConnectedElements = function (e, eventType) {
5110
5220
  return __awaiter(this, void 0, void 0, function () {
5111
5221
  var currentField, connectedFieldGroups, connectedFieldGroups_1, connectedFieldGroups_1_1, connectedFieldGroupConfig, e_6_1, connectedFields, connectedFields_1, connectedFields_1_1, connectedFieldConfig, e_7_1;
5112
- var e_6, _o, e_7, _p;
5113
- return __generator(this, function (_q) {
5114
- switch (_q.label) {
5222
+ var e_6, _7, e_7, _8;
5223
+ return __generator(this, function (_9) {
5224
+ switch (_9.label) {
5115
5225
  case 0:
5116
5226
  currentField = getFormFieldByKey(this.formFields, e.key);
5117
5227
  if (!(currentField !== undefined)) return [3 /*break*/, 17];
5118
5228
  if (!kwikidToolkit.checkObjectKeyExists(currentField, "connectedElements")) return [3 /*break*/, 16];
5119
5229
  if (!kwikidToolkit.checkObjectKeyExists(currentField.connectedElements, "connectedFieldGroups")) return [3 /*break*/, 8];
5120
5230
  connectedFieldGroups = currentField.connectedElements.connectedFieldGroups;
5121
- _q.label = 1;
5231
+ _9.label = 1;
5122
5232
  case 1:
5123
- _q.trys.push([1, 6, 7, 8]);
5233
+ _9.trys.push([1, 6, 7, 8]);
5124
5234
  connectedFieldGroups_1 = __values(connectedFieldGroups), connectedFieldGroups_1_1 = connectedFieldGroups_1.next();
5125
- _q.label = 2;
5235
+ _9.label = 2;
5126
5236
  case 2:
5127
5237
  if (!!connectedFieldGroups_1_1.done) return [3 /*break*/, 5];
5128
5238
  connectedFieldGroupConfig = connectedFieldGroups_1_1.value;
5129
5239
  return [4 /*yield*/, this.handleConnectedElementFieldGroup(currentField, connectedFieldGroupConfig, eventType)];
5130
5240
  case 3:
5131
- _q.sent();
5132
- _q.label = 4;
5241
+ _9.sent();
5242
+ _9.label = 4;
5133
5243
  case 4:
5134
5244
  connectedFieldGroups_1_1 = connectedFieldGroups_1.next();
5135
5245
  return [3 /*break*/, 2];
5136
5246
  case 5: return [3 /*break*/, 8];
5137
5247
  case 6:
5138
- e_6_1 = _q.sent();
5248
+ e_6_1 = _9.sent();
5139
5249
  e_6 = { error: e_6_1 };
5140
5250
  return [3 /*break*/, 8];
5141
5251
  case 7:
5142
5252
  try {
5143
- if (connectedFieldGroups_1_1 && !connectedFieldGroups_1_1.done && (_o = connectedFieldGroups_1.return)) _o.call(connectedFieldGroups_1);
5253
+ if (connectedFieldGroups_1_1 && !connectedFieldGroups_1_1.done && (_7 = connectedFieldGroups_1.return)) _7.call(connectedFieldGroups_1);
5144
5254
  }
5145
5255
  finally { if (e_6) throw e_6.error; }
5146
5256
  return [7 /*endfinally*/];
5147
5257
  case 8:
5148
5258
  if (!kwikidToolkit.checkObjectKeyExists(currentField.connectedElements, "connectedFields")) return [3 /*break*/, 16];
5149
5259
  connectedFields = currentField.connectedElements.connectedFields;
5150
- _q.label = 9;
5260
+ _9.label = 9;
5151
5261
  case 9:
5152
- _q.trys.push([9, 14, 15, 16]);
5262
+ _9.trys.push([9, 14, 15, 16]);
5153
5263
  connectedFields_1 = __values(connectedFields), connectedFields_1_1 = connectedFields_1.next();
5154
- _q.label = 10;
5264
+ _9.label = 10;
5155
5265
  case 10:
5156
5266
  if (!!connectedFields_1_1.done) return [3 /*break*/, 13];
5157
5267
  connectedFieldConfig = connectedFields_1_1.value;
5158
5268
  return [4 /*yield*/, this.handleConnectedElementFields(currentField, connectedFieldConfig, eventType, eventType)];
5159
5269
  case 11:
5160
- currentField = _q.sent();
5161
- _q.label = 12;
5270
+ currentField = _9.sent();
5271
+ _9.label = 12;
5162
5272
  case 12:
5163
5273
  connectedFields_1_1 = connectedFields_1.next();
5164
5274
  return [3 /*break*/, 10];
5165
5275
  case 13: return [3 /*break*/, 16];
5166
5276
  case 14:
5167
- e_7_1 = _q.sent();
5277
+ e_7_1 = _9.sent();
5168
5278
  e_7 = { error: e_7_1 };
5169
5279
  return [3 /*break*/, 16];
5170
5280
  case 15:
5171
5281
  try {
5172
- if (connectedFields_1_1 && !connectedFields_1_1.done && (_p = connectedFields_1.return)) _p.call(connectedFields_1);
5282
+ if (connectedFields_1_1 && !connectedFields_1_1.done && (_8 = connectedFields_1.return)) _8.call(connectedFields_1);
5173
5283
  }
5174
5284
  finally { if (e_7) throw e_7.error; }
5175
5285
  return [7 /*endfinally*/];
@@ -5181,23 +5291,26 @@
5181
5291
  });
5182
5292
  };
5183
5293
  KwikIDFormViewComponent.prototype.handleRemovedFile = function (e) {
5184
- var _o;
5294
+ var _7;
5295
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
5185
5296
  this.showApiLoader();
5186
5297
  if (this.formGroup["controls"][e.key].enabled) {
5187
5298
  this.files[e.key] = e.files;
5188
5299
  this.formData[e.key] = filterDuplicatesFiles(this.files[e.key]);
5189
- this.formGroup.patchValue((_o = {},
5190
- _o[e.key] = this.formData[e.key],
5191
- _o), { emitEvent: false });
5300
+ this.formGroup.patchValue((_7 = {},
5301
+ _7[e.key] = this.formData[e.key],
5302
+ _7), { emitEvent: false });
5192
5303
  }
5304
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_FILE_REMOVE, Object.assign(Object.assign(Object.assign({ field_key: e.key }, ((_b = (_a = e.file) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : { file_name: (_c = e.file) === null || _c === void 0 ? void 0 : _c.name })), ((_e = (_d = e.file) === null || _d === void 0 ? void 0 : _d.size) !== null && _e !== void 0 ? _e : { file_size: (_f = e.file) === null || _f === void 0 ? void 0 : _f.size })), ((_h = (_g = e.file) === null || _g === void 0 ? void 0 : _g.type) !== null && _h !== void 0 ? _h : { file_type: (_j = e.file) === null || _j === void 0 ? void 0 : _j.type })));
5193
5305
  this.hideApiLoader();
5194
5306
  };
5195
5307
  KwikIDFormViewComponent.prototype.handleGetKeyValueFile = function (e) {
5308
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
5196
5309
  return __awaiter(this, void 0, void 0, function () {
5197
5310
  var field, values, values_1, values_1_1, value, e_8_1, _loop_2, this_2, values_2, values_2_1, value, e_9_1;
5198
- var e_8, _o, e_9, _p;
5199
- return __generator(this, function (_q) {
5200
- switch (_q.label) {
5311
+ var e_8, _7, e_9, _8;
5312
+ return __generator(this, function (_9) {
5313
+ switch (_9.label) {
5201
5314
  case 0:
5202
5315
  this.showApiLoader();
5203
5316
  field = getFormFieldByKey(this.formFields, e.key);
@@ -5205,41 +5318,42 @@
5205
5318
  if (!(kwikidToolkit.checkObjectKeyExists(field, "properties") &&
5206
5319
  kwikidToolkit.checkObjectKeyExists(field.properties, "uploadFileToServer") &&
5207
5320
  field.properties.uploadFileToServer)) return [3 /*break*/, 9];
5208
- _q.label = 1;
5321
+ _9.label = 1;
5209
5322
  case 1:
5210
- _q.trys.push([1, 6, 7, 8]);
5323
+ _9.trys.push([1, 6, 7, 8]);
5211
5324
  values_1 = __values(values), values_1_1 = values_1.next();
5212
- _q.label = 2;
5325
+ _9.label = 2;
5213
5326
  case 2:
5214
5327
  if (!!values_1_1.done) return [3 /*break*/, 5];
5215
5328
  value = values_1_1.value;
5216
5329
  return [4 /*yield*/, this.uploadFile(field, value)];
5217
5330
  case 3:
5218
- _q.sent();
5219
- _q.label = 4;
5331
+ _9.sent();
5332
+ _9.label = 4;
5220
5333
  case 4:
5221
5334
  values_1_1 = values_1.next();
5222
5335
  return [3 /*break*/, 2];
5223
5336
  case 5: return [3 /*break*/, 8];
5224
5337
  case 6:
5225
- e_8_1 = _q.sent();
5338
+ e_8_1 = _9.sent();
5226
5339
  e_8 = { error: e_8_1 };
5227
5340
  return [3 /*break*/, 8];
5228
5341
  case 7:
5229
5342
  try {
5230
- if (values_1_1 && !values_1_1.done && (_o = values_1.return)) _o.call(values_1);
5343
+ if (values_1_1 && !values_1_1.done && (_7 = values_1.return)) _7.call(values_1);
5231
5344
  }
5232
5345
  finally { if (e_8) throw e_8.error; }
5233
5346
  return [7 /*endfinally*/];
5234
5347
  case 8: return [3 /*break*/, 18];
5235
5348
  case 9:
5236
5349
  _loop_2 = function (value) {
5237
- var updatedFile, _r;
5238
- return __generator(this, function (_s) {
5239
- switch (_s.label) {
5350
+ var updatedFile, _10;
5351
+ return __generator(this, function (_11) {
5352
+ switch (_11.label) {
5240
5353
  case 0:
5241
5354
  this_2.updateFiles(value, "LOADING", e.key);
5242
- _r = kwikidToolkit.getObjectDeepCopy;
5355
+ this_2.triggerLogs(ELogEventType$1.FORM__FIELD_FILE_ADD, Object.assign(Object.assign(Object.assign({ field_key: e.key }, ((_b = (_a = e.file) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : { file_name: (_c = e.file) === null || _c === void 0 ? void 0 : _c.name })), ((_e = (_d = e.file) === null || _d === void 0 ? void 0 : _d.size) !== null && _e !== void 0 ? _e : { file_size: (_f = e.file) === null || _f === void 0 ? void 0 : _f.size })), ((_h = (_g = e.file) === null || _g === void 0 ? void 0 : _g.type) !== null && _h !== void 0 ? _h : { file_type: (_j = e.file) === null || _j === void 0 ? void 0 : _j.type })));
5356
+ _10 = kwikidToolkit.getObjectDeepCopy;
5243
5357
  return [4 /*yield*/, new Promise(function (resolve) {
5244
5358
  setTimeout(function () {
5245
5359
  resolve({
@@ -5253,42 +5367,42 @@
5253
5367
  }, 300); // 1000 ms = 1 sec
5254
5368
  })];
5255
5369
  case 1:
5256
- updatedFile = _r.apply(void 0, [_s.sent()]);
5370
+ updatedFile = _10.apply(void 0, [_11.sent()]);
5257
5371
  this_2.updateFiles(updatedFile, "NORMAL", e.key);
5258
5372
  return [2 /*return*/];
5259
5373
  }
5260
5374
  });
5261
5375
  };
5262
5376
  this_2 = this;
5263
- _q.label = 10;
5377
+ _9.label = 10;
5264
5378
  case 10:
5265
- _q.trys.push([10, 15, 16, 17]);
5379
+ _9.trys.push([10, 15, 16, 17]);
5266
5380
  values_2 = __values(values), values_2_1 = values_2.next();
5267
- _q.label = 11;
5381
+ _9.label = 11;
5268
5382
  case 11:
5269
5383
  if (!!values_2_1.done) return [3 /*break*/, 14];
5270
5384
  value = values_2_1.value;
5271
5385
  return [5 /*yield**/, _loop_2(value)];
5272
5386
  case 12:
5273
- _q.sent();
5274
- _q.label = 13;
5387
+ _9.sent();
5388
+ _9.label = 13;
5275
5389
  case 13:
5276
5390
  values_2_1 = values_2.next();
5277
5391
  return [3 /*break*/, 11];
5278
5392
  case 14: return [3 /*break*/, 17];
5279
5393
  case 15:
5280
- e_9_1 = _q.sent();
5394
+ e_9_1 = _9.sent();
5281
5395
  e_9 = { error: e_9_1 };
5282
5396
  return [3 /*break*/, 17];
5283
5397
  case 16:
5284
5398
  try {
5285
- if (values_2_1 && !values_2_1.done && (_p = values_2.return)) _p.call(values_2);
5399
+ if (values_2_1 && !values_2_1.done && (_8 = values_2.return)) _8.call(values_2);
5286
5400
  }
5287
5401
  finally { if (e_9) throw e_9.error; }
5288
5402
  return [7 /*endfinally*/];
5289
5403
  case 17:
5290
5404
  this.hideApiLoader();
5291
- _q.label = 18;
5405
+ _9.label = 18;
5292
5406
  case 18: return [2 /*return*/];
5293
5407
  }
5294
5408
  });
@@ -5296,31 +5410,42 @@
5296
5410
  };
5297
5411
  /** Methods for Camera related fields like 'CAPTURE' or 'RECORD' */
5298
5412
  KwikIDFormViewComponent.prototype.handleOnClickGetRemovedMediaFile = function (e) {
5299
- var _o;
5413
+ var _7;
5414
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
5300
5415
  this.showApiLoader();
5301
5416
  if (this.formGroup["controls"][e.key].enabled) {
5302
5417
  this.resetCamera();
5303
5418
  this.mediaFiles[e.key] = e.mediaFiles;
5304
5419
  this.formData[e.key] = filterDuplicatesMediaFiles(this.mediaFiles[e.key]);
5305
- this.formGroup.patchValue((_o = {},
5306
- _o[e.key] = this.formData[e.key],
5307
- _o), { emitEvent: false });
5420
+ this.formGroup.patchValue((_7 = {},
5421
+ _7[e.key] = this.formData[e.key],
5422
+ _7), { emitEvent: false });
5423
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_MEDIA_FILE_REMOVE, Object.assign(Object.assign(Object.assign({ field_key: e.key }, ((_b = (_a = e.file) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : { file_name: (_c = e.file) === null || _c === void 0 ? void 0 : _c.name })), ((_e = (_d = e.file) === null || _d === void 0 ? void 0 : _d.size) !== null && _e !== void 0 ? _e : { file_size: (_f = e.file) === null || _f === void 0 ? void 0 : _f.size })), ((_h = (_g = e.file) === null || _g === void 0 ? void 0 : _g.type) !== null && _h !== void 0 ? _h : { file_type: (_j = e.file) === null || _j === void 0 ? void 0 : _j.type })));
5308
5424
  }
5309
5425
  this.hideApiLoader();
5310
5426
  };
5311
5427
  KwikIDFormViewComponent.prototype.handleOnClickInputCamera = function (e, field) {
5312
5428
  var _a, _b, _c, _d, _e, _f;
5313
5429
  return __awaiter(this, void 0, void 0, function () {
5314
- var fieldKey, fieldcameraConfig, _o, cameraHelper, _p, _q;
5315
- return __generator(this, function (_r) {
5316
- switch (_r.label) {
5430
+ var fieldKey, fieldcameraConfig, _7, cameraHelper, _8, _9;
5431
+ return __generator(this, function (_10) {
5432
+ switch (_10.label) {
5317
5433
  case 0:
5434
+ this.loaderService.show({
5435
+ loaderText: "Loading Camera...",
5436
+ fullscreen: true
5437
+ });
5318
5438
  fieldKey = field.key;
5319
5439
  fieldcameraConfig = (_b = (_a = field === null || field === void 0 ? void 0 : field.properties) === null || _a === void 0 ? void 0 : _a.cameraConfig) !== null && _b !== void 0 ? _b : {};
5320
5440
  this.cameraType = (field === null || field === void 0 ? void 0 : field.type.toUpperCase()) || "";
5321
5441
  this.cameraFieldKey = fieldKey;
5322
- _o = this.cameraType;
5323
- switch (_o) {
5442
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_CAMERA_BUTTON_CLICK, {
5443
+ field_key: field.key,
5444
+ field_type: field.type,
5445
+ camera_type: this.cameraType
5446
+ });
5447
+ _7 = this.cameraType;
5448
+ switch (_7) {
5324
5449
  case "CAPTURE": return [3 /*break*/, 1];
5325
5450
  case "RECORD": return [3 /*break*/, 5];
5326
5451
  }
@@ -5333,16 +5458,16 @@
5333
5458
  if (!(((_d = (_c = this.cameraConfig) === null || _c === void 0 ? void 0 : _c.others) === null || _d === void 0 ? void 0 : _d.isWatermark) ||
5334
5459
  ((_f = (_e = this.cameraConfig) === null || _e === void 0 ? void 0 : _e.others) === null || _f === void 0 ? void 0 : _f.isWatermarkForImageUpload))) return [3 /*break*/, 3];
5335
5460
  cameraHelper = new CameraHelper(field, this.formFields, this.allFormsData, this.formData, this.previousFormData);
5336
- _p = this;
5337
- _q = {};
5461
+ _8 = this;
5462
+ _9 = {};
5338
5463
  return [4 /*yield*/, cameraHelper.getCameraWatermarkData()];
5339
5464
  case 2:
5340
- _p.cameraData = (_q.watermark = _r.sent(),
5341
- _q);
5465
+ _8.cameraData = (_9.watermark = _10.sent(),
5466
+ _9);
5342
5467
  return [3 /*break*/, 4];
5343
5468
  case 3:
5344
5469
  this.cameraData = undefined;
5345
- _r.label = 4;
5470
+ _10.label = 4;
5346
5471
  case 4: return [3 /*break*/, 7];
5347
5472
  case 5:
5348
5473
  this.cameraConfig = kwikidToolkit.mergeObjectsDeep([
@@ -5358,6 +5483,7 @@
5358
5483
  * Config and other data is set now, so we can show the camera.
5359
5484
  */
5360
5485
  this.isShowCamera = true;
5486
+ this.loaderService.hide();
5361
5487
  return [2 /*return*/];
5362
5488
  }
5363
5489
  });
@@ -5368,10 +5494,10 @@
5368
5494
  KwikIDFormViewComponent.prototype.setCameraMedia = function (media) {
5369
5495
  return __awaiter(this, void 0, void 0, function () {
5370
5496
  var field, validations_4;
5371
- var _o;
5497
+ var _7;
5372
5498
  var _this = this;
5373
- return __generator(this, function (_p) {
5374
- switch (_p.label) {
5499
+ return __generator(this, function (_8) {
5500
+ switch (_8.label) {
5375
5501
  case 0:
5376
5502
  field = getFormFieldByKey(this.formFields, this.cameraFieldKey);
5377
5503
  if (!(kwikidToolkit.checkObjectKeyExists(field, "properties") &&
@@ -5379,7 +5505,7 @@
5379
5505
  field.properties.uploadFileToServer)) return [3 /*break*/, 2];
5380
5506
  return [4 /*yield*/, this.uploadFile(field, media)];
5381
5507
  case 1:
5382
- _p.sent();
5508
+ _8.sent();
5383
5509
  return [3 /*break*/, 3];
5384
5510
  case 2:
5385
5511
  this.resetCamera();
@@ -5389,9 +5515,9 @@
5389
5515
  emitEvent: false,
5390
5516
  onlySelf: false
5391
5517
  });
5392
- this.formGroup.patchValue((_o = {},
5393
- _o[field.key] = kwikidToolkit.getObjectDeepCopy([media]),
5394
- _o), { emitEvent: false });
5518
+ this.formGroup.patchValue((_7 = {},
5519
+ _7[field.key] = kwikidToolkit.getObjectDeepCopy([media]),
5520
+ _7), { emitEvent: false });
5395
5521
  this.formGroup.controls[field.key].updateValueAndValidity({
5396
5522
  emitEvent: false
5397
5523
  });
@@ -5411,11 +5537,11 @@
5411
5537
  ALL_FORMS_DATA: this.allFormsData
5412
5538
  }, this.takeAction.bind(this));
5413
5539
  (function () { return __awaiter(_this, void 0, void 0, function () {
5414
- return __generator(this, function (_o) {
5415
- switch (_o.label) {
5540
+ return __generator(this, function (_7) {
5541
+ switch (_7.label) {
5416
5542
  case 0: return [4 /*yield*/, validations_4.validate(field.validation)];
5417
5543
  case 1:
5418
- _o.sent();
5544
+ _7.sent();
5419
5545
  return [2 /*return*/];
5420
5546
  }
5421
5547
  });
@@ -5428,7 +5554,11 @@
5428
5554
  value: this.formGroup.controls[field.key].value
5429
5555
  }, "ON_CHANGE");
5430
5556
  }
5431
- _p.label = 3;
5557
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_FILE_ADD, {
5558
+ field_key: field.key,
5559
+ field_type: field.type
5560
+ });
5561
+ _8.label = 3;
5432
5562
  case 3: return [2 /*return*/];
5433
5563
  }
5434
5564
  });
@@ -5488,12 +5618,19 @@
5488
5618
  _this.hideApiLoader();
5489
5619
  }, 500); // Delay is added due to issus with KwikID Camera not being able to handle to fast processing.
5490
5620
  break;
5621
+ default:
5491
5622
  break;
5492
5623
  }
5493
5624
  };
5494
5625
  KwikIDFormViewComponent.prototype.handleOnClickSaveCameraMedia = function (e, cameraType) {
5495
5626
  var _this = this;
5496
5627
  this.showApiLoader();
5628
+ var field = getFormFieldByKey(this.formFields, this.cameraFieldKey);
5629
+ this.triggerLogs(ELogEventType$1.FORM__CAMERA_SAVE_BUTTON_CLICK, {
5630
+ field_key: field.key,
5631
+ field_type: field.type,
5632
+ camera_type: cameraType
5633
+ });
5497
5634
  switch (cameraType) {
5498
5635
  case "CAPTURE":
5499
5636
  this.cameraImage = "";
@@ -5514,16 +5651,26 @@
5514
5651
  }
5515
5652
  };
5516
5653
  KwikIDFormViewComponent.prototype.handleOnClickCameraBack = function (e) {
5654
+ var field = getFormFieldByKey(this.formFields, this.cameraFieldKey);
5655
+ this.triggerLogs(ELogEventType$1.FORM__CAMERA_BACK_BUTTON_CLICK, {
5656
+ field_key: field.key,
5657
+ field_type: field.type
5658
+ });
5517
5659
  this.resetCamera();
5518
5660
  };
5519
5661
  KwikIDFormViewComponent.prototype.handleOnClickCameraClose = function (e) {
5662
+ var field = getFormFieldByKey(this.formFields, this.cameraFieldKey);
5663
+ this.triggerLogs(ELogEventType$1.FORM__CAMERA_CLOSE_BUTTON_CLICK, {
5664
+ field_key: field.key,
5665
+ field_type: field.type
5666
+ });
5520
5667
  this.resetCamera();
5521
5668
  };
5522
5669
  /**
5523
5670
  * This method is used to update the files array with the new file and it's state and response from the api of uploading the file.
5524
5671
  */
5525
5672
  KwikIDFormViewComponent.prototype.updateFiles = function (file, state, key) {
5526
- var _o;
5673
+ var _7;
5527
5674
  var _this = this;
5528
5675
  var _a;
5529
5676
  var fileWithState = kwikidToolkit.mergeObjects(file, { state: state });
@@ -5551,9 +5698,9 @@
5551
5698
  emitEvent: false,
5552
5699
  onlySelf: false
5553
5700
  });
5554
- this.formGroup.patchValue((_o = {},
5555
- _o[key] = normalFiles,
5556
- _o), { emitEvent: false });
5701
+ this.formGroup.patchValue((_7 = {},
5702
+ _7[key] = normalFiles,
5703
+ _7), { emitEvent: false });
5557
5704
  this.getUnsavedDataState.emit(true);
5558
5705
  if (field.isFormElement &&
5559
5706
  kwikidToolkit.checkObjectKeyExists(field, "validation") &&
@@ -5567,11 +5714,11 @@
5567
5714
  ALL_FORMS_DATA: this.allFormsData
5568
5715
  }, this.takeAction.bind(this));
5569
5716
  (function () { return __awaiter(_this, void 0, void 0, function () {
5570
- return __generator(this, function (_o) {
5571
- switch (_o.label) {
5717
+ return __generator(this, function (_7) {
5718
+ switch (_7.label) {
5572
5719
  case 0: return [4 /*yield*/, validations_5.validate(field.validation)];
5573
5720
  case 1:
5574
- _o.sent();
5721
+ _7.sent();
5575
5722
  return [2 /*return*/];
5576
5723
  }
5577
5724
  });
@@ -5590,10 +5737,21 @@
5590
5737
  */
5591
5738
  KwikIDFormViewComponent.prototype.uploadFile = function (field, file) {
5592
5739
  return __awaiter(this, void 0, void 0, function () {
5593
- return __generator(this, function (_o) {
5740
+ return __generator(this, function (_7) {
5594
5741
  switch (field.type) {
5595
5742
  case EFieldType.FILE:
5596
5743
  this.updateFiles(file, "LOADING", field.key);
5744
+ this.triggerLogs(ELogEventType$1.FORM__API_REQUEST, {
5745
+ field_key: field.key,
5746
+ field_type: field.type,
5747
+ request: kwikidToolkit.getObjectDeepCopy({
5748
+ name: file.name,
5749
+ type: file.type,
5750
+ size: file.size,
5751
+ lastModified: file.lastModified,
5752
+ webkitRelativePath: file.webkitRelativePath
5753
+ })
5754
+ });
5597
5755
  // Actual API Call
5598
5756
  try {
5599
5757
  this.onClickApiCall.emit({
@@ -5617,6 +5775,13 @@
5617
5775
  break;
5618
5776
  case EFieldType.CAPTURE:
5619
5777
  // Actual API Call
5778
+ this.triggerLogs(ELogEventType$1.FORM__API_REQUEST, {
5779
+ field_key: field.key,
5780
+ field_type: field.type,
5781
+ request: {
5782
+ image: file
5783
+ }
5784
+ });
5620
5785
  try {
5621
5786
  this.onClickApiCall.emit({
5622
5787
  key: field.key,
@@ -5632,6 +5797,13 @@
5632
5797
  break;
5633
5798
  case EFieldType.RECORD:
5634
5799
  // Actual API Call
5800
+ this.triggerLogs(ELogEventType$1.FORM__API_REQUEST, {
5801
+ field_key: field.key,
5802
+ field_type: field.type,
5803
+ request: {
5804
+ video: file
5805
+ }
5806
+ });
5635
5807
  try {
5636
5808
  this.onClickApiCall.emit({
5637
5809
  key: field.key,
@@ -5651,11 +5823,11 @@
5651
5823
  });
5652
5824
  };
5653
5825
  KwikIDFormViewComponent.prototype.handleOnClickFormFieldButton = function (field) {
5654
- var e_10, _o;
5826
+ var e_10, _7;
5655
5827
  var formData = this.formGroup.getRawValue();
5656
5828
  try {
5657
- for (var _p = __values(this.formFields), _q = _p.next(); !_q.done; _q = _p.next()) {
5658
- var field_3 = _q.value;
5829
+ for (var _8 = __values(this.formFields), _9 = _8.next(); !_9.done; _9 = _8.next()) {
5830
+ var field_3 = _9.value;
5659
5831
  if (field_3.isFormElement) {
5660
5832
  if (field_3.hidden) {
5661
5833
  delete formData[field_3.key];
@@ -5669,26 +5841,31 @@
5669
5841
  catch (e_10_1) { e_10 = { error: e_10_1 }; }
5670
5842
  finally {
5671
5843
  try {
5672
- if (_q && !_q.done && (_o = _p.return)) _o.call(_p);
5844
+ if (_9 && !_9.done && (_7 = _8.return)) _7.call(_8);
5673
5845
  }
5674
5846
  finally { if (e_10) throw e_10.error; }
5675
5847
  }
5676
5848
  var extendedFormData = this.formFields.reduce(function (result, field, index) {
5677
- var _o;
5849
+ var _7;
5678
5850
  if (field.isFormElement && !field.hidden) {
5679
- var fieldData = (_o = {},
5680
- _o[field.key] = {
5851
+ var fieldData = (_7 = {},
5852
+ _7[field.key] = {
5681
5853
  key: field.key,
5682
5854
  label: field.label,
5683
5855
  value: kwikidToolkit.isEmptyValue(formData[field.key]) ? "" : formData[field.key],
5684
5856
  type: field.type,
5685
5857
  index: index
5686
5858
  },
5687
- _o);
5859
+ _7);
5688
5860
  result[field.key] = fieldData[field.key];
5689
5861
  }
5690
5862
  return result;
5691
5863
  }, {});
5864
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_BUTTON_CLICK, {
5865
+ field_key: field.key,
5866
+ field_type: field.type,
5867
+ field_label: field.label
5868
+ });
5692
5869
  this.onClickFormFieldButton.emit({
5693
5870
  config: field,
5694
5871
  data: kwikidToolkit.mergeObjects(this.formData, this.popupFormData, this.taskData),
@@ -5697,11 +5874,11 @@
5697
5874
  };
5698
5875
  // DOM Event Handlers
5699
5876
  KwikIDFormViewComponent.prototype.handleGetKeyValue = function (e) {
5700
- var _o;
5877
+ var _7;
5701
5878
  var _this = this;
5702
- this.formGroup.patchValue((_o = {},
5703
- _o[e.key] = e.value,
5704
- _o), { emitEvent: false });
5879
+ this.formGroup.patchValue((_7 = {},
5880
+ _7[e.key] = e.value,
5881
+ _7), { emitEvent: false });
5705
5882
  var field = getFormFieldByKey(this.formFields, e.key);
5706
5883
  this.formData[e.key] = convertFormFieldValueToStandardFormat(field, e.value);
5707
5884
  this.getUnsavedDataState.emit(true);
@@ -5717,11 +5894,11 @@
5717
5894
  ALL_FORMS_DATA: this.allFormsData
5718
5895
  }, this.takeAction.bind(this));
5719
5896
  (function () { return __awaiter(_this, void 0, void 0, function () {
5720
- return __generator(this, function (_o) {
5721
- switch (_o.label) {
5897
+ return __generator(this, function (_7) {
5898
+ switch (_7.label) {
5722
5899
  case 0: return [4 /*yield*/, validations_6.validate(field.validation)];
5723
5900
  case 1:
5724
- _o.sent();
5901
+ _7.sent();
5725
5902
  return [2 /*return*/];
5726
5903
  }
5727
5904
  });
@@ -5740,27 +5917,30 @@
5740
5917
  return __awaiter(this, void 0, void 0, function () {
5741
5918
  var resetFormFields, BYPASS_RESET_CONFIRM, CONFIRM_RESET;
5742
5919
  var _this = this;
5743
- return __generator(this, function (_o) {
5920
+ return __generator(this, function (_7) {
5921
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_RESET_BUTTON_CLICK, {
5922
+ field_key: field.key
5923
+ });
5744
5924
  resetFormFields = function () { return __awaiter(_this, void 0, void 0, function () {
5745
- var _o, _p, f, _q, _r, action, resetField, actions, e_11_1, e_12_1;
5746
- var e_12, _s, e_11, _t;
5747
- return __generator(this, function (_u) {
5748
- switch (_u.label) {
5925
+ var _7, _8, f, _9, _10, action, resetField, actions, e_11_1, e_12_1;
5926
+ var e_12, _11, e_11, _12;
5927
+ return __generator(this, function (_13) {
5928
+ switch (_13.label) {
5749
5929
  case 0:
5750
- _u.trys.push([0, 11, 12, 13]);
5751
- _o = __values(field.reset.fields), _p = _o.next();
5752
- _u.label = 1;
5930
+ _13.trys.push([0, 11, 12, 13]);
5931
+ _7 = __values(field.reset.fields), _8 = _7.next();
5932
+ _13.label = 1;
5753
5933
  case 1:
5754
- if (!!_p.done) return [3 /*break*/, 10];
5755
- f = _p.value;
5756
- _u.label = 2;
5934
+ if (!!_8.done) return [3 /*break*/, 10];
5935
+ f = _8.value;
5936
+ _13.label = 2;
5757
5937
  case 2:
5758
- _u.trys.push([2, 7, 8, 9]);
5759
- _q = (e_11 = void 0, __values(f.actions)), _r = _q.next();
5760
- _u.label = 3;
5938
+ _13.trys.push([2, 7, 8, 9]);
5939
+ _9 = (e_11 = void 0, __values(f.actions)), _10 = _9.next();
5940
+ _13.label = 3;
5761
5941
  case 3:
5762
- if (!!_r.done) return [3 /*break*/, 6];
5763
- action = _r.value;
5942
+ if (!!_10.done) return [3 /*break*/, 6];
5943
+ action = _10.value;
5764
5944
  resetField = getFormFieldByKey(this.formFields, action.props.fieldKey);
5765
5945
  actions = new kwikidToolkit.Action(action, {}, {
5766
5946
  FIELD_CONFIG: resetField,
@@ -5772,33 +5952,33 @@
5772
5952
  }, this.takeAction.bind(this));
5773
5953
  return [4 /*yield*/, actions.execute()];
5774
5954
  case 4:
5775
- _u.sent();
5776
- _u.label = 5;
5955
+ _13.sent();
5956
+ _13.label = 5;
5777
5957
  case 5:
5778
- _r = _q.next();
5958
+ _10 = _9.next();
5779
5959
  return [3 /*break*/, 3];
5780
5960
  case 6: return [3 /*break*/, 9];
5781
5961
  case 7:
5782
- e_11_1 = _u.sent();
5962
+ e_11_1 = _13.sent();
5783
5963
  e_11 = { error: e_11_1 };
5784
5964
  return [3 /*break*/, 9];
5785
5965
  case 8:
5786
5966
  try {
5787
- if (_r && !_r.done && (_t = _q.return)) _t.call(_q);
5967
+ if (_10 && !_10.done && (_12 = _9.return)) _12.call(_9);
5788
5968
  }
5789
5969
  finally { if (e_11) throw e_11.error; }
5790
5970
  return [7 /*endfinally*/];
5791
5971
  case 9:
5792
- _p = _o.next();
5972
+ _8 = _7.next();
5793
5973
  return [3 /*break*/, 1];
5794
5974
  case 10: return [3 /*break*/, 13];
5795
5975
  case 11:
5796
- e_12_1 = _u.sent();
5976
+ e_12_1 = _13.sent();
5797
5977
  e_12 = { error: e_12_1 };
5798
5978
  return [3 /*break*/, 13];
5799
5979
  case 12:
5800
5980
  try {
5801
- if (_p && !_p.done && (_s = _o.return)) _s.call(_o);
5981
+ if (_8 && !_8.done && (_11 = _7.return)) _11.call(_7);
5802
5982
  }
5803
5983
  finally { if (e_12) throw e_12.error; }
5804
5984
  return [7 /*endfinally*/];
@@ -5823,9 +6003,9 @@
5823
6003
  KwikIDFormViewComponent.prototype.handleFieldApiCall = function (field, api) {
5824
6004
  return __awaiter(this, void 0, void 0, function () {
5825
6005
  var apis;
5826
- var _o, _p;
5827
- return __generator(this, function (_q) {
5828
- switch (_q.label) {
6006
+ var _7, _8;
6007
+ return __generator(this, function (_9) {
6008
+ switch (_9.label) {
5829
6009
  case 0: return [4 /*yield*/, this.executeApiCall(api, {
5830
6010
  FIELD_CONFIG: field,
5831
6011
  API_CONFIG: api,
@@ -5836,13 +6016,13 @@
5836
6016
  ALL_FORMS_DATA: this.allFormsData
5837
6017
  })];
5838
6018
  case 1:
5839
- api = _q.sent();
6019
+ api = _9.sent();
5840
6020
  if (!this.isValidRequestHeadersAndBody(api)) return [3 /*break*/, 3];
5841
6021
  if (kwikidToolkit.checkObjectKeyExists(field.api, "request")) {
5842
- this.formData = Object.assign(Object.assign({}, this.formData), (_o = {}, _o[field.key] = api.response.value, _o));
5843
- this.formGroup.patchValue((_p = {},
5844
- _p[field.key] = api.response.value,
5845
- _p), { emitEvent: false });
6022
+ this.formData = Object.assign(Object.assign({}, this.formData), (_7 = {}, _7[field.key] = api.response.value, _7));
6023
+ this.formGroup.patchValue((_8 = {},
6024
+ _8[field.key] = api.response.value,
6025
+ _8), { emitEvent: false });
5846
6026
  }
5847
6027
  apis = new Apis({
5848
6028
  FIELD_CONFIG: field,
@@ -5856,14 +6036,14 @@
5856
6036
  }, this.takeAction.bind(this));
5857
6037
  return [4 /*yield*/, apis.validateResponse()];
5858
6038
  case 2:
5859
- api = _q.sent();
6039
+ api = _9.sent();
5860
6040
  return [3 /*break*/, 4];
5861
6041
  case 3:
5862
6042
  setTimeout(function () {
5863
6043
  field["api"]["status"]["value"] = EApiStatusType.FAILED;
5864
6044
  field["showLoader"] = false;
5865
6045
  }, 500);
5866
- _q.label = 4;
6046
+ _9.label = 4;
5867
6047
  case 4: return [2 /*return*/, { field: field, api: api }];
5868
6048
  }
5869
6049
  });
@@ -5872,8 +6052,8 @@
5872
6052
  KwikIDFormViewComponent.prototype.handleApiCall = function (api) {
5873
6053
  return __awaiter(this, void 0, void 0, function () {
5874
6054
  var apis;
5875
- return __generator(this, function (_o) {
5876
- switch (_o.label) {
6055
+ return __generator(this, function (_7) {
6056
+ switch (_7.label) {
5877
6057
  case 0: return [4 /*yield*/, this.executeApiCall(api, {
5878
6058
  FORM_CONFIG: this.formConfig,
5879
6059
  API_CONFIG: api,
@@ -5884,7 +6064,7 @@
5884
6064
  ALL_FORMS_DATA: this.allFormsData
5885
6065
  })];
5886
6066
  case 1:
5887
- api = _o.sent();
6067
+ api = _7.sent();
5888
6068
  apis = new Apis({
5889
6069
  FORM_CONFIG: this.formConfig,
5890
6070
  API_CONFIG: api,
@@ -5897,38 +6077,38 @@
5897
6077
  if (!this.isValidRequestHeadersAndBody(api)) return [3 /*break*/, 3];
5898
6078
  return [4 /*yield*/, apis.validateResponse()];
5899
6079
  case 2:
5900
- api = _o.sent();
5901
- _o.label = 3;
6080
+ api = _7.sent();
6081
+ _7.label = 3;
5902
6082
  case 3: return [2 /*return*/, { api: api }];
5903
6083
  }
5904
6084
  });
5905
6085
  });
5906
6086
  };
5907
6087
  KwikIDFormViewComponent.prototype.executeApiCall = function (api, object) {
5908
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
6088
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6;
5909
6089
  return __awaiter(this, void 0, void 0, function () {
5910
- var apis, apiCallResponse, apiCallResponseStatusCode, url, method, headers, response, err_1, body, isSecure, response, isSecure_1, encryptedResponse, decryptedResponse, err_2;
5911
- return __generator(this, function (_o) {
5912
- switch (_o.label) {
6090
+ var apis, apiCallResponse, apiCallResponseStatusCode, url, method, headers, response, isSecure, encryptedResponse, decryptedResponse, err_1, body, isSecure, response, isSecure_1, encryptedResponse, decryptedResponse, err_2;
6091
+ return __generator(this, function (_7) {
6092
+ switch (_7.label) {
5913
6093
  case 0:
5914
6094
  apis = new Apis(object, this.takeAction.bind(this));
5915
6095
  return [4 /*yield*/, apis.setUrl()];
5916
6096
  case 1:
5917
- api = _o.sent();
6097
+ api = _7.sent();
5918
6098
  return [4 /*yield*/, apis.setRequestHeaders()];
5919
6099
  case 2:
5920
- api = _o.sent();
6100
+ api = _7.sent();
5921
6101
  return [4 /*yield*/, apis.validateRequestHeaders()];
5922
6102
  case 3:
5923
- api = _o.sent();
6103
+ api = _7.sent();
5924
6104
  return [4 /*yield*/, apis.setRequestBody()];
5925
6105
  case 4:
5926
- api = _o.sent();
6106
+ api = _7.sent();
5927
6107
  return [4 /*yield*/, apis.validateRequestBody()];
5928
6108
  case 5:
5929
- api = _o.sent();
6109
+ api = _7.sent();
5930
6110
  apiCallResponse = {};
5931
- if (!this.isValidRequestHeadersAndBody(api)) return [3 /*break*/, 22];
6111
+ if (!this.isValidRequestHeadersAndBody(api)) return [3 /*break*/, 25];
5932
6112
  if (!(api.request.url.hasOwnProperty("type") &&
5933
6113
  api.request.url.type === EApiRequestUrlType.MOCK)) return [3 /*break*/, 7];
5934
6114
  return [4 /*yield*/, new Promise(function (resolve) {
@@ -5937,81 +6117,100 @@
5937
6117
  }, 1000); // 1000 ms = 1 sec
5938
6118
  })];
5939
6119
  case 6:
5940
- apiCallResponse = _o.sent();
6120
+ apiCallResponse = _7.sent();
5941
6121
  apiCallResponseStatusCode = (_b = (_a = api.request.url.props) === null || _a === void 0 ? void 0 : _a.statusCode) !== null && _b !== void 0 ? _b : 200; // Default Status Code for Mocked APIs
5942
- return [3 /*break*/, 21];
6122
+ return [3 /*break*/, 24];
5943
6123
  case 7:
5944
6124
  url = api.request.url.value;
5945
6125
  method = (_d = (_c = api.request) === null || _c === void 0 ? void 0 : _c.method) !== null && _d !== void 0 ? _d : "POST";
5946
6126
  headers = Object.assign({ "Content-Type": "application/json" }, (((_f = (_e = api.request) === null || _e === void 0 ? void 0 : _e.headers) === null || _f === void 0 ? void 0 : _f.value) || {}));
5947
- if (!(method === "GET")) return [3 /*break*/, 13];
5948
- _o.label = 8;
6127
+ if (!(method === "GET")) return [3 /*break*/, 16];
6128
+ this.triggerLogs(ELogEventType$1.FORM__API_REQUEST, {
6129
+ form_api_method: method,
6130
+ form_api_key: (_g = api === null || api === void 0 ? void 0 : api.apiKey) !== null && _g !== void 0 ? _g : ""
6131
+ });
6132
+ _7.label = 8;
5949
6133
  case 8:
5950
- _o.trys.push([8, 11, , 12]);
6134
+ _7.trys.push([8, 14, , 15]);
5951
6135
  return [4 /*yield*/, fetch(url, {
5952
6136
  method: method,
5953
6137
  headers: Object.assign({}, headers)
5954
6138
  })];
5955
6139
  case 9:
5956
- response = _o.sent();
5957
- return [4 /*yield*/, response.json()];
6140
+ response = _7.sent();
6141
+ isSecure = (_h = api === null || api === void 0 ? void 0 : api.response) === null || _h === void 0 ? void 0 : _h.isSecure;
6142
+ if (!isSecure) return [3 /*break*/, 11];
6143
+ return [4 /*yield*/, response.text()];
5958
6144
  case 10:
5959
- apiCallResponse = _o.sent();
6145
+ encryptedResponse = _7.sent();
6146
+ decryptedResponse = kwikidToolkit.decryptWithAES(encryptedResponse);
6147
+ apiCallResponse = JSON.parse(decryptedResponse);
6148
+ return [3 /*break*/, 13];
6149
+ case 11: return [4 /*yield*/, response.json()];
6150
+ case 12:
6151
+ apiCallResponse = _7.sent();
6152
+ _7.label = 13;
6153
+ case 13:
5960
6154
  apiCallResponseStatusCode = response.status;
5961
- return [3 /*break*/, 12];
5962
- case 11:
5963
- err_1 = _o.sent();
6155
+ return [3 /*break*/, 15];
6156
+ case 14:
6157
+ err_1 = _7.sent();
5964
6158
  apiCallResponse = {};
5965
- return [3 /*break*/, 12];
5966
- case 12: return [3 /*break*/, 21];
5967
- case 13:
5968
- body = JSON.stringify((_j = (_h = (_g = api === null || api === void 0 ? void 0 : api.request) === null || _g === void 0 ? void 0 : _g.body) === null || _h === void 0 ? void 0 : _h.value) !== null && _j !== void 0 ? _j : {});
5969
- isSecure = (_l = (_k = api === null || api === void 0 ? void 0 : api.request) === null || _k === void 0 ? void 0 : _k.body) === null || _l === void 0 ? void 0 : _l.isSecure;
6159
+ apiCallResponseStatusCode = 500;
6160
+ return [3 /*break*/, 15];
6161
+ case 15: return [3 /*break*/, 24];
6162
+ case 16:
6163
+ body = JSON.stringify((_l = (_k = (_j = api === null || api === void 0 ? void 0 : api.request) === null || _j === void 0 ? void 0 : _j.body) === null || _k === void 0 ? void 0 : _k.value) !== null && _l !== void 0 ? _l : {});
6164
+ isSecure = (_p = (_o = (_m = api === null || api === void 0 ? void 0 : api.request) === null || _m === void 0 ? void 0 : _m.body) === null || _o === void 0 ? void 0 : _o.isSecure) !== null && _p !== void 0 ? _p : false;
5970
6165
  if (isSecure) {
5971
6166
  body = kwikidToolkit.encryptWithAES(body);
5972
6167
  }
5973
- _o.label = 14;
5974
- case 14:
5975
- _o.trys.push([14, 20, , 21]);
6168
+ this.triggerLogs(ELogEventType$1.FORM__API_REQUEST, Object.assign({ form_api_method: method, form_api_key: (_q = api === null || api === void 0 ? void 0 : api.apiKey) !== null && _q !== void 0 ? _q : "", form_api_request_encrypted: isSecure }, (!isSecure && {
6169
+ form_api_request_body: body
6170
+ })));
6171
+ _7.label = 17;
6172
+ case 17:
6173
+ _7.trys.push([17, 23, , 24]);
5976
6174
  return [4 /*yield*/, fetch(url, {
5977
6175
  method: method,
5978
6176
  headers: Object.assign({}, headers),
5979
6177
  body: body
5980
6178
  })];
5981
- case 15:
5982
- response = _o.sent();
5983
- isSecure_1 = (_m = api === null || api === void 0 ? void 0 : api.response) === null || _m === void 0 ? void 0 : _m.isSecure;
5984
- if (!isSecure_1) return [3 /*break*/, 17];
6179
+ case 18:
6180
+ response = _7.sent();
6181
+ isSecure_1 = (_r = api === null || api === void 0 ? void 0 : api.response) === null || _r === void 0 ? void 0 : _r.isSecure;
6182
+ if (!isSecure_1) return [3 /*break*/, 20];
5985
6183
  return [4 /*yield*/, response.text()];
5986
- case 16:
5987
- encryptedResponse = _o.sent();
6184
+ case 19:
6185
+ encryptedResponse = _7.sent();
5988
6186
  decryptedResponse = kwikidToolkit.decryptWithAES(encryptedResponse);
5989
6187
  apiCallResponse = JSON.parse(decryptedResponse);
5990
- return [3 /*break*/, 19];
5991
- case 17: return [4 /*yield*/, response.json()];
5992
- case 18:
5993
- apiCallResponse = _o.sent();
5994
- _o.label = 19;
5995
- case 19:
6188
+ return [3 /*break*/, 22];
6189
+ case 20: return [4 /*yield*/, response.json()];
6190
+ case 21:
6191
+ apiCallResponse = _7.sent();
6192
+ _7.label = 22;
6193
+ case 22:
5996
6194
  apiCallResponseStatusCode = response.status;
5997
- return [3 /*break*/, 21];
5998
- case 20:
5999
- err_2 = _o.sent();
6195
+ return [3 /*break*/, 24];
6196
+ case 23:
6197
+ err_2 = _7.sent();
6000
6198
  apiCallResponse = {};
6001
- return [3 /*break*/, 21];
6002
- case 21:
6199
+ apiCallResponseStatusCode = 500;
6200
+ return [3 /*break*/, 24];
6201
+ case 24:
6003
6202
  api.response = kwikidToolkit.setValueToObjectPath(api.response, "value", apiCallResponse);
6004
6203
  api.response = kwikidToolkit.setValueToObjectPath(api.response, "status", apiCallResponseStatusCode);
6005
- this.getLogs.emit({
6006
- type: ETypeLogs.API,
6007
- timestamp: new Date().getTime(),
6008
- data: {
6009
- request: api.request,
6010
- response: api.response
6011
- }
6012
- });
6013
- _o.label = 22;
6014
- case 22: return [2 /*return*/, api];
6204
+ this.triggerLogs(ELogEventType$1.FORM__API_RESPONSE, Object.assign(Object.assign({ form_api_key: (_s = api === null || api === void 0 ? void 0 : api.apiKey) !== null && _s !== void 0 ? _s : "", form_api_response_encrypted: (_u = (_t = api === null || api === void 0 ? void 0 : api.response) === null || _t === void 0 ? void 0 : _t.isSecure) !== null && _u !== void 0 ? _u : false }, (((_w = !((_v = api === null || api === void 0 ? void 0 : api.response) === null || _v === void 0 ? void 0 : _v.isSecure)) !== null && _w !== void 0 ? _w : false) && {
6205
+ form_api_response_body: apiCallResponse !== null && apiCallResponse !== void 0 ? apiCallResponse : {}
6206
+ })), { form_api_status_code: apiCallResponseStatusCode }));
6207
+ return [3 /*break*/, 26];
6208
+ case 25:
6209
+ this.triggerLogs(ELogEventType$1.FORM__API_REQUEST_INVALID, Object.assign({ form_api_key: (_x = api === null || api === void 0 ? void 0 : api.apiKey) !== null && _x !== void 0 ? _x : "", form_api_request_encrypted: (_0 = (_z = (_y = api === null || api === void 0 ? void 0 : api.request) === null || _y === void 0 ? void 0 : _y.body) === null || _z === void 0 ? void 0 : _z.isSecure) !== null && _0 !== void 0 ? _0 : false }, (((_3 = !((_2 = (_1 = api === null || api === void 0 ? void 0 : api.request) === null || _1 === void 0 ? void 0 : _1.body) === null || _2 === void 0 ? void 0 : _2.isSecure)) !== null && _3 !== void 0 ? _3 : false) && {
6210
+ form_api_request_body: (_6 = (_5 = (_4 = api === null || api === void 0 ? void 0 : api.request) === null || _4 === void 0 ? void 0 : _4.body) === null || _5 === void 0 ? void 0 : _5.value) !== null && _6 !== void 0 ? _6 : {}
6211
+ })));
6212
+ _7.label = 26;
6213
+ case 26: return [2 /*return*/, api];
6015
6214
  }
6016
6215
  });
6017
6216
  });
@@ -6048,11 +6247,15 @@
6048
6247
  KwikIDFormViewComponent.prototype.handleOnClickApiCall = function (e) {
6049
6248
  return __awaiter(this, void 0, void 0, function () {
6050
6249
  var field, apis;
6051
- return __generator(this, function (_o) {
6052
- switch (_o.label) {
6250
+ return __generator(this, function (_7) {
6251
+ switch (_7.label) {
6053
6252
  case 0:
6054
6253
  field = getFormFieldByKey(this.formFields, e.key);
6055
6254
  if (!(field.type === EFieldType.API)) return [3 /*break*/, 5];
6255
+ this.triggerLogs(ELogEventType$1.FORM__API_BUTTON_CLICK, {
6256
+ field_key: field.key,
6257
+ field_type: field.type
6258
+ });
6056
6259
  // set button status to loading
6057
6260
  field["api"]["status"]["value"] = EApiStatusType.LOADING;
6058
6261
  field["showLoader"] = true;
@@ -6060,7 +6263,7 @@
6060
6263
  if (!kwikidToolkit.checkObjectKeyExists(field.api, "request")) return [3 /*break*/, 2];
6061
6264
  return [4 /*yield*/, this.handleFieldApiCall(field, field.api)];
6062
6265
  case 1:
6063
- _o.sent();
6266
+ _7.sent();
6064
6267
  return [3 /*break*/, 4];
6065
6268
  case 2:
6066
6269
  apis = new Apis({
@@ -6074,11 +6277,11 @@
6074
6277
  }, this.takeAction.bind(this));
6075
6278
  return [4 /*yield*/, apis.callNextApi(field.api.entrypoint)];
6076
6279
  case 3:
6077
- _o.sent();
6078
- _o.label = 4;
6280
+ _7.sent();
6281
+ _7.label = 4;
6079
6282
  case 4:
6080
6283
  this.hideApiLoader();
6081
- _o.label = 5;
6284
+ _7.label = 5;
6082
6285
  case 5: return [2 /*return*/];
6083
6286
  }
6084
6287
  });
@@ -6116,6 +6319,7 @@
6116
6319
  }
6117
6320
  else if (this.formConfig.properties.footer.viewFormsButton.bypassConfirmation ||
6118
6321
  window.confirm("Your data will be lost if you leave this page! Continue?")) {
6322
+ this.triggerLogs(ELogEventType$1.FORM__VIEW_BUTTON_CLICK, {});
6119
6323
  this.onClickViewForms.emit({
6120
6324
  clicked: true
6121
6325
  });
@@ -6123,19 +6327,33 @@
6123
6327
  };
6124
6328
  KwikIDFormViewComponent.prototype.handleOnClickSaveForm = function (e) {
6125
6329
  return __awaiter(this, void 0, void 0, function () {
6126
- var controls, firstFieldWithError, controls_1, controls_1_1, control, _o, _p, field, validations, e_13_1, formData, _q, _r, field, extendedFormData, _s, _t, postTask, task, e_14_1;
6127
- var e_15, _u, e_13, _v, e_16, _w, e_14, _x;
6330
+ var controls, firstFieldWithError, controls_1, controls_1_1, control, field, _7, _8, field, validations, e_13_1, formData, _9, _10, field, extendedFormData, _11, _12, postTask, task, e_14_1;
6331
+ var e_15, _13, e_13, _14, e_16, _15, e_14, _16;
6128
6332
  var _this = this;
6129
- return __generator(this, function (_y) {
6130
- switch (_y.label) {
6333
+ return __generator(this, function (_17) {
6334
+ switch (_17.label) {
6131
6335
  case 0:
6336
+ if (e) {
6337
+ this.triggerLogs(ELogEventType$1.FORM__SAVE_BUTTON_CLICK, {});
6338
+ }
6339
+ else {
6340
+ this.triggerLogs(ELogEventType$1.FORM__SAVE_AUTO, {});
6341
+ }
6132
6342
  controls = new FormValidation().getFormFieldsInvalidControls(this.formGroup);
6133
6343
  firstFieldWithError = "";
6134
6344
  try {
6135
6345
  for (controls_1 = __values(controls), controls_1_1 = controls_1.next(); !controls_1_1.done; controls_1_1 = controls_1.next()) {
6136
6346
  control = controls_1_1.value;
6137
- if (control.invalid && kwikidToolkit.isEmptyValue(firstFieldWithError)) {
6138
- firstFieldWithError = control.key;
6347
+ if (control.invalid) {
6348
+ field = getFormFieldByKey(this.formFields, control.key);
6349
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_ERROR_SHOW, {
6350
+ field_key: control.key,
6351
+ field_type: field.type,
6352
+ field_error_types: this.formGroup.controls[control.key].errors
6353
+ });
6354
+ if (kwikidToolkit.isEmptyValue(firstFieldWithError)) {
6355
+ firstFieldWithError = control.key;
6356
+ }
6139
6357
  }
6140
6358
  this.formFields = showFormFieldError(this.formFields, this.formGroup.controls[control.key].errors, control.key, control.invalid);
6141
6359
  }
@@ -6143,7 +6361,7 @@
6143
6361
  catch (e_15_1) { e_15 = { error: e_15_1 }; }
6144
6362
  finally {
6145
6363
  try {
6146
- if (controls_1_1 && !controls_1_1.done && (_u = controls_1.return)) _u.call(controls_1);
6364
+ if (controls_1_1 && !controls_1_1.done && (_13 = controls_1.return)) _13.call(controls_1);
6147
6365
  }
6148
6366
  finally { if (e_15) throw e_15.error; }
6149
6367
  }
@@ -6154,14 +6372,14 @@
6154
6372
  }, 3000);
6155
6373
  return [2 /*return*/];
6156
6374
  }
6157
- _y.label = 1;
6375
+ _17.label = 1;
6158
6376
  case 1:
6159
- _y.trys.push([1, 6, 7, 8]);
6160
- _o = __values(this.formFields), _p = _o.next();
6161
- _y.label = 2;
6377
+ _17.trys.push([1, 6, 7, 8]);
6378
+ _7 = __values(this.formFields), _8 = _7.next();
6379
+ _17.label = 2;
6162
6380
  case 2:
6163
- if (!!_p.done) return [3 /*break*/, 5];
6164
- field = _p.value;
6381
+ if (!!_8.done) return [3 /*break*/, 5];
6382
+ field = _8.value;
6165
6383
  if (!(field.isFormElement &&
6166
6384
  !field.hidden &&
6167
6385
  kwikidToolkit.checkObjectKeyExists(field, "validation") &&
@@ -6176,7 +6394,7 @@
6176
6394
  }, this.takeAction.bind(this));
6177
6395
  return [4 /*yield*/, validations.validate(field.validation)];
6178
6396
  case 3:
6179
- _y.sent();
6397
+ _17.sent();
6180
6398
  if (!field.validation.is_valid) {
6181
6399
  this.toggleErrorNotification(true);
6182
6400
  setTimeout(function () {
@@ -6184,26 +6402,26 @@
6184
6402
  }, 3000);
6185
6403
  return [2 /*return*/];
6186
6404
  }
6187
- _y.label = 4;
6405
+ _17.label = 4;
6188
6406
  case 4:
6189
- _p = _o.next();
6407
+ _8 = _7.next();
6190
6408
  return [3 /*break*/, 2];
6191
6409
  case 5: return [3 /*break*/, 8];
6192
6410
  case 6:
6193
- e_13_1 = _y.sent();
6411
+ e_13_1 = _17.sent();
6194
6412
  e_13 = { error: e_13_1 };
6195
6413
  return [3 /*break*/, 8];
6196
6414
  case 7:
6197
6415
  try {
6198
- if (_p && !_p.done && (_v = _o.return)) _v.call(_o);
6416
+ if (_8 && !_8.done && (_14 = _7.return)) _14.call(_7);
6199
6417
  }
6200
6418
  finally { if (e_13) throw e_13.error; }
6201
6419
  return [7 /*endfinally*/];
6202
6420
  case 8:
6203
6421
  formData = this.formGroup.getRawValue();
6204
6422
  try {
6205
- for (_q = __values(this.formFields), _r = _q.next(); !_r.done; _r = _q.next()) {
6206
- field = _r.value;
6423
+ for (_9 = __values(this.formFields), _10 = _9.next(); !_10.done; _10 = _9.next()) {
6424
+ field = _10.value;
6207
6425
  if (field.isFormElement) {
6208
6426
  if (field.hidden) {
6209
6427
  delete formData[field.key];
@@ -6217,22 +6435,22 @@
6217
6435
  catch (e_16_1) { e_16 = { error: e_16_1 }; }
6218
6436
  finally {
6219
6437
  try {
6220
- if (_r && !_r.done && (_w = _q.return)) _w.call(_q);
6438
+ if (_10 && !_10.done && (_15 = _9.return)) _15.call(_9);
6221
6439
  }
6222
6440
  finally { if (e_16) throw e_16.error; }
6223
6441
  }
6224
6442
  extendedFormData = this.formFields.reduce(function (result, field, index) {
6225
- var _o;
6443
+ var _7;
6226
6444
  if (field.isFormElement && !field.hidden) {
6227
- var fieldData = (_o = {},
6228
- _o[field.key] = {
6445
+ var fieldData = (_7 = {},
6446
+ _7[field.key] = {
6229
6447
  key: field.key,
6230
6448
  label: field.label,
6231
6449
  value: kwikidToolkit.isEmptyValue(formData[field.key]) ? "" : formData[field.key],
6232
6450
  type: field.type,
6233
6451
  index: index
6234
6452
  },
6235
- _o);
6453
+ _7);
6236
6454
  result[field.key] = fieldData[field.key];
6237
6455
  }
6238
6456
  return result;
@@ -6244,14 +6462,15 @@
6244
6462
  });
6245
6463
  if (!(kwikidToolkit.checkObjectKeyExists(this.formConfig, "tasks") &&
6246
6464
  kwikidToolkit.checkObjectKeyExists(this.formConfig.tasks, "post"))) return [3 /*break*/, 18];
6247
- _y.label = 9;
6465
+ this.triggerLogs(ELogEventType$1.FORM__TASK_POST, {});
6466
+ _17.label = 9;
6248
6467
  case 9:
6249
- _y.trys.push([9, 15, 16, 17]);
6250
- _s = __values(this.formConfig.tasks.post), _t = _s.next();
6251
- _y.label = 10;
6468
+ _17.trys.push([9, 15, 16, 17]);
6469
+ _11 = __values(this.formConfig.tasks.post), _12 = _11.next();
6470
+ _17.label = 10;
6252
6471
  case 10:
6253
- if (!!_t.done) return [3 /*break*/, 14];
6254
- postTask = _t.value;
6472
+ if (!!_12.done) return [3 /*break*/, 14];
6473
+ postTask = _12.value;
6255
6474
  task = new Tasks(postTask, {
6256
6475
  FORM_CONFIG: this.formConfig,
6257
6476
  FORM_FIELDS: this.formFields,
@@ -6269,7 +6488,7 @@
6269
6488
  }
6270
6489
  return [4 /*yield*/, task.execute()];
6271
6490
  case 11:
6272
- _y.sent();
6491
+ _17.sent();
6273
6492
  // Wait for ngOnChanges to be called before continuing to the next task
6274
6493
  return [4 /*yield*/, new Promise(function (resolve) {
6275
6494
  var intervalId = setInterval(function () {
@@ -6281,22 +6500,22 @@
6281
6500
  })];
6282
6501
  case 12:
6283
6502
  // Wait for ngOnChanges to be called before continuing to the next task
6284
- _y.sent();
6503
+ _17.sent();
6285
6504
  if (this.stopTaskExecution) {
6286
6505
  return [3 /*break*/, 14];
6287
6506
  }
6288
- _y.label = 13;
6507
+ _17.label = 13;
6289
6508
  case 13:
6290
- _t = _s.next();
6509
+ _12 = _11.next();
6291
6510
  return [3 /*break*/, 10];
6292
6511
  case 14: return [3 /*break*/, 17];
6293
6512
  case 15:
6294
- e_14_1 = _y.sent();
6513
+ e_14_1 = _17.sent();
6295
6514
  e_14 = { error: e_14_1 };
6296
6515
  return [3 /*break*/, 17];
6297
6516
  case 16:
6298
6517
  try {
6299
- if (_t && !_t.done && (_x = _s.return)) _x.call(_s);
6518
+ if (_12 && !_12.done && (_16 = _11.return)) _16.call(_11);
6300
6519
  }
6301
6520
  finally { if (e_14) throw e_14.error; }
6302
6521
  return [7 /*endfinally*/];
@@ -6318,7 +6537,7 @@
6318
6537
  data: kwikidToolkit.mergeObjects(formData, this.popupFormData, this.taskData),
6319
6538
  extendedData: extendedFormData
6320
6539
  });
6321
- _y.label = 19;
6540
+ _17.label = 19;
6322
6541
  case 19: return [2 /*return*/];
6323
6542
  }
6324
6543
  });
@@ -6335,19 +6554,23 @@
6335
6554
  });
6336
6555
  this.formFields[fieldIndex]["hidden"] = true;
6337
6556
  this.formGroup.updateValueAndValidity();
6557
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_HIDE, {
6558
+ field_key: fieldKey,
6559
+ field_type: field.type
6560
+ });
6338
6561
  };
6339
6562
  KwikIDFormViewComponent.prototype.fieldGroupHide = function (fieldGroup) {
6340
- var e_17, _o;
6563
+ var e_17, _7;
6341
6564
  try {
6342
- for (var _p = __values(this.fieldGroups[fieldGroup]), _q = _p.next(); !_q.done; _q = _p.next()) {
6343
- var fieldKey = _q.value;
6565
+ for (var _8 = __values(this.fieldGroups[fieldGroup]), _9 = _8.next(); !_9.done; _9 = _8.next()) {
6566
+ var fieldKey = _9.value;
6344
6567
  this.fieldHide(fieldKey);
6345
6568
  }
6346
6569
  }
6347
6570
  catch (e_17_1) { e_17 = { error: e_17_1 }; }
6348
6571
  finally {
6349
6572
  try {
6350
- if (_q && !_q.done && (_o = _p.return)) _o.call(_p);
6573
+ if (_9 && !_9.done && (_7 = _8.return)) _7.call(_8);
6351
6574
  }
6352
6575
  finally { if (e_17) throw e_17.error; }
6353
6576
  }
@@ -6359,19 +6582,23 @@
6359
6582
  });
6360
6583
  this.formFields[fieldIndex]["hidden"] = false;
6361
6584
  this.formGroup.updateValueAndValidity();
6585
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_SHOW, {
6586
+ field_key: fieldKey,
6587
+ field_type: field.type
6588
+ });
6362
6589
  };
6363
6590
  KwikIDFormViewComponent.prototype.fieldGroupShow = function (fieldGroup) {
6364
- var e_18, _o;
6591
+ var e_18, _7;
6365
6592
  try {
6366
- for (var _p = __values(this.fieldGroups[fieldGroup]), _q = _p.next(); !_q.done; _q = _p.next()) {
6367
- var fieldKey = _q.value;
6593
+ for (var _8 = __values(this.fieldGroups[fieldGroup]), _9 = _8.next(); !_9.done; _9 = _8.next()) {
6594
+ var fieldKey = _9.value;
6368
6595
  this.fieldShow(fieldKey);
6369
6596
  }
6370
6597
  }
6371
6598
  catch (e_18_1) { e_18 = { error: e_18_1 }; }
6372
6599
  finally {
6373
6600
  try {
6374
- if (_q && !_q.done && (_o = _p.return)) _o.call(_p);
6601
+ if (_9 && !_9.done && (_7 = _8.return)) _7.call(_8);
6375
6602
  }
6376
6603
  finally { if (e_18) throw e_18.error; }
6377
6604
  }
@@ -6393,19 +6620,23 @@
6393
6620
  else if (field.type === EFieldType.BUTTON) {
6394
6621
  this.formFields[fieldIndex]["disabled"] = true;
6395
6622
  }
6623
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_DISABLE, {
6624
+ field_key: fieldKey,
6625
+ field_type: field.type
6626
+ });
6396
6627
  };
6397
6628
  KwikIDFormViewComponent.prototype.fieldGroupDisable = function (fieldGroup) {
6398
- var e_19, _o;
6629
+ var e_19, _7;
6399
6630
  try {
6400
- for (var _p = __values(this.fieldGroups[fieldGroup]), _q = _p.next(); !_q.done; _q = _p.next()) {
6401
- var fieldKey = _q.value;
6631
+ for (var _8 = __values(this.fieldGroups[fieldGroup]), _9 = _8.next(); !_9.done; _9 = _8.next()) {
6632
+ var fieldKey = _9.value;
6402
6633
  this.fieldDisable(fieldKey);
6403
6634
  }
6404
6635
  }
6405
6636
  catch (e_19_1) { e_19 = { error: e_19_1 }; }
6406
6637
  finally {
6407
6638
  try {
6408
- if (_q && !_q.done && (_o = _p.return)) _o.call(_p);
6639
+ if (_9 && !_9.done && (_7 = _8.return)) _7.call(_8);
6409
6640
  }
6410
6641
  finally { if (e_19) throw e_19.error; }
6411
6642
  }
@@ -6427,25 +6658,29 @@
6427
6658
  else if (field.type === EFieldType.BUTTON) {
6428
6659
  this.formFields[fieldIndex]["disabled"] = false;
6429
6660
  }
6661
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_ENABLE, {
6662
+ field_key: fieldKey,
6663
+ field_type: field.type
6664
+ });
6430
6665
  };
6431
6666
  KwikIDFormViewComponent.prototype.fieldGroupEnable = function (fieldGroup) {
6432
- var e_20, _o;
6667
+ var e_20, _7;
6433
6668
  try {
6434
- for (var _p = __values(this.fieldGroups[fieldGroup]), _q = _p.next(); !_q.done; _q = _p.next()) {
6435
- var fieldKey = _q.value;
6669
+ for (var _8 = __values(this.fieldGroups[fieldGroup]), _9 = _8.next(); !_9.done; _9 = _8.next()) {
6670
+ var fieldKey = _9.value;
6436
6671
  this.fieldEnable(fieldKey);
6437
6672
  }
6438
6673
  }
6439
6674
  catch (e_20_1) { e_20 = { error: e_20_1 }; }
6440
6675
  finally {
6441
6676
  try {
6442
- if (_q && !_q.done && (_o = _p.return)) _o.call(_p);
6677
+ if (_9 && !_9.done && (_7 = _8.return)) _7.call(_8);
6443
6678
  }
6444
6679
  finally { if (e_20) throw e_20.error; }
6445
6680
  }
6446
6681
  };
6447
6682
  KwikIDFormViewComponent.prototype.fieldReset = function (fieldKey) {
6448
- var _o;
6683
+ var _7;
6449
6684
  // Find the field and its index in the formFields array
6450
6685
  var field = getFormFieldByKey(this.formFields, fieldKey);
6451
6686
  var fieldIndex = getFormFieldIndexByKey(this.formFields, fieldKey);
@@ -6456,9 +6691,9 @@
6456
6691
  emitEvent: false,
6457
6692
  onlySelf: true
6458
6693
  });
6459
- this.formGroup.patchValue((_o = {},
6460
- _o[field.key] = resetValue,
6461
- _o), { emitEvent: false });
6694
+ this.formGroup.patchValue((_7 = {},
6695
+ _7[field.key] = resetValue,
6696
+ _7), { emitEvent: false });
6462
6697
  this.formGroup.controls[field.key].updateValueAndValidity({
6463
6698
  emitEvent: true
6464
6699
  });
@@ -6488,6 +6723,10 @@
6488
6723
  this.formFields[fieldIndex] = field;
6489
6724
  break;
6490
6725
  }
6726
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_RESET, {
6727
+ field_key: fieldKey,
6728
+ field_type: field.type
6729
+ });
6491
6730
  };
6492
6731
  KwikIDFormViewComponent.prototype.setHtml = function (fieldKey, message) {
6493
6732
  var field = getFormFieldByKey(this.formFields, fieldKey);
@@ -6505,6 +6744,11 @@
6505
6744
  field = highlightFormFieldError(field, true);
6506
6745
  field = appendFormFieldMessage(field, message);
6507
6746
  this.formFields[fieldIndex] = field;
6747
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_ERROR_SHOW, {
6748
+ field_key: fieldKey,
6749
+ field_type: field.type,
6750
+ field_error_message: message
6751
+ });
6508
6752
  };
6509
6753
  KwikIDFormViewComponent.prototype.fieldErrorHide = function (fieldKey, message) {
6510
6754
  var field = getFormFieldByKey(this.formFields, fieldKey);
@@ -6514,6 +6758,11 @@
6514
6758
  field = highlightFormFieldError(field, false);
6515
6759
  field = removeFormFieldMessage(field, message);
6516
6760
  this.formFields[fieldIndex] = field;
6761
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_ERROR_HIDE, {
6762
+ field_key: fieldKey,
6763
+ field_type: field.type,
6764
+ field_error_message: message
6765
+ });
6517
6766
  };
6518
6767
  KwikIDFormViewComponent.prototype.fieldMessageShow = function (fieldKey, message) {
6519
6768
  var field = getFormFieldByKey(this.formFields, fieldKey);
@@ -6522,6 +6771,11 @@
6522
6771
  });
6523
6772
  field = appendFormFieldMessage(field, message);
6524
6773
  this.formFields[fieldIndex] = field;
6774
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_MESSAGE_SHOW, {
6775
+ field_key: fieldKey,
6776
+ field_type: field.type,
6777
+ field_message: message
6778
+ });
6525
6779
  };
6526
6780
  KwikIDFormViewComponent.prototype.fieldMessageHide = function (fieldKey, message) {
6527
6781
  var field = getFormFieldByKey(this.formFields, fieldKey);
@@ -6530,17 +6784,22 @@
6530
6784
  });
6531
6785
  field = removeFormFieldMessage(field, message);
6532
6786
  this.formFields[fieldIndex] = field;
6787
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_MESSAGE_HIDE, {
6788
+ field_key: fieldKey,
6789
+ field_type: field.type,
6790
+ field_message: message
6791
+ });
6533
6792
  };
6534
6793
  KwikIDFormViewComponent.prototype.setValue = function (action, object) {
6535
6794
  return __awaiter(this, void 0, void 0, function () {
6536
6795
  var source, sourceValue;
6537
- return __generator(this, function (_o) {
6538
- switch (_o.label) {
6796
+ return __generator(this, function (_7) {
6797
+ switch (_7.label) {
6539
6798
  case 0:
6540
6799
  source = new kwikidToolkit.Source(object);
6541
6800
  return [4 /*yield*/, source.getValueFromSource(action.props.value.source)];
6542
6801
  case 1:
6543
- sourceValue = _o.sent();
6802
+ sourceValue = _7.sent();
6544
6803
  source.setValueToSource(action.props.value.destination, sourceValue);
6545
6804
  object.FIELD_CONFIG = source.object.FIELD_CONFIG;
6546
6805
  this.formData = source.object.FORM_DATA;
@@ -6555,13 +6814,13 @@
6555
6814
  KwikIDFormViewComponent.prototype.setFieldDefaultValue = function (action, object) {
6556
6815
  return __awaiter(this, void 0, void 0, function () {
6557
6816
  var source, sourceValue;
6558
- return __generator(this, function (_o) {
6559
- switch (_o.label) {
6817
+ return __generator(this, function (_7) {
6818
+ switch (_7.label) {
6560
6819
  case 0:
6561
6820
  source = new kwikidToolkit.Source(object);
6562
6821
  return [4 /*yield*/, source.getValueFromSource(action.props.value.source)];
6563
6822
  case 1:
6564
- sourceValue = _o.sent();
6823
+ sourceValue = _7.sent();
6565
6824
  source.setValueToSource({
6566
6825
  key: kwikidToolkit.ESourceKey.OBJECT,
6567
6826
  props: {
@@ -6593,7 +6852,7 @@
6593
6852
  KwikIDFormViewComponent.prototype.setApiStatus = function (action, object) {
6594
6853
  return __awaiter(this, void 0, void 0, function () {
6595
6854
  var source, sourceValue;
6596
- return __generator(this, function (_o) {
6855
+ return __generator(this, function (_7) {
6597
6856
  source = new kwikidToolkit.Source(object);
6598
6857
  sourceValue = action.props.status;
6599
6858
  source.setValueToSource({
@@ -6613,13 +6872,13 @@
6613
6872
  KwikIDFormViewComponent.prototype.setApiHeaderValue = function (action, object) {
6614
6873
  return __awaiter(this, void 0, void 0, function () {
6615
6874
  var source, sourceValue;
6616
- return __generator(this, function (_o) {
6617
- switch (_o.label) {
6875
+ return __generator(this, function (_7) {
6876
+ switch (_7.label) {
6618
6877
  case 0:
6619
6878
  source = new kwikidToolkit.Source(object);
6620
6879
  return [4 /*yield*/, source.getValueFromSource(action.props.source)];
6621
6880
  case 1:
6622
- sourceValue = _o.sent();
6881
+ sourceValue = _7.sent();
6623
6882
  source.setValueToSource({
6624
6883
  key: kwikidToolkit.ESourceKey.OBJECT,
6625
6884
  props: {
@@ -6638,7 +6897,7 @@
6638
6897
  KwikIDFormViewComponent.prototype.setApiHeaderValidity = function (action, object) {
6639
6898
  return __awaiter(this, void 0, void 0, function () {
6640
6899
  var source, sourceValue;
6641
- return __generator(this, function (_o) {
6900
+ return __generator(this, function (_7) {
6642
6901
  source = new kwikidToolkit.Source(object);
6643
6902
  sourceValue = action.props.valid;
6644
6903
  source.setValueToSource({
@@ -6658,13 +6917,13 @@
6658
6917
  KwikIDFormViewComponent.prototype.setApiBodyValue = function (action, object) {
6659
6918
  return __awaiter(this, void 0, void 0, function () {
6660
6919
  var source, sourceValue;
6661
- return __generator(this, function (_o) {
6662
- switch (_o.label) {
6920
+ return __generator(this, function (_7) {
6921
+ switch (_7.label) {
6663
6922
  case 0:
6664
6923
  source = new kwikidToolkit.Source(object);
6665
6924
  return [4 /*yield*/, source.getValueFromSource(action.props.source)];
6666
6925
  case 1:
6667
- sourceValue = _o.sent();
6926
+ sourceValue = _7.sent();
6668
6927
  source.setValueToSource({
6669
6928
  key: kwikidToolkit.ESourceKey.OBJECT,
6670
6929
  props: {
@@ -6683,7 +6942,7 @@
6683
6942
  KwikIDFormViewComponent.prototype.setApiBodyValidity = function (action, object) {
6684
6943
  return __awaiter(this, void 0, void 0, function () {
6685
6944
  var source, sourceValue;
6686
- return __generator(this, function (_o) {
6945
+ return __generator(this, function (_7) {
6687
6946
  source = new kwikidToolkit.Source(object);
6688
6947
  sourceValue = action.props.valid;
6689
6948
  source.setValueToSource({
@@ -6703,7 +6962,7 @@
6703
6962
  KwikIDFormViewComponent.prototype.setFieldValidity = function (action, object) {
6704
6963
  return __awaiter(this, void 0, void 0, function () {
6705
6964
  var source, sourceValue;
6706
- return __generator(this, function (_o) {
6965
+ return __generator(this, function (_7) {
6707
6966
  source = new kwikidToolkit.Source(object);
6708
6967
  sourceValue = action.props.valid;
6709
6968
  source.setValueToSource({
@@ -6723,18 +6982,18 @@
6723
6982
  KwikIDFormViewComponent.prototype.setDropdownOptions = function (action, object) {
6724
6983
  return __awaiter(this, void 0, void 0, function () {
6725
6984
  var source, sourceValue, appendToPath, appendToPathStr, optionsPath;
6726
- return __generator(this, function (_o) {
6727
- switch (_o.label) {
6985
+ return __generator(this, function (_7) {
6986
+ switch (_7.label) {
6728
6987
  case 0:
6729
6988
  source = new kwikidToolkit.Source(object);
6730
6989
  return [4 /*yield*/, source.getValueFromSource(action.props.value.source)];
6731
6990
  case 1:
6732
- sourceValue = _o.sent();
6991
+ sourceValue = _7.sent();
6733
6992
  if (!kwikidToolkit.checkObjectKeyExists(action.props, "options")) return [3 /*break*/, 4];
6734
6993
  if (!kwikidToolkit.checkObjectKeyExists(action.props.options, "appendToPath")) return [3 /*break*/, 3];
6735
6994
  return [4 /*yield*/, source.getValueFromSource(action.props.options.appendToPath.source)];
6736
6995
  case 2:
6737
- appendToPath = _o.sent();
6996
+ appendToPath = _7.sent();
6738
6997
  if (kwikidToolkit.isNotEmptyValue(appendToPath)) {
6739
6998
  appendToPathStr = kwikidToolkit.replaceString(appendToPath.match("" + action.props.options.appendToPath.filterSourceValue)[0], "[^a-zA-Z0-9_]", "_");
6740
6999
  optionsPath = "" + action.props.options.path + appendToPathStr;
@@ -6743,7 +7002,7 @@
6743
7002
  return [3 /*break*/, 4];
6744
7003
  case 3:
6745
7004
  sourceValue = kwikidToolkit.getObjectValueFromPath(sourceValue, action.props.options.path);
6746
- _o.label = 4;
7005
+ _7.label = 4;
6747
7006
  case 4:
6748
7007
  source.setValueToSource(action.props.value.destination, sourceValue);
6749
7008
  object.FIELD_CONFIG = source.object.FIELD_CONFIG;
@@ -6758,19 +7017,19 @@
6758
7017
  KwikIDFormViewComponent.prototype.apiCall = function (action, object) {
6759
7018
  return __awaiter(this, void 0, void 0, function () {
6760
7019
  var apiConfig, response;
6761
- var _o;
6762
- return __generator(this, function (_p) {
6763
- switch (_p.label) {
7020
+ var _7;
7021
+ return __generator(this, function (_8) {
7022
+ switch (_8.label) {
6764
7023
  case 0:
6765
7024
  apiConfig = this.formConfig.apis[action.props.formApiKey];
6766
7025
  return [4 /*yield*/, this.handleApiCall(apiConfig)];
6767
7026
  case 1:
6768
- response = _p.sent();
7027
+ response = _8.sent();
6769
7028
  apiConfig = response.api;
6770
7029
  this.formConfig = kwikidToolkit.setValueToObjectPath(this.formConfig, "apis." + action.props.formApiKey, apiConfig);
6771
- this.formData = kwikidToolkit.mergeObjects(this.formData, (_o = {},
6772
- _o[action.props.formApiKey] = apiConfig.response.value,
6773
- _o));
7030
+ this.formData = kwikidToolkit.mergeObjects(this.formData, (_7 = {},
7031
+ _7[action.props.formApiKey] = apiConfig.response.value,
7032
+ _7));
6774
7033
  return [2 /*return*/, apiConfig];
6775
7034
  }
6776
7035
  });
@@ -6779,13 +7038,13 @@
6779
7038
  KwikIDFormViewComponent.prototype.fieldApiCall = function (action, object) {
6780
7039
  return __awaiter(this, void 0, void 0, function () {
6781
7040
  var apiConfig;
6782
- return __generator(this, function (_o) {
6783
- switch (_o.label) {
7041
+ return __generator(this, function (_7) {
7042
+ switch (_7.label) {
6784
7043
  case 0:
6785
7044
  this.showApiLoader();
6786
7045
  return [4 /*yield*/, this.apiCall(action, object)];
6787
7046
  case 1:
6788
- apiConfig = _o.sent();
7047
+ apiConfig = _7.sent();
6789
7048
  this.hideApiLoader();
6790
7049
  return [2 /*return*/];
6791
7050
  }
@@ -6795,8 +7054,8 @@
6795
7054
  KwikIDFormViewComponent.prototype.fieldMultipleApiCalls = function (action, object) {
6796
7055
  return __awaiter(this, void 0, void 0, function () {
6797
7056
  var entrypointApiKey, field, endpoints, nextApiIndex, apiConfig, response;
6798
- return __generator(this, function (_o) {
6799
- switch (_o.label) {
7057
+ return __generator(this, function (_7) {
7058
+ switch (_7.label) {
6800
7059
  case 0:
6801
7060
  entrypointApiKey = action.props.apiKey;
6802
7061
  field = getFormFieldByKey(this.formFields, action.props.fieldKey);
@@ -6805,7 +7064,7 @@
6805
7064
  apiConfig = endpoints[nextApiIndex];
6806
7065
  return [4 /*yield*/, this.handleFieldApiCall(field, apiConfig)];
6807
7066
  case 1:
6808
- response = _o.sent();
7067
+ response = _7.sent();
6809
7068
  field = response.field;
6810
7069
  field.api.endpoints[nextApiIndex] = response.api;
6811
7070
  return [2 /*return*/];
@@ -6816,15 +7075,15 @@
6816
7075
  KwikIDFormViewComponent.prototype.fieldMultipleApiCallsEnd = function (action, object) {
6817
7076
  return __awaiter(this, void 0, void 0, function () {
6818
7077
  var field, multipleApiCallResponses;
6819
- var _o;
6820
- return __generator(this, function (_p) {
7078
+ var _7;
7079
+ return __generator(this, function (_8) {
6821
7080
  field = getFormFieldByKey(this.formFields, action.props.fieldKey);
6822
7081
  multipleApiCallResponses = {};
6823
7082
  field.api.endpoints.map(function (api) {
6824
7083
  if (kwikidToolkit.checkObjectKeyExists(api.response, "value"))
6825
7084
  multipleApiCallResponses = kwikidToolkit.setValueToObjectPath(multipleApiCallResponses, "" + api.apiKey, api.response.value);
6826
7085
  });
6827
- this.formData = Object.assign(Object.assign({}, this.formData), (_o = {}, _o[field.key] = multipleApiCallResponses, _o));
7086
+ this.formData = Object.assign(Object.assign({}, this.formData), (_7 = {}, _7[field.key] = multipleApiCallResponses, _7));
6828
7087
  this.patchFormGroup(this.formData);
6829
7088
  return [2 /*return*/];
6830
7089
  });
@@ -6833,17 +7092,17 @@
6833
7092
  KwikIDFormViewComponent.prototype.taskApiCall = function (action, object) {
6834
7093
  return __awaiter(this, void 0, void 0, function () {
6835
7094
  var apiConfig;
6836
- var _o;
6837
- return __generator(this, function (_p) {
6838
- switch (_p.label) {
7095
+ var _7;
7096
+ return __generator(this, function (_8) {
7097
+ switch (_8.label) {
6839
7098
  case 0:
6840
7099
  this.showApiLoader();
6841
7100
  return [4 /*yield*/, this.apiCall(action, object)];
6842
7101
  case 1:
6843
- apiConfig = _p.sent();
6844
- this.taskData = kwikidToolkit.mergeObjects(this.taskData, (_o = {},
6845
- _o[action.props.formApiKey] = apiConfig.response.value,
6846
- _o));
7102
+ apiConfig = _8.sent();
7103
+ this.taskData = kwikidToolkit.mergeObjects(this.taskData, (_7 = {},
7104
+ _7[action.props.formApiKey] = apiConfig.response.value,
7105
+ _7));
6847
7106
  this.waitingForChanges = false;
6848
7107
  this.hideApiLoader();
6849
7108
  return [2 /*return*/];
@@ -6854,8 +7113,8 @@
6854
7113
  KwikIDFormViewComponent.prototype.taskMultipleApiCalls = function (action, object) {
6855
7114
  return __awaiter(this, void 0, void 0, function () {
6856
7115
  var multipleApiConfig, entrypointApiKey_1, endpoints, nextApiIndex, apiConfig, response, apis;
6857
- return __generator(this, function (_o) {
6858
- switch (_o.label) {
7116
+ return __generator(this, function (_7) {
7117
+ switch (_7.label) {
6859
7118
  case 0:
6860
7119
  this.showApiLoader();
6861
7120
  multipleApiConfig = this.formConfig.apis[action.props.formApiKey];
@@ -6866,7 +7125,7 @@
6866
7125
  apiConfig = endpoints[nextApiIndex];
6867
7126
  return [4 /*yield*/, this.handleApiCall(apiConfig)];
6868
7127
  case 1:
6869
- response = _o.sent();
7128
+ response = _7.sent();
6870
7129
  multipleApiConfig.endpoints[nextApiIndex] = response.api;
6871
7130
  this.formConfig = kwikidToolkit.setValueToObjectPath(this.formConfig, "apis." + action.props.formApiKey, multipleApiConfig);
6872
7131
  this.hideApiLoader();
@@ -6883,8 +7142,8 @@
6883
7142
  }, this.takeAction.bind(this));
6884
7143
  return [4 /*yield*/, apis.callNextApi(multipleApiConfig.entrypoint)];
6885
7144
  case 3:
6886
- _o.sent();
6887
- _o.label = 4;
7145
+ _7.sent();
7146
+ _7.label = 4;
6888
7147
  case 4: return [2 /*return*/];
6889
7148
  }
6890
7149
  });
@@ -6893,15 +7152,15 @@
6893
7152
  KwikIDFormViewComponent.prototype.taskMultipleApiCallsEnd = function (action, object) {
6894
7153
  return __awaiter(this, void 0, void 0, function () {
6895
7154
  var multipleApiConfig, multipleApiCallResponses;
6896
- var _o;
6897
- return __generator(this, function (_p) {
7155
+ var _7;
7156
+ return __generator(this, function (_8) {
6898
7157
  multipleApiConfig = this.formConfig.apis[action.props.formApiKey];
6899
7158
  multipleApiCallResponses = {};
6900
7159
  multipleApiConfig.endpoints.map(function (api) {
6901
7160
  if (kwikidToolkit.checkObjectKeyExists(api.response, "value"))
6902
7161
  multipleApiCallResponses = kwikidToolkit.setValueToObjectPath(multipleApiCallResponses, "" + api.apiKey, api.response.value);
6903
7162
  });
6904
- this.taskData = Object.assign(Object.assign({}, this.taskData), (_o = {}, _o[action.props.formApiKey] = multipleApiCallResponses, _o));
7163
+ this.taskData = Object.assign(Object.assign({}, this.taskData), (_7 = {}, _7[action.props.formApiKey] = multipleApiCallResponses, _7));
6905
7164
  this.waitingForChanges = false;
6906
7165
  this.hideApiLoader();
6907
7166
  return [2 /*return*/];
@@ -6909,7 +7168,9 @@
6909
7168
  });
6910
7169
  };
6911
7170
  KwikIDFormViewComponent.prototype.dialogShow = function (options) {
7171
+ var _this = this;
6912
7172
  var _a;
7173
+ this.triggerLogs(ELogEventType$1.FORM__DIALOG_SHOW, {});
6913
7174
  this.dialogRef = this.dialogService
6914
7175
  .open(options === null || options === void 0 ? void 0 : options.html, {
6915
7176
  closeable: true,
@@ -6919,7 +7180,12 @@
6919
7180
  data: { button: options === null || options === void 0 ? void 0 : options.button }
6920
7181
  })
6921
7182
  .subscribe({
6922
- complete: function () { }
7183
+ error: function () {
7184
+ _this.triggerLogs(ELogEventType$1.FORM__DIALOG_ERROR, {});
7185
+ },
7186
+ complete: function () {
7187
+ _this.triggerLogs(ELogEventType$1.FORM__DIALOG_HIDE, {});
7188
+ }
6923
7189
  });
6924
7190
  };
6925
7191
  KwikIDFormViewComponent.prototype.dialogHide = function () {
@@ -6935,6 +7201,10 @@
6935
7201
  typeof action.props.url.timeout == "number") {
6936
7202
  timeout = action.props.url.timeout;
6937
7203
  }
7204
+ this.triggerLogs(ELogEventType$1.FORM__REDIRECT_URL, {
7205
+ timeout: timeout,
7206
+ redirect_url: action.props.url
7207
+ });
6938
7208
  setTimeout(function () {
6939
7209
  if (kwikidToolkit.checkObjectKeyExists(action.props.url, "target")) {
6940
7210
  window.open(action.props.url.url, action.props.url.target);
@@ -7009,6 +7279,7 @@
7009
7279
  };
7010
7280
  var showDialog = function () {
7011
7281
  var _a;
7282
+ _this.triggerLogs(ELogEventType$1.FORM__DIALOG_SHOW, {});
7012
7283
  _this.previewDialogRef = _this.dialogService
7013
7284
  .open(_this.dialog, {
7014
7285
  closeable: true,
@@ -7021,18 +7292,26 @@
7021
7292
  _this.previewDialogRef.complete();
7022
7293
  },
7023
7294
  error: function () {
7295
+ _this.triggerLogs(ELogEventType$1.FORM__DIALOG_ERROR, {});
7024
7296
  resetPreviewProperties();
7025
7297
  },
7026
7298
  complete: function () {
7299
+ _this.triggerLogs(ELogEventType$1.FORM__DIALOG_HIDE, {});
7027
7300
  resetPreviewProperties();
7028
7301
  }
7029
7302
  });
7030
7303
  };
7031
7304
  var showPreview = function () {
7305
+ _this.triggerLogs(ELogEventType$1.FORM__PREVIEW_SHOW, {});
7032
7306
  _this.previewDialogRef = _this.previewDialogService
7033
7307
  .open(_this.preview || "")
7034
7308
  .subscribe({
7309
+ error: function () {
7310
+ _this.triggerLogs(ELogEventType$1.FORM__PREVIEW_ERROR, {});
7311
+ resetPreviewProperties();
7312
+ },
7035
7313
  complete: function () {
7314
+ _this.triggerLogs(ELogEventType$1.FORM__PREVIEW_HIDE, {});
7036
7315
  resetPreviewProperties();
7037
7316
  }
7038
7317
  });
@@ -7067,6 +7346,11 @@
7067
7346
  });
7068
7347
  };
7069
7348
  KwikIDFormViewComponent.prototype.alertShow = function (type, message) {
7349
+ var _this = this;
7350
+ this.triggerLogs(ELogEventType$1.FORM__ALERT_SHOW, {
7351
+ alert_message: message,
7352
+ alert_type: type
7353
+ });
7070
7354
  this.alertService
7071
7355
  .open("" + message, {
7072
7356
  status: type === "error"
@@ -7078,12 +7362,28 @@
7078
7362
  : i4.TuiNotification.Info
7079
7363
  })
7080
7364
  .subscribe({
7081
- complete: function () { }
7365
+ error: function () {
7366
+ _this.triggerLogs(ELogEventType$1.FORM__ALERT_ERROR, {});
7367
+ },
7368
+ complete: function () {
7369
+ _this.triggerLogs(ELogEventType$1.FORM__ALERT_HIDE, {});
7370
+ }
7082
7371
  });
7083
7372
  };
7084
7373
  KwikIDFormViewComponent.prototype.takeActionOnFieldGroup = function (action, object) {
7085
7374
  return __awaiter(this, void 0, void 0, function () {
7086
- return __generator(this, function (_o) {
7375
+ return __generator(this, function (_7) {
7376
+ /**
7377
+ * This below code is currently commented because not all actions need to be logged at backend.
7378
+ * Will look later into where only specific actions needs to be logged or all.
7379
+ * Currently logs are sent from withing the action's specific methods.
7380
+ * Code -
7381
+ this.triggerLogs(ELogEventType.FORM__ACTION_EXECUTE_GROUP, {
7382
+ action_key: action.key,
7383
+ ...(action.id && { action_id: action.id }),
7384
+ ...(action.props.groupKey && { action_id: action.props.groupKey })
7385
+ });
7386
+ */
7087
7387
  switch (action.key) {
7088
7388
  case EActionKey.FIELD_GROUP_HIDE:
7089
7389
  this.fieldGroupHide(action.props.groupKey);
@@ -7107,12 +7407,12 @@
7107
7407
  KwikIDFormViewComponent.prototype.takeAction = function (action, object) {
7108
7408
  var _a, _b, _c, _d, _e, _f;
7109
7409
  return __awaiter(this, void 0, void 0, function () {
7110
- var _o, fieldErrorShow_Source, fieldErrorShowSourceValue, fieldErrorHide_Source, fieldErrorHideSourceValue, redirectToUrl_Source, redirectToUrlSourceValue, previewErrorShow_Source, previewErrorShowSourceValue, fieldHtmlMessage_Source, fieldHtmlMessageSourceValue;
7111
- return __generator(this, function (_p) {
7112
- switch (_p.label) {
7410
+ var _7, fieldErrorShow_Source, fieldErrorShowSourceValue, fieldErrorHide_Source, fieldErrorHideSourceValue, redirectToUrl_Source, redirectToUrlSourceValue, previewErrorShow_Source, previewErrorShowSourceValue, fieldHtmlMessage_Source, fieldHtmlMessageSourceValue;
7411
+ return __generator(this, function (_8) {
7412
+ switch (_8.label) {
7113
7413
  case 0:
7114
- _o = action.key;
7115
- switch (_o) {
7414
+ _7 = action.key;
7415
+ switch (_7) {
7116
7416
  case EActionKey.FIELD_HIDE: return [3 /*break*/, 1];
7117
7417
  case EActionKey.FIELD_SHOW: return [3 /*break*/, 2];
7118
7418
  case EActionKey.FIELD_DISABLE: return [3 /*break*/, 3];
@@ -7174,7 +7474,7 @@
7174
7474
  fieldErrorShow_Source = new kwikidToolkit.Source(object);
7175
7475
  return [4 /*yield*/, fieldErrorShow_Source.getValueFromSource(action.props.message.source)];
7176
7476
  case 7:
7177
- fieldErrorShowSourceValue = _p.sent();
7477
+ fieldErrorShowSourceValue = _8.sent();
7178
7478
  if (typeof fieldErrorShowSourceValue == "string" ||
7179
7479
  typeof fieldErrorShowSourceValue == "number") {
7180
7480
  fieldErrorShowSourceValue = String(fieldErrorShowSourceValue);
@@ -7183,7 +7483,7 @@
7183
7483
  fieldErrorShowSourceValue = "";
7184
7484
  }
7185
7485
  action = kwikidToolkit.setValueToObjectPath(action, "props.message.message", fieldErrorShowSourceValue);
7186
- _p.label = 8;
7486
+ _8.label = 8;
7187
7487
  case 8:
7188
7488
  action.props.message.message = updateLanguage(action.props.message.message, getLanguage());
7189
7489
  this.fieldErrorShow(action.props.fieldKey, action.props.message);
@@ -7193,7 +7493,7 @@
7193
7493
  fieldErrorHide_Source = new kwikidToolkit.Source(object);
7194
7494
  return [4 /*yield*/, fieldErrorHide_Source.getValueFromSource(action.props.message.source)];
7195
7495
  case 10:
7196
- fieldErrorHideSourceValue = _p.sent();
7496
+ fieldErrorHideSourceValue = _8.sent();
7197
7497
  if (typeof fieldErrorHideSourceValue == "string" ||
7198
7498
  typeof fieldErrorHideSourceValue == "number") {
7199
7499
  fieldErrorHideSourceValue = String(fieldErrorHideSourceValue);
@@ -7202,7 +7502,7 @@
7202
7502
  fieldErrorHideSourceValue = "";
7203
7503
  }
7204
7504
  action = kwikidToolkit.setValueToObjectPath(action, "props.message.message", fieldErrorHideSourceValue);
7205
- _p.label = 11;
7505
+ _8.label = 11;
7206
7506
  case 11:
7207
7507
  this.fieldErrorHide(action.props.fieldKey, action.props.message);
7208
7508
  return [3 /*break*/, 66];
@@ -7214,81 +7514,81 @@
7214
7514
  return [3 /*break*/, 66];
7215
7515
  case 14: return [4 /*yield*/, this.setValue(action, object)];
7216
7516
  case 15:
7217
- _p.sent();
7517
+ _8.sent();
7218
7518
  return [3 /*break*/, 66];
7219
7519
  case 16: return [4 /*yield*/, this.setFieldDefaultValue(action, object)];
7220
7520
  case 17:
7221
- _p.sent();
7521
+ _8.sent();
7222
7522
  return [3 /*break*/, 66];
7223
7523
  case 18: return [4 /*yield*/, this.setApiStatus(action, object)];
7224
7524
  case 19:
7225
- _p.sent();
7525
+ _8.sent();
7226
7526
  return [3 /*break*/, 66];
7227
7527
  case 20: return [4 /*yield*/, this.setApiHeaderValue(action, object)];
7228
7528
  case 21:
7229
- _p.sent();
7529
+ _8.sent();
7230
7530
  return [3 /*break*/, 66];
7231
7531
  case 22: return [4 /*yield*/, this.setApiHeaderValidity(action, object)];
7232
7532
  case 23:
7233
- _p.sent();
7533
+ _8.sent();
7234
7534
  return [3 /*break*/, 66];
7235
7535
  case 24: return [4 /*yield*/, this.setApiBodyValue(action, object)];
7236
7536
  case 25:
7237
- _p.sent();
7537
+ _8.sent();
7238
7538
  return [3 /*break*/, 66];
7239
7539
  case 26: return [4 /*yield*/, this.setApiBodyValidity(action, object)];
7240
7540
  case 27:
7241
- _p.sent();
7541
+ _8.sent();
7242
7542
  return [3 /*break*/, 66];
7243
7543
  case 28: return [4 /*yield*/, this.setDropdownOptions(action, object)];
7244
7544
  case 29:
7245
- _p.sent();
7545
+ _8.sent();
7246
7546
  return [3 /*break*/, 66];
7247
7547
  case 30: return [4 /*yield*/, this.setFieldValidity(action, object)];
7248
7548
  case 31:
7249
- _p.sent();
7549
+ _8.sent();
7250
7550
  return [3 /*break*/, 66];
7251
7551
  case 32:
7252
7552
  this.handleConnectedElements({ key: action.props.fieldKey }, "ON_ACTION");
7253
7553
  return [3 /*break*/, 66];
7254
7554
  case 33: return [4 /*yield*/, this.fieldApiCall(action, object)];
7255
7555
  case 34:
7256
- _p.sent();
7556
+ _8.sent();
7257
7557
  return [3 /*break*/, 66];
7258
7558
  case 35: return [4 /*yield*/, this.fieldMultipleApiCalls(action, object)];
7259
7559
  case 36:
7260
- _p.sent();
7560
+ _8.sent();
7261
7561
  return [3 /*break*/, 66];
7262
7562
  case 37: return [4 /*yield*/, this.fieldMultipleApiCallsEnd(action, object)];
7263
7563
  case 38:
7264
- _p.sent();
7564
+ _8.sent();
7265
7565
  return [3 /*break*/, 66];
7266
7566
  case 39: return [4 /*yield*/, this.taskApiCall(action, object)];
7267
7567
  case 40:
7268
- _p.sent();
7568
+ _8.sent();
7269
7569
  return [3 /*break*/, 66];
7270
7570
  case 41: return [4 /*yield*/, this.taskMultipleApiCalls(action, object)];
7271
7571
  case 42:
7272
- _p.sent();
7572
+ _8.sent();
7273
7573
  return [3 /*break*/, 66];
7274
7574
  case 43: return [4 /*yield*/, this.taskMultipleApiCallsEnd(action, object)];
7275
7575
  case 44:
7276
- _p.sent();
7576
+ _8.sent();
7277
7577
  return [3 /*break*/, 66];
7278
7578
  case 45:
7279
7579
  if (!kwikidToolkit.checkObjectKeyExists(action.props.url, "source")) return [3 /*break*/, 47];
7280
7580
  redirectToUrl_Source = new kwikidToolkit.Source(object);
7281
7581
  return [4 /*yield*/, redirectToUrl_Source.getValueFromSource(action.props.url.source)];
7282
7582
  case 46:
7283
- redirectToUrlSourceValue = _p.sent();
7583
+ redirectToUrlSourceValue = _8.sent();
7284
7584
  if (kwikidToolkit.isEmptyString(redirectToUrlSourceValue)) {
7285
7585
  redirectToUrlSourceValue = "";
7286
7586
  }
7287
7587
  action = kwikidToolkit.setValueToObjectPath(action, "props.url.url", redirectToUrlSourceValue);
7288
- _p.label = 47;
7588
+ _8.label = 47;
7289
7589
  case 47:
7290
7590
  this.redirectToUrl(action);
7291
- _p.label = 48;
7591
+ _8.label = 48;
7292
7592
  case 48:
7293
7593
  this.showPreview(action.props);
7294
7594
  return [3 /*break*/, 66];
@@ -7297,7 +7597,7 @@
7297
7597
  previewErrorShow_Source = new kwikidToolkit.Source(object);
7298
7598
  return [4 /*yield*/, previewErrorShow_Source.getValueFromSource(action.props.message.source)];
7299
7599
  case 50:
7300
- previewErrorShowSourceValue = _p.sent();
7600
+ previewErrorShowSourceValue = _8.sent();
7301
7601
  if (typeof previewErrorShowSourceValue == "string" ||
7302
7602
  typeof previewErrorShowSourceValue == "number") {
7303
7603
  previewErrorShowSourceValue = String(previewErrorShowSourceValue);
@@ -7306,7 +7606,7 @@
7306
7606
  previewErrorShowSourceValue = "";
7307
7607
  }
7308
7608
  action = kwikidToolkit.setValueToObjectPath(action, "props.message.message", previewErrorShowSourceValue);
7309
- _p.label = 51;
7609
+ _8.label = 51;
7310
7610
  case 51:
7311
7611
  this.showErrorPreview(action.props);
7312
7612
  return [3 /*break*/, 66];
@@ -7350,7 +7650,7 @@
7350
7650
  fieldHtmlMessage_Source = new kwikidToolkit.Source(object);
7351
7651
  return [4 /*yield*/, fieldHtmlMessage_Source.getValueFromSource(action.props.message.source)];
7352
7652
  case 63:
7353
- fieldHtmlMessageSourceValue = _p.sent();
7653
+ fieldHtmlMessageSourceValue = _8.sent();
7354
7654
  if (typeof fieldHtmlMessageSourceValue == "string" ||
7355
7655
  typeof fieldHtmlMessageSourceValue == "number") {
7356
7656
  fieldHtmlMessageSourceValue = String(fieldHtmlMessageSourceValue);
@@ -7359,7 +7659,7 @@
7359
7659
  fieldHtmlMessageSourceValue = "";
7360
7660
  }
7361
7661
  action = kwikidToolkit.setValueToObjectPath(action, "props.message.message", fieldHtmlMessageSourceValue);
7362
- _p.label = 64;
7662
+ _8.label = 64;
7363
7663
  case 64:
7364
7664
  action.props.message.message = updateLanguage(action.props.message.message, getLanguage());
7365
7665
  this.setHtml(action.props.fieldKey, action.props.message);
@@ -7373,7 +7673,7 @@
7373
7673
  return KwikIDFormViewComponent;
7374
7674
  }());
7375
7675
  /** @nocollapse */ KwikIDFormViewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDFormViewComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: KwikIDFormViewService }, { token: i5.TuiPushService }, { token: i4.TuiAlertService }, { token: i6.TuiPreviewDialogService }, { token: i4.TuiDialogService }, { token: i2__namespace.KwikUILoaderService }, { token: i3__namespace$2.KwikIDCameraRecordService }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
7376
- /** @nocollapse */ KwikIDFormViewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: { allFormsData: "allFormsData", apiCallResponse: "apiCallResponse", buttonClickResponse: "buttonClickResponse", formConfig: "formConfig", formData: "formData", isMobileView: "isMobileView", popupFormCallback: "popupFormCallback", userConfig: "userConfig" }, outputs: { getLogs: "getLogs", getUnsavedDataState: "getUnsavedDataState", onActionShowPopupForm: "onActionShowPopupForm", onClickApiCall: "onClickApiCall", onClickFormFieldButton: "onClickFormFieldButton", onClickGoBack: "onClickGoBack", onClickSaveForm: "onClickSaveForm", onClickViewForms: "onClickViewForms" }, providers: [KwikIDFormViewService], viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }, { propertyName: "preview", first: true, predicate: ["preview"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div\n class=\"kwikid-form-container\"\n *ngIf=\"!loading\"\n>\n <div\n id=\"uf-form-fields-header-container\"\n *ngIf=\"\n !formConfig.properties?.header?.title?.hidden ||\n !formConfig.properties?.header?.logo?.hidden ||\n !formConfig.properties?.header?.steps?.hidden ||\n !formConfig.properties?.header?.backButton?.hidden\n \"\n >\n <img\n id=\"uf-header-logo\"\n *ngIf=\"!formConfig.properties?.header?.logo?.hidden && isMobileView\"\n [src]=\"formConfig.properties?.header?.logo?.src\"\n [alt]=\"formConfig.properties?.header?.logo?.alt\"\n [style]=\"\n formConfig.properties?.header?.logo?.styles ?? '' | styleSanitizer\n \"\n />\n <div id=\"uf-form-fields-header-main\">\n <div id=\"uf-form-fields-header-left\">\n <kwikui-button\n *ngIf=\"\n !formConfig.properties?.header.backButton.hidden && isMobileView\n \"\n [disabled]=\"backButton.disabled\"\n [showLoader]=\"backButton.showLoader\"\n appearance=\"mono\"\n icon=\"tuiIconArrowLeft\"\n shape=\"rounded\"\n (onClick)=\"\n handleOnClickGoBack(\n $event,\n formConfig.properties?.header.backButton.mode\n )\n \"\n ></kwikui-button>\n </div>\n <div id=\"uf-form-fields-header-right\">\n <div\n id=\"uf-form-fields-title\"\n *ngIf=\"!formConfig.properties?.header.title.hidden\"\n >{{ formConfig.properties?.header.title.label }}</div\n >\n <div\n id=\"uf-form-fields-steps\"\n *ngIf=\"!formConfig.properties?.header.steps.hidden\"\n >\n Step {{ formConfig.sequenceNo }} of {{ formConfig.formsListLength }}\n </div>\n </div>\n </div>\n <hr\n *ngIf=\"\n !formConfig.properties?.header.title.hidden ||\n !formConfig.properties?.header.steps.hidden ||\n !formConfig.properties?.header.backButton.hidden\n \"\n />\n </div>\n <form\n class=\"kwikid-form show\"\n [style]=\"formConfig.properties?.main?.styles ?? '' | styleSanitizer\"\n [formGroup]=\"formGroup\"\n >\n <ng-container\n *ngFor=\"\n let field of formFields;\n let i = index;\n trackBy: getUniqueIdentifier\n \"\n >\n <ng-container [ngSwitch]=\"field.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'html'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <div [innerHtml]=\"field.html | kwikuiSafeHtml\"></div>\n </div>\n </ng-container>\n <!-- Form Title -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div\n class=\"title\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n [class.hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <div>\n {{ field.label }}\n </div>\n <kwikui-button\n *ngIf=\"field?.reset\"\n appearance=\"whiteblock\"\n size=\"s\"\n label=\"Reset\"\n (onClick)=\"handleOnClickResetFormFields($event, field)\"\n ></kwikui-button>\n </div>\n </ng-container>\n <!-- Button -->\n <ng-container *ngSwitchCase=\"'button'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button\n [appearance]=\"field?.properties?.appearance ?? 'primary'\"\n [class]=\"field?.properties?.class\"\n [disabled]=\"field?.disabled\"\n [icon]=\"field?.properties?.icon\"\n [iconRight]=\"field?.properties?.iconRight\"\n [id]=\"field?.key\"\n [label]=\"field?.label\"\n [shape]=\"field?.properties?.shape\"\n [showLoader]=\"field?.properties?.loading ?? false\"\n [size]=\"field?.properties?.size\"\n [styles]=\"field?.properties?.styles\"\n [type]=\"'button'\"\n (onClick)=\"handleOnClickFormFieldButton(field)\"\n ></kwikui-button>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Text -->\n <ng-container *ngSwitchCase=\"'text'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [type]=\"'text'\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Email -->\n <ng-container *ngSwitchCase=\"'email'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-email\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [domains]=\"field?.properties?.domains\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-email>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Password -->\n <ng-container *ngSwitchCase=\"'password'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-password\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [hintContent]=\"field?.properties?.hintContent\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-password>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Textarea -->\n <ng-container *ngSwitchCase=\"'textarea'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-textarea\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-textarea>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Checkbox -->\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-checkbox\n [contentAlign]=\"field?.properties?.contentAlign ?? 'left'\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.properties?.placeholder\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size ?? 'l'\"\n [validators]=\"field?.validators\"\n [variant]=\"field?.properties?.variant ?? 'block'\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-checkbox>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Number -->\n <ng-container *ngSwitchCase=\"'number'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-number\n [decimal]=\"field?.properties?.decimal\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix ?? ''\"\n [precision]=\"field?.properties?.precision\"\n [prefix]=\"field?.properties?.prefix ?? ''\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-number>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Date -->\n <ng-container *ngSwitchCase=\"'date'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-date\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [maxCalculatedFromToday]=\"\n field?.properties?.maxCalculatedFromToday\n \"\n [min]=\"field?.properties?.min\"\n [minCalculatedFromToday]=\"\n field?.properties?.minCalculatedFromToday\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-date>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Time -->\n <ng-container *ngSwitchCase=\"'time'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-time\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [items]=\"field?.properties?.items\"\n [label]=\"field?.label\"\n [mode]=\"field?.properties?.mode\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-time>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Phone -->\n <ng-container *ngSwitchCase=\"'phone'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-phone\n [countryCode]=\"field?.properties?.countryCode\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [phoneMaskAfterCountryCode]=\"\n field?.properties?.phoneMaskAfterCountryCode\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [removeCountryCodeFromValue]=\"\n field?.properties?.removeCountryCodeFromValue\n \"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-phone>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Radio -->\n <ng-container *ngSwitchCase=\"'radio'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto; padding: 0px 0.5rem\"\n >\n <kwikui-input-radio\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [items]=\"field?.options\"\n [label]=\"field?.label\"\n [orientation]=\"field?.properties?.orientation\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-radio>\n </label>\n <ng-template #labelTemplate>\n <p\n class=\"tui-space_bottom-2\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\">*</span>\n </b>\n </p>\n </ng-template>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Dropdown -->\n <ng-container *ngSwitchCase=\"'select'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-select\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [options]=\"field.options\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [searchable]=\"field?.properties?.searchable\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-select>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Slider -->\n <ng-container *ngSwitchCase=\"'slider'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-slider\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [quantum]=\"field?.properties?.quantum\"\n [size]=\"field?.properties?.size\"\n [steps]=\"field?.properties?.steps\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-slider>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- API Call -->\n <ng-container *ngSwitchCase=\"'api'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-api-call\n [apiStatus]=\"field?.api?.status?.value\"\n [class]=\"field?.class\"\n [disabled]=\"field?.disabled\"\n [id]=\"field.key\"\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\n [showLoader]=\"field?.disabled === 'loading'\"\n styles=\"width: fit-content\"\n (onClick)=\"handleOnClickApiCall($event)\"\n ></kwikui-button-api-call>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Mobile OTP -->\n <ng-container *ngSwitchCase=\"'otp'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-otp\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [mask]=\"field?.properties?.mask\"\n [mode]=\"field?.properties?.mode\"\n [otpLength]=\"field?.properties?.otpLength\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-otp>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Aadhaar Number -->\n <ng-container *ngSwitchCase=\"'aadhaar-number'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-aadhaar\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [mask]=\"field?.properties?.mask\"\n [placeholder]=\"field?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-aadhaar>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Preview Image -->\n <ng-container *ngSwitchCase=\"'image'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-image\n [altText]=\"field?.properties?.altText\"\n [class]=\"field?.properties?.class\"\n [html]=\"field?.properties?.html\"\n [id]=\"field.key\"\n [imageSrc]=\"field?.default?.value?.value ?? ''\"\n [imageType]=\"field?.properties?.imageType\"\n [loadingType]=\"field?.properties?.loadingType\"\n [styles]=\"field?.properties?.styles\"\n ></kwikui-image>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- File Upload -->\n <ng-container *ngSwitchCase=\"'file'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto\"\n >\n <kwikui-input-files\n [accept]=\"field?.properties?.accept\"\n [class]=\"field?.properties?.class\"\n [disabled]=\"field?.disabled\"\n [files]=\"files[field.key]\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field?.key\"\n [label]=\"field?.properties?.label\"\n [link]=\"field?.properties?.link\"\n [maxFileSize]=\"field?.properties?.maxFileSize\"\n [multiple]=\"field?.properties?.multiple\"\n [setFileTypesToForm]=\"['NORMAL']\"\n [styles]=\"field?.properties?.styles\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValueFile($event)\"\n (getRemovedFile)=\"handleRemovedFile($event)\"\n ></kwikui-input-files>\n </label>\n <ng-template #labelTemplate>\n <p\n style=\"padding: 0px 0.25rem; margin-bottom: 0.25rem\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\">*</span>\n </b>\n </p>\n </ng-template>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Camera Capture -->\n <ng-container *ngSwitchCase=\"'capture'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n *ngIf=\"\n field?.label !== '' &&\n field?.label !== undefined &&\n field?.label !== null\n \"\n style=\"min-height: auto\"\n >\n <p\n *ngIf=\"field?.label !== ''\"\n style=\"padding: 0px 0.25rem; margin-bottom: 0.5rem\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\">*</span>\n </b>\n </p>\n </label>\n <kwikui-input-camera\n [buttonText]=\"field?.properties?.buttonText\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [mediaFiles]=\"mediaFiles[field.key]\"\n [properties]=\"field?.properties\"\n [showMediaFiles]=\"field?.properties?.showMediaFiles\"\n [type]=\"'capture'\"\n [validators]=\"field?.validators\"\n (onClick)=\"handleOnClickInputCamera($event, field)\"\n (getRemovedFile)=\"handleOnClickGetRemovedMediaFile($event)\"\n ></kwikui-input-camera>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Camera Record -->\n <ng-container *ngSwitchCase=\"'record'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n *ngIf=\"\n field?.label !== '' &&\n field?.label !== undefined &&\n field?.label !== null\n \"\n style=\"min-height: auto\"\n >\n <p\n *ngIf=\"field?.label !== ''\"\n style=\"padding: 0px 0.25rem; margin-bottom: 0.5rem\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\">*</span>\n </b>\n </p>\n </label>\n <kwikui-input-camera\n [buttonText]=\"field?.properties?.buttonText\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [mediaFiles]=\"mediaFiles[field.key]\"\n [properties]=\"field?.properties\"\n [showMediaFiles]=\"field?.properties?.showMediaFiles\"\n [type]=\"'record'\"\n [validators]=\"field?.validators\"\n (onClick)=\"handleOnClickInputCamera($event, field)\"\n (getRemovedFile)=\"handleOnClickGetRemovedMediaFile($event)\"\n ></kwikui-input-camera>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Star Rating -->\n <ng-container *ngSwitchCase=\"'star-rating'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto; padding: 0px 0.5rem\"\n >\n <kwikui-star-rating\n [color]=\"field?.properties?.color\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [iconMarked]=\"field?.properties?.iconMarked\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-star-rating>\n </label>\n <ng-template #labelTemplate>\n <p>\n <b\n >{{ field?.properties?.placeholder }}\n <span *ngIf=\"field.validators?.required\">*</span></b\n >\n </p>\n </ng-template>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </form>\n <div\n class=\"kwikid-form-buttons\"\n *ngIf=\"\n !formConfig.properties.footer.viewFormsButton.hidden ||\n !formConfig.properties.footer.saveButton.hidden\n \"\n >\n <kwikui-button\n *ngIf=\"\n !formConfig.properties.footer.viewFormsButton.hidden && isMobileView\n \"\n [appearance]=\"'secondary'\"\n [disabled]=\"viewFormsButton.disabled\"\n [label]=\"formConfig.properties.footer.viewFormsButton.label\"\n [showLoader]=\"viewFormsButton.showLoader\"\n [styles]=\"'width: 100%'\"\n (onClick)=\"handleOnClickViewForms($event)\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"!formConfig.properties.footer.saveButton.hidden\"\n [disabled]=\"saveFormButton.disabled\"\n [label]=\"formConfig.properties.footer.saveButton.label\"\n [showLoader]=\"saveFormButton.showLoader\"\n [styles]=\"'width: 100%'\"\n (onClick)=\"handleOnClickSaveForm($event)\"\n ></kwikui-button>\n </div>\n</div>\n<div\n class=\"kwikid-form-container-loading\"\n *ngIf=\"loading\"\n>\n <div\n *ngFor=\"let item of [].constructor(7); let i = index\"\n class=\"large-wrapper tui-skeleton tui-skeleton_rounded\"\n >\n </div>\n</div>\n\n<kwikui-loader></kwikui-loader>\n\n<tui-push\n id=\"field-error-notification\"\n *tuiPush=\"showErrorNotification\"\n heading=\"Missing/Incorrect Fields!\"\n type=\"Error\"\n (close)=\"toggleErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n\n<ng-template\n #preview\n let-preview\n>\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n class=\"preview-container\"\n >\n <tui-preview-title *ngIf=\"previewProperties.title !== ''\">{{\n previewProperties.title\n }}</tui-preview-title>\n\n <ng-container *ngIf=\"!previewProperties.unavailable\">\n <div\n *ngIf=\"previewProperties?.html?.before !== ''\"\n class=\"preview-html preview-html-before\"\n [style]=\"previewProperties?.html?.beforeStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.before | kwikuiSafeHtml\"\n ></div>\n\n <!-- Content within the iframe -->\n <div\n class=\"preview-iframe-content\"\n [style]=\"\n previewProperties?.iframe?.containerStyles ?? '' | styleSanitizer\n \"\n *ngIf=\"previewProperties.iframe.src !== ''\"\n >\n <!-- Your HTML content here -->\n <iframe\n [src]=\"previewProperties.iframe.src | kwikuiSafeUrl\"\n frameborder=\"0\"\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen\n [title]=\"previewProperties.iframe.title\"\n class=\"preview-iframe\"\n scrolling=\"auto\"\n ></iframe>\n </div>\n\n <div\n *ngIf=\"previewProperties?.html?.after !== ''\"\n class=\"preview-html preview-html-after\"\n [style]=\"previewProperties?.html?.afterStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.after | kwikuiSafeHtml\"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"previewProperties.unavailable\">\n <div class=\"preview-unavailable\">\n <tui-svg\n src=\"tuiIconFileLarge\"\n class=\"t-icon\"\n ></tui-svg>\n <div>Preview unavailable</div>\n </div>\n </ng-container>\n\n <button\n tuiIconButton\n tuiPreviewAction\n icon=\"tuiIconCloseLarge\"\n title=\"Close\"\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n</ng-template>\n\n<ng-template\n #dialog\n let-dialog\n>\n <div class=\"preview-container\">\n <ng-container *ngIf=\"!previewProperties.unavailable\">\n <div\n *ngIf=\"previewProperties?.html?.before !== ''\"\n class=\"preview-html preview-html-before\"\n [style]=\"previewProperties?.html?.beforeStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.before | kwikuiSafeHtml\"\n ></div>\n\n <!-- Content within the iframe -->\n <div\n class=\"preview-iframe-content\"\n [style]=\"\n previewProperties?.iframe?.containerStyles ?? '' | styleSanitizer\n \"\n *ngIf=\"previewProperties.iframe.src !== ''\"\n >\n <!-- Your HTML content here -->\n <iframe\n [src]=\"previewProperties.iframe.src | kwikuiSafeUrl\"\n frameborder=\"0\"\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen\n [title]=\"previewProperties.iframe.title\"\n class=\"preview-iframe\"\n scrolling=\"auto\"\n ></iframe>\n </div>\n\n <div\n *ngIf=\"previewProperties?.html?.after !== ''\"\n class=\"preview-html preview-html-after\"\n [style]=\"previewProperties?.html?.afterStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.after | kwikuiSafeHtml\"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"previewProperties.unavailable\">\n <div class=\"preview-unavailable\">\n <tui-svg\n src=\"tuiIconFileLarge\"\n class=\"t-icon\"\n ></tui-svg>\n <div>Preview unavailable</div>\n </div>\n </ng-container>\n </div>\n</ng-template>\n\n<div\n id=\"kwikid-camera-container\"\n *ngIf=\"isShowCamera\"\n>\n <div\n id=\"kwikid-camera-wrapper\"\n [class.fullscreen]=\"isShowCameraFullscreen\"\n >\n <kwikid-camera\n [type]=\"cameraType\"\n [data]=\"cameraData\"\n [image]=\"cameraImage\"\n [video]=\"cameraVideo\"\n [config]=\"cameraConfig\"\n (getImage)=\"handleGetCameraMedia($event, 'CAPTURE')\"\n (getVideo)=\"handleGetCameraMedia($event, 'RECORD')\"\n (onClickBack)=\"handleOnClickCameraBack($event)\"\n (onClickClose)=\"handleOnClickCameraClose($event)\"\n (onClickSave)=\"handleOnClickSaveCameraMedia($event, cameraType)\"\n >\n <ng-container\n *ngIf=\"cameraType === 'CAPTURE'\"\n slot=\"capture-header\"\n >\n <div class=\"capture-header-container\">\n <div class=\"capture-header-left\"> </div>\n <div class=\"capture-header-center\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.title !== ''\"\n appearance=\"whiteblock\"\n [label]=\"cameraConfig?.header?.title\"\n shape=\"rounded\"\n size=\"s\"\n ></kwikui-button>\n </div>\n <div class=\"capture-header-right\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.isExpand\"\n id=\"kwikid-camera-header-enlarge-button\"\n appearance=\"whiteblock\"\n [icon]=\"\n isShowCameraFullscreen ? 'tuiIconMinimize2' : 'tuiIconMaximize2'\n \"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"isShowCameraFullscreen = !isShowCameraFullscreen\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.isClose\"\n id=\"kwikid-camera-header-close-button\"\n appearance=\"whiteblock\"\n icon=\"tuiIconCloseLarge\"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"handleOnClickCameraClose($event)\"\n ></kwikui-button>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"cameraType === 'RECORD'\"\n slot=\"record-header\"\n >\n <div class=\"record-header-container\">\n <div class=\"record-header-row row-1\">\n <div class=\"record-header-left\">\n <kwikui-button\n *ngIf=\"\n cameraConfig?.header?.isBack && cameraRecordingState == 'NONE'\n \"\n appearance=\"whiteblock\"\n icon=\"tuiIconArrowLeft\"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"handleOnClickCameraClose($event)\"\n ></kwikui-button>\n </div>\n <div class=\"record-header-center\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.title !== ''\"\n appearance=\"whiteblock\"\n [label]=\"cameraConfig?.header?.title\"\n shape=\"rounded\"\n size=\"s\"\n ></kwikui-button>\n </div>\n <div class=\"record-header-right\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.isExpand\"\n id=\"kwikid-camera-header-enlarge-button\"\n appearance=\"whiteblock\"\n [icon]=\"\n isShowCameraFullscreen\n ? 'tuiIconMinimize2'\n : 'tuiIconMaximize2'\n \"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"isShowCameraFullscreen = !isShowCameraFullscreen\"\n ></kwikui-button>\n </div>\n </div>\n <div class=\"record-header-row row-2\">\n <div\n id=\"blinking-dot-container\"\n [class.recording]=\"cameraRecordingState == 'RECORDING'\"\n [class.paused]=\"cameraRecordingState == 'PAUSED'\"\n [class.recorded]=\"\n cameraRecordingState == 'NONE' ||\n cameraRecordingState === 'RECORDED'\n \"\n >\n <div\n *ngIf=\"cameraRecordingState == 'RECORDING'\"\n class=\"dot recording blink\"\n >\n </div>\n <div\n *ngIf=\"cameraRecordingState === 'PAUSED'\"\n class=\"dot paused\"\n >\n </div>\n <div\n *ngIf=\"\n cameraRecordingState == 'NONE' ||\n cameraRecordingState === 'RECORDED'\n \"\n class=\"dot recorded\"\n >\n </div>\n <div>\n &nbsp;{{ cameraRecordingTime | formatTimer }}\n <ng-container\n *ngIf=\"cameraConfig?.others?.maxRecordingTimeInSeconds\"\n >\n /\n {{\n cameraConfig?.others?.maxRecordingTimeInSeconds\n | formatTimer\n }}\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </kwikid-camera>\n </div>\n</div>\n\n<!-- <kwikid-camera\n [type]=\"'CAPTURE'\"\n [image]=\"cameraImage\"\n [config]=\"cameraConfig\"\n (getImage)=\"handleGetImage($event)\"\n (onClickSave)=\"handleOnClickSaveCameraCapture($event)\"\n>\n <ng-container slot=\"header\">\n <div style=\"display: flex; width: 100%; max-width: 100%; padding: 0rem\">\n <div style=\"flex: 1; text-align: left\"> </div>\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.title !== ''\"\n appearance=\"whiteblock\"\n [label]=\"cameraConfig?.header?.title\"\n shape=\"rounded\"\n style=\"\n flex: 1;\n width: 100%;\n min-width: max-content;\n text-align: center;\n margin: auto;\n \"\n size=\"s\"\n ></kwikui-button>\n <div\n style=\"\n flex: 1;\n text-align: right;\n display: flex;\n justify-content: flex-end;\n gap: 1rem;\n \"\n >\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.isExpand\"\n id=\"kwikid-camera-header-enlarge-button\"\n appearance=\"whiteblock\"\n [icon]=\"\n isShowCameraFullscreen ? 'tuiIconMinimize2' : 'tuiIconMaximize2'\n \"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"isShowCameraFullscreen = !isShowCameraFullscreen\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.isClose\"\n id=\"kwikid-camera-header-close-button\"\n appearance=\"whiteblock\"\n icon=\"tuiIconCloseLarge\"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"handleOnClickCloseCamera($event)\"\n ></kwikui-button>\n </div>\n </div>\n </ng-container>\n</kwikid-camera> -->\n", styles: [".kwikid-form-container{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center}.kwikid-form.show{width:100%;height:100%;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch}.kwikid-form.show>*:not(:last-child){margin-bottom:1rem}.kwikid-form-buttons{width:100%;bottom:0px;padding:1rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}.kwikid-form-buttons>*:not(:last-child){margin-right:1rem}.kwikid-form-buttons *{flex-grow:1}#uf-form-fields-header-container{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:flex-start;padding:1rem 1rem 0}#uf-form-fields-header-container>*:not(:last-child){margin-bottom:.5rem}#uf-form-fields-header-container #uf-header-logo{width:-moz-fit-content;width:fit-content;height:50px}#uf-form-fields-header-container #uf-form-fields-header-main{display:flex;flex-direction:row;align-content:center;justify-content:flex-start;align-items:center;width:100%}#uf-form-fields-header-container #uf-form-fields-header-main>*:not(:last-child){margin-right:.25rem}#uf-form-fields-header-container #uf-form-fields-header-main #uf-form-fields-header-right{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:flex-start}#uf-form-fields-header-container #uf-form-fields-header-main #uf-form-fields-header-right>*{margin-bottom:.5rem}#uf-form-fields-header-container hr{width:100%}#uf-form-fields-title{color:#000;font-size:1.75em;font-weight:bold}#uf-form-fields-steps{color:var(--color-on-secondary-container);font-size:1rem}.title{border-left:.25rem solid var(--tui-primary);padding:.75rem;font-size:1.4em;font-weight:bold;background-color:var(--tui-secondary);display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center}.title>*:not(:last-child){margin-right:.5rem}.title:not(:first-child){margin-top:.5rem}.title.hidden{display:none}.large-wrapper{width:100%;height:60px}.large-wrapper:first-child{margin-bottom:auto}.large-wrapper:last-child{margin-top:auto}.kwikid-form-container-loading{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;padding:1rem}.kwikid-form-container-loading>* :not(:last-child){margin-bottom:1rem}#field-error-notification{background-color:var(--tui-error-fill);color:#fff!important}#field-error-notification .t-top{color:#fff!important}#field-error-notification .t-close{color:#fff!important}.preview-container{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;align-content:center;height:calc(100vh - 3rem)}@media only screen and (min-width: 768px){.preview-container{height:calc(100vh - 10rem);width:calc(100vw - 10rem)}}.preview-container>*:not(:last-child){margin-bottom:1rem}.preview-container .preview-html{flex-grow:1}.preview-container .preview-iframe-content{height:100%;flex-grow:1}.preview-container .preview-iframe-content .preview-iframe{width:100%;height:100%}.preview-container .preview-unavailable{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:center;color:#fff;font-size:1.2rem;top:50%;left:50%;width:100%;height:100vh}.preview-container .preview-unavailable>*:not(:last-child){margin-bottom:1rem}#kwikid-camera-container{width:100%;height:100%;position:fixed;top:50%;left:50%;background-color:#0000008f;transform:translate(-50%,-50%);z-index:100}#kwikid-camera-container #kwikid-camera-wrapper{width:min(80%);height:max(85%);box-shadow:#0000008f 0 22px 70px 4px;overflow:hidden;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:1rem;background-color:#000;transition:5s linear ease}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container{display:flex;width:100%;max-width:100%;padding:0}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container .capture-header-left{flex:1;text-align:left}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container .capture-header-center{flex:1;width:100%;min-width:max-content;text-align:center;margin:auto}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container .capture-header-right{flex:1;text-align:right;display:flex;justify-content:flex-end;grid-gap:1rem;gap:1rem}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container{display:flex;width:100%;max-width:100%;padding:0;color:#fff;flex-direction:column;justify-content:flex-start;align-items:stretch}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:1rem}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1 .record-header-left{flex:1;display:flex;justify-content:flex-start;grid-gap:1rem;gap:1rem;text-align:left}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1 .record-header-center{flex:1;width:100%;min-width:max-content;text-align:center;margin:auto}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1 .record-header-right{flex:1;text-align:right;display:flex;justify-content:flex-end;grid-gap:1rem;gap:1rem}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2{display:flex;flex-direction:row;justify-content:center;align-items:center}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;grid-gap:.25rem;gap:.25rem;padding:.35rem .6rem;width:-moz-fit-content;width:fit-content;border-radius:2rem;background-color:#f5f5f5}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container.recording{color:red;font-weight:bold}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container.paused{color:#525252;font-weight:bold}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container.recorded{color:#000;font-weight:bold}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot{display:inline-block;width:.75rem;height:.75rem;border-radius:100%}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.recording{background-color:red;box-shadow:0 0 5px -1px red}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.paused{background-color:#525252;box-shadow:0 0 5px -1px #000}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.recorded{background-color:#000;box-shadow:0 0 5px -1px #000}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.blink{animation:blinker 1s cubic-bezier(.5,0,1,1) infinite alternate}@keyframes blinker{0%{opacity:1}to{opacity:0}}#kwikid-camera-container #kwikid-camera-wrapper.fullscreen{width:100%;height:100%;border-radius:0;transition:5s linear ease}@media only screen and (max-width: 600px){#kwikid-camera-container #kwikid-camera-wrapper{width:100%;height:100%;border-radius:0;transition:5s linear ease}#kwikid-camera-container #kwikid-camera-wrapper #kwikid-camera-header-enlarge-button{display:none}}\n", "::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: i2__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIMessagesComponent, selector: "kwikui-messages", inputs: ["id", "messages"] }, { type: i2__namespace.KwikUIInputComponent, selector: "kwikui-input", inputs: ["case", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "type", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputEmailComponent, selector: "kwikui-input-email", inputs: ["case", "disabled", "domains", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputPasswordComponent, selector: "kwikui-input-password", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUITextareaComponent, selector: "kwikui-textarea", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUICheckboxComponent, selector: "kwikui-checkbox", inputs: ["contentAlign", "disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "placeholder", "properties", "size", "validators", "variant"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputNumberComponent, selector: "kwikui-input-number", inputs: ["decimal", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "max", "min", "placeholder", "postfix", "precision", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputDateComponent, selector: "kwikui-input-date", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "max", "maxCalculatedFromToday", "min", "minCalculatedFromToday", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputTimeComponent, selector: "kwikui-input-time", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "items", "invalid", "label", "mode", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputPhoneComponent, selector: "kwikui-input-phone", inputs: ["countryCode", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "phoneMaskAfterCountryCode", "placeholder", "postfix", "prefix", "properties", "removeCountryCodeFromValue", "size", "validators"], outputs: ["getKeyValue"] }, { type: i4__namespace.TuiLabelComponent, selector: "label[tuiLabel]", inputs: ["tuiLabel", "context"] }, { type: i2__namespace.KwikUIInputRadioComponent, selector: "kwikui-input-radio", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "items", "label", "orientation", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputSelectComponent, selector: "kwikui-input-select", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "options", "placeholder", "properties", "searchable", "size", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputSliderComponent, selector: "kwikui-input-slider", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "max", "min", "placeholder", "postfix", "prefix", "properties", "quantum", "size", "steps", "type", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIButtonApiCallComponent, selector: "kwikui-button-api-call", inputs: ["apiStatus", "class", "disabled", "id", "label", "shape", "showLoader", "size", "styles"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIInputOtpComponent, selector: "kwikui-input-otp", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "mask", "mode", "otpLength", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputAadhaarComponent, selector: "kwikui-input-aadhaar", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "mask", "placeholder", "properties", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIImageComponent, selector: "kwikui-image", inputs: ["altText", "class", "html", "id", "imageSrc", "imageType", "loadingType", "styles"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIInputFilesComponent, selector: "kwikui-input-files", inputs: ["accept", "class", "disabled", "files", "formControl", "formControlName", "icon", "id", "label", "link", "maxFileSize", "multiple", "setFileTypesToForm", "showAddedFiles", "size", "styles", "validators"], outputs: ["getKeyValue", "getRemovedFile"] }, { type: i3__namespace$2.KwikUIInputCameraComponent, selector: "kwikui-input-camera", inputs: ["buttonText", "disabled", "focus", "formControl", "formControlName", "icon", "id", "invalid", "mediaFiles", "properties", "showMediaFiles", "size", "type", "validators"], outputs: ["onClick", "getRemovedFile"] }, { type: i2__namespace.KwikUIStarRatingComponent, selector: "kwikui-star-rating", inputs: ["color", "disabled", "focus", "formControl", "formControlName", "icon", "iconMarked", "id", "invalid", "label", "max", "min", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUILoaderComponent, selector: "kwikui-loader" }, { type: i5__namespace.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "timestamp"], outputs: ["close"] }, { type: i4__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i6__namespace.TuiPreviewComponent, selector: "tui-preview", inputs: ["zoomable", "rotatable"] }, { type: i6__namespace.TuiPreviewTitleComponent, selector: "tui-preview-title" }, { type: i4__namespace.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i3__namespace$2.KwikIDCameraComponent, selector: "kwikid-camera", inputs: ["type", "config", "data", "image", "video"], outputs: ["getImage", "onClickSave", "getVideo"] }], directives: [{ type: i3__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3__namespace$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i5__namespace.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i5__namespace.TuiPushDirective, selector: "tui-push" }, { type: i6__namespace.TuiPreviewActionDirective, selector: "[tuiPreviewAction]" }], pipes: { "styleSanitizer": StyleSanitizerPipe, "kwikuiSafeHtml": i2__namespace.KwikUISafeHtmlPipe, "kwikuiSafeUrl": i2__namespace.KwikUISafeUrlPipe, "formatTimer": TimerPipe } });
7676
+ /** @nocollapse */ KwikIDFormViewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: { allFormsData: "allFormsData", apiCallResponse: "apiCallResponse", buttonClickResponse: "buttonClickResponse", formConfig: "formConfig", formData: "formData", isMobileView: "isMobileView", popupFormCallback: "popupFormCallback", userConfig: "userConfig", stepConfig: "stepConfig" }, outputs: { getLogs: "getLogs", getUnsavedDataState: "getUnsavedDataState", onActionShowPopupForm: "onActionShowPopupForm", onClickApiCall: "onClickApiCall", onClickFormFieldButton: "onClickFormFieldButton", onClickGoBack: "onClickGoBack", onClickSaveForm: "onClickSaveForm", onClickViewForms: "onClickViewForms" }, providers: [KwikIDFormViewService], viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }, { propertyName: "preview", first: true, predicate: ["preview"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div\n class=\"kwikid-form-container\"\n *ngIf=\"!loading\"\n>\n <div\n id=\"uf-form-fields-header-container\"\n *ngIf=\"\n !formConfig.properties?.header?.title?.hidden ||\n !formConfig.properties?.header?.logo?.hidden ||\n !formConfig.properties?.header?.steps?.hidden ||\n !formConfig.properties?.header?.backButton?.hidden\n \"\n >\n <img\n id=\"uf-header-logo\"\n *ngIf=\"!formConfig.properties?.header?.logo?.hidden && isMobileView\"\n [src]=\"formConfig.properties?.header?.logo?.src\"\n [alt]=\"formConfig.properties?.header?.logo?.alt\"\n [style]=\"\n formConfig.properties?.header?.logo?.styles ?? '' | styleSanitizer\n \"\n />\n <div id=\"uf-form-fields-header-main\">\n <div id=\"uf-form-fields-header-left\">\n <kwikui-button\n *ngIf=\"\n !formConfig.properties?.header.backButton.hidden && isMobileView\n \"\n [disabled]=\"backButton.disabled\"\n [showLoader]=\"backButton.showLoader\"\n appearance=\"mono\"\n icon=\"tuiIconArrowLeft\"\n shape=\"rounded\"\n (onClick)=\"\n handleOnClickGoBack(\n $event,\n formConfig.properties?.header.backButton.mode\n )\n \"\n ></kwikui-button>\n </div>\n <div id=\"uf-form-fields-header-right\">\n <div\n id=\"uf-form-fields-title\"\n *ngIf=\"!formConfig.properties?.header.title.hidden\"\n >{{ formConfig.properties?.header.title.label }}</div\n >\n <div\n id=\"uf-form-fields-steps\"\n *ngIf=\"!formConfig.properties?.header.steps.hidden\"\n >\n Step {{ formConfig.sequenceNo }} of {{ formConfig.formsListLength }}\n </div>\n </div>\n </div>\n <hr\n *ngIf=\"\n !formConfig.properties?.header.title.hidden ||\n !formConfig.properties?.header.steps.hidden ||\n !formConfig.properties?.header.backButton.hidden\n \"\n />\n </div>\n <form\n class=\"kwikid-form show\"\n [style]=\"formConfig.properties?.main?.styles ?? '' | styleSanitizer\"\n [formGroup]=\"formGroup\"\n >\n <ng-container\n *ngFor=\"\n let field of formFields;\n let i = index;\n trackBy: getUniqueIdentifier\n \"\n >\n <ng-container [ngSwitch]=\"field.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'html'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <div [innerHtml]=\"field.html | kwikuiSafeHtml\"></div>\n </div>\n </ng-container>\n <!-- Form Title -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div\n class=\"title\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n [class.hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <div>\n {{ field.label }}\n </div>\n <kwikui-button\n *ngIf=\"field?.reset\"\n appearance=\"whiteblock\"\n size=\"s\"\n [label]=\"field?.properties?.resetButtonLabel ?? 'Reset'\"\n (onClick)=\"handleOnClickResetFormFields($event, field)\"\n ></kwikui-button>\n </div>\n </ng-container>\n <!-- Button -->\n <ng-container *ngSwitchCase=\"'button'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button\n [appearance]=\"field?.properties?.appearance ?? 'primary'\"\n [class]=\"field?.properties?.class\"\n [disabled]=\"field?.disabled\"\n [icon]=\"field?.properties?.icon\"\n [iconRight]=\"field?.properties?.iconRight\"\n [id]=\"field?.key\"\n [label]=\"field?.label\"\n [shape]=\"field?.properties?.shape\"\n [showLoader]=\"field?.properties?.loading ?? false\"\n [size]=\"field?.properties?.size\"\n [styles]=\"field?.properties?.styles\"\n [type]=\"'button'\"\n (onClick)=\"handleOnClickFormFieldButton(field)\"\n ></kwikui-button>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Text -->\n <ng-container *ngSwitchCase=\"'text'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [type]=\"'text'\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Email -->\n <ng-container *ngSwitchCase=\"'email'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-email\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [domains]=\"field?.properties?.domains\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-email>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Password -->\n <ng-container *ngSwitchCase=\"'password'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-password\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [hintContent]=\"field?.properties?.hintContent\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-password>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Textarea -->\n <ng-container *ngSwitchCase=\"'textarea'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-textarea\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-textarea>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Checkbox -->\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-checkbox\n [contentAlign]=\"field?.properties?.contentAlign ?? 'left'\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.properties?.placeholder\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size ?? 'l'\"\n [validators]=\"field?.validators\"\n [variant]=\"field?.properties?.variant ?? 'block'\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-checkbox>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Number -->\n <ng-container *ngSwitchCase=\"'number'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-number\n [decimal]=\"field?.properties?.decimal\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix ?? ''\"\n [precision]=\"field?.properties?.precision\"\n [prefix]=\"field?.properties?.prefix ?? ''\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-number>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Date -->\n <ng-container *ngSwitchCase=\"'date'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-date\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [maxCalculatedFromToday]=\"\n field?.properties?.maxCalculatedFromToday\n \"\n [min]=\"field?.properties?.min\"\n [minCalculatedFromToday]=\"\n field?.properties?.minCalculatedFromToday\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-date>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Time -->\n <ng-container *ngSwitchCase=\"'time'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-time\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [items]=\"field?.properties?.items\"\n [label]=\"field?.label\"\n [mode]=\"field?.properties?.mode\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-time>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Phone -->\n <ng-container *ngSwitchCase=\"'phone'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-phone\n [countryCode]=\"field?.properties?.countryCode\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [phoneMaskAfterCountryCode]=\"\n field?.properties?.phoneMaskAfterCountryCode\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [removeCountryCodeFromValue]=\"\n field?.properties?.removeCountryCodeFromValue\n \"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-phone>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Radio -->\n <ng-container *ngSwitchCase=\"'radio'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto; padding: 0px 0.5rem\"\n >\n <kwikui-input-radio\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [items]=\"field?.options\"\n [label]=\"field?.label\"\n [orientation]=\"field?.properties?.orientation\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-radio>\n </label>\n <ng-template #labelTemplate>\n <p\n class=\"tui-space_bottom-2\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\">*</span>\n </b>\n </p>\n </ng-template>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Dropdown -->\n <ng-container *ngSwitchCase=\"'select'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-select\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [options]=\"field.options\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [searchable]=\"field?.properties?.searchable\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-select>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Slider -->\n <ng-container *ngSwitchCase=\"'slider'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-slider\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [quantum]=\"field?.properties?.quantum\"\n [size]=\"field?.properties?.size\"\n [steps]=\"field?.properties?.steps\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-slider>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- API Call -->\n <ng-container *ngSwitchCase=\"'api'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-api-call\n [apiStatus]=\"field?.api?.status?.value\"\n [class]=\"field?.class\"\n [disabled]=\"field?.disabled\"\n [id]=\"field.key\"\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\n [showLoader]=\"field?.disabled === 'loading'\"\n styles=\"width: fit-content\"\n (onClick)=\"handleOnClickApiCall($event)\"\n ></kwikui-button-api-call>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Mobile OTP -->\n <ng-container *ngSwitchCase=\"'otp'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-otp\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [mask]=\"field?.properties?.mask\"\n [mode]=\"field?.properties?.mode\"\n [otpLength]=\"field?.properties?.otpLength\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-otp>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Aadhaar Number -->\n <ng-container *ngSwitchCase=\"'aadhaar-number'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-aadhaar\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [mask]=\"field?.properties?.mask\"\n [placeholder]=\"field?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-aadhaar>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Preview Image -->\n <ng-container *ngSwitchCase=\"'image'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-image\n [altText]=\"field?.properties?.altText\"\n [class]=\"field?.properties?.class\"\n [html]=\"field?.properties?.html\"\n [id]=\"field.key\"\n [imageSrc]=\"field?.default?.value?.value ?? ''\"\n [imageType]=\"field?.properties?.imageType\"\n [loadingType]=\"field?.properties?.loadingType\"\n [styles]=\"field?.properties?.styles\"\n ></kwikui-image>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- File Upload -->\n <ng-container *ngSwitchCase=\"'file'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto\"\n >\n <kwikui-input-files\n [accept]=\"field?.properties?.accept\"\n [class]=\"field?.properties?.class\"\n [disabled]=\"field?.disabled\"\n [files]=\"files[field.key]\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field?.key\"\n [label]=\"field?.properties?.label\"\n [link]=\"field?.properties?.link\"\n [maxFileSize]=\"field?.properties?.maxFileSize\"\n [multiple]=\"field?.properties?.multiple\"\n [setFileTypesToForm]=\"['NORMAL']\"\n [styles]=\"field?.properties?.styles\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValueFile($event)\"\n (getRemovedFile)=\"handleRemovedFile($event)\"\n ></kwikui-input-files>\n </label>\n <ng-template #labelTemplate>\n <p\n style=\"padding: 0px 0.25rem; margin-bottom: 0.25rem\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\">*</span>\n </b>\n </p>\n </ng-template>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Camera Capture -->\n <ng-container *ngSwitchCase=\"'capture'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n *ngIf=\"\n field?.label !== '' &&\n field?.label !== undefined &&\n field?.label !== null\n \"\n style=\"min-height: auto\"\n >\n <p\n *ngIf=\"field?.label !== ''\"\n style=\"padding: 0px 0.25rem; margin-bottom: 0.5rem\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\">*</span>\n </b>\n </p>\n </label>\n <kwikui-input-camera\n [buttonText]=\"field?.properties?.buttonText\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [mediaFiles]=\"mediaFiles[field.key]\"\n [properties]=\"field?.properties\"\n [showMediaFiles]=\"field?.properties?.showMediaFiles\"\n [type]=\"'capture'\"\n [validators]=\"field?.validators\"\n (onClick)=\"handleOnClickInputCamera($event, field)\"\n (getRemovedFile)=\"handleOnClickGetRemovedMediaFile($event)\"\n ></kwikui-input-camera>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Camera Record -->\n <ng-container *ngSwitchCase=\"'record'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n *ngIf=\"\n field?.label !== '' &&\n field?.label !== undefined &&\n field?.label !== null\n \"\n style=\"min-height: auto\"\n >\n <p\n *ngIf=\"field?.label !== ''\"\n style=\"padding: 0px 0.25rem; margin-bottom: 0.5rem\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\">*</span>\n </b>\n </p>\n </label>\n <kwikui-input-camera\n [buttonText]=\"field?.properties?.buttonText\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [mediaFiles]=\"mediaFiles[field.key]\"\n [properties]=\"field?.properties\"\n [showMediaFiles]=\"field?.properties?.showMediaFiles\"\n [type]=\"'record'\"\n [validators]=\"field?.validators\"\n (onClick)=\"handleOnClickInputCamera($event, field)\"\n (getRemovedFile)=\"handleOnClickGetRemovedMediaFile($event)\"\n ></kwikui-input-camera>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Star Rating -->\n <ng-container *ngSwitchCase=\"'star-rating'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto; padding: 0px 0.5rem\"\n >\n <kwikui-star-rating\n [color]=\"field?.properties?.color\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [iconMarked]=\"field?.properties?.iconMarked\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-star-rating>\n </label>\n <ng-template #labelTemplate>\n <p>\n <b\n >{{ field?.properties?.placeholder }}\n <span *ngIf=\"field.validators?.required\">*</span></b\n >\n </p>\n </ng-template>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </form>\n <div\n class=\"kwikid-form-buttons\"\n *ngIf=\"\n !formConfig.properties.footer.viewFormsButton.hidden ||\n !formConfig.properties.footer.saveButton.hidden\n \"\n >\n <kwikui-button\n *ngIf=\"\n !formConfig.properties.footer.viewFormsButton.hidden && isMobileView\n \"\n [appearance]=\"'secondary'\"\n [disabled]=\"viewFormsButton.disabled\"\n [label]=\"formConfig.properties.footer.viewFormsButton.label\"\n [showLoader]=\"viewFormsButton.showLoader\"\n [styles]=\"'width: 100%'\"\n (onClick)=\"handleOnClickViewForms($event)\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"!formConfig.properties.footer.saveButton.hidden\"\n [disabled]=\"saveFormButton.disabled\"\n [label]=\"formConfig.properties.footer.saveButton.label\"\n [showLoader]=\"saveFormButton.showLoader\"\n [styles]=\"'width: 100%'\"\n (onClick)=\"handleOnClickSaveForm($event)\"\n ></kwikui-button>\n </div>\n</div>\n<div\n class=\"kwikid-form-container-loading\"\n *ngIf=\"loading\"\n>\n <div\n *ngFor=\"let item of [].constructor(7); let i = index\"\n class=\"large-wrapper tui-skeleton tui-skeleton_rounded\"\n >\n </div>\n</div>\n\n<kwikui-loader></kwikui-loader>\n\n<tui-push\n id=\"field-error-notification\"\n *tuiPush=\"showErrorNotification\"\n heading=\"Missing/Incorrect Fields!\"\n type=\"Error\"\n (close)=\"toggleErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n\n<ng-template\n #preview\n let-preview\n>\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n class=\"preview-container\"\n >\n <tui-preview-title *ngIf=\"previewProperties.title !== ''\">{{\n previewProperties.title\n }}</tui-preview-title>\n\n <ng-container *ngIf=\"!previewProperties.unavailable\">\n <div\n *ngIf=\"previewProperties?.html?.before !== ''\"\n class=\"preview-html preview-html-before\"\n [style]=\"previewProperties?.html?.beforeStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.before | kwikuiSafeHtml\"\n ></div>\n\n <!-- Content within the iframe -->\n <div\n class=\"preview-iframe-content\"\n [style]=\"\n previewProperties?.iframe?.containerStyles ?? '' | styleSanitizer\n \"\n *ngIf=\"previewProperties.iframe.src !== ''\"\n >\n <!-- Your HTML content here -->\n <iframe\n [src]=\"previewProperties.iframe.src | kwikuiSafeUrl\"\n frameborder=\"0\"\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen\n [title]=\"previewProperties.iframe.title\"\n class=\"preview-iframe\"\n scrolling=\"auto\"\n ></iframe>\n </div>\n\n <div\n *ngIf=\"previewProperties?.html?.after !== ''\"\n class=\"preview-html preview-html-after\"\n [style]=\"previewProperties?.html?.afterStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.after | kwikuiSafeHtml\"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"previewProperties.unavailable\">\n <div class=\"preview-unavailable\">\n <tui-svg\n src=\"tuiIconFileLarge\"\n class=\"t-icon\"\n ></tui-svg>\n <div>Preview unavailable</div>\n </div>\n </ng-container>\n\n <button\n tuiIconButton\n tuiPreviewAction\n icon=\"tuiIconCloseLarge\"\n title=\"Close\"\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n</ng-template>\n\n<ng-template\n #dialog\n let-dialog\n>\n <div class=\"preview-container\">\n <ng-container *ngIf=\"!previewProperties.unavailable\">\n <div\n *ngIf=\"previewProperties?.html?.before !== ''\"\n class=\"preview-html preview-html-before\"\n [style]=\"previewProperties?.html?.beforeStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.before | kwikuiSafeHtml\"\n ></div>\n\n <!-- Content within the iframe -->\n <div\n class=\"preview-iframe-content\"\n [style]=\"\n previewProperties?.iframe?.containerStyles ?? '' | styleSanitizer\n \"\n *ngIf=\"previewProperties.iframe.src !== ''\"\n >\n <!-- Your HTML content here -->\n <iframe\n [src]=\"previewProperties.iframe.src | kwikuiSafeUrl\"\n frameborder=\"0\"\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen\n [title]=\"previewProperties.iframe.title\"\n class=\"preview-iframe\"\n scrolling=\"auto\"\n ></iframe>\n </div>\n\n <div\n *ngIf=\"previewProperties?.html?.after !== ''\"\n class=\"preview-html preview-html-after\"\n [style]=\"previewProperties?.html?.afterStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.after | kwikuiSafeHtml\"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"previewProperties.unavailable\">\n <div class=\"preview-unavailable\">\n <tui-svg\n src=\"tuiIconFileLarge\"\n class=\"t-icon\"\n ></tui-svg>\n <div>Preview unavailable</div>\n </div>\n </ng-container>\n </div>\n</ng-template>\n\n<div\n id=\"kwikid-camera-container\"\n *ngIf=\"isShowCamera\"\n>\n <div\n id=\"kwikid-camera-wrapper\"\n [class.fullscreen]=\"isShowCameraFullscreen\"\n >\n <kwikid-camera\n [type]=\"cameraType\"\n [data]=\"cameraData\"\n [image]=\"cameraImage\"\n [video]=\"cameraVideo\"\n [config]=\"cameraConfig\"\n (getImage)=\"handleGetCameraMedia($event, 'CAPTURE')\"\n (getVideo)=\"handleGetCameraMedia($event, 'RECORD')\"\n (onClickBack)=\"handleOnClickCameraBack($event)\"\n (onClickClose)=\"handleOnClickCameraClose($event)\"\n (onClickSave)=\"handleOnClickSaveCameraMedia($event, cameraType)\"\n >\n <ng-container\n *ngIf=\"cameraType === 'CAPTURE'\"\n slot=\"capture-header\"\n >\n <div class=\"capture-header-container\">\n <div class=\"capture-header-left\"> </div>\n <div class=\"capture-header-center\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.title !== ''\"\n appearance=\"whiteblock\"\n [label]=\"cameraConfig?.header?.title\"\n shape=\"rounded\"\n size=\"s\"\n ></kwikui-button>\n </div>\n <div class=\"capture-header-right\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.isExpand\"\n id=\"kwikid-camera-header-enlarge-button\"\n appearance=\"whiteblock\"\n [icon]=\"\n isShowCameraFullscreen ? 'tuiIconMinimize2' : 'tuiIconMaximize2'\n \"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"isShowCameraFullscreen = !isShowCameraFullscreen\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.isClose\"\n id=\"kwikid-camera-header-close-button\"\n appearance=\"whiteblock\"\n icon=\"tuiIconCloseLarge\"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"handleOnClickCameraClose($event)\"\n ></kwikui-button>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"cameraType === 'RECORD'\"\n slot=\"record-header\"\n >\n <div class=\"record-header-container\">\n <div class=\"record-header-row row-1\">\n <div class=\"record-header-left\">\n <kwikui-button\n *ngIf=\"\n cameraConfig?.header?.isBack && cameraRecordingState == 'NONE'\n \"\n appearance=\"whiteblock\"\n icon=\"tuiIconArrowLeft\"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"handleOnClickCameraClose($event)\"\n ></kwikui-button>\n </div>\n <div class=\"record-header-center\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.title !== ''\"\n appearance=\"whiteblock\"\n [label]=\"cameraConfig?.header?.title\"\n shape=\"rounded\"\n size=\"s\"\n ></kwikui-button>\n </div>\n <div class=\"record-header-right\">\n <kwikui-button\n *ngIf=\"cameraConfig?.header?.isExpand\"\n id=\"kwikid-camera-header-enlarge-button\"\n appearance=\"whiteblock\"\n [icon]=\"\n isShowCameraFullscreen\n ? 'tuiIconMinimize2'\n : 'tuiIconMaximize2'\n \"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"isShowCameraFullscreen = !isShowCameraFullscreen\"\n ></kwikui-button>\n </div>\n </div>\n <div class=\"record-header-row row-2\">\n <div\n id=\"blinking-dot-container\"\n [class.recording]=\"cameraRecordingState == 'RECORDING'\"\n [class.paused]=\"cameraRecordingState == 'PAUSED'\"\n [class.recorded]=\"\n cameraRecordingState == 'NONE' ||\n cameraRecordingState === 'RECORDED'\n \"\n >\n <div\n *ngIf=\"cameraRecordingState == 'RECORDING'\"\n class=\"dot recording blink\"\n >\n </div>\n <div\n *ngIf=\"cameraRecordingState === 'PAUSED'\"\n class=\"dot paused\"\n >\n </div>\n <div\n *ngIf=\"\n cameraRecordingState == 'NONE' ||\n cameraRecordingState === 'RECORDED'\n \"\n class=\"dot recorded\"\n >\n </div>\n <div>\n &nbsp;{{ cameraRecordingTime | formatTimer }}\n <ng-container\n *ngIf=\"cameraConfig?.others?.maxRecordingTimeInSeconds\"\n >\n /\n {{\n cameraConfig?.others?.maxRecordingTimeInSeconds\n | formatTimer\n }}\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </kwikid-camera>\n </div>\n</div>\n", styles: [".kwikid-form-container{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center}.kwikid-form.show{width:100%;height:100%;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch}.kwikid-form.show>*:not(:last-child){margin-bottom:1rem}.kwikid-form-buttons{width:100%;bottom:0px;padding:1rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}.kwikid-form-buttons>*:not(:last-child){margin-right:1rem}.kwikid-form-buttons *{flex-grow:1}#uf-form-fields-header-container{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:flex-start;padding:1rem 1rem 0}#uf-form-fields-header-container>*:not(:last-child){margin-bottom:.5rem}#uf-form-fields-header-container #uf-header-logo{width:-moz-fit-content;width:fit-content;height:50px}#uf-form-fields-header-container #uf-form-fields-header-main{display:flex;flex-direction:row;align-content:center;justify-content:flex-start;align-items:center;width:100%}#uf-form-fields-header-container #uf-form-fields-header-main>*:not(:last-child){margin-right:.25rem}#uf-form-fields-header-container #uf-form-fields-header-main #uf-form-fields-header-right{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:flex-start}#uf-form-fields-header-container #uf-form-fields-header-main #uf-form-fields-header-right>*{margin-bottom:.5rem}#uf-form-fields-header-container hr{width:100%}#uf-form-fields-title{color:#000;font-size:1.75em;font-weight:bold}#uf-form-fields-steps{color:var(--color-on-secondary-container);font-size:1rem}.title{border-left:.25rem solid var(--tui-primary);padding:.75rem;font-size:1.4em;font-weight:bold;background-color:var(--tui-secondary);display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center}.title>*:not(:last-child){margin-right:.5rem}.title:not(:first-child){margin-top:.5rem}.title.hidden{display:none}.large-wrapper{width:100%;height:60px}.large-wrapper:first-child{margin-bottom:auto}.large-wrapper:last-child{margin-top:auto}.kwikid-form-container-loading{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;padding:1rem}.kwikid-form-container-loading>* :not(:last-child){margin-bottom:1rem}#field-error-notification{background-color:var(--tui-error-fill);color:#fff!important}#field-error-notification .t-top{color:#fff!important}#field-error-notification .t-close{color:#fff!important}.preview-container{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;align-content:center;height:calc(100vh - 3rem)}@media only screen and (min-width: 768px){.preview-container{height:calc(100vh - 10rem);width:calc(100vw - 10rem)}}.preview-container>*:not(:last-child){margin-bottom:1rem}.preview-container .preview-html{flex-grow:1}.preview-container .preview-iframe-content{height:100%;flex-grow:1}.preview-container .preview-iframe-content .preview-iframe{width:100%;height:100%}.preview-container .preview-unavailable{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:center;color:#fff;font-size:1.2rem;top:50%;left:50%;width:100%;height:100vh}.preview-container .preview-unavailable>*:not(:last-child){margin-bottom:1rem}#kwikid-camera-container{width:100%;height:100%;position:fixed;top:50%;left:50%;background-color:#0000008f;transform:translate(-50%,-50%);z-index:100}#kwikid-camera-container #kwikid-camera-wrapper{width:min(80%);height:max(85%);box-shadow:#0000008f 0 22px 70px 4px;overflow:hidden;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:1rem;background-color:#000;transition:5s linear ease}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container{display:flex;width:100%;max-width:100%;padding:0}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container .capture-header-left{flex:1;text-align:left}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container .capture-header-center{flex:1;width:100%;min-width:max-content;text-align:center;margin:auto}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container .capture-header-right{flex:1;text-align:right;display:flex;justify-content:flex-end;grid-gap:1rem;gap:1rem}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container{display:flex;width:100%;max-width:100%;padding:0;color:#fff;flex-direction:column;justify-content:flex-start;align-items:stretch}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:1rem}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1 .record-header-left{flex:1;display:flex;justify-content:flex-start;grid-gap:1rem;gap:1rem;text-align:left}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1 .record-header-center{flex:1;width:100%;min-width:max-content;text-align:center;margin:auto}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1 .record-header-right{flex:1;text-align:right;display:flex;justify-content:flex-end;grid-gap:1rem;gap:1rem}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2{display:flex;flex-direction:row;justify-content:center;align-items:center}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;grid-gap:.25rem;gap:.25rem;padding:.35rem .6rem;width:-moz-fit-content;width:fit-content;border-radius:2rem;background-color:#f5f5f5}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container.recording{color:red;font-weight:bold}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container.paused{color:#525252;font-weight:bold}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container.recorded{color:#000;font-weight:bold}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot{display:inline-block;width:.75rem;height:.75rem;border-radius:100%}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.recording{background-color:red;box-shadow:0 0 5px -1px red}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.paused{background-color:#525252;box-shadow:0 0 5px -1px #000}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.recorded{background-color:#000;box-shadow:0 0 5px -1px #000}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.blink{animation:blinker 1s cubic-bezier(.5,0,1,1) infinite alternate}@keyframes blinker{0%{opacity:1}to{opacity:0}}#kwikid-camera-container #kwikid-camera-wrapper.fullscreen{width:100%;height:100%;border-radius:0;transition:5s linear ease}@media only screen and (max-width: 600px){#kwikid-camera-container #kwikid-camera-wrapper{width:100%;height:100%;border-radius:0;transition:5s linear ease}#kwikid-camera-container #kwikid-camera-wrapper #kwikid-camera-header-enlarge-button{display:none}}\n", "::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: i2__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIMessagesComponent, selector: "kwikui-messages", inputs: ["id", "messages"] }, { type: i2__namespace.KwikUIInputComponent, selector: "kwikui-input", inputs: ["case", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "type", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputEmailComponent, selector: "kwikui-input-email", inputs: ["case", "disabled", "domains", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputPasswordComponent, selector: "kwikui-input-password", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUITextareaComponent, selector: "kwikui-textarea", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUICheckboxComponent, selector: "kwikui-checkbox", inputs: ["contentAlign", "disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "placeholder", "properties", "size", "validators", "variant"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputNumberComponent, selector: "kwikui-input-number", inputs: ["decimal", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "max", "min", "placeholder", "postfix", "precision", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputDateComponent, selector: "kwikui-input-date", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "max", "maxCalculatedFromToday", "min", "minCalculatedFromToday", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputTimeComponent, selector: "kwikui-input-time", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "items", "invalid", "label", "mode", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputPhoneComponent, selector: "kwikui-input-phone", inputs: ["countryCode", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "phoneMaskAfterCountryCode", "placeholder", "postfix", "prefix", "properties", "removeCountryCodeFromValue", "size", "validators"], outputs: ["getKeyValue"] }, { type: i4__namespace.TuiLabelComponent, selector: "label[tuiLabel]", inputs: ["tuiLabel", "context"] }, { type: i2__namespace.KwikUIInputRadioComponent, selector: "kwikui-input-radio", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "items", "label", "orientation", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputSelectComponent, selector: "kwikui-input-select", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "options", "placeholder", "properties", "searchable", "size", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputSliderComponent, selector: "kwikui-input-slider", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "max", "min", "placeholder", "postfix", "prefix", "properties", "quantum", "size", "steps", "type", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIButtonApiCallComponent, selector: "kwikui-button-api-call", inputs: ["apiStatus", "class", "disabled", "id", "label", "shape", "showLoader", "size", "styles"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIInputOtpComponent, selector: "kwikui-input-otp", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "mask", "mode", "otpLength", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputAadhaarComponent, selector: "kwikui-input-aadhaar", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "mask", "placeholder", "properties", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIImageComponent, selector: "kwikui-image", inputs: ["altText", "class", "html", "id", "imageSrc", "imageType", "loadingType", "styles"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIInputFilesComponent, selector: "kwikui-input-files", inputs: ["accept", "class", "disabled", "files", "formControl", "formControlName", "icon", "id", "label", "link", "maxFileSize", "multiple", "setFileTypesToForm", "showAddedFiles", "size", "styles", "validators"], outputs: ["getKeyValue", "getRemovedFile"] }, { type: i3__namespace$2.KwikUIInputCameraComponent, selector: "kwikui-input-camera", inputs: ["buttonText", "disabled", "focus", "formControl", "formControlName", "icon", "id", "invalid", "mediaFiles", "properties", "showMediaFiles", "size", "type", "validators"], outputs: ["onClick", "getRemovedFile"] }, { type: i2__namespace.KwikUIStarRatingComponent, selector: "kwikui-star-rating", inputs: ["color", "disabled", "focus", "formControl", "formControlName", "icon", "iconMarked", "id", "invalid", "label", "max", "min", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUILoaderComponent, selector: "kwikui-loader" }, { type: i5__namespace.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "lines", "timestamp"], outputs: ["close"] }, { type: i4__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i6__namespace.TuiPreviewComponent, selector: "tui-preview", inputs: ["zoomable", "rotatable"] }, { type: i6__namespace.TuiPreviewTitleComponent, selector: "tui-preview-title" }, { type: i4__namespace.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i3__namespace$2.KwikIDCameraComponent, selector: "kwikid-camera", inputs: ["type", "config", "data", "image", "video"], outputs: ["getImage", "onClickSave", "getVideo"] }], directives: [{ type: i3__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3__namespace$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i5__namespace.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i5__namespace.TuiPushDirective, selector: "tui-push" }, { type: i6__namespace.TuiPreviewActionDirective, selector: "[tuiPreviewAction]" }], pipes: { "styleSanitizer": StyleSanitizerPipe, "kwikuiSafeHtml": i2__namespace.KwikUISafeHtmlPipe, "kwikuiSafeUrl": i2__namespace.KwikUISafeUrlPipe, "formatTimer": TimerPipe } });
7377
7677
  __decorate([
7378
7678
  kwikidToolkit.logMethod
7379
7679
  ], KwikIDFormViewComponent.prototype, "resetCamera", null);
@@ -7389,6 +7689,9 @@
7389
7689
  __decorate([
7390
7690
  kwikidToolkit.logMethod
7391
7691
  ], KwikIDFormViewComponent.prototype, "ngOnDestroy", null);
7692
+ __decorate([
7693
+ kwikidToolkit.logMethod
7694
+ ], KwikIDFormViewComponent.prototype, "triggerLogs", null);
7392
7695
  __decorate([
7393
7696
  kwikidToolkit.logMethod
7394
7697
  ], KwikIDFormViewComponent.prototype, "initFormConfig", null);
@@ -7664,6 +7967,8 @@
7664
7967
  type: i0.Input
7665
7968
  }], userConfig: [{
7666
7969
  type: i0.Input
7970
+ }], stepConfig: [{
7971
+ type: i0.Input
7667
7972
  }], getLogs: [{
7668
7973
  type: i0.Output
7669
7974
  }], getUnsavedDataState: [{
@@ -7680,13 +7985,40 @@
7680
7985
  type: i0.Output
7681
7986
  }], onClickViewForms: [{
7682
7987
  type: i0.Output
7683
- }], resetCamera: [], ngOnInit: [], ngAfterViewInit: [], ngOnChanges: [], ngOnDestroy: [], initFormConfig: [], setFormFieldsFromFormConfig: [], setFormFieldGroupsFromFormConfig: [], setFormDataFromAllFormsData: [], handleConnectedElementFieldGroupActions: [], handleConnectedElementFieldGroup: [], handleConnectedElementFieldActions: [], handleConnectedElementFields: [], handleConnectedElements: [], handleRemovedFile: [], handleGetKeyValueFile: [], handleOnClickGetRemovedMediaFile: [], handleOnClickInputCamera: [], setCameraMedia: [], handleGetCameraMedia: [], handleOnClickSaveCameraMedia: [], handleOnClickCameraBack: [], handleOnClickCameraClose: [], updateFiles: [], uploadFile: [], handleOnClickFormFieldButton: [], handleGetKeyValue: [], handleOnClickResetFormFields: [], handleFieldApiCall: [], handleApiCall: [], executeApiCall: [], isValidRequestHeadersAndBody: [], handleOnClickApiCall: [], handleOnClickGoBack: [], handleOnClickViewForms: [], handleOnClickSaveForm: [], toggleErrorNotification: [], fieldHide: [], fieldGroupHide: [], fieldShow: [], fieldGroupShow: [], fieldDisable: [], fieldGroupDisable: [], fieldEnable: [], fieldGroupEnable: [], fieldReset: [], setHtml: [], fieldErrorShow: [], fieldErrorHide: [], fieldMessageShow: [], fieldMessageHide: [], setValue: [], setFieldDefaultValue: [], setApiStatus: [], setApiHeaderValue: [], setApiHeaderValidity: [], setApiBodyValue: [], setApiBodyValidity: [], setFieldValidity: [], setDropdownOptions: [], apiCall: [], fieldApiCall: [], fieldMultipleApiCalls: [], fieldMultipleApiCallsEnd: [], taskApiCall: [], taskMultipleApiCalls: [], taskMultipleApiCallsEnd: [], dialogShow: [], dialogHide: [], redirectToUrl: [], patchFieldControlValue: [], setFieldControlValue: [], patchFormGroup: [], isFieldValid: [], isFieldEnabled: [], getFormGroupRawValues: [], showPreview: [], showErrorPreview: [], showPopupForm: [], alertShow: [], takeActionOnFieldGroup: [], takeAction: [] } });
7988
+ }], resetCamera: [], ngOnInit: [], ngAfterViewInit: [], ngOnChanges: [], ngOnDestroy: [], triggerLogs: [], initFormConfig: [], setFormFieldsFromFormConfig: [], setFormFieldGroupsFromFormConfig: [], setFormDataFromAllFormsData: [], handleConnectedElementFieldGroupActions: [], handleConnectedElementFieldGroup: [], handleConnectedElementFieldActions: [], handleConnectedElementFields: [], handleConnectedElements: [], handleRemovedFile: [], handleGetKeyValueFile: [], handleOnClickGetRemovedMediaFile: [], handleOnClickInputCamera: [], setCameraMedia: [], handleGetCameraMedia: [], handleOnClickSaveCameraMedia: [], handleOnClickCameraBack: [], handleOnClickCameraClose: [], updateFiles: [], uploadFile: [], handleOnClickFormFieldButton: [], handleGetKeyValue: [], handleOnClickResetFormFields: [], handleFieldApiCall: [], handleApiCall: [], executeApiCall: [], isValidRequestHeadersAndBody: [], handleOnClickApiCall: [], handleOnClickGoBack: [], handleOnClickViewForms: [], handleOnClickSaveForm: [], toggleErrorNotification: [], fieldHide: [], fieldGroupHide: [], fieldShow: [], fieldGroupShow: [], fieldDisable: [], fieldGroupDisable: [], fieldEnable: [], fieldGroupEnable: [], fieldReset: [], setHtml: [], fieldErrorShow: [], fieldErrorHide: [], fieldMessageShow: [], fieldMessageHide: [], setValue: [], setFieldDefaultValue: [], setApiStatus: [], setApiHeaderValue: [], setApiHeaderValidity: [], setApiBodyValue: [], setApiBodyValidity: [], setFieldValidity: [], setDropdownOptions: [], apiCall: [], fieldApiCall: [], fieldMultipleApiCalls: [], fieldMultipleApiCallsEnd: [], taskApiCall: [], taskMultipleApiCalls: [], taskMultipleApiCallsEnd: [], dialogShow: [], dialogHide: [], redirectToUrl: [], patchFieldControlValue: [], setFieldControlValue: [], patchFormGroup: [], isFieldValid: [], isFieldEnabled: [], getFormGroupRawValues: [], showPreview: [], showErrorPreview: [], showPopupForm: [], alertShow: [], takeActionOnFieldGroup: [], takeAction: [] } });
7684
7989
 
7685
7990
  var EFormType;
7686
7991
  (function (EFormType) {
7687
7992
  EFormType["FORM"] = "FORM";
7688
7993
  EFormType["HTML"] = "HTML";
7689
7994
  })(EFormType || (EFormType = {}));
7995
+ var ELogEventType;
7996
+ (function (ELogEventType) {
7997
+ ELogEventType["FORM__ACTION_EXECUTE"] = "FORM__ACTION_EXECUTE";
7998
+ ELogEventType["FORM__FORM_OPEN_AUTO"] = "FORM__FORM_OPEN_AUTO";
7999
+ ELogEventType["FORM__FORM_OPEN_BUTTON_CLICK"] = "FORM__FORM_OPEN_BUTTON_CLICK";
8000
+ ELogEventType["FORM__SUBMIT_FORM_BUTTON_CLICK"] = "FORM__SUBMIT_FORM_BUTTON_CLICK";
8001
+ ELogEventType["FORM__SUBMIT_FORM_BUTTON_CLICK_INVALID"] = "FORM__SUBMIT_FORM_BUTTON_CLICK_INVALID";
8002
+ ELogEventType["FORM__STEP_CONFIG_LOAD_SUCCESS"] = "FORM__STEP_CONFIG_LOAD_SUCCESS";
8003
+ })(ELogEventType || (ELogEventType = {}));
8004
+
8005
+ function formatEventLogs$1(eventType, stepConfig, extras) {
8006
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
8007
+ var logLabel = [
8008
+ eventType,
8009
+ (_c = (_b = (_a = stepConfig === null || stepConfig === void 0 ? void 0 : stepConfig.form) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : stepConfig === null || stepConfig === void 0 ? void 0 : stepConfig.key) !== null && _c !== void 0 ? _c : "_",
8010
+ (_d = extras === null || extras === void 0 ? void 0 : extras.form_key) !== null && _d !== void 0 ? _d : "_",
8011
+ (_e = extras === null || extras === void 0 ? void 0 : extras.field_key) !== null && _e !== void 0 ? _e : "_"
8012
+ ]
8013
+ .filter(function (item) { return kwikidToolkit.isNotEmptyValue(item); })
8014
+ .join(" | ");
8015
+ return {
8016
+ type: eventType,
8017
+ label: "" + logLabel,
8018
+ timestamp: new Date().getTime(),
8019
+ data: Object.assign({ step_key: (_h = (_g = (_f = stepConfig === null || stepConfig === void 0 ? void 0 : stepConfig.form) === null || _f === void 0 ? void 0 : _f.key) !== null && _g !== void 0 ? _g : stepConfig === null || stepConfig === void 0 ? void 0 : stepConfig.key) !== null && _h !== void 0 ? _h : "_", step_title: (_k = (_j = stepConfig === null || stepConfig === void 0 ? void 0 : stepConfig.props) === null || _j === void 0 ? void 0 : _j.label) !== null && _k !== void 0 ? _k : stepConfig === null || stepConfig === void 0 ? void 0 : stepConfig.label }, extras)
8020
+ };
8021
+ }
7690
8022
 
7691
8023
  var KwikIDFormsListComponent = /** @class */ (function () {
7692
8024
  function KwikIDFormsListComponent() {
@@ -7698,6 +8030,7 @@
7698
8030
  this.formsListCompleted = [];
7699
8031
  this.isMobileView = false;
7700
8032
  this.isUnsavedData = false;
8033
+ this.getLogs = new i0.EventEmitter();
7701
8034
  this.onClickSetActiveForm = new i0.EventEmitter();
7702
8035
  this.onClickHideFormsList = new i0.EventEmitter();
7703
8036
  this.onClickSubmitForms = new i0.EventEmitter();
@@ -7714,10 +8047,12 @@
7714
8047
  this.loading = true;
7715
8048
  this.setSelectedForm((_b = (_a = this.activeFormConfig) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : "");
7716
8049
  this.stepConfig = this.formatStepConfig(this.stepConfig);
8050
+ this.triggerLogs(ELogEventType$2.FORM__STEP_CONFIG_LOAD_SUCCESS, {});
7717
8051
  this.formsList = this.filterHiddenForms(this.formsList);
7718
8052
  this.formsList = this.setFormTitles(this.formsList);
7719
8053
  this.formsListLength = this.findFormsListLength(this.formsList);
7720
8054
  this.isAllFormsCompleted = this.checkIsAllFormsCompleted(this.formsList);
8055
+ this.triggerLogs(ELogEventType$2.FORM__LIST_LOAD_SUCCESS, {});
7721
8056
  this.loading = false;
7722
8057
  };
7723
8058
  KwikIDFormsListComponent.prototype.ngOnChanges = function (changes) {
@@ -7751,6 +8086,9 @@
7751
8086
  this.setSelectedForm((_b = (_a = this.activeFormConfig) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : "");
7752
8087
  }
7753
8088
  };
8089
+ KwikIDFormsListComponent.prototype.triggerLogs = function (eventType, logs) {
8090
+ this.getLogs.emit(formatEventLogs$1(eventType, this.stepConfig, logs));
8091
+ };
7754
8092
  KwikIDFormsListComponent.prototype.formatStepConfig = function (stepConfig) {
7755
8093
  var stepConfigProperties = {
7756
8094
  formListProperties: {
@@ -7815,7 +8153,7 @@
7815
8153
  return _formsList.length;
7816
8154
  };
7817
8155
  KwikIDFormsListComponent.prototype.checkIsAllFormsCompleted = function (formsList) {
7818
- var e_1, _c;
8156
+ var e_1, _g;
7819
8157
  var isAllFormsCompleted = true;
7820
8158
  try {
7821
8159
  for (var formsList_1 = __values(formsList), formsList_1_1 = formsList_1.next(); !formsList_1_1.done; formsList_1_1 = formsList_1.next()) {
@@ -7833,14 +8171,14 @@
7833
8171
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
7834
8172
  finally {
7835
8173
  try {
7836
- if (formsList_1_1 && !formsList_1_1.done && (_c = formsList_1.return)) _c.call(formsList_1);
8174
+ if (formsList_1_1 && !formsList_1_1.done && (_g = formsList_1.return)) _g.call(formsList_1);
7837
8175
  }
7838
8176
  finally { if (e_1) throw e_1.error; }
7839
8177
  }
7840
8178
  return isAllFormsCompleted;
7841
8179
  };
7842
8180
  KwikIDFormsListComponent.prototype.handleOnClickSetActiveForm = function (selectedForm) {
7843
- var _a, _b;
8181
+ var _a, _b, _c, _d, _e, _f;
7844
8182
  if (this.isMobileView ||
7845
8183
  (!this.isMobileView && this.selectedForm !== selectedForm) ||
7846
8184
  (this.isAllFormsCompleted && !this.showFormFields)) {
@@ -7849,6 +8187,10 @@
7849
8187
  !window.confirm("You have unsaved data. Proceed?")) {
7850
8188
  return;
7851
8189
  }
8190
+ this.triggerLogs(ELogEventType$2.FORM__FORM_OPEN_BUTTON_CLICK, {
8191
+ form_key: selectedForm,
8192
+ form_label: (_d = (_c = this.activeFormConfig) === null || _c === void 0 ? void 0 : _c.title) !== null && _d !== void 0 ? _d : (_f = (_e = this.activeFormConfig) === null || _e === void 0 ? void 0 : _e.props) === null || _f === void 0 ? void 0 : _f.title
8193
+ });
7852
8194
  this.selectedForm = selectedForm;
7853
8195
  this.onClickSetActiveForm.emit(selectedForm);
7854
8196
  }
@@ -7865,10 +8207,13 @@
7865
8207
  return KwikIDFormsListComponent;
7866
8208
  }());
7867
8209
  /** @nocollapse */ KwikIDFormsListComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDFormsListComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
7868
- /** @nocollapse */ KwikIDFormsListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: { showFormFields: "showFormFields", userConfig: "userConfig", stepConfig: "stepConfig", activeFormConfig: "activeFormConfig", formsList: "formsList", formsListCompleted: "formsListCompleted", isMobileView: "isMobileView", isUnsavedData: "isUnsavedData" }, outputs: { onClickSetActiveForm: "onClickSetActiveForm", onClickHideFormsList: "onClickHideFormsList", onClickSubmitForms: "onClickSubmitForms" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div\n id=\"sidebar-container\"\n *ngIf=\"!loading\"\n>\n <div id=\"sidebar\">\n <div ngClass=\"kwikid-form-header\">\n <div id=\"uf-header\">\n <div id=\"uf-header-logo-container\">\n <img\n id=\"uf-header-logo\"\n src=\"{{ this.userConfig.theme.clientLogo }}\"\n [ngClass]=\"'large-icon'\"\n />\n </div>\n </div>\n <hr />\n </div>\n <div id=\"uf-progress\">\n <div id=\"uf-progress-steps\">\n {{ this.formsListCompleted.length }} / {{ this.formsListLength }} Steps\n Completed\n </div>\n <kwikui-progress-segmented\n [max]=\"this.formsListLength\"\n size=\"m\"\n [value]=\"this.formsListCompleted.length\"\n ></kwikui-progress-segmented>\n </div>\n <div id=\"uf-sections-container\">\n <ng-container *ngFor=\"let form of formsList; let i = index\">\n <ng-container [ngSwitch]=\"form.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'HTML'\">\n <div [innerHtml]=\"form.props.htmlContent | kwikuiSafeHtml\"></div>\n </ng-container>\n <!-- Type FORM -->\n <ng-container *ngSwitchCase=\"'FORM'\">\n <ng-container\n [ngTemplateOutlet]=\"FORM_BUTTON\"\n [ngTemplateOutletContext]=\"{\n form: form,\n activeFormConfig: activeFormConfig\n }\"\n >\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n <div id=\"submit-sidebar-btn-container\">\n <kwikui-button\n *ngIf=\"\n !stepConfig.props.formListProperties.footer.submitFormButton.hidden\n \"\n label=\"{{\n stepConfig.props.formListProperties.footer.submitFormButton.label\n }}\"\n styles=\"width: 100%\"\n (onClick)=\"handleOnSubmitForms($event)\"\n ></kwikui-button>\n </div>\n </div>\n</div>\n\n<ng-template\n #FORM_BUTTON\n let-form=\"form\"\n let-activeFormConfig=\"activeFormConfig\"\n>\n <div\n [class]=\"'uf-section-item'\"\n [class.completed]=\"form.status === 'completed' && !form.disabled\"\n [class.edit]=\"form.status === 'editable' && !form.disabled\"\n [class.locked]=\"form.status === 'locked' && form.disabled\"\n [class.active]=\"\n activeFormConfig !== undefined && form.key === activeFormConfig.key\n \"\n (click)=\"\n form.status === 'locked' && form.disabled\n ? undefined\n : handleOnClickSetActiveForm(form.key)\n \"\n >\n <div class=\"uf-form-section-card-title\">\n {{ form.props.title }}&nbsp;<span *ngIf=\"form?.required\">*</span>\n </div>\n <div class=\"uf-form-section-card-status\">\n <div\n *ngIf=\"form.status === 'completed' && !form.disabled\"\n class=\"uf-form-section-card-status-img completed\"\n >\n <tui-svg src=\"tuiIconCheckLarge\"></tui-svg>\n </div>\n <div\n *ngIf=\"form.status !== 'completed' && !form.disabled\"\n class=\"uf-form-section-card-status-img edit\"\n >\n <tui-svg src=\"tuiIconEdit\"></tui-svg>\n </div>\n <div\n *ngIf=\"form.status !== 'completed' && form.disabled\"\n class=\"uf-form-section-card-status-img locked\"\n >\n <tui-svg src=\"tuiIconLock\"></tui-svg>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: ["#sidebar-container{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center}#sidebar{width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch}.uf-section-item{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;align-content:center;padding:1rem;cursor:pointer;box-shadow:0 1px 3px -1px var(--tui-base-05);border-radius:.5rem;background-color:var(--tui-base-02);position:relative}.uf-section-item>*:not(:last-child){margin-right:1rem}.uf-section-item:hover{box-shadow:0 1px 3px -1px var(--tui-base-08)}#submit-sidebar-btn-container{width:100%;bottom:0px;z-index:1;padding:1rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}#submit-sidebar-btn-container>*:not(:last-child){margin-right:1rem}#submit-sidebar-btn-container *{flex-grow:1}#uf-sections-container{display:flex;flex-direction:column;height:100%;padding:1rem;overflow-y:auto}#uf-sections-container>*:not(:last-child){margin-bottom:1rem}.uf-form-section-card{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;border:none;border-radius:8px;background-color:#e9e9e9;height:-moz-fit-content;height:fit-content;min-height:60px;padding:10px 15px;width:100%;max-width:350px;margin:0 auto}.uf-form-section-card>*:not(:last-child){margin-right:.5rem}.uf-section-item.locked{-webkit-user-select:none;user-select:none;cursor:not-allowed}.uf-form-section-card .uf-form-section-card-title{font-size:1.2em;text-align:left;line-height:1.25em}.uf-form-section-card .uf-form-section-card-status{width:30px;height:30px;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}.uf-form-section-card .uf-form-section-card-status .uf-form-section-card-status-img{width:30px;height:30px;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;border-radius:100%;color:#fff;font-weight:bold}.uf-form-section-card-status-img.completed{background-color:var(--tui-success-fill);padding:.25rem;border-radius:50%;color:#fff}.uf-form-section-card-status-img.edit{background-color:var(--tui-error-fill);padding:.25rem;border-radius:50%;color:#fff}.uf-form-section-card-status-img.locked{background-color:var(--tui-neutral-fill);padding:.25rem;border-radius:50%;color:#fff}#uf-progress{display:flex;padding:1rem;flex-direction:column;align-content:center;justify-content:center;align-items:stretch}#uf-progress>*:not(:last-child){margin-bottom:.5rem}#uf-progress-steps{font-size:1em;text-align:right;color:#3d3d3d}.uf-form-section-card-title{font-size:1em;font-weight:bold;color:#000}@media screen and (max-width: 600px){#sidebar-container{max-width:unset}}.kwikid-form-header{height:70px;z-index:6}.kwikid-form-header hr{width:calc(100% - 1rem);margin-left:auto;margin-right:auto}#uf-header{display:flex;flex-direction:row;align-content:center;align-items:center;justify-content:flex-start;padding:10px 20px;width:100%;max-width:calc(400px + 50vw + 2rem);margin:0 auto;height:70px;z-index:1}#uf-header>*:not(:last-child){margin-right:1rem}#uf-header #uf-header-goback-container{display:none}#uf-header #uf-header-goback-container:hover{border-radius:50%;background-color:#d3d3d3}#uf-header #uf-header-goback-container #uf-header-goback{width:100%;height:auto}#uf-header #uf-header-logo-container{display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}#uf-header #uf-header-logo-container #uf-header-logo.small-icon{width:100%;height:50px}#uf-header #uf-header-logo-container #uf-header-logo.large-icon{width:100%;height:50px}#uf-header #uf-header-title-container{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}#uf-header #uf-header-title-container>*:not(:last-child){margin-bottom:.5rem}#uf-header #uf-header-title-container #uf-header-title{font-size:1.4em;color:#121212}#uf-header #uf-header-title-container #uf-header-subtitle{font-size:1.2em;color:#121212}\n", "::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: i2__namespace.KwikUIProgressSegmentedComponent, selector: "kwikui-progress-segmented", inputs: ["colors", "id", "max", "size", "value"] }, { type: i2__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type"], outputs: ["onClick"] }, { type: i4__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i3__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3__namespace$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3__namespace$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "kwikuiSafeHtml": i2__namespace.KwikUISafeHtmlPipe } });
8210
+ /** @nocollapse */ KwikIDFormsListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: { showFormFields: "showFormFields", userConfig: "userConfig", stepConfig: "stepConfig", activeFormConfig: "activeFormConfig", formsList: "formsList", formsListCompleted: "formsListCompleted", isMobileView: "isMobileView", isUnsavedData: "isUnsavedData" }, outputs: { getLogs: "getLogs", onClickSetActiveForm: "onClickSetActiveForm", onClickHideFormsList: "onClickHideFormsList", onClickSubmitForms: "onClickSubmitForms" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div\n id=\"sidebar-container\"\n *ngIf=\"!loading\"\n>\n <div id=\"sidebar\">\n <div ngClass=\"kwikid-form-header\">\n <div id=\"uf-header\">\n <div id=\"uf-header-logo-container\">\n <img\n id=\"uf-header-logo\"\n src=\"{{ this.userConfig.theme.clientLogo }}\"\n [ngClass]=\"'large-icon'\"\n />\n </div>\n </div>\n <hr />\n </div>\n <div id=\"uf-progress\">\n <div id=\"uf-progress-steps\">\n {{ this.formsListCompleted.length }} / {{ this.formsListLength }} Steps\n Completed\n </div>\n <kwikui-progress-segmented\n [max]=\"this.formsListLength\"\n size=\"m\"\n [value]=\"this.formsListCompleted.length\"\n ></kwikui-progress-segmented>\n </div>\n <div id=\"uf-sections-container\">\n <ng-container *ngFor=\"let form of formsList; let i = index\">\n <ng-container [ngSwitch]=\"form.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'HTML'\">\n <div [innerHtml]=\"form.props.htmlContent | kwikuiSafeHtml\"></div>\n </ng-container>\n <!-- Type FORM -->\n <ng-container *ngSwitchCase=\"'FORM'\">\n <ng-container\n [ngTemplateOutlet]=\"FORM_BUTTON\"\n [ngTemplateOutletContext]=\"{\n form: form,\n activeFormConfig: activeFormConfig\n }\"\n >\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n <div id=\"submit-sidebar-btn-container\">\n <kwikui-button\n *ngIf=\"\n !stepConfig.props.formListProperties.footer.submitFormButton.hidden\n \"\n label=\"{{\n stepConfig.props.formListProperties.footer.submitFormButton.label\n }}\"\n type=\"submit\"\n styles=\"width: 100%\"\n (onClick)=\"handleOnSubmitForms($event)\"\n ></kwikui-button>\n </div>\n </div>\n</div>\n\n<ng-template\n #FORM_BUTTON\n let-form=\"form\"\n let-activeFormConfig=\"activeFormConfig\"\n>\n <div\n [class]=\"'uf-section-item'\"\n [class.completed]=\"form.status === 'completed' && !form.disabled\"\n [class.edit]=\"form.status === 'editable' && !form.disabled\"\n [class.locked]=\"form.status === 'locked' && form.disabled\"\n [class.active]=\"\n activeFormConfig !== undefined && form.key === activeFormConfig.key\n \"\n (click)=\"\n form.status === 'locked' && form.disabled\n ? undefined\n : handleOnClickSetActiveForm(form.key)\n \"\n >\n <div class=\"uf-form-section-card-title\">\n {{ form.props.title }}&nbsp;<span *ngIf=\"form?.required\">*</span>\n </div>\n <div class=\"uf-form-section-card-status\">\n <div\n *ngIf=\"form.status === 'completed' && !form.disabled\"\n class=\"uf-form-section-card-status-img completed\"\n >\n <tui-svg src=\"tuiIconCheckLarge\"></tui-svg>\n </div>\n <div\n *ngIf=\"form.status !== 'completed' && !form.disabled\"\n class=\"uf-form-section-card-status-img edit\"\n >\n <tui-svg src=\"tuiIconEdit\"></tui-svg>\n </div>\n <div\n *ngIf=\"form.status !== 'completed' && form.disabled\"\n class=\"uf-form-section-card-status-img locked\"\n >\n <tui-svg src=\"tuiIconLock\"></tui-svg>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: ["#sidebar-container{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center}#sidebar{width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch}.uf-section-item{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;align-content:center;padding:1rem;cursor:pointer;box-shadow:0 1px 3px -1px var(--tui-base-05);border-radius:.5rem;background-color:var(--tui-base-02);position:relative}.uf-section-item>*:not(:last-child){margin-right:1rem}.uf-section-item:hover{box-shadow:0 1px 3px -1px var(--tui-base-08)}#submit-sidebar-btn-container{width:100%;bottom:0px;z-index:1;padding:1rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}#submit-sidebar-btn-container>*:not(:last-child){margin-right:1rem}#submit-sidebar-btn-container *{flex-grow:1}#uf-sections-container{display:flex;flex-direction:column;height:100%;padding:1rem;overflow-y:auto}#uf-sections-container>*:not(:last-child){margin-bottom:1rem}.uf-form-section-card{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;border:none;border-radius:8px;background-color:#e9e9e9;height:-moz-fit-content;height:fit-content;min-height:60px;padding:10px 15px;width:100%;max-width:350px;margin:0 auto}.uf-form-section-card>*:not(:last-child){margin-right:.5rem}.uf-section-item.locked{-webkit-user-select:none;user-select:none;cursor:not-allowed}.uf-form-section-card .uf-form-section-card-title{font-size:1.2em;text-align:left;line-height:1.25em}.uf-form-section-card .uf-form-section-card-status{width:30px;height:30px;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}.uf-form-section-card .uf-form-section-card-status .uf-form-section-card-status-img{width:30px;height:30px;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;border-radius:100%;color:#fff;font-weight:bold}.uf-form-section-card-status-img.completed{background-color:var(--tui-success-fill);padding:.25rem;border-radius:50%;color:#fff}.uf-form-section-card-status-img.edit{background-color:var(--tui-error-fill);padding:.25rem;border-radius:50%;color:#fff}.uf-form-section-card-status-img.locked{background-color:var(--tui-neutral-fill);padding:.25rem;border-radius:50%;color:#fff}#uf-progress{display:flex;padding:1rem;flex-direction:column;align-content:center;justify-content:center;align-items:stretch}#uf-progress>*:not(:last-child){margin-bottom:.5rem}#uf-progress-steps{font-size:1em;text-align:right;color:#3d3d3d}.uf-form-section-card-title{font-size:1em;font-weight:bold;color:#000}@media screen and (max-width: 600px){#sidebar-container{max-width:unset}}.kwikid-form-header{height:70px;z-index:6}.kwikid-form-header hr{width:calc(100% - 1rem);margin-left:auto;margin-right:auto}#uf-header{display:flex;flex-direction:row;align-content:center;align-items:center;justify-content:flex-start;padding:10px 20px;width:100%;max-width:calc(400px + 50vw + 2rem);margin:0 auto;height:70px;z-index:1}#uf-header>*:not(:last-child){margin-right:1rem}#uf-header #uf-header-goback-container{display:none}#uf-header #uf-header-goback-container:hover{border-radius:50%;background-color:#d3d3d3}#uf-header #uf-header-goback-container #uf-header-goback{width:100%;height:auto}#uf-header #uf-header-logo-container{display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}#uf-header #uf-header-logo-container #uf-header-logo.small-icon{width:100%;height:50px}#uf-header #uf-header-logo-container #uf-header-logo.large-icon{width:100%;height:50px}#uf-header #uf-header-title-container{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}#uf-header #uf-header-title-container>*:not(:last-child){margin-bottom:.5rem}#uf-header #uf-header-title-container #uf-header-title{font-size:1.4em;color:#121212}#uf-header #uf-header-title-container #uf-header-subtitle{font-size:1.2em;color:#121212}\n", "::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: i2__namespace.KwikUIProgressSegmentedComponent, selector: "kwikui-progress-segmented", inputs: ["colors", "id", "max", "size", "value"] }, { type: i2__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type"], outputs: ["onClick"] }, { type: i4__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i3__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3__namespace$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3__namespace$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "kwikuiSafeHtml": i2__namespace.KwikUISafeHtmlPipe } });
7869
8211
  __decorate([
7870
8212
  kwikidToolkit.logMethod
7871
8213
  ], KwikIDFormsListComponent.prototype, "ngOnChanges", null);
8214
+ __decorate([
8215
+ kwikidToolkit.logMethod
8216
+ ], KwikIDFormsListComponent.prototype, "triggerLogs", null);
7872
8217
  __decorate([
7873
8218
  kwikidToolkit.logMethod
7874
8219
  ], KwikIDFormsListComponent.prototype, "formatStepConfig", null);
@@ -7910,13 +8255,15 @@
7910
8255
  type: i0.Input
7911
8256
  }], isUnsavedData: [{
7912
8257
  type: i0.Input
8258
+ }], getLogs: [{
8259
+ type: i0.Output
7913
8260
  }], onClickSetActiveForm: [{
7914
8261
  type: i0.Output
7915
8262
  }], onClickHideFormsList: [{
7916
8263
  type: i0.Output
7917
8264
  }], onClickSubmitForms: [{
7918
8265
  type: i0.Output
7919
- }], ngOnChanges: [], formatStepConfig: [], filterHiddenForms: [], findFormsListLength: [], checkIsAllFormsCompleted: [], handleOnClickSetActiveForm: [], handleOnSubmitForms: [] } });
8266
+ }], ngOnChanges: [], triggerLogs: [], formatStepConfig: [], filterHiddenForms: [], findFormsListLength: [], checkIsAllFormsCompleted: [], handleOnClickSetActiveForm: [], handleOnSubmitForms: [] } });
7920
8267
 
7921
8268
  var ERendererActionKey;
7922
8269
  (function (ERendererActionKey) {
@@ -7935,6 +8282,23 @@
7935
8282
  });
7936
8283
  return form;
7937
8284
  };
8285
+ function formatEventLogs(eventType, stepConfig, extras) {
8286
+ var _a, _b, _c, _d, _e, _f, _g;
8287
+ var logLabel = [
8288
+ eventType,
8289
+ (_c = (_b = (_a = stepConfig === null || stepConfig === void 0 ? void 0 : stepConfig.form) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : stepConfig === null || stepConfig === void 0 ? void 0 : stepConfig.key) !== null && _c !== void 0 ? _c : "_",
8290
+ (_d = extras === null || extras === void 0 ? void 0 : extras.form_key) !== null && _d !== void 0 ? _d : "_",
8291
+ (_e = extras === null || extras === void 0 ? void 0 : extras.field_key) !== null && _e !== void 0 ? _e : "_"
8292
+ ]
8293
+ .filter(function (item) { return kwikidToolkit.isNotEmptyValue(item); })
8294
+ .join(" | ");
8295
+ return {
8296
+ type: eventType,
8297
+ label: "" + logLabel,
8298
+ timestamp: new Date().getTime(),
8299
+ data: Object.assign({ step_key: stepConfig === null || stepConfig === void 0 ? void 0 : stepConfig.key, step_title: (_g = (_f = stepConfig === null || stepConfig === void 0 ? void 0 : stepConfig.props) === null || _f === void 0 ? void 0 : _f.title) !== null && _g !== void 0 ? _g : stepConfig === null || stepConfig === void 0 ? void 0 : stepConfig.title }, extras)
8300
+ };
8301
+ }
7938
8302
 
7939
8303
  var KwikIDFormsRendererComponent = /** @class */ (function () {
7940
8304
  function KwikIDFormsRendererComponent(hostElement, cdr, previewDialogService, loaderService, dialogs) {
@@ -8034,6 +8398,10 @@
8034
8398
  this.userConfig = changes.userConfig.currentValue;
8035
8399
  this.toggleLoader(false);
8036
8400
  }
8401
+ if (verifyChange("stepConfig")) {
8402
+ this.stepConfig = changes.stepConfig.currentValue;
8403
+ this.toggleLoader(false);
8404
+ }
8037
8405
  if (verifyChange("formsData")) {
8038
8406
  this.formsData = changes.formsData.currentValue;
8039
8407
  this.initializeForms("ON_CHANGE");
@@ -8047,6 +8415,9 @@
8047
8415
  this.toggleLoader(false);
8048
8416
  }
8049
8417
  };
8418
+ KwikIDFormsRendererComponent.prototype.triggerLogs = function (eventType, logs) {
8419
+ this.getLogs.emit(formatEventLogs(eventType, this.stepConfig, logs));
8420
+ };
8050
8421
  KwikIDFormsRendererComponent.prototype.toggleLoader = function (loader) {
8051
8422
  if (loader) {
8052
8423
  this.loaderService.show({
@@ -8061,14 +8432,14 @@
8061
8432
  KwikIDFormsRendererComponent.prototype.fetchFormConfig = function (url) {
8062
8433
  return __awaiter(this, void 0, void 0, function () {
8063
8434
  var response, data;
8064
- return __generator(this, function (_e) {
8065
- switch (_e.label) {
8435
+ return __generator(this, function (_o) {
8436
+ switch (_o.label) {
8066
8437
  case 0: return [4 /*yield*/, fetch(url, { method: "GET" })];
8067
8438
  case 1:
8068
- response = _e.sent();
8439
+ response = _o.sent();
8069
8440
  return [4 /*yield*/, response.json()];
8070
8441
  case 2:
8071
- data = _e.sent();
8442
+ data = _o.sent();
8072
8443
  return [2 /*return*/, data];
8073
8444
  }
8074
8445
  });
@@ -8076,14 +8447,14 @@
8076
8447
  };
8077
8448
  KwikIDFormsRendererComponent.prototype.initializeForms = function (eventType) {
8078
8449
  return __awaiter(this, void 0, void 0, function () {
8079
- return __generator(this, function (_e) {
8080
- switch (_e.label) {
8450
+ return __generator(this, function (_o) {
8451
+ switch (_o.label) {
8081
8452
  case 0:
8082
8453
  this.toggleLoader(true);
8083
8454
  this.allFormsData = this.formsData;
8084
8455
  return [4 /*yield*/, this.updateFormsList()];
8085
8456
  case 1:
8086
- _e.sent();
8457
+ _o.sent();
8087
8458
  if (!(eventType === "ON_CHANGE" &&
8088
8459
  this.findFormsListLength(this.formsList) === 1)) return [3 /*break*/, 2];
8089
8460
  this.handleOnClickSubmitForms(null);
@@ -8093,24 +8464,24 @@
8093
8464
  if (!kwikidToolkit.isNotEmptyValue(this.activeFormConfig)) return [3 /*break*/, 8];
8094
8465
  if (!kwikidToolkit.checkObjectKeyExists(this.activeFormConfig, "type")) return [3 /*break*/, 5];
8095
8466
  if (!(this.activeFormConfig.type !== EFormType.HTML)) return [3 /*break*/, 4];
8096
- return [4 /*yield*/, this.handleOnClickSetActiveForm(this.activeFormConfig.key)];
8467
+ return [4 /*yield*/, this.handleOnClickSetActiveForm(this.activeFormConfig.key, undefined)];
8097
8468
  case 3:
8098
- _e.sent();
8099
- _e.label = 4;
8469
+ _o.sent();
8470
+ _o.label = 4;
8100
8471
  case 4: return [3 /*break*/, 7];
8101
- case 5: return [4 /*yield*/, this.handleOnClickSetActiveForm(this.activeFormConfig.key)];
8472
+ case 5: return [4 /*yield*/, this.handleOnClickSetActiveForm(this.activeFormConfig.key, undefined)];
8102
8473
  case 6:
8103
- _e.sent();
8104
- _e.label = 7;
8474
+ _o.sent();
8475
+ _o.label = 7;
8105
8476
  case 7: return [3 /*break*/, 9];
8106
8477
  case 8:
8107
8478
  this.showForm = false;
8108
8479
  this.showFormFields = false;
8109
- _e.label = 9;
8480
+ _o.label = 9;
8110
8481
  case 9:
8111
8482
  this.loading = false;
8112
8483
  this.toggleLoader(false);
8113
- _e.label = 10;
8484
+ _o.label = 10;
8114
8485
  case 10: return [2 /*return*/];
8115
8486
  }
8116
8487
  });
@@ -8200,7 +8571,7 @@
8200
8571
  * @returns any[]
8201
8572
  */
8202
8573
  KwikIDFormsRendererComponent.prototype.assignSequenceNoToForm = function (formsList) {
8203
- var e_1, _e;
8574
+ var e_1, _o;
8204
8575
  var sequenceNo = 1;
8205
8576
  try {
8206
8577
  for (var formsList_1 = __values(formsList), formsList_1_1 = formsList_1.next(); !formsList_1_1.done; formsList_1_1 = formsList_1.next()) {
@@ -8218,7 +8589,7 @@
8218
8589
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
8219
8590
  finally {
8220
8591
  try {
8221
- if (formsList_1_1 && !formsList_1_1.done && (_e = formsList_1.return)) _e.call(formsList_1);
8592
+ if (formsList_1_1 && !formsList_1_1.done && (_o = formsList_1.return)) _o.call(formsList_1);
8222
8593
  }
8223
8594
  finally { if (e_1) throw e_1.error; }
8224
8595
  }
@@ -8238,7 +8609,7 @@
8238
8609
  * @returns any[]
8239
8610
  */
8240
8611
  KwikIDFormsRendererComponent.prototype.markFormInFormsListAsCompleted = function (formsList, formsListCompleted) {
8241
- var e_2, _e;
8612
+ var e_2, _o;
8242
8613
  try {
8243
8614
  for (var formsList_2 = __values(formsList), formsList_2_1 = formsList_2.next(); !formsList_2_1.done; formsList_2_1 = formsList_2.next()) {
8244
8615
  var form = formsList_2_1.value;
@@ -8255,7 +8626,7 @@
8255
8626
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
8256
8627
  finally {
8257
8628
  try {
8258
- if (formsList_2_1 && !formsList_2_1.done && (_e = formsList_2.return)) _e.call(formsList_2);
8629
+ if (formsList_2_1 && !formsList_2_1.done && (_o = formsList_2.return)) _o.call(formsList_2);
8259
8630
  }
8260
8631
  finally { if (e_2) throw e_2.error; }
8261
8632
  }
@@ -8268,7 +8639,7 @@
8268
8639
  * @returns any[]
8269
8640
  */
8270
8641
  KwikIDFormsRendererComponent.prototype.markFormInFormsListAsDisabled = function (formsList, formsListCompleted) {
8271
- var e_3, _e;
8642
+ var e_3, _o;
8272
8643
  try {
8273
8644
  for (var formsList_3 = __values(formsList), formsList_3_1 = formsList_3.next(); !formsList_3_1.done; formsList_3_1 = formsList_3.next()) {
8274
8645
  var form = formsList_3_1.value;
@@ -8299,14 +8670,14 @@
8299
8670
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
8300
8671
  finally {
8301
8672
  try {
8302
- if (formsList_3_1 && !formsList_3_1.done && (_e = formsList_3.return)) _e.call(formsList_3);
8673
+ if (formsList_3_1 && !formsList_3_1.done && (_o = formsList_3.return)) _o.call(formsList_3);
8303
8674
  }
8304
8675
  finally { if (e_3) throw e_3.error; }
8305
8676
  }
8306
8677
  return formsList;
8307
8678
  };
8308
8679
  KwikIDFormsRendererComponent.prototype.filterAllFormsData = function (allFormsData, formsList) {
8309
- var e_4, _e, _f;
8680
+ var e_4, _o, _p;
8310
8681
  var currentUserFormAllFormsData = {};
8311
8682
  try {
8312
8683
  for (var formsList_4 = __values(formsList), formsList_4_1 = formsList_4.next(); !formsList_4_1.done; formsList_4_1 = formsList_4.next()) {
@@ -8315,7 +8686,7 @@
8315
8686
  !form.hidden &&
8316
8687
  form.type !== EFormType.HTML) {
8317
8688
  if (kwikidToolkit.checkObjectKeyExists(allFormsData, form.key)) {
8318
- currentUserFormAllFormsData = Object.assign(Object.assign({}, currentUserFormAllFormsData), (_f = {}, _f[form.key] = allFormsData[form.key], _f));
8689
+ currentUserFormAllFormsData = Object.assign(Object.assign({}, currentUserFormAllFormsData), (_p = {}, _p[form.key] = allFormsData[form.key], _p));
8319
8690
  }
8320
8691
  }
8321
8692
  }
@@ -8323,14 +8694,14 @@
8323
8694
  catch (e_4_1) { e_4 = { error: e_4_1 }; }
8324
8695
  finally {
8325
8696
  try {
8326
- if (formsList_4_1 && !formsList_4_1.done && (_e = formsList_4.return)) _e.call(formsList_4);
8697
+ if (formsList_4_1 && !formsList_4_1.done && (_o = formsList_4.return)) _o.call(formsList_4);
8327
8698
  }
8328
8699
  finally { if (e_4) throw e_4.error; }
8329
8700
  }
8330
8701
  return currentUserFormAllFormsData;
8331
8702
  };
8332
8703
  KwikIDFormsRendererComponent.prototype.checkIfFormsStatusCompleted = function (formsList, formsListCompleted) {
8333
- var e_5, _e;
8704
+ var e_5, _o;
8334
8705
  var allFormsCompleted = true;
8335
8706
  try {
8336
8707
  for (var formsList_5 = __values(formsList), formsList_5_1 = formsList_5.next(); !formsList_5_1.done; formsList_5_1 = formsList_5.next()) {
@@ -8348,7 +8719,7 @@
8348
8719
  catch (e_5_1) { e_5 = { error: e_5_1 }; }
8349
8720
  finally {
8350
8721
  try {
8351
- if (formsList_5_1 && !formsList_5_1.done && (_e = formsList_5.return)) _e.call(formsList_5);
8722
+ if (formsList_5_1 && !formsList_5_1.done && (_o = formsList_5.return)) _o.call(formsList_5);
8352
8723
  }
8353
8724
  finally { if (e_5) throw e_5.error; }
8354
8725
  }
@@ -8366,20 +8737,20 @@
8366
8737
  };
8367
8738
  KwikIDFormsRendererComponent.prototype.updateFormsList = function () {
8368
8739
  return __awaiter(this, void 0, void 0, function () {
8369
- var _e, _f, form, triggers, rules, actions, rulesMapping, actions_1, actions_1_1, action, conditionEvaluation, actions_2, e_6_1, e_7_1, currentUserFormAllFormsData;
8370
- var e_7, _g, e_6, _h;
8371
- return __generator(this, function (_j) {
8372
- switch (_j.label) {
8740
+ var _o, _p, form, triggers, rules, actions, rulesMapping, actions_1, actions_1_1, action, conditionEvaluation, actions_2, e_6_1, e_7_1, currentUserFormAllFormsData;
8741
+ var e_7, _q, e_6, _r;
8742
+ return __generator(this, function (_s) {
8743
+ switch (_s.label) {
8373
8744
  case 0:
8374
8745
  this.formsList = this.convertFormListConfig(this.formsList);
8375
- _j.label = 1;
8746
+ _s.label = 1;
8376
8747
  case 1:
8377
- _j.trys.push([1, 14, 15, 16]);
8378
- _e = __values(this.formsList), _f = _e.next();
8379
- _j.label = 2;
8748
+ _s.trys.push([1, 14, 15, 16]);
8749
+ _o = __values(this.formsList), _p = _o.next();
8750
+ _s.label = 2;
8380
8751
  case 2:
8381
- if (!!_f.done) return [3 /*break*/, 13];
8382
- form = _f.value;
8752
+ if (!!_p.done) return [3 /*break*/, 13];
8753
+ form = _p.value;
8383
8754
  if (!(kwikidToolkit.checkObjectKeyExists(form, "default") &&
8384
8755
  kwikidToolkit.isNotEmptyValue(form.default))) return [3 /*break*/, 11];
8385
8756
  triggers = form.default.triggers;
@@ -8390,11 +8761,11 @@
8390
8761
  FORMS_LIST: this.formsList,
8391
8762
  ALL_FORMS_DATA: this.allFormsData
8392
8763
  }).mapping();
8393
- _j.label = 3;
8764
+ _s.label = 3;
8394
8765
  case 3:
8395
- _j.trys.push([3, 8, 9, 10]);
8766
+ _s.trys.push([3, 8, 9, 10]);
8396
8767
  actions_1 = (e_6 = void 0, __values(actions)), actions_1_1 = actions_1.next();
8397
- _j.label = 4;
8768
+ _s.label = 4;
8398
8769
  case 4:
8399
8770
  if (!!actions_1_1.done) return [3 /*break*/, 7];
8400
8771
  action = actions_1_1.value;
@@ -8406,19 +8777,19 @@
8406
8777
  }, this.takeAction.bind(this));
8407
8778
  return [4 /*yield*/, actions_2.execute()];
8408
8779
  case 5:
8409
- _j.sent();
8410
- _j.label = 6;
8780
+ _s.sent();
8781
+ _s.label = 6;
8411
8782
  case 6:
8412
8783
  actions_1_1 = actions_1.next();
8413
8784
  return [3 /*break*/, 4];
8414
8785
  case 7: return [3 /*break*/, 10];
8415
8786
  case 8:
8416
- e_6_1 = _j.sent();
8787
+ e_6_1 = _s.sent();
8417
8788
  e_6 = { error: e_6_1 };
8418
8789
  return [3 /*break*/, 10];
8419
8790
  case 9:
8420
8791
  try {
8421
- if (actions_1_1 && !actions_1_1.done && (_h = actions_1.return)) _h.call(actions_1);
8792
+ if (actions_1_1 && !actions_1_1.done && (_r = actions_1.return)) _r.call(actions_1);
8422
8793
  }
8423
8794
  finally { if (e_6) throw e_6.error; }
8424
8795
  return [7 /*endfinally*/];
@@ -8427,18 +8798,18 @@
8427
8798
  if (!kwikidToolkit.checkObjectKeyExists(form, "hidden")) {
8428
8799
  form.hidden = false;
8429
8800
  }
8430
- _j.label = 12;
8801
+ _s.label = 12;
8431
8802
  case 12:
8432
- _f = _e.next();
8803
+ _p = _o.next();
8433
8804
  return [3 /*break*/, 2];
8434
8805
  case 13: return [3 /*break*/, 16];
8435
8806
  case 14:
8436
- e_7_1 = _j.sent();
8807
+ e_7_1 = _s.sent();
8437
8808
  e_7 = { error: e_7_1 };
8438
8809
  return [3 /*break*/, 16];
8439
8810
  case 15:
8440
8811
  try {
8441
- if (_f && !_f.done && (_g = _e.return)) _g.call(_e);
8812
+ if (_p && !_p.done && (_q = _o.return)) _q.call(_o);
8442
8813
  }
8443
8814
  finally { if (e_7) throw e_7.error; }
8444
8815
  return [7 /*endfinally*/];
@@ -8487,12 +8858,12 @@
8487
8858
  };
8488
8859
  KwikIDFormsRendererComponent.prototype.takeAction = function (action, object) {
8489
8860
  return __awaiter(this, void 0, void 0, function () {
8490
- var _e, sources, sourceValue;
8491
- return __generator(this, function (_f) {
8492
- switch (_f.label) {
8861
+ var _o, sources, sourceValue;
8862
+ return __generator(this, function (_p) {
8863
+ switch (_p.label) {
8493
8864
  case 0:
8494
- _e = action.key;
8495
- switch (_e) {
8865
+ _o = action.key;
8866
+ switch (_o) {
8496
8867
  case ERendererActionKey.FORM_HIDE: return [3 /*break*/, 1];
8497
8868
  case ERendererActionKey.FORM_SHOW: return [3 /*break*/, 2];
8498
8869
  case EActionKey.SET_VALUE: return [3 /*break*/, 3];
@@ -8511,7 +8882,7 @@
8511
8882
  });
8512
8883
  return [4 /*yield*/, sources.getValueFromSource(action.props.value.source)];
8513
8884
  case 4:
8514
- sourceValue = _f.sent();
8885
+ sourceValue = _p.sent();
8515
8886
  sources.setValueToSource(action.props.value.destination, sourceValue);
8516
8887
  this.userConfig = sources.object.USER_CONFIG;
8517
8888
  this.formsData = sources.object.ALL_FORMS_DATA;
@@ -8548,12 +8919,12 @@
8548
8919
  * FormList - Listens to event of opening the FormView of when any form is clicked in FormList
8549
8920
  * @param selectedForm string
8550
8921
  */
8551
- KwikIDFormsRendererComponent.prototype.handleOnClickSetActiveForm = function (selectedForm) {
8552
- var _a, _b, _c, _d;
8922
+ KwikIDFormsRendererComponent.prototype.handleOnClickSetActiveForm = function (selectedForm, triggerType) {
8923
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
8553
8924
  return __awaiter(this, void 0, void 0, function () {
8554
8925
  var activeFormConfig, formConfig, formConfigFromUrl, url, formConfigFromPath, formConfigFromUrl, url, formConfigFromPath;
8555
- return __generator(this, function (_e) {
8556
- switch (_e.label) {
8926
+ return __generator(this, function (_o) {
8927
+ switch (_o.label) {
8557
8928
  case 0:
8558
8929
  this.showForm = false;
8559
8930
  this.toggleLoader(true);
@@ -8569,7 +8940,7 @@
8569
8940
  if (!kwikidToolkit.checkObjectKeyExists(activeFormConfig.props, "url")) return [3 /*break*/, 2];
8570
8941
  return [4 /*yield*/, this.fetchFormConfig(activeFormConfig.props.url)];
8571
8942
  case 1:
8572
- formConfigFromUrl = _e.sent();
8943
+ formConfigFromUrl = _o.sent();
8573
8944
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromUrl);
8574
8945
  return [3 /*break*/, 5];
8575
8946
  case 2:
@@ -8579,7 +8950,7 @@
8579
8950
  url = "" + ((_b = (_a = this.userConfig) === null || _a === void 0 ? void 0 : _a.backend) === null || _b === void 0 ? void 0 : _b.CONFIG_BASE_URL) + activeFormConfig.props.path;
8580
8951
  return [4 /*yield*/, this.fetchFormConfig(url)];
8581
8952
  case 3:
8582
- formConfigFromPath = _e.sent();
8953
+ formConfigFromPath = _o.sent();
8583
8954
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromPath);
8584
8955
  return [3 /*break*/, 5];
8585
8956
  case 4:
@@ -8595,13 +8966,13 @@
8595
8966
  else {
8596
8967
  console.error("No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!");
8597
8968
  }
8598
- _e.label = 5;
8969
+ _o.label = 5;
8599
8970
  case 5: return [3 /*break*/, 11];
8600
8971
  case 6:
8601
8972
  if (!kwikidToolkit.checkObjectKeyExists(activeFormConfig.formContent, "url")) return [3 /*break*/, 8];
8602
8973
  return [4 /*yield*/, this.fetchFormConfig(activeFormConfig.formContent.url)];
8603
8974
  case 7:
8604
- formConfigFromUrl = _e.sent();
8975
+ formConfigFromUrl = _o.sent();
8605
8976
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromUrl);
8606
8977
  return [3 /*break*/, 11];
8607
8978
  case 8:
@@ -8611,7 +8982,7 @@
8611
8982
  url = "" + ((_d = (_c = this.userConfig) === null || _c === void 0 ? void 0 : _c.backend) === null || _d === void 0 ? void 0 : _d.CONFIG_BASE_URL) + activeFormConfig.props.path;
8612
8983
  return [4 /*yield*/, this.fetchFormConfig(url)];
8613
8984
  case 9:
8614
- formConfigFromPath = _e.sent();
8985
+ formConfigFromPath = _o.sent();
8615
8986
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromPath);
8616
8987
  return [3 /*break*/, 11];
8617
8988
  case 10:
@@ -8621,13 +8992,27 @@
8621
8992
  else {
8622
8993
  console.error("No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!");
8623
8994
  }
8624
- _e.label = 11;
8995
+ _o.label = 11;
8625
8996
  case 11:
8626
8997
  formConfig = new Converter().updateFormConfigFromUserConfig(formConfig, this.userConfig);
8627
8998
  formConfig = new Converter().updateFormConfigMiscellaneous(formConfig, {
8628
8999
  formsListLength: this.findFormsListLength(this.formsList)
8629
9000
  });
8630
9001
  this.activeFormConfig = kwikidToolkit.mergeObjects(activeFormConfig, formConfig);
9002
+ switch (triggerType) {
9003
+ case "BUTTON_CLICK":
9004
+ this.triggerLogs(ELogEventType.FORM__FORM_OPEN_BUTTON_CLICK, {
9005
+ form_key: this.activeFormConfig.key,
9006
+ form_title: (_f = (_e = this.activeFormConfig) === null || _e === void 0 ? void 0 : _e.title) !== null && _f !== void 0 ? _f : (_h = (_g = this.activeFormConfig) === null || _g === void 0 ? void 0 : _g.props) === null || _h === void 0 ? void 0 : _h.title
9007
+ });
9008
+ break;
9009
+ default:
9010
+ this.triggerLogs(ELogEventType.FORM__FORM_OPEN_AUTO, {
9011
+ form_key: this.activeFormConfig.key,
9012
+ form_title: (_k = (_j = this.activeFormConfig) === null || _j === void 0 ? void 0 : _j.title) !== null && _k !== void 0 ? _k : (_m = (_l = this.activeFormConfig) === null || _l === void 0 ? void 0 : _l.props) === null || _m === void 0 ? void 0 : _m.title
9013
+ });
9014
+ break;
9015
+ }
8631
9016
  if (this.hostElement.nativeElement.offsetWidth < 600) {
8632
9017
  this.showFormSections = false;
8633
9018
  this.showFormFields = true;
@@ -8657,12 +9042,12 @@
8657
9042
  this.onClickFormFieldButton.emit(e);
8658
9043
  };
8659
9044
  KwikIDFormsRendererComponent.prototype.handleOnActionShowPopupForm = function (e, content) {
8660
- var _e;
9045
+ var _o;
8661
9046
  var _this = this;
8662
9047
  var _a;
8663
9048
  if (kwikidToolkit.checkObjectKeyExists(e, "activeFormData") &&
8664
9049
  kwikidToolkit.checkObjectKeyExists(e, "popupFormConfig")) {
8665
- var popupFormData = (_e = {}, _e[this.activeFormConfig.key] = e.activeFormData, _e);
9050
+ var popupFormData = (_o = {}, _o[this.activeFormConfig.key] = e.activeFormData, _o);
8666
9051
  this.activePopupFormData = kwikidToolkit.mergeObjects(this.allFormsData, popupFormData);
8667
9052
  this.popupFormConfig = e.popupFormConfig;
8668
9053
  var popupType = (_a = e === null || e === void 0 ? void 0 : e.popupType) !== null && _a !== void 0 ? _a : "DIALOG";
@@ -8742,18 +9127,18 @@
8742
9127
  * @param e any
8743
9128
  */
8744
9129
  KwikIDFormsRendererComponent.prototype.handleOnClickSaveForm = function (e, eventType, context) {
8745
- var _e;
9130
+ var _o;
8746
9131
  switch (eventType) {
8747
9132
  case "FORM":
8748
9133
  this.isUnsavedData = false;
8749
9134
  this.toggleLoader(true);
8750
- this.getFormData.emit((_e = {},
8751
- _e[this.activeFormConfig.key] = {
9135
+ this.getFormData.emit((_o = {},
9136
+ _o[this.activeFormConfig.key] = {
8752
9137
  formConfig: e["formConfig"],
8753
9138
  data: e["data"],
8754
9139
  extendedData: e["extendedData"]
8755
9140
  },
8756
- _e));
9141
+ _o));
8757
9142
  break;
8758
9143
  case "POPUP_FORM":
8759
9144
  this.previewDialogRef.next(e);
@@ -8811,7 +9196,7 @@
8811
9196
  }
8812
9197
  });
8813
9198
  if (previousFormConfigDirect) {
8814
- this.handleOnClickSetActiveForm(previousFormConfigDirect.key);
9199
+ this.handleOnClickSetActiveForm(previousFormConfigDirect.key, undefined);
8815
9200
  }
8816
9201
  }
8817
9202
  }
@@ -8824,7 +9209,7 @@
8824
9209
  }
8825
9210
  });
8826
9211
  if (previousFormConfig) {
8827
- this.handleOnClickSetActiveForm(previousFormConfig.key);
9212
+ this.handleOnClickSetActiveForm(previousFormConfig.key, undefined);
8828
9213
  }
8829
9214
  else {
8830
9215
  this.showFormSections = true;
@@ -8841,12 +9226,14 @@
8841
9226
  * @param e any
8842
9227
  */
8843
9228
  KwikIDFormsRendererComponent.prototype.handleOnClickSubmitForms = function (e) {
9229
+ var _a, _b;
8844
9230
  return __awaiter(this, void 0, void 0, function () {
8845
- var formsList, formsList_6, formsList_6_1, form;
8846
- var e_8, _e;
9231
+ var formsList, firstFormWithError, formsList_6, formsList_6_1, form;
9232
+ var e_8, _o;
8847
9233
  var _this = this;
8848
- return __generator(this, function (_f) {
9234
+ return __generator(this, function (_p) {
8849
9235
  formsList = JSON.parse(JSON.stringify(this.formsList));
9236
+ firstFormWithError = "";
8850
9237
  try {
8851
9238
  for (formsList_6 = __values(formsList), formsList_6_1 = formsList_6.next(); !formsList_6_1.done; formsList_6_1 = formsList_6.next()) {
8852
9239
  form = formsList_6_1.value;
@@ -8854,21 +9241,31 @@
8854
9241
  form.type !== EFormType.HTML &&
8855
9242
  form.required &&
8856
9243
  form.status !== EFormsListStatus.COMPLETED) {
8857
- this.toggleErrorNotification(true);
8858
- setTimeout(function () {
8859
- _this.toggleErrorNotification(false);
8860
- }, 3000);
8861
- return [2 /*return*/];
9244
+ this.triggerLogs(ELogEventType.FORM__SUBMIT_FORM_BUTTON_CLICK_INVALID, {
9245
+ form_key: form.key,
9246
+ form_title: (_a = form === null || form === void 0 ? void 0 : form.title) !== null && _a !== void 0 ? _a : (_b = form === null || form === void 0 ? void 0 : form.props) === null || _b === void 0 ? void 0 : _b.title,
9247
+ form_status: form.status
9248
+ });
9249
+ if (kwikidToolkit.isEmptyValue(firstFormWithError)) {
9250
+ firstFormWithError = form.key;
9251
+ }
8862
9252
  }
8863
9253
  }
8864
9254
  }
8865
9255
  catch (e_8_1) { e_8 = { error: e_8_1 }; }
8866
9256
  finally {
8867
9257
  try {
8868
- if (formsList_6_1 && !formsList_6_1.done && (_e = formsList_6.return)) _e.call(formsList_6);
9258
+ if (formsList_6_1 && !formsList_6_1.done && (_o = formsList_6.return)) _o.call(formsList_6);
8869
9259
  }
8870
9260
  finally { if (e_8) throw e_8.error; }
8871
9261
  }
9262
+ if (kwikidToolkit.isNotEmptyValue(firstFormWithError)) {
9263
+ this.toggleErrorNotification(true);
9264
+ setTimeout(function () {
9265
+ _this.toggleErrorNotification(false);
9266
+ }, 3000);
9267
+ return [2 /*return*/];
9268
+ }
8872
9269
  this.onClickSubmit.emit(e);
8873
9270
  return [2 /*return*/];
8874
9271
  });
@@ -8904,7 +9301,7 @@
8904
9301
  return KwikIDFormsRendererComponent;
8905
9302
  }());
8906
9303
  /** @nocollapse */ KwikIDFormsRendererComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDFormsRendererComponent, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }, { token: i6.TuiPreviewDialogService }, { token: i2__namespace.KwikUILoaderService }, { token: i4.TuiDialogService }], target: i0__namespace.ɵɵFactoryTarget.Component });
8907
- /** @nocollapse */ KwikIDFormsRendererComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormsRendererComponent, selector: "kwikid-forms-renderer", inputs: { stepConfig: "stepConfig", userConfig: "userConfig", formsData: "formsData", activeFormData: "activeFormData", apiCallResponse: "apiCallResponse", buttonClickResponse: "buttonClickResponse" }, outputs: { onClickSubmit: "onClickSubmit", getFormData: "getFormData", onClickApiCall: "onClickApiCall", getLogs: "getLogs", onClickFormFieldButton: "onClickFormFieldButton" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, viewQueries: [{ propertyName: "preview", first: true, predicate: ["preview"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div ngClass=\"kwikid-renderer\">\n <div\n ngClass=\"kwikid-layout-container\"\n *ngIf=\"!loading\"\n >\n <div\n ngClass=\"kwikid-sections-container\"\n *ngIf=\"showFormSections\"\n class=\"active\"\n [class.active]=\"showFormSections\"\n [class.mobile]=\"isMobileView\"\n >\n <kwikid-forms-list\n [showFormFields]=\"this.showFormFields\"\n [activeFormConfig]=\"this.activeFormConfig\"\n [userConfig]=\"this.userConfig\"\n [formsList]=\"this.formsList\"\n [stepConfig]=\"this.stepConfig\"\n [isUnsavedData]=\"this.isUnsavedData\"\n [formsListCompleted]=\"this.formsListCompleted\"\n [isMobileView]=\"this.isMobileView\"\n (onClickSetActiveForm)=\"this.handleOnClickSetActiveForm($event)\"\n (onClickSubmitForms)=\"this.handleOnClickSubmitForms($event)\"\n ></kwikid-forms-list>\n </div>\n <div\n ngClass=\"kwikid-forms-container\"\n *ngIf=\"\n this.showForm &&\n this.showFormFields &&\n this.activeFormConfig !== undefined\n \"\n [class.active]=\"showFormFields\"\n [class.mobile]=\"isMobileView\"\n [@panelInOut]\n >\n <kwikid-form-view\n *ngIf=\"this.activeFormConfig.type === 'FORM'\"\n [formConfig]=\"this.activeFormConfig\"\n [allFormsData]=\"this.allFormsData\"\n [isMobileView]=\"this.isMobileView\"\n [userConfig]=\"this.userConfig\"\n [popupFormCallback]=\"this.popupFormCallback\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getUnsavedDataState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (onActionShowPopupForm)=\"\n this.handleOnActionShowPopupForm($event, content)\n \"\n (onClickGoBack)=\"this.handleOnClickGoBack($event)\"\n (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'FORM', undefined)\n \"\n ></kwikid-form-view>\n </div>\n </div>\n</div>\n\n<kwikui-loader></kwikui-loader>\n\n<tui-push\n id=\"error-notification\"\n *tuiPush=\"showErrorNotification\"\n heading=\"Please complete the required Forms!\"\n type=\"Error\"\n (close)=\"toggleErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n<ng-template\n #preview\n let-preview\n>\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n class=\"preview-container\"\n *ngIf=\"popupFormConfig\"\n >\n <tui-preview-title *ngIf=\"previewProperties.title !== ''\">{{\n previewProperties.title\n }}</tui-preview-title>\n\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formData]=\"activePopupFormData\"\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"allFormsData\"\n [userConfig]=\"this.userConfig\"\n [isMobileView]=\"this.isMobileView\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getSavedState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'POPUP_FORM', undefined)\n \"\n ></kwikid-form-view>\n </div>\n\n <button\n tuiIconButton\n tuiPreviewAction\n icon=\"tuiIconCloseLarge\"\n title=\"Close\"\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n</ng-template>\n<ng-template\n #content\n let-context\n>\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formData]=\"activePopupFormData\"\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"allFormsData\"\n [userConfig]=\"this.userConfig\"\n [isMobileView]=\"this.isMobileView\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getSavedState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'POPUP_FORM', context)\n \"\n ></kwikid-form-view>\n </div>\n</ng-template>\n", styles: [":host{position:relative;height:100%}.kwikid-root{width:100%;height:100%}.kwikid-renderer{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;width:100%;height:100%}.kwikid-layout-container{display:flex;flex-direction:row;padding:0 1rem;height:100%;justify-content:center;align-items:stretch;background:var(--tui-secondary-active);position:relative}.kwikid-sections-container{display:block;width:100%;max-width:400px;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);margin:auto 1rem auto 0;box-shadow:0 0 12px -8px var(--tui-secondary)}.kwikid-sections-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s;height:100%;border-radius:0;max-width:unset}.kwikid-forms-container{display:block;width:100%;max-width:min(50%,600px);margin:auto 0;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);box-shadow:0 0 12px -8px var(--tui-primary)}.kwikid-forms-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s;height:100%;border-radius:0;max-width:unset}@media screen and (max-width: 600px){.kwikid-layout-container{padding:0;background:transparent}.kwikid-sections-container{position:absolute;max-width:100%;bottom:-10000px;left:-10000px;opacity:0;padding:0;visibility:hidden}.kwikid-sections-container.active{visibility:visible}.kwikid-sections-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container{display:none;max-width:100%;height:100%;padding:0;border-radius:0;box-shadow:none}.kwikid-forms-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container.active{display:block}}#error-notification{background-color:var(--tui-error-fill);color:#fff!important}#error-notification .t-top{color:#fff!important}#error-notification .t-close{color:#fff!important}.preview-container{display:flex!important;flex-grow:1!important;flex-direction:column!important;align-content:center!important;justify-content:space-between!important;align-items:stretch!important}.preview-container .preview-iframe{width:100vw;height:100vh}.preview-container .preview-unavailable{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:center;color:#fff;font-size:1.2rem;top:50%;left:50%;width:100%;height:100vh}.preview-container .preview-unavailable>*:not(:last-child){margin-bottom:1rem}.kwikid-form-view-popup-container{border-radius:1rem;background:var(--tui-base-01)}\n", "::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: ["showFormFields", "userConfig", "stepConfig", "activeFormConfig", "formsList", "formsListCompleted", "isMobileView", "isUnsavedData"], outputs: ["onClickSetActiveForm", "onClickHideFormsList", "onClickSubmitForms"] }, { type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: ["allFormsData", "apiCallResponse", "buttonClickResponse", "formConfig", "formData", "isMobileView", "popupFormCallback", "userConfig"], outputs: ["getLogs", "getUnsavedDataState", "onActionShowPopupForm", "onClickApiCall", "onClickFormFieldButton", "onClickGoBack", "onClickSaveForm", "onClickViewForms"] }, { type: i2__namespace.KwikUILoaderComponent, selector: "kwikui-loader" }, { type: i5__namespace.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "timestamp"], outputs: ["close"] }, { type: i4__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i6__namespace.TuiPreviewComponent, selector: "tui-preview", inputs: ["zoomable", "rotatable"] }, { type: i6__namespace.TuiPreviewTitleComponent, selector: "tui-preview-title" }, { type: i4__namespace.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i3__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i5__namespace.TuiPushDirective, selector: "tui-push" }, { type: i6__namespace.TuiPreviewActionDirective, selector: "[tuiPreviewAction]" }], animations: [
9304
+ /** @nocollapse */ KwikIDFormsRendererComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormsRendererComponent, selector: "kwikid-forms-renderer", inputs: { stepConfig: "stepConfig", userConfig: "userConfig", formsData: "formsData", activeFormData: "activeFormData", apiCallResponse: "apiCallResponse", buttonClickResponse: "buttonClickResponse" }, outputs: { onClickSubmit: "onClickSubmit", getFormData: "getFormData", onClickApiCall: "onClickApiCall", getLogs: "getLogs", onClickFormFieldButton: "onClickFormFieldButton" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, viewQueries: [{ propertyName: "preview", first: true, predicate: ["preview"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div ngClass=\"kwikid-renderer\">\n <div\n ngClass=\"kwikid-layout-container\"\n *ngIf=\"!loading\"\n >\n <div\n ngClass=\"kwikid-sections-container\"\n *ngIf=\"showFormSections\"\n class=\"active\"\n [class.active]=\"showFormSections\"\n [class.mobile]=\"isMobileView\"\n >\n <kwikid-forms-list\n [showFormFields]=\"this.showFormFields\"\n [activeFormConfig]=\"this.activeFormConfig\"\n [userConfig]=\"this.userConfig\"\n [formsList]=\"this.formsList\"\n [stepConfig]=\"this.stepConfig\"\n [isUnsavedData]=\"this.isUnsavedData\"\n [formsListCompleted]=\"this.formsListCompleted\"\n [isMobileView]=\"this.isMobileView\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSetActiveForm)=\"\n this.handleOnClickSetActiveForm($event, 'BUTTON_CLICK')\n \"\n (onClickSubmitForms)=\"this.handleOnClickSubmitForms($event)\"\n ></kwikid-forms-list>\n </div>\n <div\n ngClass=\"kwikid-forms-container\"\n *ngIf=\"\n this.showForm &&\n this.showFormFields &&\n this.activeFormConfig !== undefined\n \"\n [class.active]=\"showFormFields\"\n [class.mobile]=\"isMobileView\"\n [@panelInOut]\n >\n <kwikid-form-view\n *ngIf=\"this.activeFormConfig.type === 'FORM'\"\n [formConfig]=\"this.activeFormConfig\"\n [allFormsData]=\"this.allFormsData\"\n [isMobileView]=\"this.isMobileView\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [popupFormCallback]=\"this.popupFormCallback\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getUnsavedDataState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (onActionShowPopupForm)=\"\n this.handleOnActionShowPopupForm($event, content)\n \"\n (onClickGoBack)=\"this.handleOnClickGoBack($event)\"\n (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'FORM', undefined)\n \"\n ></kwikid-form-view>\n </div>\n </div>\n</div>\n\n<kwikui-loader></kwikui-loader>\n\n<tui-push\n id=\"error-notification\"\n *tuiPush=\"showErrorNotification\"\n heading=\"Please complete the required Forms!\"\n type=\"Error\"\n (close)=\"toggleErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n<ng-template\n #preview\n let-preview\n>\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n class=\"preview-container\"\n *ngIf=\"popupFormConfig\"\n >\n <tui-preview-title *ngIf=\"previewProperties.title !== ''\">{{\n previewProperties.title\n }}</tui-preview-title>\n\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formData]=\"activePopupFormData\"\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"allFormsData\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [isMobileView]=\"this.isMobileView\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getSavedState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'POPUP_FORM', undefined)\n \"\n ></kwikid-form-view>\n </div>\n\n <button\n tuiIconButton\n tuiPreviewAction\n icon=\"tuiIconCloseLarge\"\n title=\"Close\"\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n</ng-template>\n<ng-template\n #content\n let-context\n>\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formData]=\"activePopupFormData\"\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"allFormsData\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [isMobileView]=\"this.isMobileView\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getSavedState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'POPUP_FORM', context)\n \"\n ></kwikid-form-view>\n </div>\n</ng-template>\n", styles: [":host{position:relative;height:100%}.kwikid-root{width:100%;height:100%}.kwikid-renderer{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;width:100%;height:100%}.kwikid-layout-container{display:flex;flex-direction:row;padding:0 1rem;height:100%;justify-content:center;align-items:stretch;background:var(--tui-secondary-active);position:relative}.kwikid-sections-container{display:block;width:100%;max-width:400px;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);margin:auto 1rem auto 0;box-shadow:0 0 12px -8px var(--tui-secondary)}.kwikid-sections-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s;height:100%;border-radius:0;max-width:unset}.kwikid-forms-container{display:block;width:100%;max-width:min(50%,600px);margin:auto 0;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);box-shadow:0 0 12px -8px var(--tui-primary)}.kwikid-forms-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s;height:100%;border-radius:0;max-width:unset}@media screen and (max-width: 600px){.kwikid-layout-container{padding:0;background:transparent}.kwikid-sections-container{position:absolute;max-width:100%;bottom:-10000px;left:-10000px;opacity:0;padding:0;visibility:hidden}.kwikid-sections-container.active{visibility:visible}.kwikid-sections-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container{display:none;max-width:100%;height:100%;padding:0;border-radius:0;box-shadow:none}.kwikid-forms-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container.active{display:block}}#error-notification{background-color:var(--tui-error-fill);color:#fff!important}#error-notification .t-top{color:#fff!important}#error-notification .t-close{color:#fff!important}.preview-container{display:flex!important;flex-grow:1!important;flex-direction:column!important;align-content:center!important;justify-content:space-between!important;align-items:stretch!important}.preview-container .preview-iframe{width:100vw;height:100vh}.preview-container .preview-unavailable{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:center;color:#fff;font-size:1.2rem;top:50%;left:50%;width:100%;height:100vh}.preview-container .preview-unavailable>*:not(:last-child){margin-bottom:1rem}.kwikid-form-view-popup-container{border-radius:1rem;background:var(--tui-base-01)}\n", "::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: ["showFormFields", "userConfig", "stepConfig", "activeFormConfig", "formsList", "formsListCompleted", "isMobileView", "isUnsavedData"], outputs: ["getLogs", "onClickSetActiveForm", "onClickHideFormsList", "onClickSubmitForms"] }, { type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: ["allFormsData", "apiCallResponse", "buttonClickResponse", "formConfig", "formData", "isMobileView", "popupFormCallback", "userConfig", "stepConfig"], outputs: ["getLogs", "getUnsavedDataState", "onActionShowPopupForm", "onClickApiCall", "onClickFormFieldButton", "onClickGoBack", "onClickSaveForm", "onClickViewForms"] }, { type: i2__namespace.KwikUILoaderComponent, selector: "kwikui-loader" }, { type: i5__namespace.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "lines", "timestamp"], outputs: ["close"] }, { type: i4__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i6__namespace.TuiPreviewComponent, selector: "tui-preview", inputs: ["zoomable", "rotatable"] }, { type: i6__namespace.TuiPreviewTitleComponent, selector: "tui-preview-title" }, { type: i4__namespace.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i3__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i5__namespace.TuiPushDirective, selector: "tui-push" }, { type: i6__namespace.TuiPreviewActionDirective, selector: "[tuiPreviewAction]" }], animations: [
8908
9305
  animations.trigger("panelInOut", [
8909
9306
  animations.transition(":enter", [
8910
9307
  animations.style({ transform: "translateY(100%)" }),
@@ -8915,6 +9312,9 @@
8915
9312
  ])
8916
9313
  ])
8917
9314
  ] });
9315
+ __decorate([
9316
+ kwikidToolkit.logMethod
9317
+ ], KwikIDFormsRendererComponent.prototype, "triggerLogs", null);
8918
9318
  __decorate([
8919
9319
  kwikidToolkit.logMethod
8920
9320
  ], KwikIDFormsRendererComponent.prototype, "toggleLoader", null);
@@ -9038,7 +9438,7 @@
9038
9438
  type: i0.Output
9039
9439
  }], onClickFormFieldButton: [{
9040
9440
  type: i0.Output
9041
- }], toggleLoader: [], fetchFormConfig: [], convertFormListConfig: [], assignSequenceNoToForm: [], findCompletedFormsList: [], markFormInFormsListAsCompleted: [], markFormInFormsListAsDisabled: [], filterAllFormsData: [], checkIfFormsStatusCompleted: [], findActiveFormConfig: [], updateFormsList: [], showPreview: [], formHide: [], formShow: [], findFormsListLength: [], handleOnClickSetActiveForm: [], handleGetUnsavedState: [], handleOnClickFormFieldButton: [], handleOnActionShowPopupForm: [], handleOnClickSaveForm: [], handleOnClickGoBack: [], handleOnClickSubmitForms: [], handleGetLogs: [] } });
9441
+ }], triggerLogs: [], toggleLoader: [], fetchFormConfig: [], convertFormListConfig: [], assignSequenceNoToForm: [], findCompletedFormsList: [], markFormInFormsListAsCompleted: [], markFormInFormsListAsDisabled: [], filterAllFormsData: [], checkIfFormsStatusCompleted: [], findActiveFormConfig: [], updateFormsList: [], showPreview: [], formHide: [], formShow: [], findFormsListLength: [], handleOnClickSetActiveForm: [], handleGetUnsavedState: [], handleOnClickFormFieldButton: [], handleOnActionShowPopupForm: [], handleOnClickSaveForm: [], handleOnClickGoBack: [], handleOnClickSubmitForms: [], handleGetLogs: [] } });
9042
9442
 
9043
9443
  var JsonFormatPipe = /** @class */ (function () {
9044
9444
  function JsonFormatPipe() {