kwikid-forms 0.6.27 → 0.6.28

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 +903 -513
  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 +261 -20
  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 +446 -38
  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 (_6) {
4540
+ switch (_6.label) {
4478
4541
  case 0: return [4 /*yield*/, this.initFormConfig(this.formConfig)];
4479
4542
  case 1:
4480
- res = _o.sent();
4543
+ res = _6.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 _6, _7, _8;
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, (_6 = {},
4595
+ _6[popupFormConfig.key] = popupFormData,
4596
+ _6));
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((_7 = {},
4649
+ _7[field_1.key] = kwikidToolkit.getObjectDeepCopy([image]),
4650
+ _7), { 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 (_6) {
4671
+ switch (_6.label) {
4592
4672
  case 0: return [4 /*yield*/, validations_1.validate(field_1.validation)];
4593
4673
  case 1:
4594
- _o.sent();
4674
+ _6.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((_8 = {},
4715
+ _8[field_1.key] = kwikidToolkit.getObjectDeepCopy([video]),
4716
+ _8), { 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 (_6) {
4737
+ switch (_6.label) {
4647
4738
  case 0: return [4 /*yield*/, validations_2.validate(field_1.validation)];
4648
4739
  case 1:
4649
- _o.sent();
4740
+ _6.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 (_6) {
4804
+ switch (_6.label) {
4703
4805
  case 0: return [4 /*yield*/, validations_3.validate(field_2.validation)];
4704
4806
  case 1:
4705
- _o.sent();
4807
+ _6.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 (_6) {
4823
+ switch (_6.label) {
4722
4824
  case 0: return [4 /*yield*/, this.initFormConfig(this.formConfig)];
4723
4825
  case 1:
4724
- _o.sent();
4826
+ _6.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 _6, _7, preTask, task, e_1_1, _8, _loop_1, this_1, _9, _10, field, _11, _12, field, validations, e_2_1;
4847
+ var e_1, _13, e_3, _14, e_2, _15;
4743
4848
  var _this = this;
4744
- return __generator(this, function (_y) {
4745
- switch (_y.label) {
4849
+ return __generator(this, function (_16) {
4850
+ switch (_16.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
+ _16.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
+ _16.trys.push([1, 7, 8, 9]);
4867
+ _6 = __values(this.formConfig.tasks.pre), _7 = _6.next();
4868
+ _16.label = 2;
4759
4869
  case 2:
4760
- if (!!_p.done) return [3 /*break*/, 6];
4761
- preTask = _p.value;
4870
+ if (!!_7.done) return [3 /*break*/, 6];
4871
+ preTask = _7.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
+ _16.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
+ _16.sent();
4792
4902
  if (this.stopTaskExecution) {
4793
4903
  return [3 /*break*/, 6];
4794
4904
  }
4795
- _y.label = 5;
4905
+ _16.label = 5;
4796
4906
  case 5:
4797
- _p = _o.next();
4907
+ _7 = _6.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 = _16.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 (_7 && !_7.done && (_13 = _6.return)) _13.call(_6);
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
+ _16.label = 10;
4813
4923
  case 10:
4814
4924
  if (this.stopTaskExecution) {
4815
4925
  return [2 /*return*/, false];
4816
4926
  }
4817
- _q = this;
4927
+ _8 = 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
+ _8.formGroup = _16.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 _17, _18;
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), (_17 = {}, _17[field.key] = convertFormFieldValueToStandardFormat(field, this_1.formGroup.controls[field.key].value), _17));
4943
+ this_1.formData = Object.assign(Object.assign({}, this_1.formData), (_18 = {}, _18[field.key] = convertFormFieldValueToStandardFormat(field, this_1.formGroup.controls[field.key].value), _18));
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 (_6) {
4958
+ var _7, _8;
4959
+ var _9 = __read(_6, 2), previousValue = _9[0], currentValue = _9[1];
4960
+ _this.previousFormData = Object.assign(Object.assign({}, _this.previousFormData), (_7 = {}, _7[field.key] = convertFormFieldValueToStandardFormat(field, previousValue), _7));
4961
+ _this.formData = Object.assign(Object.assign({}, _this.formData), (_8 = {}, _8[field.key] = convertFormFieldValueToStandardFormat(field, currentValue), _8));
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 (_9 = __values(this.formFields), _10 = _9.next(); !_10.done; _10 = _9.next()) {
4979
+ field = _10.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 (_10 && !_10.done && (_14 = _9.return)) _14.call(_9);
4877
4987
  }
4878
4988
  finally { if (e_3) throw e_3.error; }
4879
4989
  }
4880
- _y.label = 12;
4990
+ _16.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
+ _16.trys.push([12, 18, 19, 20]);
4993
+ _11 = __values(this.formFields), _12 = _11.next();
4994
+ _16.label = 13;
4885
4995
  case 13:
4886
- if (!!_u.done) return [3 /*break*/, 17];
4887
- field = _u.value;
4996
+ if (!!_12.done) return [3 /*break*/, 17];
4997
+ field = _12.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
+ _16.sent();
5012
+ _16.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
+ _16.label = 16;
4911
5021
  case 16:
4912
- _u = _t.next();
5022
+ _12 = _11.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 = _16.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 (_12 && !_12.done && (_15 = _11.return)) _15.call(_11);
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, _6, _7, action, conditionSuccess, actions, e_4_1;
5070
+ var e_4, _8;
5071
+ return __generator(this, function (_9) {
5072
+ switch (_9.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
+ _9.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
+ _9.trys.push([1, 6, 7, 8]);
5085
+ _6 = __values(childFieldGroupConfig.actions), _7 = _6.next();
5086
+ _9.label = 2;
4977
5087
  case 2:
4978
- if (!!_p.done) return [3 /*break*/, 5];
4979
- action = _p.value;
5088
+ if (!!_7.done) return [3 /*break*/, 5];
5089
+ action = _7.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
+ _9.sent();
5103
+ _9.label = 4;
4994
5104
  case 4:
4995
- _p = _o.next();
5105
+ _7 = _6.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 = _9.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 (_7 && !_7.done && (_8 = _6.return)) _8.call(_6);
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 (_6) {
5126
+ switch (_6.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
+ _6.sent();
5133
+ _6.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, _6, _7, action, conditionSuccess, actions, e_5_1;
5142
+ var e_5, _8;
5143
+ return __generator(this, function (_9) {
5144
+ switch (_9.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
+ _9.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
+ _9.trys.push([1, 6, 7, 8]);
5157
+ _6 = __values(connectedFieldConfig.actions), _7 = _6.next();
5158
+ _9.label = 2;
5049
5159
  case 2:
5050
- if (!!_p.done) return [3 /*break*/, 5];
5051
- action = _p.value;
5160
+ if (!!_7.done) return [3 /*break*/, 5];
5161
+ action = _7.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
+ _9.sent();
5175
+ _9.label = 4;
5066
5176
  case 4:
5067
- _p = _o.next();
5177
+ _7 = _6.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 = _9.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 (_7 && !_7.done && (_8 = _6.return)) _8.call(_6);
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 (_6) {
5199
+ switch (_6.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 = _6.sent();
5207
+ _6.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, _6, e_7, _7;
5223
+ return __generator(this, function (_8) {
5224
+ switch (_8.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
+ _8.label = 1;
5122
5232
  case 1:
5123
- _q.trys.push([1, 6, 7, 8]);
5233
+ _8.trys.push([1, 6, 7, 8]);
5124
5234
  connectedFieldGroups_1 = __values(connectedFieldGroups), connectedFieldGroups_1_1 = connectedFieldGroups_1.next();
5125
- _q.label = 2;
5235
+ _8.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
+ _8.sent();
5242
+ _8.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 = _8.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 && (_6 = connectedFieldGroups_1.return)) _6.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
+ _8.label = 9;
5151
5261
  case 9:
5152
- _q.trys.push([9, 14, 15, 16]);
5262
+ _8.trys.push([9, 14, 15, 16]);
5153
5263
  connectedFields_1 = __values(connectedFields), connectedFields_1_1 = connectedFields_1.next();
5154
- _q.label = 10;
5264
+ _8.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 = _8.sent();
5271
+ _8.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 = _8.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 && (_7 = connectedFields_1.return)) _7.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 _6;
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((_6 = {},
5301
+ _6[e.key] = this.formData[e.key],
5302
+ _6), { 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, _6, e_9, _7;
5312
+ return __generator(this, function (_8) {
5313
+ switch (_8.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
+ _8.label = 1;
5209
5322
  case 1:
5210
- _q.trys.push([1, 6, 7, 8]);
5323
+ _8.trys.push([1, 6, 7, 8]);
5211
5324
  values_1 = __values(values), values_1_1 = values_1.next();
5212
- _q.label = 2;
5325
+ _8.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
+ _8.sent();
5332
+ _8.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 = _8.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 && (_6 = values_1.return)) _6.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, _9;
5351
+ return __generator(this, function (_10) {
5352
+ switch (_10.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
+ _9 = 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 = _9.apply(void 0, [_10.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
+ _8.label = 10;
5264
5378
  case 10:
5265
- _q.trys.push([10, 15, 16, 17]);
5379
+ _8.trys.push([10, 15, 16, 17]);
5266
5380
  values_2 = __values(values), values_2_1 = values_2.next();
5267
- _q.label = 11;
5381
+ _8.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
+ _8.sent();
5388
+ _8.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 = _8.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 && (_7 = values_2.return)) _7.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
+ _8.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 _6;
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((_6 = {},
5421
+ _6[e.key] = this.formData[e.key],
5422
+ _6), { 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, _6, cameraHelper, _7, _8;
5431
+ return __generator(this, function (_9) {
5432
+ switch (_9.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
+ _6 = this.cameraType;
5448
+ switch (_6) {
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
+ _7 = this;
5462
+ _8 = {};
5338
5463
  return [4 /*yield*/, cameraHelper.getCameraWatermarkData()];
5339
5464
  case 2:
5340
- _p.cameraData = (_q.watermark = _r.sent(),
5341
- _q);
5465
+ _7.cameraData = (_8.watermark = _9.sent(),
5466
+ _8);
5342
5467
  return [3 /*break*/, 4];
5343
5468
  case 3:
5344
5469
  this.cameraData = undefined;
5345
- _r.label = 4;
5470
+ _9.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 _6;
5372
5498
  var _this = this;
5373
- return __generator(this, function (_p) {
5374
- switch (_p.label) {
5499
+ return __generator(this, function (_7) {
5500
+ switch (_7.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
+ _7.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((_6 = {},
5519
+ _6[field.key] = kwikidToolkit.getObjectDeepCopy([media]),
5520
+ _6), { 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 (_6) {
5541
+ switch (_6.label) {
5416
5542
  case 0: return [4 /*yield*/, validations_4.validate(field.validation)];
5417
5543
  case 1:
5418
- _o.sent();
5544
+ _6.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
+ _7.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 _6;
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((_6 = {},
5702
+ _6[key] = normalFiles,
5703
+ _6), { 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 (_6) {
5718
+ switch (_6.label) {
5572
5719
  case 0: return [4 /*yield*/, validations_5.validate(field.validation)];
5573
5720
  case 1:
5574
- _o.sent();
5721
+ _6.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 (_6) {
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, _6;
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 _7 = __values(this.formFields), _8 = _7.next(); !_8.done; _8 = _7.next()) {
5830
+ var field_3 = _8.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 (_8 && !_8.done && (_6 = _7.return)) _6.call(_7);
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 _6;
5678
5850
  if (field.isFormElement && !field.hidden) {
5679
- var fieldData = (_o = {},
5680
- _o[field.key] = {
5851
+ var fieldData = (_6 = {},
5852
+ _6[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
+ _6);
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 _6;
5701
5878
  var _this = this;
5702
- this.formGroup.patchValue((_o = {},
5703
- _o[e.key] = e.value,
5704
- _o), { emitEvent: false });
5879
+ this.formGroup.patchValue((_6 = {},
5880
+ _6[e.key] = e.value,
5881
+ _6), { 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 (_6) {
5898
+ switch (_6.label) {
5722
5899
  case 0: return [4 /*yield*/, validations_6.validate(field.validation)];
5723
5900
  case 1:
5724
- _o.sent();
5901
+ _6.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 (_6) {
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 _6, _7, f, _8, _9, action, resetField, actions, e_11_1, e_12_1;
5926
+ var e_12, _10, e_11, _11;
5927
+ return __generator(this, function (_12) {
5928
+ switch (_12.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
+ _12.trys.push([0, 11, 12, 13]);
5931
+ _6 = __values(field.reset.fields), _7 = _6.next();
5932
+ _12.label = 1;
5753
5933
  case 1:
5754
- if (!!_p.done) return [3 /*break*/, 10];
5755
- f = _p.value;
5756
- _u.label = 2;
5934
+ if (!!_7.done) return [3 /*break*/, 10];
5935
+ f = _7.value;
5936
+ _12.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
+ _12.trys.push([2, 7, 8, 9]);
5939
+ _8 = (e_11 = void 0, __values(f.actions)), _9 = _8.next();
5940
+ _12.label = 3;
5761
5941
  case 3:
5762
- if (!!_r.done) return [3 /*break*/, 6];
5763
- action = _r.value;
5942
+ if (!!_9.done) return [3 /*break*/, 6];
5943
+ action = _9.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
+ _12.sent();
5956
+ _12.label = 5;
5777
5957
  case 5:
5778
- _r = _q.next();
5958
+ _9 = _8.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 = _12.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 (_9 && !_9.done && (_11 = _8.return)) _11.call(_8);
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
+ _7 = _6.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 = _12.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 (_7 && !_7.done && (_10 = _6.return)) _10.call(_6);
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 _6, _7;
6007
+ return __generator(this, function (_8) {
6008
+ switch (_8.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 = _8.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), (_6 = {}, _6[field.key] = api.response.value, _6));
6023
+ this.formGroup.patchValue((_7 = {},
6024
+ _7[field.key] = api.response.value,
6025
+ _7), { 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 = _8.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
+ _8.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 (_6) {
6056
+ switch (_6.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 = _6.sent();
5888
6068
  apis = new Apis({
5889
6069
  FORM_CONFIG: this.formConfig,
5890
6070
  API_CONFIG: api,
@@ -5897,36 +6077,36 @@
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 = _6.sent();
6081
+ _6.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;
5909
6089
  return __awaiter(this, void 0, void 0, function () {
5910
6090
  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) {
6091
+ return __generator(this, function (_6) {
6092
+ switch (_6.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 = _6.sent();
5918
6098
  return [4 /*yield*/, apis.setRequestHeaders()];
5919
6099
  case 2:
5920
- api = _o.sent();
6100
+ api = _6.sent();
5921
6101
  return [4 /*yield*/, apis.validateRequestHeaders()];
5922
6102
  case 3:
5923
- api = _o.sent();
6103
+ api = _6.sent();
5924
6104
  return [4 /*yield*/, apis.setRequestBody()];
5925
6105
  case 4:
5926
- api = _o.sent();
6106
+ api = _6.sent();
5927
6107
  return [4 /*yield*/, apis.validateRequestBody()];
5928
6108
  case 5:
5929
- api = _o.sent();
6109
+ api = _6.sent();
5930
6110
  apiCallResponse = {};
5931
6111
  if (!this.isValidRequestHeadersAndBody(api)) return [3 /*break*/, 22];
5932
6112
  if (!(api.request.url.hasOwnProperty("type") &&
@@ -5937,7 +6117,7 @@
5937
6117
  }, 1000); // 1000 ms = 1 sec
5938
6118
  })];
5939
6119
  case 6:
5940
- apiCallResponse = _o.sent();
6120
+ apiCallResponse = _6.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
6122
  return [3 /*break*/, 21];
5943
6123
  case 7:
@@ -5945,73 +6125,82 @@
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
6127
  if (!(method === "GET")) return [3 /*break*/, 13];
5948
- _o.label = 8;
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
+ _6.label = 8;
5949
6133
  case 8:
5950
- _o.trys.push([8, 11, , 12]);
6134
+ _6.trys.push([8, 11, , 12]);
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();
6140
+ response = _6.sent();
5957
6141
  return [4 /*yield*/, response.json()];
5958
6142
  case 10:
5959
- apiCallResponse = _o.sent();
6143
+ apiCallResponse = _6.sent();
5960
6144
  apiCallResponseStatusCode = response.status;
5961
6145
  return [3 /*break*/, 12];
5962
6146
  case 11:
5963
- err_1 = _o.sent();
6147
+ err_1 = _6.sent();
5964
6148
  apiCallResponse = {};
6149
+ apiCallResponseStatusCode = 500;
5965
6150
  return [3 /*break*/, 12];
5966
6151
  case 12: return [3 /*break*/, 21];
5967
6152
  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;
6153
+ body = JSON.stringify((_k = (_j = (_h = api === null || api === void 0 ? void 0 : api.request) === null || _h === void 0 ? void 0 : _h.body) === null || _j === void 0 ? void 0 : _j.value) !== null && _k !== void 0 ? _k : {});
6154
+ isSecure = (_o = (_m = (_l = api === null || api === void 0 ? void 0 : api.request) === null || _l === void 0 ? void 0 : _l.body) === null || _m === void 0 ? void 0 : _m.isSecure) !== null && _o !== void 0 ? _o : false;
5970
6155
  if (isSecure) {
5971
6156
  body = kwikidToolkit.encryptWithAES(body);
5972
6157
  }
5973
- _o.label = 14;
6158
+ this.triggerLogs(ELogEventType$1.FORM__API_REQUEST, Object.assign({ form_api_method: method, form_api_key: (_p = api === null || api === void 0 ? void 0 : api.apiKey) !== null && _p !== void 0 ? _p : "", form_api_request_encrypted: isSecure }, (!isSecure && {
6159
+ form_api_request_body: body
6160
+ })));
6161
+ _6.label = 14;
5974
6162
  case 14:
5975
- _o.trys.push([14, 20, , 21]);
6163
+ _6.trys.push([14, 20, , 21]);
5976
6164
  return [4 /*yield*/, fetch(url, {
5977
6165
  method: method,
5978
6166
  headers: Object.assign({}, headers),
5979
6167
  body: body
5980
6168
  })];
5981
6169
  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;
6170
+ response = _6.sent();
6171
+ isSecure_1 = (_q = api === null || api === void 0 ? void 0 : api.response) === null || _q === void 0 ? void 0 : _q.isSecure;
5984
6172
  if (!isSecure_1) return [3 /*break*/, 17];
5985
6173
  return [4 /*yield*/, response.text()];
5986
6174
  case 16:
5987
- encryptedResponse = _o.sent();
6175
+ encryptedResponse = _6.sent();
5988
6176
  decryptedResponse = kwikidToolkit.decryptWithAES(encryptedResponse);
5989
6177
  apiCallResponse = JSON.parse(decryptedResponse);
5990
6178
  return [3 /*break*/, 19];
5991
6179
  case 17: return [4 /*yield*/, response.json()];
5992
6180
  case 18:
5993
- apiCallResponse = _o.sent();
5994
- _o.label = 19;
6181
+ apiCallResponse = _6.sent();
6182
+ _6.label = 19;
5995
6183
  case 19:
5996
6184
  apiCallResponseStatusCode = response.status;
5997
6185
  return [3 /*break*/, 21];
5998
6186
  case 20:
5999
- err_2 = _o.sent();
6187
+ err_2 = _6.sent();
6000
6188
  apiCallResponse = {};
6189
+ apiCallResponseStatusCode = 500;
6001
6190
  return [3 /*break*/, 21];
6002
6191
  case 21:
6003
6192
  api.response = kwikidToolkit.setValueToObjectPath(api.response, "value", apiCallResponse);
6004
6193
  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];
6194
+ this.triggerLogs(ELogEventType$1.FORM__API_RESPONSE, Object.assign(Object.assign({ form_api_key: (_r = api === null || api === void 0 ? void 0 : api.apiKey) !== null && _r !== void 0 ? _r : "", form_api_response_encrypted: (_t = (_s = api === null || api === void 0 ? void 0 : api.response) === null || _s === void 0 ? void 0 : _s.isSecure) !== null && _t !== void 0 ? _t : false }, (((_v = !((_u = api === null || api === void 0 ? void 0 : api.response) === null || _u === void 0 ? void 0 : _u.isSecure)) !== null && _v !== void 0 ? _v : false) && {
6195
+ form_api_response_body: apiCallResponse !== null && apiCallResponse !== void 0 ? apiCallResponse : {}
6196
+ })), { form_api_status_code: apiCallResponseStatusCode }));
6197
+ return [3 /*break*/, 23];
6198
+ case 22:
6199
+ this.triggerLogs(ELogEventType$1.FORM__API_REQUEST_INVALID, Object.assign({ form_api_key: (_w = api === null || api === void 0 ? void 0 : api.apiKey) !== null && _w !== void 0 ? _w : "", form_api_request_encrypted: (_z = (_y = (_x = api === null || api === void 0 ? void 0 : api.request) === null || _x === void 0 ? void 0 : _x.body) === null || _y === void 0 ? void 0 : _y.isSecure) !== null && _z !== void 0 ? _z : false }, (((_2 = !((_1 = (_0 = api === null || api === void 0 ? void 0 : api.request) === null || _0 === void 0 ? void 0 : _0.body) === null || _1 === void 0 ? void 0 : _1.isSecure)) !== null && _2 !== void 0 ? _2 : false) && {
6200
+ form_api_request_body: (_5 = (_4 = (_3 = api === null || api === void 0 ? void 0 : api.request) === null || _3 === void 0 ? void 0 : _3.body) === null || _4 === void 0 ? void 0 : _4.value) !== null && _5 !== void 0 ? _5 : {}
6201
+ })));
6202
+ _6.label = 23;
6203
+ case 23: return [2 /*return*/, api];
6015
6204
  }
6016
6205
  });
6017
6206
  });
@@ -6048,11 +6237,15 @@
6048
6237
  KwikIDFormViewComponent.prototype.handleOnClickApiCall = function (e) {
6049
6238
  return __awaiter(this, void 0, void 0, function () {
6050
6239
  var field, apis;
6051
- return __generator(this, function (_o) {
6052
- switch (_o.label) {
6240
+ return __generator(this, function (_6) {
6241
+ switch (_6.label) {
6053
6242
  case 0:
6054
6243
  field = getFormFieldByKey(this.formFields, e.key);
6055
6244
  if (!(field.type === EFieldType.API)) return [3 /*break*/, 5];
6245
+ this.triggerLogs(ELogEventType$1.FORM__API_BUTTON_CLICK, {
6246
+ field_key: field.key,
6247
+ field_type: field.type
6248
+ });
6056
6249
  // set button status to loading
6057
6250
  field["api"]["status"]["value"] = EApiStatusType.LOADING;
6058
6251
  field["showLoader"] = true;
@@ -6060,7 +6253,7 @@
6060
6253
  if (!kwikidToolkit.checkObjectKeyExists(field.api, "request")) return [3 /*break*/, 2];
6061
6254
  return [4 /*yield*/, this.handleFieldApiCall(field, field.api)];
6062
6255
  case 1:
6063
- _o.sent();
6256
+ _6.sent();
6064
6257
  return [3 /*break*/, 4];
6065
6258
  case 2:
6066
6259
  apis = new Apis({
@@ -6074,11 +6267,11 @@
6074
6267
  }, this.takeAction.bind(this));
6075
6268
  return [4 /*yield*/, apis.callNextApi(field.api.entrypoint)];
6076
6269
  case 3:
6077
- _o.sent();
6078
- _o.label = 4;
6270
+ _6.sent();
6271
+ _6.label = 4;
6079
6272
  case 4:
6080
6273
  this.hideApiLoader();
6081
- _o.label = 5;
6274
+ _6.label = 5;
6082
6275
  case 5: return [2 /*return*/];
6083
6276
  }
6084
6277
  });
@@ -6116,6 +6309,7 @@
6116
6309
  }
6117
6310
  else if (this.formConfig.properties.footer.viewFormsButton.bypassConfirmation ||
6118
6311
  window.confirm("Your data will be lost if you leave this page! Continue?")) {
6312
+ this.triggerLogs(ELogEventType$1.FORM__VIEW_BUTTON_CLICK, {});
6119
6313
  this.onClickViewForms.emit({
6120
6314
  clicked: true
6121
6315
  });
@@ -6123,19 +6317,33 @@
6123
6317
  };
6124
6318
  KwikIDFormViewComponent.prototype.handleOnClickSaveForm = function (e) {
6125
6319
  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;
6320
+ var controls, firstFieldWithError, controls_1, controls_1_1, control, field, _6, _7, field, validations, e_13_1, formData, _8, _9, field, extendedFormData, _10, _11, postTask, task, e_14_1;
6321
+ var e_15, _12, e_13, _13, e_16, _14, e_14, _15;
6128
6322
  var _this = this;
6129
- return __generator(this, function (_y) {
6130
- switch (_y.label) {
6323
+ return __generator(this, function (_16) {
6324
+ switch (_16.label) {
6131
6325
  case 0:
6326
+ if (e) {
6327
+ this.triggerLogs(ELogEventType$1.FORM__SAVE_BUTTON_CLICK, {});
6328
+ }
6329
+ else {
6330
+ this.triggerLogs(ELogEventType$1.FORM__SAVE_AUTO, {});
6331
+ }
6132
6332
  controls = new FormValidation().getFormFieldsInvalidControls(this.formGroup);
6133
6333
  firstFieldWithError = "";
6134
6334
  try {
6135
6335
  for (controls_1 = __values(controls), controls_1_1 = controls_1.next(); !controls_1_1.done; controls_1_1 = controls_1.next()) {
6136
6336
  control = controls_1_1.value;
6137
- if (control.invalid && kwikidToolkit.isEmptyValue(firstFieldWithError)) {
6138
- firstFieldWithError = control.key;
6337
+ if (control.invalid) {
6338
+ field = getFormFieldByKey(this.formFields, control.key);
6339
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_ERROR_SHOW, {
6340
+ field_key: control.key,
6341
+ field_type: field.type,
6342
+ field_error_types: this.formGroup.controls[control.key].errors
6343
+ });
6344
+ if (kwikidToolkit.isEmptyValue(firstFieldWithError)) {
6345
+ firstFieldWithError = control.key;
6346
+ }
6139
6347
  }
6140
6348
  this.formFields = showFormFieldError(this.formFields, this.formGroup.controls[control.key].errors, control.key, control.invalid);
6141
6349
  }
@@ -6143,7 +6351,7 @@
6143
6351
  catch (e_15_1) { e_15 = { error: e_15_1 }; }
6144
6352
  finally {
6145
6353
  try {
6146
- if (controls_1_1 && !controls_1_1.done && (_u = controls_1.return)) _u.call(controls_1);
6354
+ if (controls_1_1 && !controls_1_1.done && (_12 = controls_1.return)) _12.call(controls_1);
6147
6355
  }
6148
6356
  finally { if (e_15) throw e_15.error; }
6149
6357
  }
@@ -6154,14 +6362,14 @@
6154
6362
  }, 3000);
6155
6363
  return [2 /*return*/];
6156
6364
  }
6157
- _y.label = 1;
6365
+ _16.label = 1;
6158
6366
  case 1:
6159
- _y.trys.push([1, 6, 7, 8]);
6160
- _o = __values(this.formFields), _p = _o.next();
6161
- _y.label = 2;
6367
+ _16.trys.push([1, 6, 7, 8]);
6368
+ _6 = __values(this.formFields), _7 = _6.next();
6369
+ _16.label = 2;
6162
6370
  case 2:
6163
- if (!!_p.done) return [3 /*break*/, 5];
6164
- field = _p.value;
6371
+ if (!!_7.done) return [3 /*break*/, 5];
6372
+ field = _7.value;
6165
6373
  if (!(field.isFormElement &&
6166
6374
  !field.hidden &&
6167
6375
  kwikidToolkit.checkObjectKeyExists(field, "validation") &&
@@ -6176,7 +6384,7 @@
6176
6384
  }, this.takeAction.bind(this));
6177
6385
  return [4 /*yield*/, validations.validate(field.validation)];
6178
6386
  case 3:
6179
- _y.sent();
6387
+ _16.sent();
6180
6388
  if (!field.validation.is_valid) {
6181
6389
  this.toggleErrorNotification(true);
6182
6390
  setTimeout(function () {
@@ -6184,26 +6392,26 @@
6184
6392
  }, 3000);
6185
6393
  return [2 /*return*/];
6186
6394
  }
6187
- _y.label = 4;
6395
+ _16.label = 4;
6188
6396
  case 4:
6189
- _p = _o.next();
6397
+ _7 = _6.next();
6190
6398
  return [3 /*break*/, 2];
6191
6399
  case 5: return [3 /*break*/, 8];
6192
6400
  case 6:
6193
- e_13_1 = _y.sent();
6401
+ e_13_1 = _16.sent();
6194
6402
  e_13 = { error: e_13_1 };
6195
6403
  return [3 /*break*/, 8];
6196
6404
  case 7:
6197
6405
  try {
6198
- if (_p && !_p.done && (_v = _o.return)) _v.call(_o);
6406
+ if (_7 && !_7.done && (_13 = _6.return)) _13.call(_6);
6199
6407
  }
6200
6408
  finally { if (e_13) throw e_13.error; }
6201
6409
  return [7 /*endfinally*/];
6202
6410
  case 8:
6203
6411
  formData = this.formGroup.getRawValue();
6204
6412
  try {
6205
- for (_q = __values(this.formFields), _r = _q.next(); !_r.done; _r = _q.next()) {
6206
- field = _r.value;
6413
+ for (_8 = __values(this.formFields), _9 = _8.next(); !_9.done; _9 = _8.next()) {
6414
+ field = _9.value;
6207
6415
  if (field.isFormElement) {
6208
6416
  if (field.hidden) {
6209
6417
  delete formData[field.key];
@@ -6217,22 +6425,22 @@
6217
6425
  catch (e_16_1) { e_16 = { error: e_16_1 }; }
6218
6426
  finally {
6219
6427
  try {
6220
- if (_r && !_r.done && (_w = _q.return)) _w.call(_q);
6428
+ if (_9 && !_9.done && (_14 = _8.return)) _14.call(_8);
6221
6429
  }
6222
6430
  finally { if (e_16) throw e_16.error; }
6223
6431
  }
6224
6432
  extendedFormData = this.formFields.reduce(function (result, field, index) {
6225
- var _o;
6433
+ var _6;
6226
6434
  if (field.isFormElement && !field.hidden) {
6227
- var fieldData = (_o = {},
6228
- _o[field.key] = {
6435
+ var fieldData = (_6 = {},
6436
+ _6[field.key] = {
6229
6437
  key: field.key,
6230
6438
  label: field.label,
6231
6439
  value: kwikidToolkit.isEmptyValue(formData[field.key]) ? "" : formData[field.key],
6232
6440
  type: field.type,
6233
6441
  index: index
6234
6442
  },
6235
- _o);
6443
+ _6);
6236
6444
  result[field.key] = fieldData[field.key];
6237
6445
  }
6238
6446
  return result;
@@ -6244,14 +6452,15 @@
6244
6452
  });
6245
6453
  if (!(kwikidToolkit.checkObjectKeyExists(this.formConfig, "tasks") &&
6246
6454
  kwikidToolkit.checkObjectKeyExists(this.formConfig.tasks, "post"))) return [3 /*break*/, 18];
6247
- _y.label = 9;
6455
+ this.triggerLogs(ELogEventType$1.FORM__TASK_POST, {});
6456
+ _16.label = 9;
6248
6457
  case 9:
6249
- _y.trys.push([9, 15, 16, 17]);
6250
- _s = __values(this.formConfig.tasks.post), _t = _s.next();
6251
- _y.label = 10;
6458
+ _16.trys.push([9, 15, 16, 17]);
6459
+ _10 = __values(this.formConfig.tasks.post), _11 = _10.next();
6460
+ _16.label = 10;
6252
6461
  case 10:
6253
- if (!!_t.done) return [3 /*break*/, 14];
6254
- postTask = _t.value;
6462
+ if (!!_11.done) return [3 /*break*/, 14];
6463
+ postTask = _11.value;
6255
6464
  task = new Tasks(postTask, {
6256
6465
  FORM_CONFIG: this.formConfig,
6257
6466
  FORM_FIELDS: this.formFields,
@@ -6269,7 +6478,7 @@
6269
6478
  }
6270
6479
  return [4 /*yield*/, task.execute()];
6271
6480
  case 11:
6272
- _y.sent();
6481
+ _16.sent();
6273
6482
  // Wait for ngOnChanges to be called before continuing to the next task
6274
6483
  return [4 /*yield*/, new Promise(function (resolve) {
6275
6484
  var intervalId = setInterval(function () {
@@ -6281,22 +6490,22 @@
6281
6490
  })];
6282
6491
  case 12:
6283
6492
  // Wait for ngOnChanges to be called before continuing to the next task
6284
- _y.sent();
6493
+ _16.sent();
6285
6494
  if (this.stopTaskExecution) {
6286
6495
  return [3 /*break*/, 14];
6287
6496
  }
6288
- _y.label = 13;
6497
+ _16.label = 13;
6289
6498
  case 13:
6290
- _t = _s.next();
6499
+ _11 = _10.next();
6291
6500
  return [3 /*break*/, 10];
6292
6501
  case 14: return [3 /*break*/, 17];
6293
6502
  case 15:
6294
- e_14_1 = _y.sent();
6503
+ e_14_1 = _16.sent();
6295
6504
  e_14 = { error: e_14_1 };
6296
6505
  return [3 /*break*/, 17];
6297
6506
  case 16:
6298
6507
  try {
6299
- if (_t && !_t.done && (_x = _s.return)) _x.call(_s);
6508
+ if (_11 && !_11.done && (_15 = _10.return)) _15.call(_10);
6300
6509
  }
6301
6510
  finally { if (e_14) throw e_14.error; }
6302
6511
  return [7 /*endfinally*/];
@@ -6318,7 +6527,7 @@
6318
6527
  data: kwikidToolkit.mergeObjects(formData, this.popupFormData, this.taskData),
6319
6528
  extendedData: extendedFormData
6320
6529
  });
6321
- _y.label = 19;
6530
+ _16.label = 19;
6322
6531
  case 19: return [2 /*return*/];
6323
6532
  }
6324
6533
  });
@@ -6335,19 +6544,23 @@
6335
6544
  });
6336
6545
  this.formFields[fieldIndex]["hidden"] = true;
6337
6546
  this.formGroup.updateValueAndValidity();
6547
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_HIDE, {
6548
+ field_key: fieldKey,
6549
+ field_type: field.type
6550
+ });
6338
6551
  };
6339
6552
  KwikIDFormViewComponent.prototype.fieldGroupHide = function (fieldGroup) {
6340
- var e_17, _o;
6553
+ var e_17, _6;
6341
6554
  try {
6342
- for (var _p = __values(this.fieldGroups[fieldGroup]), _q = _p.next(); !_q.done; _q = _p.next()) {
6343
- var fieldKey = _q.value;
6555
+ for (var _7 = __values(this.fieldGroups[fieldGroup]), _8 = _7.next(); !_8.done; _8 = _7.next()) {
6556
+ var fieldKey = _8.value;
6344
6557
  this.fieldHide(fieldKey);
6345
6558
  }
6346
6559
  }
6347
6560
  catch (e_17_1) { e_17 = { error: e_17_1 }; }
6348
6561
  finally {
6349
6562
  try {
6350
- if (_q && !_q.done && (_o = _p.return)) _o.call(_p);
6563
+ if (_8 && !_8.done && (_6 = _7.return)) _6.call(_7);
6351
6564
  }
6352
6565
  finally { if (e_17) throw e_17.error; }
6353
6566
  }
@@ -6359,19 +6572,23 @@
6359
6572
  });
6360
6573
  this.formFields[fieldIndex]["hidden"] = false;
6361
6574
  this.formGroup.updateValueAndValidity();
6575
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_SHOW, {
6576
+ field_key: fieldKey,
6577
+ field_type: field.type
6578
+ });
6362
6579
  };
6363
6580
  KwikIDFormViewComponent.prototype.fieldGroupShow = function (fieldGroup) {
6364
- var e_18, _o;
6581
+ var e_18, _6;
6365
6582
  try {
6366
- for (var _p = __values(this.fieldGroups[fieldGroup]), _q = _p.next(); !_q.done; _q = _p.next()) {
6367
- var fieldKey = _q.value;
6583
+ for (var _7 = __values(this.fieldGroups[fieldGroup]), _8 = _7.next(); !_8.done; _8 = _7.next()) {
6584
+ var fieldKey = _8.value;
6368
6585
  this.fieldShow(fieldKey);
6369
6586
  }
6370
6587
  }
6371
6588
  catch (e_18_1) { e_18 = { error: e_18_1 }; }
6372
6589
  finally {
6373
6590
  try {
6374
- if (_q && !_q.done && (_o = _p.return)) _o.call(_p);
6591
+ if (_8 && !_8.done && (_6 = _7.return)) _6.call(_7);
6375
6592
  }
6376
6593
  finally { if (e_18) throw e_18.error; }
6377
6594
  }
@@ -6393,19 +6610,23 @@
6393
6610
  else if (field.type === EFieldType.BUTTON) {
6394
6611
  this.formFields[fieldIndex]["disabled"] = true;
6395
6612
  }
6613
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_DISABLE, {
6614
+ field_key: fieldKey,
6615
+ field_type: field.type
6616
+ });
6396
6617
  };
6397
6618
  KwikIDFormViewComponent.prototype.fieldGroupDisable = function (fieldGroup) {
6398
- var e_19, _o;
6619
+ var e_19, _6;
6399
6620
  try {
6400
- for (var _p = __values(this.fieldGroups[fieldGroup]), _q = _p.next(); !_q.done; _q = _p.next()) {
6401
- var fieldKey = _q.value;
6621
+ for (var _7 = __values(this.fieldGroups[fieldGroup]), _8 = _7.next(); !_8.done; _8 = _7.next()) {
6622
+ var fieldKey = _8.value;
6402
6623
  this.fieldDisable(fieldKey);
6403
6624
  }
6404
6625
  }
6405
6626
  catch (e_19_1) { e_19 = { error: e_19_1 }; }
6406
6627
  finally {
6407
6628
  try {
6408
- if (_q && !_q.done && (_o = _p.return)) _o.call(_p);
6629
+ if (_8 && !_8.done && (_6 = _7.return)) _6.call(_7);
6409
6630
  }
6410
6631
  finally { if (e_19) throw e_19.error; }
6411
6632
  }
@@ -6427,25 +6648,29 @@
6427
6648
  else if (field.type === EFieldType.BUTTON) {
6428
6649
  this.formFields[fieldIndex]["disabled"] = false;
6429
6650
  }
6651
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_ENABLE, {
6652
+ field_key: fieldKey,
6653
+ field_type: field.type
6654
+ });
6430
6655
  };
6431
6656
  KwikIDFormViewComponent.prototype.fieldGroupEnable = function (fieldGroup) {
6432
- var e_20, _o;
6657
+ var e_20, _6;
6433
6658
  try {
6434
- for (var _p = __values(this.fieldGroups[fieldGroup]), _q = _p.next(); !_q.done; _q = _p.next()) {
6435
- var fieldKey = _q.value;
6659
+ for (var _7 = __values(this.fieldGroups[fieldGroup]), _8 = _7.next(); !_8.done; _8 = _7.next()) {
6660
+ var fieldKey = _8.value;
6436
6661
  this.fieldEnable(fieldKey);
6437
6662
  }
6438
6663
  }
6439
6664
  catch (e_20_1) { e_20 = { error: e_20_1 }; }
6440
6665
  finally {
6441
6666
  try {
6442
- if (_q && !_q.done && (_o = _p.return)) _o.call(_p);
6667
+ if (_8 && !_8.done && (_6 = _7.return)) _6.call(_7);
6443
6668
  }
6444
6669
  finally { if (e_20) throw e_20.error; }
6445
6670
  }
6446
6671
  };
6447
6672
  KwikIDFormViewComponent.prototype.fieldReset = function (fieldKey) {
6448
- var _o;
6673
+ var _6;
6449
6674
  // Find the field and its index in the formFields array
6450
6675
  var field = getFormFieldByKey(this.formFields, fieldKey);
6451
6676
  var fieldIndex = getFormFieldIndexByKey(this.formFields, fieldKey);
@@ -6456,9 +6681,9 @@
6456
6681
  emitEvent: false,
6457
6682
  onlySelf: true
6458
6683
  });
6459
- this.formGroup.patchValue((_o = {},
6460
- _o[field.key] = resetValue,
6461
- _o), { emitEvent: false });
6684
+ this.formGroup.patchValue((_6 = {},
6685
+ _6[field.key] = resetValue,
6686
+ _6), { emitEvent: false });
6462
6687
  this.formGroup.controls[field.key].updateValueAndValidity({
6463
6688
  emitEvent: true
6464
6689
  });
@@ -6488,6 +6713,10 @@
6488
6713
  this.formFields[fieldIndex] = field;
6489
6714
  break;
6490
6715
  }
6716
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_RESET, {
6717
+ field_key: fieldKey,
6718
+ field_type: field.type
6719
+ });
6491
6720
  };
6492
6721
  KwikIDFormViewComponent.prototype.setHtml = function (fieldKey, message) {
6493
6722
  var field = getFormFieldByKey(this.formFields, fieldKey);
@@ -6505,6 +6734,11 @@
6505
6734
  field = highlightFormFieldError(field, true);
6506
6735
  field = appendFormFieldMessage(field, message);
6507
6736
  this.formFields[fieldIndex] = field;
6737
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_ERROR_SHOW, {
6738
+ field_key: fieldKey,
6739
+ field_type: field.type,
6740
+ field_error_message: message
6741
+ });
6508
6742
  };
6509
6743
  KwikIDFormViewComponent.prototype.fieldErrorHide = function (fieldKey, message) {
6510
6744
  var field = getFormFieldByKey(this.formFields, fieldKey);
@@ -6514,6 +6748,11 @@
6514
6748
  field = highlightFormFieldError(field, false);
6515
6749
  field = removeFormFieldMessage(field, message);
6516
6750
  this.formFields[fieldIndex] = field;
6751
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_ERROR_HIDE, {
6752
+ field_key: fieldKey,
6753
+ field_type: field.type,
6754
+ field_error_message: message
6755
+ });
6517
6756
  };
6518
6757
  KwikIDFormViewComponent.prototype.fieldMessageShow = function (fieldKey, message) {
6519
6758
  var field = getFormFieldByKey(this.formFields, fieldKey);
@@ -6522,6 +6761,11 @@
6522
6761
  });
6523
6762
  field = appendFormFieldMessage(field, message);
6524
6763
  this.formFields[fieldIndex] = field;
6764
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_MESSAGE_SHOW, {
6765
+ field_key: fieldKey,
6766
+ field_type: field.type,
6767
+ field_message: message
6768
+ });
6525
6769
  };
6526
6770
  KwikIDFormViewComponent.prototype.fieldMessageHide = function (fieldKey, message) {
6527
6771
  var field = getFormFieldByKey(this.formFields, fieldKey);
@@ -6530,17 +6774,22 @@
6530
6774
  });
6531
6775
  field = removeFormFieldMessage(field, message);
6532
6776
  this.formFields[fieldIndex] = field;
6777
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_MESSAGE_HIDE, {
6778
+ field_key: fieldKey,
6779
+ field_type: field.type,
6780
+ field_message: message
6781
+ });
6533
6782
  };
6534
6783
  KwikIDFormViewComponent.prototype.setValue = function (action, object) {
6535
6784
  return __awaiter(this, void 0, void 0, function () {
6536
6785
  var source, sourceValue;
6537
- return __generator(this, function (_o) {
6538
- switch (_o.label) {
6786
+ return __generator(this, function (_6) {
6787
+ switch (_6.label) {
6539
6788
  case 0:
6540
6789
  source = new kwikidToolkit.Source(object);
6541
6790
  return [4 /*yield*/, source.getValueFromSource(action.props.value.source)];
6542
6791
  case 1:
6543
- sourceValue = _o.sent();
6792
+ sourceValue = _6.sent();
6544
6793
  source.setValueToSource(action.props.value.destination, sourceValue);
6545
6794
  object.FIELD_CONFIG = source.object.FIELD_CONFIG;
6546
6795
  this.formData = source.object.FORM_DATA;
@@ -6555,13 +6804,13 @@
6555
6804
  KwikIDFormViewComponent.prototype.setFieldDefaultValue = function (action, object) {
6556
6805
  return __awaiter(this, void 0, void 0, function () {
6557
6806
  var source, sourceValue;
6558
- return __generator(this, function (_o) {
6559
- switch (_o.label) {
6807
+ return __generator(this, function (_6) {
6808
+ switch (_6.label) {
6560
6809
  case 0:
6561
6810
  source = new kwikidToolkit.Source(object);
6562
6811
  return [4 /*yield*/, source.getValueFromSource(action.props.value.source)];
6563
6812
  case 1:
6564
- sourceValue = _o.sent();
6813
+ sourceValue = _6.sent();
6565
6814
  source.setValueToSource({
6566
6815
  key: kwikidToolkit.ESourceKey.OBJECT,
6567
6816
  props: {
@@ -6593,7 +6842,7 @@
6593
6842
  KwikIDFormViewComponent.prototype.setApiStatus = function (action, object) {
6594
6843
  return __awaiter(this, void 0, void 0, function () {
6595
6844
  var source, sourceValue;
6596
- return __generator(this, function (_o) {
6845
+ return __generator(this, function (_6) {
6597
6846
  source = new kwikidToolkit.Source(object);
6598
6847
  sourceValue = action.props.status;
6599
6848
  source.setValueToSource({
@@ -6613,13 +6862,13 @@
6613
6862
  KwikIDFormViewComponent.prototype.setApiHeaderValue = function (action, object) {
6614
6863
  return __awaiter(this, void 0, void 0, function () {
6615
6864
  var source, sourceValue;
6616
- return __generator(this, function (_o) {
6617
- switch (_o.label) {
6865
+ return __generator(this, function (_6) {
6866
+ switch (_6.label) {
6618
6867
  case 0:
6619
6868
  source = new kwikidToolkit.Source(object);
6620
6869
  return [4 /*yield*/, source.getValueFromSource(action.props.source)];
6621
6870
  case 1:
6622
- sourceValue = _o.sent();
6871
+ sourceValue = _6.sent();
6623
6872
  source.setValueToSource({
6624
6873
  key: kwikidToolkit.ESourceKey.OBJECT,
6625
6874
  props: {
@@ -6638,7 +6887,7 @@
6638
6887
  KwikIDFormViewComponent.prototype.setApiHeaderValidity = function (action, object) {
6639
6888
  return __awaiter(this, void 0, void 0, function () {
6640
6889
  var source, sourceValue;
6641
- return __generator(this, function (_o) {
6890
+ return __generator(this, function (_6) {
6642
6891
  source = new kwikidToolkit.Source(object);
6643
6892
  sourceValue = action.props.valid;
6644
6893
  source.setValueToSource({
@@ -6658,13 +6907,13 @@
6658
6907
  KwikIDFormViewComponent.prototype.setApiBodyValue = function (action, object) {
6659
6908
  return __awaiter(this, void 0, void 0, function () {
6660
6909
  var source, sourceValue;
6661
- return __generator(this, function (_o) {
6662
- switch (_o.label) {
6910
+ return __generator(this, function (_6) {
6911
+ switch (_6.label) {
6663
6912
  case 0:
6664
6913
  source = new kwikidToolkit.Source(object);
6665
6914
  return [4 /*yield*/, source.getValueFromSource(action.props.source)];
6666
6915
  case 1:
6667
- sourceValue = _o.sent();
6916
+ sourceValue = _6.sent();
6668
6917
  source.setValueToSource({
6669
6918
  key: kwikidToolkit.ESourceKey.OBJECT,
6670
6919
  props: {
@@ -6683,7 +6932,7 @@
6683
6932
  KwikIDFormViewComponent.prototype.setApiBodyValidity = function (action, object) {
6684
6933
  return __awaiter(this, void 0, void 0, function () {
6685
6934
  var source, sourceValue;
6686
- return __generator(this, function (_o) {
6935
+ return __generator(this, function (_6) {
6687
6936
  source = new kwikidToolkit.Source(object);
6688
6937
  sourceValue = action.props.valid;
6689
6938
  source.setValueToSource({
@@ -6703,7 +6952,7 @@
6703
6952
  KwikIDFormViewComponent.prototype.setFieldValidity = function (action, object) {
6704
6953
  return __awaiter(this, void 0, void 0, function () {
6705
6954
  var source, sourceValue;
6706
- return __generator(this, function (_o) {
6955
+ return __generator(this, function (_6) {
6707
6956
  source = new kwikidToolkit.Source(object);
6708
6957
  sourceValue = action.props.valid;
6709
6958
  source.setValueToSource({
@@ -6723,18 +6972,18 @@
6723
6972
  KwikIDFormViewComponent.prototype.setDropdownOptions = function (action, object) {
6724
6973
  return __awaiter(this, void 0, void 0, function () {
6725
6974
  var source, sourceValue, appendToPath, appendToPathStr, optionsPath;
6726
- return __generator(this, function (_o) {
6727
- switch (_o.label) {
6975
+ return __generator(this, function (_6) {
6976
+ switch (_6.label) {
6728
6977
  case 0:
6729
6978
  source = new kwikidToolkit.Source(object);
6730
6979
  return [4 /*yield*/, source.getValueFromSource(action.props.value.source)];
6731
6980
  case 1:
6732
- sourceValue = _o.sent();
6981
+ sourceValue = _6.sent();
6733
6982
  if (!kwikidToolkit.checkObjectKeyExists(action.props, "options")) return [3 /*break*/, 4];
6734
6983
  if (!kwikidToolkit.checkObjectKeyExists(action.props.options, "appendToPath")) return [3 /*break*/, 3];
6735
6984
  return [4 /*yield*/, source.getValueFromSource(action.props.options.appendToPath.source)];
6736
6985
  case 2:
6737
- appendToPath = _o.sent();
6986
+ appendToPath = _6.sent();
6738
6987
  if (kwikidToolkit.isNotEmptyValue(appendToPath)) {
6739
6988
  appendToPathStr = kwikidToolkit.replaceString(appendToPath.match("" + action.props.options.appendToPath.filterSourceValue)[0], "[^a-zA-Z0-9_]", "_");
6740
6989
  optionsPath = "" + action.props.options.path + appendToPathStr;
@@ -6743,7 +6992,7 @@
6743
6992
  return [3 /*break*/, 4];
6744
6993
  case 3:
6745
6994
  sourceValue = kwikidToolkit.getObjectValueFromPath(sourceValue, action.props.options.path);
6746
- _o.label = 4;
6995
+ _6.label = 4;
6747
6996
  case 4:
6748
6997
  source.setValueToSource(action.props.value.destination, sourceValue);
6749
6998
  object.FIELD_CONFIG = source.object.FIELD_CONFIG;
@@ -6758,19 +7007,19 @@
6758
7007
  KwikIDFormViewComponent.prototype.apiCall = function (action, object) {
6759
7008
  return __awaiter(this, void 0, void 0, function () {
6760
7009
  var apiConfig, response;
6761
- var _o;
6762
- return __generator(this, function (_p) {
6763
- switch (_p.label) {
7010
+ var _6;
7011
+ return __generator(this, function (_7) {
7012
+ switch (_7.label) {
6764
7013
  case 0:
6765
7014
  apiConfig = this.formConfig.apis[action.props.formApiKey];
6766
7015
  return [4 /*yield*/, this.handleApiCall(apiConfig)];
6767
7016
  case 1:
6768
- response = _p.sent();
7017
+ response = _7.sent();
6769
7018
  apiConfig = response.api;
6770
7019
  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));
7020
+ this.formData = kwikidToolkit.mergeObjects(this.formData, (_6 = {},
7021
+ _6[action.props.formApiKey] = apiConfig.response.value,
7022
+ _6));
6774
7023
  return [2 /*return*/, apiConfig];
6775
7024
  }
6776
7025
  });
@@ -6779,13 +7028,13 @@
6779
7028
  KwikIDFormViewComponent.prototype.fieldApiCall = function (action, object) {
6780
7029
  return __awaiter(this, void 0, void 0, function () {
6781
7030
  var apiConfig;
6782
- return __generator(this, function (_o) {
6783
- switch (_o.label) {
7031
+ return __generator(this, function (_6) {
7032
+ switch (_6.label) {
6784
7033
  case 0:
6785
7034
  this.showApiLoader();
6786
7035
  return [4 /*yield*/, this.apiCall(action, object)];
6787
7036
  case 1:
6788
- apiConfig = _o.sent();
7037
+ apiConfig = _6.sent();
6789
7038
  this.hideApiLoader();
6790
7039
  return [2 /*return*/];
6791
7040
  }
@@ -6795,8 +7044,8 @@
6795
7044
  KwikIDFormViewComponent.prototype.fieldMultipleApiCalls = function (action, object) {
6796
7045
  return __awaiter(this, void 0, void 0, function () {
6797
7046
  var entrypointApiKey, field, endpoints, nextApiIndex, apiConfig, response;
6798
- return __generator(this, function (_o) {
6799
- switch (_o.label) {
7047
+ return __generator(this, function (_6) {
7048
+ switch (_6.label) {
6800
7049
  case 0:
6801
7050
  entrypointApiKey = action.props.apiKey;
6802
7051
  field = getFormFieldByKey(this.formFields, action.props.fieldKey);
@@ -6805,7 +7054,7 @@
6805
7054
  apiConfig = endpoints[nextApiIndex];
6806
7055
  return [4 /*yield*/, this.handleFieldApiCall(field, apiConfig)];
6807
7056
  case 1:
6808
- response = _o.sent();
7057
+ response = _6.sent();
6809
7058
  field = response.field;
6810
7059
  field.api.endpoints[nextApiIndex] = response.api;
6811
7060
  return [2 /*return*/];
@@ -6816,15 +7065,15 @@
6816
7065
  KwikIDFormViewComponent.prototype.fieldMultipleApiCallsEnd = function (action, object) {
6817
7066
  return __awaiter(this, void 0, void 0, function () {
6818
7067
  var field, multipleApiCallResponses;
6819
- var _o;
6820
- return __generator(this, function (_p) {
7068
+ var _6;
7069
+ return __generator(this, function (_7) {
6821
7070
  field = getFormFieldByKey(this.formFields, action.props.fieldKey);
6822
7071
  multipleApiCallResponses = {};
6823
7072
  field.api.endpoints.map(function (api) {
6824
7073
  if (kwikidToolkit.checkObjectKeyExists(api.response, "value"))
6825
7074
  multipleApiCallResponses = kwikidToolkit.setValueToObjectPath(multipleApiCallResponses, "" + api.apiKey, api.response.value);
6826
7075
  });
6827
- this.formData = Object.assign(Object.assign({}, this.formData), (_o = {}, _o[field.key] = multipleApiCallResponses, _o));
7076
+ this.formData = Object.assign(Object.assign({}, this.formData), (_6 = {}, _6[field.key] = multipleApiCallResponses, _6));
6828
7077
  this.patchFormGroup(this.formData);
6829
7078
  return [2 /*return*/];
6830
7079
  });
@@ -6833,17 +7082,17 @@
6833
7082
  KwikIDFormViewComponent.prototype.taskApiCall = function (action, object) {
6834
7083
  return __awaiter(this, void 0, void 0, function () {
6835
7084
  var apiConfig;
6836
- var _o;
6837
- return __generator(this, function (_p) {
6838
- switch (_p.label) {
7085
+ var _6;
7086
+ return __generator(this, function (_7) {
7087
+ switch (_7.label) {
6839
7088
  case 0:
6840
7089
  this.showApiLoader();
6841
7090
  return [4 /*yield*/, this.apiCall(action, object)];
6842
7091
  case 1:
6843
- apiConfig = _p.sent();
6844
- this.taskData = kwikidToolkit.mergeObjects(this.taskData, (_o = {},
6845
- _o[action.props.formApiKey] = apiConfig.response.value,
6846
- _o));
7092
+ apiConfig = _7.sent();
7093
+ this.taskData = kwikidToolkit.mergeObjects(this.taskData, (_6 = {},
7094
+ _6[action.props.formApiKey] = apiConfig.response.value,
7095
+ _6));
6847
7096
  this.waitingForChanges = false;
6848
7097
  this.hideApiLoader();
6849
7098
  return [2 /*return*/];
@@ -6854,8 +7103,8 @@
6854
7103
  KwikIDFormViewComponent.prototype.taskMultipleApiCalls = function (action, object) {
6855
7104
  return __awaiter(this, void 0, void 0, function () {
6856
7105
  var multipleApiConfig, entrypointApiKey_1, endpoints, nextApiIndex, apiConfig, response, apis;
6857
- return __generator(this, function (_o) {
6858
- switch (_o.label) {
7106
+ return __generator(this, function (_6) {
7107
+ switch (_6.label) {
6859
7108
  case 0:
6860
7109
  this.showApiLoader();
6861
7110
  multipleApiConfig = this.formConfig.apis[action.props.formApiKey];
@@ -6866,7 +7115,7 @@
6866
7115
  apiConfig = endpoints[nextApiIndex];
6867
7116
  return [4 /*yield*/, this.handleApiCall(apiConfig)];
6868
7117
  case 1:
6869
- response = _o.sent();
7118
+ response = _6.sent();
6870
7119
  multipleApiConfig.endpoints[nextApiIndex] = response.api;
6871
7120
  this.formConfig = kwikidToolkit.setValueToObjectPath(this.formConfig, "apis." + action.props.formApiKey, multipleApiConfig);
6872
7121
  this.hideApiLoader();
@@ -6883,8 +7132,8 @@
6883
7132
  }, this.takeAction.bind(this));
6884
7133
  return [4 /*yield*/, apis.callNextApi(multipleApiConfig.entrypoint)];
6885
7134
  case 3:
6886
- _o.sent();
6887
- _o.label = 4;
7135
+ _6.sent();
7136
+ _6.label = 4;
6888
7137
  case 4: return [2 /*return*/];
6889
7138
  }
6890
7139
  });
@@ -6893,15 +7142,15 @@
6893
7142
  KwikIDFormViewComponent.prototype.taskMultipleApiCallsEnd = function (action, object) {
6894
7143
  return __awaiter(this, void 0, void 0, function () {
6895
7144
  var multipleApiConfig, multipleApiCallResponses;
6896
- var _o;
6897
- return __generator(this, function (_p) {
7145
+ var _6;
7146
+ return __generator(this, function (_7) {
6898
7147
  multipleApiConfig = this.formConfig.apis[action.props.formApiKey];
6899
7148
  multipleApiCallResponses = {};
6900
7149
  multipleApiConfig.endpoints.map(function (api) {
6901
7150
  if (kwikidToolkit.checkObjectKeyExists(api.response, "value"))
6902
7151
  multipleApiCallResponses = kwikidToolkit.setValueToObjectPath(multipleApiCallResponses, "" + api.apiKey, api.response.value);
6903
7152
  });
6904
- this.taskData = Object.assign(Object.assign({}, this.taskData), (_o = {}, _o[action.props.formApiKey] = multipleApiCallResponses, _o));
7153
+ this.taskData = Object.assign(Object.assign({}, this.taskData), (_6 = {}, _6[action.props.formApiKey] = multipleApiCallResponses, _6));
6905
7154
  this.waitingForChanges = false;
6906
7155
  this.hideApiLoader();
6907
7156
  return [2 /*return*/];
@@ -6909,7 +7158,9 @@
6909
7158
  });
6910
7159
  };
6911
7160
  KwikIDFormViewComponent.prototype.dialogShow = function (options) {
7161
+ var _this = this;
6912
7162
  var _a;
7163
+ this.triggerLogs(ELogEventType$1.FORM__DIALOG_SHOW, {});
6913
7164
  this.dialogRef = this.dialogService
6914
7165
  .open(options === null || options === void 0 ? void 0 : options.html, {
6915
7166
  closeable: true,
@@ -6919,7 +7170,12 @@
6919
7170
  data: { button: options === null || options === void 0 ? void 0 : options.button }
6920
7171
  })
6921
7172
  .subscribe({
6922
- complete: function () { }
7173
+ error: function () {
7174
+ _this.triggerLogs(ELogEventType$1.FORM__DIALOG_ERROR, {});
7175
+ },
7176
+ complete: function () {
7177
+ _this.triggerLogs(ELogEventType$1.FORM__DIALOG_HIDE, {});
7178
+ }
6923
7179
  });
6924
7180
  };
6925
7181
  KwikIDFormViewComponent.prototype.dialogHide = function () {
@@ -6935,6 +7191,10 @@
6935
7191
  typeof action.props.url.timeout == "number") {
6936
7192
  timeout = action.props.url.timeout;
6937
7193
  }
7194
+ this.triggerLogs(ELogEventType$1.FORM__REDIRECT_URL, {
7195
+ timeout: timeout,
7196
+ redirect_url: action.props.url
7197
+ });
6938
7198
  setTimeout(function () {
6939
7199
  if (kwikidToolkit.checkObjectKeyExists(action.props.url, "target")) {
6940
7200
  window.open(action.props.url.url, action.props.url.target);
@@ -7009,6 +7269,7 @@
7009
7269
  };
7010
7270
  var showDialog = function () {
7011
7271
  var _a;
7272
+ _this.triggerLogs(ELogEventType$1.FORM__DIALOG_SHOW, {});
7012
7273
  _this.previewDialogRef = _this.dialogService
7013
7274
  .open(_this.dialog, {
7014
7275
  closeable: true,
@@ -7021,18 +7282,26 @@
7021
7282
  _this.previewDialogRef.complete();
7022
7283
  },
7023
7284
  error: function () {
7285
+ _this.triggerLogs(ELogEventType$1.FORM__DIALOG_ERROR, {});
7024
7286
  resetPreviewProperties();
7025
7287
  },
7026
7288
  complete: function () {
7289
+ _this.triggerLogs(ELogEventType$1.FORM__DIALOG_HIDE, {});
7027
7290
  resetPreviewProperties();
7028
7291
  }
7029
7292
  });
7030
7293
  };
7031
7294
  var showPreview = function () {
7295
+ _this.triggerLogs(ELogEventType$1.FORM__PREVIEW_SHOW, {});
7032
7296
  _this.previewDialogRef = _this.previewDialogService
7033
7297
  .open(_this.preview || "")
7034
7298
  .subscribe({
7299
+ error: function () {
7300
+ _this.triggerLogs(ELogEventType$1.FORM__PREVIEW_ERROR, {});
7301
+ resetPreviewProperties();
7302
+ },
7035
7303
  complete: function () {
7304
+ _this.triggerLogs(ELogEventType$1.FORM__PREVIEW_HIDE, {});
7036
7305
  resetPreviewProperties();
7037
7306
  }
7038
7307
  });
@@ -7067,6 +7336,11 @@
7067
7336
  });
7068
7337
  };
7069
7338
  KwikIDFormViewComponent.prototype.alertShow = function (type, message) {
7339
+ var _this = this;
7340
+ this.triggerLogs(ELogEventType$1.FORM__ALERT_SHOW, {
7341
+ alert_message: message,
7342
+ alert_type: type
7343
+ });
7070
7344
  this.alertService
7071
7345
  .open("" + message, {
7072
7346
  status: type === "error"
@@ -7078,12 +7352,28 @@
7078
7352
  : i4.TuiNotification.Info
7079
7353
  })
7080
7354
  .subscribe({
7081
- complete: function () { }
7355
+ error: function () {
7356
+ _this.triggerLogs(ELogEventType$1.FORM__ALERT_ERROR, {});
7357
+ },
7358
+ complete: function () {
7359
+ _this.triggerLogs(ELogEventType$1.FORM__ALERT_HIDE, {});
7360
+ }
7082
7361
  });
7083
7362
  };
7084
7363
  KwikIDFormViewComponent.prototype.takeActionOnFieldGroup = function (action, object) {
7085
7364
  return __awaiter(this, void 0, void 0, function () {
7086
- return __generator(this, function (_o) {
7365
+ return __generator(this, function (_6) {
7366
+ /**
7367
+ * This below code is currently commented because not all actions need to be logged at backend.
7368
+ * Will look later into where only specific actions needs to be logged or all.
7369
+ * Currently logs are sent from withing the action's specific methods.
7370
+ * Code -
7371
+ this.triggerLogs(ELogEventType.FORM__ACTION_EXECUTE_GROUP, {
7372
+ action_key: action.key,
7373
+ ...(action.id && { action_id: action.id }),
7374
+ ...(action.props.groupKey && { action_id: action.props.groupKey })
7375
+ });
7376
+ */
7087
7377
  switch (action.key) {
7088
7378
  case EActionKey.FIELD_GROUP_HIDE:
7089
7379
  this.fieldGroupHide(action.props.groupKey);
@@ -7107,12 +7397,12 @@
7107
7397
  KwikIDFormViewComponent.prototype.takeAction = function (action, object) {
7108
7398
  var _a, _b, _c, _d, _e, _f;
7109
7399
  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) {
7400
+ var _6, fieldErrorShow_Source, fieldErrorShowSourceValue, fieldErrorHide_Source, fieldErrorHideSourceValue, redirectToUrl_Source, redirectToUrlSourceValue, previewErrorShow_Source, previewErrorShowSourceValue, fieldHtmlMessage_Source, fieldHtmlMessageSourceValue;
7401
+ return __generator(this, function (_7) {
7402
+ switch (_7.label) {
7113
7403
  case 0:
7114
- _o = action.key;
7115
- switch (_o) {
7404
+ _6 = action.key;
7405
+ switch (_6) {
7116
7406
  case EActionKey.FIELD_HIDE: return [3 /*break*/, 1];
7117
7407
  case EActionKey.FIELD_SHOW: return [3 /*break*/, 2];
7118
7408
  case EActionKey.FIELD_DISABLE: return [3 /*break*/, 3];
@@ -7174,7 +7464,7 @@
7174
7464
  fieldErrorShow_Source = new kwikidToolkit.Source(object);
7175
7465
  return [4 /*yield*/, fieldErrorShow_Source.getValueFromSource(action.props.message.source)];
7176
7466
  case 7:
7177
- fieldErrorShowSourceValue = _p.sent();
7467
+ fieldErrorShowSourceValue = _7.sent();
7178
7468
  if (typeof fieldErrorShowSourceValue == "string" ||
7179
7469
  typeof fieldErrorShowSourceValue == "number") {
7180
7470
  fieldErrorShowSourceValue = String(fieldErrorShowSourceValue);
@@ -7183,7 +7473,7 @@
7183
7473
  fieldErrorShowSourceValue = "";
7184
7474
  }
7185
7475
  action = kwikidToolkit.setValueToObjectPath(action, "props.message.message", fieldErrorShowSourceValue);
7186
- _p.label = 8;
7476
+ _7.label = 8;
7187
7477
  case 8:
7188
7478
  action.props.message.message = updateLanguage(action.props.message.message, getLanguage());
7189
7479
  this.fieldErrorShow(action.props.fieldKey, action.props.message);
@@ -7193,7 +7483,7 @@
7193
7483
  fieldErrorHide_Source = new kwikidToolkit.Source(object);
7194
7484
  return [4 /*yield*/, fieldErrorHide_Source.getValueFromSource(action.props.message.source)];
7195
7485
  case 10:
7196
- fieldErrorHideSourceValue = _p.sent();
7486
+ fieldErrorHideSourceValue = _7.sent();
7197
7487
  if (typeof fieldErrorHideSourceValue == "string" ||
7198
7488
  typeof fieldErrorHideSourceValue == "number") {
7199
7489
  fieldErrorHideSourceValue = String(fieldErrorHideSourceValue);
@@ -7202,7 +7492,7 @@
7202
7492
  fieldErrorHideSourceValue = "";
7203
7493
  }
7204
7494
  action = kwikidToolkit.setValueToObjectPath(action, "props.message.message", fieldErrorHideSourceValue);
7205
- _p.label = 11;
7495
+ _7.label = 11;
7206
7496
  case 11:
7207
7497
  this.fieldErrorHide(action.props.fieldKey, action.props.message);
7208
7498
  return [3 /*break*/, 66];
@@ -7214,81 +7504,81 @@
7214
7504
  return [3 /*break*/, 66];
7215
7505
  case 14: return [4 /*yield*/, this.setValue(action, object)];
7216
7506
  case 15:
7217
- _p.sent();
7507
+ _7.sent();
7218
7508
  return [3 /*break*/, 66];
7219
7509
  case 16: return [4 /*yield*/, this.setFieldDefaultValue(action, object)];
7220
7510
  case 17:
7221
- _p.sent();
7511
+ _7.sent();
7222
7512
  return [3 /*break*/, 66];
7223
7513
  case 18: return [4 /*yield*/, this.setApiStatus(action, object)];
7224
7514
  case 19:
7225
- _p.sent();
7515
+ _7.sent();
7226
7516
  return [3 /*break*/, 66];
7227
7517
  case 20: return [4 /*yield*/, this.setApiHeaderValue(action, object)];
7228
7518
  case 21:
7229
- _p.sent();
7519
+ _7.sent();
7230
7520
  return [3 /*break*/, 66];
7231
7521
  case 22: return [4 /*yield*/, this.setApiHeaderValidity(action, object)];
7232
7522
  case 23:
7233
- _p.sent();
7523
+ _7.sent();
7234
7524
  return [3 /*break*/, 66];
7235
7525
  case 24: return [4 /*yield*/, this.setApiBodyValue(action, object)];
7236
7526
  case 25:
7237
- _p.sent();
7527
+ _7.sent();
7238
7528
  return [3 /*break*/, 66];
7239
7529
  case 26: return [4 /*yield*/, this.setApiBodyValidity(action, object)];
7240
7530
  case 27:
7241
- _p.sent();
7531
+ _7.sent();
7242
7532
  return [3 /*break*/, 66];
7243
7533
  case 28: return [4 /*yield*/, this.setDropdownOptions(action, object)];
7244
7534
  case 29:
7245
- _p.sent();
7535
+ _7.sent();
7246
7536
  return [3 /*break*/, 66];
7247
7537
  case 30: return [4 /*yield*/, this.setFieldValidity(action, object)];
7248
7538
  case 31:
7249
- _p.sent();
7539
+ _7.sent();
7250
7540
  return [3 /*break*/, 66];
7251
7541
  case 32:
7252
7542
  this.handleConnectedElements({ key: action.props.fieldKey }, "ON_ACTION");
7253
7543
  return [3 /*break*/, 66];
7254
7544
  case 33: return [4 /*yield*/, this.fieldApiCall(action, object)];
7255
7545
  case 34:
7256
- _p.sent();
7546
+ _7.sent();
7257
7547
  return [3 /*break*/, 66];
7258
7548
  case 35: return [4 /*yield*/, this.fieldMultipleApiCalls(action, object)];
7259
7549
  case 36:
7260
- _p.sent();
7550
+ _7.sent();
7261
7551
  return [3 /*break*/, 66];
7262
7552
  case 37: return [4 /*yield*/, this.fieldMultipleApiCallsEnd(action, object)];
7263
7553
  case 38:
7264
- _p.sent();
7554
+ _7.sent();
7265
7555
  return [3 /*break*/, 66];
7266
7556
  case 39: return [4 /*yield*/, this.taskApiCall(action, object)];
7267
7557
  case 40:
7268
- _p.sent();
7558
+ _7.sent();
7269
7559
  return [3 /*break*/, 66];
7270
7560
  case 41: return [4 /*yield*/, this.taskMultipleApiCalls(action, object)];
7271
7561
  case 42:
7272
- _p.sent();
7562
+ _7.sent();
7273
7563
  return [3 /*break*/, 66];
7274
7564
  case 43: return [4 /*yield*/, this.taskMultipleApiCallsEnd(action, object)];
7275
7565
  case 44:
7276
- _p.sent();
7566
+ _7.sent();
7277
7567
  return [3 /*break*/, 66];
7278
7568
  case 45:
7279
7569
  if (!kwikidToolkit.checkObjectKeyExists(action.props.url, "source")) return [3 /*break*/, 47];
7280
7570
  redirectToUrl_Source = new kwikidToolkit.Source(object);
7281
7571
  return [4 /*yield*/, redirectToUrl_Source.getValueFromSource(action.props.url.source)];
7282
7572
  case 46:
7283
- redirectToUrlSourceValue = _p.sent();
7573
+ redirectToUrlSourceValue = _7.sent();
7284
7574
  if (kwikidToolkit.isEmptyString(redirectToUrlSourceValue)) {
7285
7575
  redirectToUrlSourceValue = "";
7286
7576
  }
7287
7577
  action = kwikidToolkit.setValueToObjectPath(action, "props.url.url", redirectToUrlSourceValue);
7288
- _p.label = 47;
7578
+ _7.label = 47;
7289
7579
  case 47:
7290
7580
  this.redirectToUrl(action);
7291
- _p.label = 48;
7581
+ _7.label = 48;
7292
7582
  case 48:
7293
7583
  this.showPreview(action.props);
7294
7584
  return [3 /*break*/, 66];
@@ -7297,7 +7587,7 @@
7297
7587
  previewErrorShow_Source = new kwikidToolkit.Source(object);
7298
7588
  return [4 /*yield*/, previewErrorShow_Source.getValueFromSource(action.props.message.source)];
7299
7589
  case 50:
7300
- previewErrorShowSourceValue = _p.sent();
7590
+ previewErrorShowSourceValue = _7.sent();
7301
7591
  if (typeof previewErrorShowSourceValue == "string" ||
7302
7592
  typeof previewErrorShowSourceValue == "number") {
7303
7593
  previewErrorShowSourceValue = String(previewErrorShowSourceValue);
@@ -7306,7 +7596,7 @@
7306
7596
  previewErrorShowSourceValue = "";
7307
7597
  }
7308
7598
  action = kwikidToolkit.setValueToObjectPath(action, "props.message.message", previewErrorShowSourceValue);
7309
- _p.label = 51;
7599
+ _7.label = 51;
7310
7600
  case 51:
7311
7601
  this.showErrorPreview(action.props);
7312
7602
  return [3 /*break*/, 66];
@@ -7350,7 +7640,7 @@
7350
7640
  fieldHtmlMessage_Source = new kwikidToolkit.Source(object);
7351
7641
  return [4 /*yield*/, fieldHtmlMessage_Source.getValueFromSource(action.props.message.source)];
7352
7642
  case 63:
7353
- fieldHtmlMessageSourceValue = _p.sent();
7643
+ fieldHtmlMessageSourceValue = _7.sent();
7354
7644
  if (typeof fieldHtmlMessageSourceValue == "string" ||
7355
7645
  typeof fieldHtmlMessageSourceValue == "number") {
7356
7646
  fieldHtmlMessageSourceValue = String(fieldHtmlMessageSourceValue);
@@ -7359,7 +7649,7 @@
7359
7649
  fieldHtmlMessageSourceValue = "";
7360
7650
  }
7361
7651
  action = kwikidToolkit.setValueToObjectPath(action, "props.message.message", fieldHtmlMessageSourceValue);
7362
- _p.label = 64;
7652
+ _7.label = 64;
7363
7653
  case 64:
7364
7654
  action.props.message.message = updateLanguage(action.props.message.message, getLanguage());
7365
7655
  this.setHtml(action.props.fieldKey, action.props.message);
@@ -7373,7 +7663,7 @@
7373
7663
  return KwikIDFormViewComponent;
7374
7664
  }());
7375
7665
  /** @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 } });
7666
+ /** @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=\"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
7667
  __decorate([
7378
7668
  kwikidToolkit.logMethod
7379
7669
  ], KwikIDFormViewComponent.prototype, "resetCamera", null);
@@ -7389,6 +7679,9 @@
7389
7679
  __decorate([
7390
7680
  kwikidToolkit.logMethod
7391
7681
  ], KwikIDFormViewComponent.prototype, "ngOnDestroy", null);
7682
+ __decorate([
7683
+ kwikidToolkit.logMethod
7684
+ ], KwikIDFormViewComponent.prototype, "triggerLogs", null);
7392
7685
  __decorate([
7393
7686
  kwikidToolkit.logMethod
7394
7687
  ], KwikIDFormViewComponent.prototype, "initFormConfig", null);
@@ -7664,6 +7957,8 @@
7664
7957
  type: i0.Input
7665
7958
  }], userConfig: [{
7666
7959
  type: i0.Input
7960
+ }], stepConfig: [{
7961
+ type: i0.Input
7667
7962
  }], getLogs: [{
7668
7963
  type: i0.Output
7669
7964
  }], getUnsavedDataState: [{
@@ -7680,13 +7975,40 @@
7680
7975
  type: i0.Output
7681
7976
  }], onClickViewForms: [{
7682
7977
  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: [] } });
7978
+ }], 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
7979
 
7685
7980
  var EFormType;
7686
7981
  (function (EFormType) {
7687
7982
  EFormType["FORM"] = "FORM";
7688
7983
  EFormType["HTML"] = "HTML";
7689
7984
  })(EFormType || (EFormType = {}));
7985
+ var ELogEventType;
7986
+ (function (ELogEventType) {
7987
+ ELogEventType["FORM__ACTION_EXECUTE"] = "FORM__ACTION_EXECUTE";
7988
+ ELogEventType["FORM__FORM_OPEN_AUTO"] = "FORM__FORM_OPEN_AUTO";
7989
+ ELogEventType["FORM__FORM_OPEN_BUTTON_CLICK"] = "FORM__FORM_OPEN_BUTTON_CLICK";
7990
+ ELogEventType["FORM__SUBMIT_FORM_BUTTON_CLICK"] = "FORM__SUBMIT_FORM_BUTTON_CLICK";
7991
+ ELogEventType["FORM__SUBMIT_FORM_BUTTON_CLICK_INVALID"] = "FORM__SUBMIT_FORM_BUTTON_CLICK_INVALID";
7992
+ ELogEventType["FORM__STEP_CONFIG_LOAD_SUCCESS"] = "FORM__STEP_CONFIG_LOAD_SUCCESS";
7993
+ })(ELogEventType || (ELogEventType = {}));
7994
+
7995
+ function formatEventLogs$1(eventType, stepConfig, extras) {
7996
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
7997
+ var logLabel = [
7998
+ eventType,
7999
+ (_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 : "_",
8000
+ (_d = extras === null || extras === void 0 ? void 0 : extras.form_key) !== null && _d !== void 0 ? _d : "_",
8001
+ (_e = extras === null || extras === void 0 ? void 0 : extras.field_key) !== null && _e !== void 0 ? _e : "_"
8002
+ ]
8003
+ .filter(function (item) { return kwikidToolkit.isNotEmptyValue(item); })
8004
+ .join(" | ");
8005
+ return {
8006
+ type: eventType,
8007
+ label: "" + logLabel,
8008
+ timestamp: new Date().getTime(),
8009
+ 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)
8010
+ };
8011
+ }
7690
8012
 
7691
8013
  var KwikIDFormsListComponent = /** @class */ (function () {
7692
8014
  function KwikIDFormsListComponent() {
@@ -7698,6 +8020,7 @@
7698
8020
  this.formsListCompleted = [];
7699
8021
  this.isMobileView = false;
7700
8022
  this.isUnsavedData = false;
8023
+ this.getLogs = new i0.EventEmitter();
7701
8024
  this.onClickSetActiveForm = new i0.EventEmitter();
7702
8025
  this.onClickHideFormsList = new i0.EventEmitter();
7703
8026
  this.onClickSubmitForms = new i0.EventEmitter();
@@ -7714,10 +8037,12 @@
7714
8037
  this.loading = true;
7715
8038
  this.setSelectedForm((_b = (_a = this.activeFormConfig) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : "");
7716
8039
  this.stepConfig = this.formatStepConfig(this.stepConfig);
8040
+ this.triggerLogs(ELogEventType$2.FORM__STEP_CONFIG_LOAD_SUCCESS, {});
7717
8041
  this.formsList = this.filterHiddenForms(this.formsList);
7718
8042
  this.formsList = this.setFormTitles(this.formsList);
7719
8043
  this.formsListLength = this.findFormsListLength(this.formsList);
7720
8044
  this.isAllFormsCompleted = this.checkIsAllFormsCompleted(this.formsList);
8045
+ this.triggerLogs(ELogEventType$2.FORM__LIST_LOAD_SUCCESS, {});
7721
8046
  this.loading = false;
7722
8047
  };
7723
8048
  KwikIDFormsListComponent.prototype.ngOnChanges = function (changes) {
@@ -7751,6 +8076,9 @@
7751
8076
  this.setSelectedForm((_b = (_a = this.activeFormConfig) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : "");
7752
8077
  }
7753
8078
  };
8079
+ KwikIDFormsListComponent.prototype.triggerLogs = function (eventType, logs) {
8080
+ this.getLogs.emit(formatEventLogs$1(eventType, this.stepConfig, logs));
8081
+ };
7754
8082
  KwikIDFormsListComponent.prototype.formatStepConfig = function (stepConfig) {
7755
8083
  var stepConfigProperties = {
7756
8084
  formListProperties: {
@@ -7815,7 +8143,7 @@
7815
8143
  return _formsList.length;
7816
8144
  };
7817
8145
  KwikIDFormsListComponent.prototype.checkIsAllFormsCompleted = function (formsList) {
7818
- var e_1, _c;
8146
+ var e_1, _g;
7819
8147
  var isAllFormsCompleted = true;
7820
8148
  try {
7821
8149
  for (var formsList_1 = __values(formsList), formsList_1_1 = formsList_1.next(); !formsList_1_1.done; formsList_1_1 = formsList_1.next()) {
@@ -7833,14 +8161,14 @@
7833
8161
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
7834
8162
  finally {
7835
8163
  try {
7836
- if (formsList_1_1 && !formsList_1_1.done && (_c = formsList_1.return)) _c.call(formsList_1);
8164
+ if (formsList_1_1 && !formsList_1_1.done && (_g = formsList_1.return)) _g.call(formsList_1);
7837
8165
  }
7838
8166
  finally { if (e_1) throw e_1.error; }
7839
8167
  }
7840
8168
  return isAllFormsCompleted;
7841
8169
  };
7842
8170
  KwikIDFormsListComponent.prototype.handleOnClickSetActiveForm = function (selectedForm) {
7843
- var _a, _b;
8171
+ var _a, _b, _c, _d, _e, _f;
7844
8172
  if (this.isMobileView ||
7845
8173
  (!this.isMobileView && this.selectedForm !== selectedForm) ||
7846
8174
  (this.isAllFormsCompleted && !this.showFormFields)) {
@@ -7849,6 +8177,10 @@
7849
8177
  !window.confirm("You have unsaved data. Proceed?")) {
7850
8178
  return;
7851
8179
  }
8180
+ this.triggerLogs(ELogEventType$2.FORM__FORM_OPEN_BUTTON_CLICK, {
8181
+ form_key: this.activeFormConfig.key,
8182
+ 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
8183
+ });
7852
8184
  this.selectedForm = selectedForm;
7853
8185
  this.onClickSetActiveForm.emit(selectedForm);
7854
8186
  }
@@ -7865,10 +8197,13 @@
7865
8197
  return KwikIDFormsListComponent;
7866
8198
  }());
7867
8199
  /** @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 } });
8200
+ /** @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
8201
  __decorate([
7870
8202
  kwikidToolkit.logMethod
7871
8203
  ], KwikIDFormsListComponent.prototype, "ngOnChanges", null);
8204
+ __decorate([
8205
+ kwikidToolkit.logMethod
8206
+ ], KwikIDFormsListComponent.prototype, "triggerLogs", null);
7872
8207
  __decorate([
7873
8208
  kwikidToolkit.logMethod
7874
8209
  ], KwikIDFormsListComponent.prototype, "formatStepConfig", null);
@@ -7910,13 +8245,15 @@
7910
8245
  type: i0.Input
7911
8246
  }], isUnsavedData: [{
7912
8247
  type: i0.Input
8248
+ }], getLogs: [{
8249
+ type: i0.Output
7913
8250
  }], onClickSetActiveForm: [{
7914
8251
  type: i0.Output
7915
8252
  }], onClickHideFormsList: [{
7916
8253
  type: i0.Output
7917
8254
  }], onClickSubmitForms: [{
7918
8255
  type: i0.Output
7919
- }], ngOnChanges: [], formatStepConfig: [], filterHiddenForms: [], findFormsListLength: [], checkIsAllFormsCompleted: [], handleOnClickSetActiveForm: [], handleOnSubmitForms: [] } });
8256
+ }], ngOnChanges: [], triggerLogs: [], formatStepConfig: [], filterHiddenForms: [], findFormsListLength: [], checkIsAllFormsCompleted: [], handleOnClickSetActiveForm: [], handleOnSubmitForms: [] } });
7920
8257
 
7921
8258
  var ERendererActionKey;
7922
8259
  (function (ERendererActionKey) {
@@ -7935,6 +8272,23 @@
7935
8272
  });
7936
8273
  return form;
7937
8274
  };
8275
+ function formatEventLogs(eventType, stepConfig, extras) {
8276
+ var _a, _b, _c, _d, _e, _f, _g;
8277
+ var logLabel = [
8278
+ eventType,
8279
+ (_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 : "_",
8280
+ (_d = extras === null || extras === void 0 ? void 0 : extras.form_key) !== null && _d !== void 0 ? _d : "_",
8281
+ (_e = extras === null || extras === void 0 ? void 0 : extras.field_key) !== null && _e !== void 0 ? _e : "_"
8282
+ ]
8283
+ .filter(function (item) { return kwikidToolkit.isNotEmptyValue(item); })
8284
+ .join(" | ");
8285
+ return {
8286
+ type: eventType,
8287
+ label: "" + logLabel,
8288
+ timestamp: new Date().getTime(),
8289
+ 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)
8290
+ };
8291
+ }
7938
8292
 
7939
8293
  var KwikIDFormsRendererComponent = /** @class */ (function () {
7940
8294
  function KwikIDFormsRendererComponent(hostElement, cdr, previewDialogService, loaderService, dialogs) {
@@ -8034,6 +8388,10 @@
8034
8388
  this.userConfig = changes.userConfig.currentValue;
8035
8389
  this.toggleLoader(false);
8036
8390
  }
8391
+ if (verifyChange("stepConfig")) {
8392
+ this.stepConfig = changes.stepConfig.currentValue;
8393
+ this.toggleLoader(false);
8394
+ }
8037
8395
  if (verifyChange("formsData")) {
8038
8396
  this.formsData = changes.formsData.currentValue;
8039
8397
  this.initializeForms("ON_CHANGE");
@@ -8047,6 +8405,9 @@
8047
8405
  this.toggleLoader(false);
8048
8406
  }
8049
8407
  };
8408
+ KwikIDFormsRendererComponent.prototype.triggerLogs = function (eventType, logs) {
8409
+ this.getLogs.emit(formatEventLogs(eventType, this.stepConfig, logs));
8410
+ };
8050
8411
  KwikIDFormsRendererComponent.prototype.toggleLoader = function (loader) {
8051
8412
  if (loader) {
8052
8413
  this.loaderService.show({
@@ -8061,14 +8422,14 @@
8061
8422
  KwikIDFormsRendererComponent.prototype.fetchFormConfig = function (url) {
8062
8423
  return __awaiter(this, void 0, void 0, function () {
8063
8424
  var response, data;
8064
- return __generator(this, function (_e) {
8065
- switch (_e.label) {
8425
+ return __generator(this, function (_o) {
8426
+ switch (_o.label) {
8066
8427
  case 0: return [4 /*yield*/, fetch(url, { method: "GET" })];
8067
8428
  case 1:
8068
- response = _e.sent();
8429
+ response = _o.sent();
8069
8430
  return [4 /*yield*/, response.json()];
8070
8431
  case 2:
8071
- data = _e.sent();
8432
+ data = _o.sent();
8072
8433
  return [2 /*return*/, data];
8073
8434
  }
8074
8435
  });
@@ -8076,14 +8437,14 @@
8076
8437
  };
8077
8438
  KwikIDFormsRendererComponent.prototype.initializeForms = function (eventType) {
8078
8439
  return __awaiter(this, void 0, void 0, function () {
8079
- return __generator(this, function (_e) {
8080
- switch (_e.label) {
8440
+ return __generator(this, function (_o) {
8441
+ switch (_o.label) {
8081
8442
  case 0:
8082
8443
  this.toggleLoader(true);
8083
8444
  this.allFormsData = this.formsData;
8084
8445
  return [4 /*yield*/, this.updateFormsList()];
8085
8446
  case 1:
8086
- _e.sent();
8447
+ _o.sent();
8087
8448
  if (!(eventType === "ON_CHANGE" &&
8088
8449
  this.findFormsListLength(this.formsList) === 1)) return [3 /*break*/, 2];
8089
8450
  this.handleOnClickSubmitForms(null);
@@ -8093,24 +8454,24 @@
8093
8454
  if (!kwikidToolkit.isNotEmptyValue(this.activeFormConfig)) return [3 /*break*/, 8];
8094
8455
  if (!kwikidToolkit.checkObjectKeyExists(this.activeFormConfig, "type")) return [3 /*break*/, 5];
8095
8456
  if (!(this.activeFormConfig.type !== EFormType.HTML)) return [3 /*break*/, 4];
8096
- return [4 /*yield*/, this.handleOnClickSetActiveForm(this.activeFormConfig.key)];
8457
+ return [4 /*yield*/, this.handleOnClickSetActiveForm(this.activeFormConfig.key, undefined)];
8097
8458
  case 3:
8098
- _e.sent();
8099
- _e.label = 4;
8459
+ _o.sent();
8460
+ _o.label = 4;
8100
8461
  case 4: return [3 /*break*/, 7];
8101
- case 5: return [4 /*yield*/, this.handleOnClickSetActiveForm(this.activeFormConfig.key)];
8462
+ case 5: return [4 /*yield*/, this.handleOnClickSetActiveForm(this.activeFormConfig.key, undefined)];
8102
8463
  case 6:
8103
- _e.sent();
8104
- _e.label = 7;
8464
+ _o.sent();
8465
+ _o.label = 7;
8105
8466
  case 7: return [3 /*break*/, 9];
8106
8467
  case 8:
8107
8468
  this.showForm = false;
8108
8469
  this.showFormFields = false;
8109
- _e.label = 9;
8470
+ _o.label = 9;
8110
8471
  case 9:
8111
8472
  this.loading = false;
8112
8473
  this.toggleLoader(false);
8113
- _e.label = 10;
8474
+ _o.label = 10;
8114
8475
  case 10: return [2 /*return*/];
8115
8476
  }
8116
8477
  });
@@ -8200,7 +8561,7 @@
8200
8561
  * @returns any[]
8201
8562
  */
8202
8563
  KwikIDFormsRendererComponent.prototype.assignSequenceNoToForm = function (formsList) {
8203
- var e_1, _e;
8564
+ var e_1, _o;
8204
8565
  var sequenceNo = 1;
8205
8566
  try {
8206
8567
  for (var formsList_1 = __values(formsList), formsList_1_1 = formsList_1.next(); !formsList_1_1.done; formsList_1_1 = formsList_1.next()) {
@@ -8218,7 +8579,7 @@
8218
8579
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
8219
8580
  finally {
8220
8581
  try {
8221
- if (formsList_1_1 && !formsList_1_1.done && (_e = formsList_1.return)) _e.call(formsList_1);
8582
+ if (formsList_1_1 && !formsList_1_1.done && (_o = formsList_1.return)) _o.call(formsList_1);
8222
8583
  }
8223
8584
  finally { if (e_1) throw e_1.error; }
8224
8585
  }
@@ -8238,7 +8599,7 @@
8238
8599
  * @returns any[]
8239
8600
  */
8240
8601
  KwikIDFormsRendererComponent.prototype.markFormInFormsListAsCompleted = function (formsList, formsListCompleted) {
8241
- var e_2, _e;
8602
+ var e_2, _o;
8242
8603
  try {
8243
8604
  for (var formsList_2 = __values(formsList), formsList_2_1 = formsList_2.next(); !formsList_2_1.done; formsList_2_1 = formsList_2.next()) {
8244
8605
  var form = formsList_2_1.value;
@@ -8255,7 +8616,7 @@
8255
8616
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
8256
8617
  finally {
8257
8618
  try {
8258
- if (formsList_2_1 && !formsList_2_1.done && (_e = formsList_2.return)) _e.call(formsList_2);
8619
+ if (formsList_2_1 && !formsList_2_1.done && (_o = formsList_2.return)) _o.call(formsList_2);
8259
8620
  }
8260
8621
  finally { if (e_2) throw e_2.error; }
8261
8622
  }
@@ -8268,7 +8629,7 @@
8268
8629
  * @returns any[]
8269
8630
  */
8270
8631
  KwikIDFormsRendererComponent.prototype.markFormInFormsListAsDisabled = function (formsList, formsListCompleted) {
8271
- var e_3, _e;
8632
+ var e_3, _o;
8272
8633
  try {
8273
8634
  for (var formsList_3 = __values(formsList), formsList_3_1 = formsList_3.next(); !formsList_3_1.done; formsList_3_1 = formsList_3.next()) {
8274
8635
  var form = formsList_3_1.value;
@@ -8299,14 +8660,14 @@
8299
8660
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
8300
8661
  finally {
8301
8662
  try {
8302
- if (formsList_3_1 && !formsList_3_1.done && (_e = formsList_3.return)) _e.call(formsList_3);
8663
+ if (formsList_3_1 && !formsList_3_1.done && (_o = formsList_3.return)) _o.call(formsList_3);
8303
8664
  }
8304
8665
  finally { if (e_3) throw e_3.error; }
8305
8666
  }
8306
8667
  return formsList;
8307
8668
  };
8308
8669
  KwikIDFormsRendererComponent.prototype.filterAllFormsData = function (allFormsData, formsList) {
8309
- var e_4, _e, _f;
8670
+ var e_4, _o, _p;
8310
8671
  var currentUserFormAllFormsData = {};
8311
8672
  try {
8312
8673
  for (var formsList_4 = __values(formsList), formsList_4_1 = formsList_4.next(); !formsList_4_1.done; formsList_4_1 = formsList_4.next()) {
@@ -8315,7 +8676,7 @@
8315
8676
  !form.hidden &&
8316
8677
  form.type !== EFormType.HTML) {
8317
8678
  if (kwikidToolkit.checkObjectKeyExists(allFormsData, form.key)) {
8318
- currentUserFormAllFormsData = Object.assign(Object.assign({}, currentUserFormAllFormsData), (_f = {}, _f[form.key] = allFormsData[form.key], _f));
8679
+ currentUserFormAllFormsData = Object.assign(Object.assign({}, currentUserFormAllFormsData), (_p = {}, _p[form.key] = allFormsData[form.key], _p));
8319
8680
  }
8320
8681
  }
8321
8682
  }
@@ -8323,14 +8684,14 @@
8323
8684
  catch (e_4_1) { e_4 = { error: e_4_1 }; }
8324
8685
  finally {
8325
8686
  try {
8326
- if (formsList_4_1 && !formsList_4_1.done && (_e = formsList_4.return)) _e.call(formsList_4);
8687
+ if (formsList_4_1 && !formsList_4_1.done && (_o = formsList_4.return)) _o.call(formsList_4);
8327
8688
  }
8328
8689
  finally { if (e_4) throw e_4.error; }
8329
8690
  }
8330
8691
  return currentUserFormAllFormsData;
8331
8692
  };
8332
8693
  KwikIDFormsRendererComponent.prototype.checkIfFormsStatusCompleted = function (formsList, formsListCompleted) {
8333
- var e_5, _e;
8694
+ var e_5, _o;
8334
8695
  var allFormsCompleted = true;
8335
8696
  try {
8336
8697
  for (var formsList_5 = __values(formsList), formsList_5_1 = formsList_5.next(); !formsList_5_1.done; formsList_5_1 = formsList_5.next()) {
@@ -8348,7 +8709,7 @@
8348
8709
  catch (e_5_1) { e_5 = { error: e_5_1 }; }
8349
8710
  finally {
8350
8711
  try {
8351
- if (formsList_5_1 && !formsList_5_1.done && (_e = formsList_5.return)) _e.call(formsList_5);
8712
+ if (formsList_5_1 && !formsList_5_1.done && (_o = formsList_5.return)) _o.call(formsList_5);
8352
8713
  }
8353
8714
  finally { if (e_5) throw e_5.error; }
8354
8715
  }
@@ -8366,20 +8727,20 @@
8366
8727
  };
8367
8728
  KwikIDFormsRendererComponent.prototype.updateFormsList = function () {
8368
8729
  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) {
8730
+ var _o, _p, form, triggers, rules, actions, rulesMapping, actions_1, actions_1_1, action, conditionEvaluation, actions_2, e_6_1, e_7_1, currentUserFormAllFormsData;
8731
+ var e_7, _q, e_6, _r;
8732
+ return __generator(this, function (_s) {
8733
+ switch (_s.label) {
8373
8734
  case 0:
8374
8735
  this.formsList = this.convertFormListConfig(this.formsList);
8375
- _j.label = 1;
8736
+ _s.label = 1;
8376
8737
  case 1:
8377
- _j.trys.push([1, 14, 15, 16]);
8378
- _e = __values(this.formsList), _f = _e.next();
8379
- _j.label = 2;
8738
+ _s.trys.push([1, 14, 15, 16]);
8739
+ _o = __values(this.formsList), _p = _o.next();
8740
+ _s.label = 2;
8380
8741
  case 2:
8381
- if (!!_f.done) return [3 /*break*/, 13];
8382
- form = _f.value;
8742
+ if (!!_p.done) return [3 /*break*/, 13];
8743
+ form = _p.value;
8383
8744
  if (!(kwikidToolkit.checkObjectKeyExists(form, "default") &&
8384
8745
  kwikidToolkit.isNotEmptyValue(form.default))) return [3 /*break*/, 11];
8385
8746
  triggers = form.default.triggers;
@@ -8390,11 +8751,11 @@
8390
8751
  FORMS_LIST: this.formsList,
8391
8752
  ALL_FORMS_DATA: this.allFormsData
8392
8753
  }).mapping();
8393
- _j.label = 3;
8754
+ _s.label = 3;
8394
8755
  case 3:
8395
- _j.trys.push([3, 8, 9, 10]);
8756
+ _s.trys.push([3, 8, 9, 10]);
8396
8757
  actions_1 = (e_6 = void 0, __values(actions)), actions_1_1 = actions_1.next();
8397
- _j.label = 4;
8758
+ _s.label = 4;
8398
8759
  case 4:
8399
8760
  if (!!actions_1_1.done) return [3 /*break*/, 7];
8400
8761
  action = actions_1_1.value;
@@ -8406,19 +8767,19 @@
8406
8767
  }, this.takeAction.bind(this));
8407
8768
  return [4 /*yield*/, actions_2.execute()];
8408
8769
  case 5:
8409
- _j.sent();
8410
- _j.label = 6;
8770
+ _s.sent();
8771
+ _s.label = 6;
8411
8772
  case 6:
8412
8773
  actions_1_1 = actions_1.next();
8413
8774
  return [3 /*break*/, 4];
8414
8775
  case 7: return [3 /*break*/, 10];
8415
8776
  case 8:
8416
- e_6_1 = _j.sent();
8777
+ e_6_1 = _s.sent();
8417
8778
  e_6 = { error: e_6_1 };
8418
8779
  return [3 /*break*/, 10];
8419
8780
  case 9:
8420
8781
  try {
8421
- if (actions_1_1 && !actions_1_1.done && (_h = actions_1.return)) _h.call(actions_1);
8782
+ if (actions_1_1 && !actions_1_1.done && (_r = actions_1.return)) _r.call(actions_1);
8422
8783
  }
8423
8784
  finally { if (e_6) throw e_6.error; }
8424
8785
  return [7 /*endfinally*/];
@@ -8427,18 +8788,18 @@
8427
8788
  if (!kwikidToolkit.checkObjectKeyExists(form, "hidden")) {
8428
8789
  form.hidden = false;
8429
8790
  }
8430
- _j.label = 12;
8791
+ _s.label = 12;
8431
8792
  case 12:
8432
- _f = _e.next();
8793
+ _p = _o.next();
8433
8794
  return [3 /*break*/, 2];
8434
8795
  case 13: return [3 /*break*/, 16];
8435
8796
  case 14:
8436
- e_7_1 = _j.sent();
8797
+ e_7_1 = _s.sent();
8437
8798
  e_7 = { error: e_7_1 };
8438
8799
  return [3 /*break*/, 16];
8439
8800
  case 15:
8440
8801
  try {
8441
- if (_f && !_f.done && (_g = _e.return)) _g.call(_e);
8802
+ if (_p && !_p.done && (_q = _o.return)) _q.call(_o);
8442
8803
  }
8443
8804
  finally { if (e_7) throw e_7.error; }
8444
8805
  return [7 /*endfinally*/];
@@ -8487,12 +8848,12 @@
8487
8848
  };
8488
8849
  KwikIDFormsRendererComponent.prototype.takeAction = function (action, object) {
8489
8850
  return __awaiter(this, void 0, void 0, function () {
8490
- var _e, sources, sourceValue;
8491
- return __generator(this, function (_f) {
8492
- switch (_f.label) {
8851
+ var _o, sources, sourceValue;
8852
+ return __generator(this, function (_p) {
8853
+ switch (_p.label) {
8493
8854
  case 0:
8494
- _e = action.key;
8495
- switch (_e) {
8855
+ _o = action.key;
8856
+ switch (_o) {
8496
8857
  case ERendererActionKey.FORM_HIDE: return [3 /*break*/, 1];
8497
8858
  case ERendererActionKey.FORM_SHOW: return [3 /*break*/, 2];
8498
8859
  case EActionKey.SET_VALUE: return [3 /*break*/, 3];
@@ -8511,7 +8872,7 @@
8511
8872
  });
8512
8873
  return [4 /*yield*/, sources.getValueFromSource(action.props.value.source)];
8513
8874
  case 4:
8514
- sourceValue = _f.sent();
8875
+ sourceValue = _p.sent();
8515
8876
  sources.setValueToSource(action.props.value.destination, sourceValue);
8516
8877
  this.userConfig = sources.object.USER_CONFIG;
8517
8878
  this.formsData = sources.object.ALL_FORMS_DATA;
@@ -8548,12 +8909,12 @@
8548
8909
  * FormList - Listens to event of opening the FormView of when any form is clicked in FormList
8549
8910
  * @param selectedForm string
8550
8911
  */
8551
- KwikIDFormsRendererComponent.prototype.handleOnClickSetActiveForm = function (selectedForm) {
8552
- var _a, _b, _c, _d;
8912
+ KwikIDFormsRendererComponent.prototype.handleOnClickSetActiveForm = function (selectedForm, triggerType) {
8913
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
8553
8914
  return __awaiter(this, void 0, void 0, function () {
8554
8915
  var activeFormConfig, formConfig, formConfigFromUrl, url, formConfigFromPath, formConfigFromUrl, url, formConfigFromPath;
8555
- return __generator(this, function (_e) {
8556
- switch (_e.label) {
8916
+ return __generator(this, function (_o) {
8917
+ switch (_o.label) {
8557
8918
  case 0:
8558
8919
  this.showForm = false;
8559
8920
  this.toggleLoader(true);
@@ -8569,7 +8930,7 @@
8569
8930
  if (!kwikidToolkit.checkObjectKeyExists(activeFormConfig.props, "url")) return [3 /*break*/, 2];
8570
8931
  return [4 /*yield*/, this.fetchFormConfig(activeFormConfig.props.url)];
8571
8932
  case 1:
8572
- formConfigFromUrl = _e.sent();
8933
+ formConfigFromUrl = _o.sent();
8573
8934
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromUrl);
8574
8935
  return [3 /*break*/, 5];
8575
8936
  case 2:
@@ -8579,7 +8940,7 @@
8579
8940
  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
8941
  return [4 /*yield*/, this.fetchFormConfig(url)];
8581
8942
  case 3:
8582
- formConfigFromPath = _e.sent();
8943
+ formConfigFromPath = _o.sent();
8583
8944
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromPath);
8584
8945
  return [3 /*break*/, 5];
8585
8946
  case 4:
@@ -8595,13 +8956,13 @@
8595
8956
  else {
8596
8957
  console.error("No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!");
8597
8958
  }
8598
- _e.label = 5;
8959
+ _o.label = 5;
8599
8960
  case 5: return [3 /*break*/, 11];
8600
8961
  case 6:
8601
8962
  if (!kwikidToolkit.checkObjectKeyExists(activeFormConfig.formContent, "url")) return [3 /*break*/, 8];
8602
8963
  return [4 /*yield*/, this.fetchFormConfig(activeFormConfig.formContent.url)];
8603
8964
  case 7:
8604
- formConfigFromUrl = _e.sent();
8965
+ formConfigFromUrl = _o.sent();
8605
8966
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromUrl);
8606
8967
  return [3 /*break*/, 11];
8607
8968
  case 8:
@@ -8611,7 +8972,7 @@
8611
8972
  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
8973
  return [4 /*yield*/, this.fetchFormConfig(url)];
8613
8974
  case 9:
8614
- formConfigFromPath = _e.sent();
8975
+ formConfigFromPath = _o.sent();
8615
8976
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromPath);
8616
8977
  return [3 /*break*/, 11];
8617
8978
  case 10:
@@ -8621,13 +8982,27 @@
8621
8982
  else {
8622
8983
  console.error("No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!");
8623
8984
  }
8624
- _e.label = 11;
8985
+ _o.label = 11;
8625
8986
  case 11:
8626
8987
  formConfig = new Converter().updateFormConfigFromUserConfig(formConfig, this.userConfig);
8627
8988
  formConfig = new Converter().updateFormConfigMiscellaneous(formConfig, {
8628
8989
  formsListLength: this.findFormsListLength(this.formsList)
8629
8990
  });
8630
8991
  this.activeFormConfig = kwikidToolkit.mergeObjects(activeFormConfig, formConfig);
8992
+ switch (triggerType) {
8993
+ case "BUTTON_CLICK":
8994
+ this.triggerLogs(ELogEventType.FORM__FORM_OPEN_BUTTON_CLICK, {
8995
+ form_key: this.activeFormConfig.key,
8996
+ 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
8997
+ });
8998
+ break;
8999
+ default:
9000
+ this.triggerLogs(ELogEventType.FORM__FORM_OPEN_AUTO, {
9001
+ form_key: this.activeFormConfig.key,
9002
+ 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
9003
+ });
9004
+ break;
9005
+ }
8631
9006
  if (this.hostElement.nativeElement.offsetWidth < 600) {
8632
9007
  this.showFormSections = false;
8633
9008
  this.showFormFields = true;
@@ -8657,12 +9032,12 @@
8657
9032
  this.onClickFormFieldButton.emit(e);
8658
9033
  };
8659
9034
  KwikIDFormsRendererComponent.prototype.handleOnActionShowPopupForm = function (e, content) {
8660
- var _e;
9035
+ var _o;
8661
9036
  var _this = this;
8662
9037
  var _a;
8663
9038
  if (kwikidToolkit.checkObjectKeyExists(e, "activeFormData") &&
8664
9039
  kwikidToolkit.checkObjectKeyExists(e, "popupFormConfig")) {
8665
- var popupFormData = (_e = {}, _e[this.activeFormConfig.key] = e.activeFormData, _e);
9040
+ var popupFormData = (_o = {}, _o[this.activeFormConfig.key] = e.activeFormData, _o);
8666
9041
  this.activePopupFormData = kwikidToolkit.mergeObjects(this.allFormsData, popupFormData);
8667
9042
  this.popupFormConfig = e.popupFormConfig;
8668
9043
  var popupType = (_a = e === null || e === void 0 ? void 0 : e.popupType) !== null && _a !== void 0 ? _a : "DIALOG";
@@ -8742,18 +9117,18 @@
8742
9117
  * @param e any
8743
9118
  */
8744
9119
  KwikIDFormsRendererComponent.prototype.handleOnClickSaveForm = function (e, eventType, context) {
8745
- var _e;
9120
+ var _o;
8746
9121
  switch (eventType) {
8747
9122
  case "FORM":
8748
9123
  this.isUnsavedData = false;
8749
9124
  this.toggleLoader(true);
8750
- this.getFormData.emit((_e = {},
8751
- _e[this.activeFormConfig.key] = {
9125
+ this.getFormData.emit((_o = {},
9126
+ _o[this.activeFormConfig.key] = {
8752
9127
  formConfig: e["formConfig"],
8753
9128
  data: e["data"],
8754
9129
  extendedData: e["extendedData"]
8755
9130
  },
8756
- _e));
9131
+ _o));
8757
9132
  break;
8758
9133
  case "POPUP_FORM":
8759
9134
  this.previewDialogRef.next(e);
@@ -8811,7 +9186,7 @@
8811
9186
  }
8812
9187
  });
8813
9188
  if (previousFormConfigDirect) {
8814
- this.handleOnClickSetActiveForm(previousFormConfigDirect.key);
9189
+ this.handleOnClickSetActiveForm(previousFormConfigDirect.key, undefined);
8815
9190
  }
8816
9191
  }
8817
9192
  }
@@ -8824,7 +9199,7 @@
8824
9199
  }
8825
9200
  });
8826
9201
  if (previousFormConfig) {
8827
- this.handleOnClickSetActiveForm(previousFormConfig.key);
9202
+ this.handleOnClickSetActiveForm(previousFormConfig.key, undefined);
8828
9203
  }
8829
9204
  else {
8830
9205
  this.showFormSections = true;
@@ -8841,12 +9216,14 @@
8841
9216
  * @param e any
8842
9217
  */
8843
9218
  KwikIDFormsRendererComponent.prototype.handleOnClickSubmitForms = function (e) {
9219
+ var _a, _b;
8844
9220
  return __awaiter(this, void 0, void 0, function () {
8845
- var formsList, formsList_6, formsList_6_1, form;
8846
- var e_8, _e;
9221
+ var formsList, firstFormWithError, formsList_6, formsList_6_1, form;
9222
+ var e_8, _o;
8847
9223
  var _this = this;
8848
- return __generator(this, function (_f) {
9224
+ return __generator(this, function (_p) {
8849
9225
  formsList = JSON.parse(JSON.stringify(this.formsList));
9226
+ firstFormWithError = "";
8850
9227
  try {
8851
9228
  for (formsList_6 = __values(formsList), formsList_6_1 = formsList_6.next(); !formsList_6_1.done; formsList_6_1 = formsList_6.next()) {
8852
9229
  form = formsList_6_1.value;
@@ -8854,21 +9231,31 @@
8854
9231
  form.type !== EFormType.HTML &&
8855
9232
  form.required &&
8856
9233
  form.status !== EFormsListStatus.COMPLETED) {
8857
- this.toggleErrorNotification(true);
8858
- setTimeout(function () {
8859
- _this.toggleErrorNotification(false);
8860
- }, 3000);
8861
- return [2 /*return*/];
9234
+ this.triggerLogs(ELogEventType.FORM__SUBMIT_FORM_BUTTON_CLICK_INVALID, {
9235
+ form_key: form.key,
9236
+ 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,
9237
+ form_status: form.status
9238
+ });
9239
+ if (kwikidToolkit.isEmptyValue(firstFormWithError)) {
9240
+ firstFormWithError = form.key;
9241
+ }
8862
9242
  }
8863
9243
  }
8864
9244
  }
8865
9245
  catch (e_8_1) { e_8 = { error: e_8_1 }; }
8866
9246
  finally {
8867
9247
  try {
8868
- if (formsList_6_1 && !formsList_6_1.done && (_e = formsList_6.return)) _e.call(formsList_6);
9248
+ if (formsList_6_1 && !formsList_6_1.done && (_o = formsList_6.return)) _o.call(formsList_6);
8869
9249
  }
8870
9250
  finally { if (e_8) throw e_8.error; }
8871
9251
  }
9252
+ if (kwikidToolkit.isNotEmptyValue(firstFormWithError)) {
9253
+ this.toggleErrorNotification(true);
9254
+ setTimeout(function () {
9255
+ _this.toggleErrorNotification(false);
9256
+ }, 3000);
9257
+ return [2 /*return*/];
9258
+ }
8872
9259
  this.onClickSubmit.emit(e);
8873
9260
  return [2 /*return*/];
8874
9261
  });
@@ -8904,7 +9291,7 @@
8904
9291
  return KwikIDFormsRendererComponent;
8905
9292
  }());
8906
9293
  /** @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: [
9294
+ /** @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
9295
  animations.trigger("panelInOut", [
8909
9296
  animations.transition(":enter", [
8910
9297
  animations.style({ transform: "translateY(100%)" }),
@@ -8915,6 +9302,9 @@
8915
9302
  ])
8916
9303
  ])
8917
9304
  ] });
9305
+ __decorate([
9306
+ kwikidToolkit.logMethod
9307
+ ], KwikIDFormsRendererComponent.prototype, "triggerLogs", null);
8918
9308
  __decorate([
8919
9309
  kwikidToolkit.logMethod
8920
9310
  ], KwikIDFormsRendererComponent.prototype, "toggleLoader", null);
@@ -9038,7 +9428,7 @@
9038
9428
  type: i0.Output
9039
9429
  }], onClickFormFieldButton: [{
9040
9430
  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: [] } });
9431
+ }], 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
9432
 
9043
9433
  var JsonFormatPipe = /** @class */ (function () {
9044
9434
  function JsonFormatPipe() {