kwikid-forms 0.6.33 → 0.6.34

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.
@@ -694,6 +694,7 @@
694
694
  EFieldType["CAPTURE"] = "capture";
695
695
  EFieldType["RECORD"] = "record";
696
696
  EFieldType["STAR_RATING"] = "star-rating";
697
+ EFieldType["LIVE_LOCATION"] = "live-location";
697
698
  })(EFieldType || (EFieldType = {}));
698
699
 
699
700
  var FIELD_PROPERTIES = {
@@ -922,6 +923,16 @@
922
923
  min: 0,
923
924
  placeholder: "",
924
925
  size: "m"
926
+ },
927
+ "live-location": {
928
+ isGetLocationFromLatLong: true,
929
+ isShowLatLongCaptureTimestamp: true,
930
+ color: "var(--tui-primary)",
931
+ containerStyles: "",
932
+ placeholder: "",
933
+ size: "m",
934
+ styles: "",
935
+ shape: "curved"
925
936
  }
926
937
  };
927
938
 
@@ -1602,6 +1613,32 @@
1602
1613
  }
1603
1614
  return field;
1604
1615
  };
1616
+ var formatFieldTypeLiveLocation = function (field) {
1617
+ field = setFieldAsFormElement(field, true);
1618
+ field = updateFormFieldProperties(field);
1619
+ if (!kwikidToolkit.checkObjectKeyExists(field, "showLoader")) {
1620
+ field = setFieldKeyValue(field, "showLoader", false);
1621
+ }
1622
+ if (!kwikidToolkit.checkObjectKeyExists(field, "api")) {
1623
+ var fieldApiDefaults = {
1624
+ url: "",
1625
+ request: {},
1626
+ response: {},
1627
+ status: {
1628
+ value: "default",
1629
+ labels: {
1630
+ default: "Get Live Location",
1631
+ loading: "Getting Live Location",
1632
+ retry: "Get Live Location",
1633
+ success: "Live Location",
1634
+ failed: "Live Location"
1635
+ }
1636
+ }
1637
+ };
1638
+ field.api = kwikidToolkit.getObjectDeepCopy(kwikidToolkit.mergeObjects(fieldApiDefaults, fieldApiDefaults));
1639
+ }
1640
+ return field;
1641
+ };
1605
1642
  var formatFieldTypeOtp = function (field) {
1606
1643
  var _a, _b;
1607
1644
  field = setFieldKeyHidden(field);
@@ -1702,8 +1739,14 @@
1702
1739
  field = setFieldKeyValue(field, "type", "api");
1703
1740
  field = formatFieldTypeApi(field);
1704
1741
  break;
1742
+ case EFieldType.LIVE_LOCATION:
1743
+ field = formatFieldTypeLiveLocation(field);
1744
+ break;
1705
1745
  case EFieldType.API:
1706
1746
  field = formatFieldTypeApi(field);
1747
+ case EFieldType.LIVE_LOCATION:
1748
+ field = formatFieldTypeLiveLocation(field);
1749
+ break;
1707
1750
  break;
1708
1751
  case EFieldType.OTP:
1709
1752
  field = formatFieldTypeOtp(field);
@@ -2013,6 +2056,9 @@
2013
2056
  case EFieldType.API_CALL:
2014
2057
  field["api"]["status"]["labels"] = updateApiStatus(field["api"]["status"]["labels"]);
2015
2058
  break;
2059
+ case EFieldType.LIVE_LOCATION:
2060
+ field["api"]["status"]["labels"] = updateApiStatus(field["api"]["status"]["labels"]);
2061
+ break;
2016
2062
  default:
2017
2063
  break;
2018
2064
  }
@@ -3067,6 +3113,10 @@
3067
3113
  EActionKey["FIELD_ENABLE"] = "FIELD_ENABLE";
3068
3114
  EActionKey["FIELD_DISABLE"] = "FIELD_DISABLE";
3069
3115
  EActionKey["FIELD_RESET"] = "FIELD_RESET";
3116
+ EActionKey["FIELD_GROUP_SHOW_API_LOADER"] = "FIELD_GROUP_SHOW_API_LOADER";
3117
+ EActionKey["FIELD_GROUP_HIDE_API_LOADER"] = "FIELD_GROUP_HIDE_API_LOADER";
3118
+ EActionKey["FIELD_SHOW_API_LOADER"] = "FIELD_SHOW_API_LOADER";
3119
+ EActionKey["FIELD_HIDE_API_LOADER"] = "FIELD_HIDE_API_LOADER";
3070
3120
  EActionKey["HANDLE_CONNECTED_ELEMENTS"] = "HANDLE_CONNECTED_ELEMENTS";
3071
3121
  EActionKey["CUSTOM"] = "CUSTOM";
3072
3122
  EActionKey["FIELD_GROUP_SHOW"] = "FIELD_GROUP_SHOW";
@@ -3133,10 +3183,12 @@
3133
3183
  ELogEventType["FORM__API_BUTTON_CLICK"] = "FORM__API_BUTTON_CLICK";
3134
3184
  ELogEventType["FORM__API_REQUEST"] = "FORM__API_REQUEST";
3135
3185
  ELogEventType["FORM__API_REQUEST_INVALID"] = "FORM__API_REQUEST_INVALID";
3186
+ ELogEventType["FORM__API_REQUEST_REVERSE_LAT_LONG"] = "FORM__API_REQUEST_REVERSE_LAT_LONG";
3136
3187
  ELogEventType["FORM__API_REQUEST_UPLOAD_FILE"] = "FORM__API_REQUEST_UPLOAD_FILE";
3137
3188
  ELogEventType["FORM__API_REQUEST_UPLOAD_IMAGE"] = "FORM__API_REQUEST_UPLOAD_IMAGE";
3138
3189
  ELogEventType["FORM__API_REQUEST_UPLOAD_VIDEO"] = "FORM__API_REQUEST_UPLOAD_VIDEO";
3139
3190
  ELogEventType["FORM__API_RESPONSE"] = "FORM__API_RESPONSE";
3191
+ ELogEventType["FORM__API_RESPONSE_REVERSE_LAT_LONG"] = "FORM__API_RESPONSE_REVERSE_LAT_LONG";
3140
3192
  ELogEventType["FORM__API_RESPONSE_UPLOAD_FILE"] = "FORM__API_RESPONSE_UPLOAD_FILE";
3141
3193
  ELogEventType["FORM__API_RESPONSE_UPLOAD_IMAGE"] = "FORM__API_RESPONSE_UPLOAD_IMAGE";
3142
3194
  ELogEventType["FORM__API_RESPONSE_UPLOAD_VIDEO"] = "FORM__API_RESPONSE_UPLOAD_VIDEO";
@@ -3147,8 +3199,8 @@
3147
3199
  ELogEventType["FORM__DIALOG_ERROR"] = "FORM__DIALOG_ERROR";
3148
3200
  ELogEventType["FORM__DIALOG_HIDE"] = "FORM__DIALOG_HIDE";
3149
3201
  ELogEventType["FORM__DIALOG_SHOW"] = "FORM__DIALOG_SHOW";
3150
- ELogEventType["FORM__FIELD_API_TIMER_MESSAGE_SHOW"] = "FORM__FIELD_API_TIMER_MESSAGE_SHOW";
3151
3202
  ELogEventType["FORM__FIELD_API_TIMER_MESSAGE_HIDE"] = "FORM__FIELD_API_TIMER_MESSAGE_HIDE";
3203
+ ELogEventType["FORM__FIELD_API_TIMER_MESSAGE_SHOW"] = "FORM__FIELD_API_TIMER_MESSAGE_SHOW";
3152
3204
  ELogEventType["FORM__FIELD_BUTTON_CLICK"] = "FORM__FIELD_BUTTON_CLICK";
3153
3205
  ELogEventType["FORM__FIELD_CAMERA_BUTTON_CLICK"] = "FORM__FIELD_CAMERA_BUTTON_CLICK";
3154
3206
  ELogEventType["FORM__FIELD_DISABLE"] = "FORM__FIELD_DISABLE";
@@ -3164,6 +3216,9 @@
3164
3216
  ELogEventType["FORM__FIELD_RESET"] = "FORM__FIELD_RESET";
3165
3217
  ELogEventType["FORM__FIELD_RESET_BUTTON_CLICK"] = "FORM__FIELD_RESET_BUTTON_CLICK";
3166
3218
  ELogEventType["FORM__FIELD_SHOW"] = "FORM__FIELD_SHOW";
3219
+ ELogEventType["FORM__LIVE_LOCATION_BUTTON_CLICK"] = "FORM__LIVE_LOCATION_BUTTON_CLICK";
3220
+ ELogEventType["FORM__LIVE_LOCATION_PERMISSION_ERROR"] = "FORM__LIVE_LOCATION_PERMISSION_ERROR";
3221
+ ELogEventType["FORM__LIVE_LOCATION_PERMISSION_SUCCESS"] = "FORM__LIVE_LOCATION_PERMISSION_SUCCESS";
3167
3222
  ELogEventType["FORM__PREVIEW_ERROR"] = "FORM__PREVIEW_ERROR";
3168
3223
  ELogEventType["FORM__PREVIEW_HIDE"] = "FORM__PREVIEW_HIDE";
3169
3224
  ELogEventType["FORM__PREVIEW_SHOW"] = "FORM__PREVIEW_SHOW";
@@ -4847,6 +4902,7 @@
4847
4902
  this.taskData = {};
4848
4903
  this.formGroup = new i3.FormGroup({});
4849
4904
  this.showErrorNotification = false;
4905
+ this.showPermissionErrorNotification = false;
4850
4906
  this.dialogRef = undefined;
4851
4907
  }
4852
4908
  KwikIDFormViewComponent.prototype.resetCamera = function () {
@@ -4893,7 +4949,7 @@
4893
4949
  };
4894
4950
  KwikIDFormViewComponent.prototype.ngAfterViewInit = function () { };
4895
4951
  KwikIDFormViewComponent.prototype.ngOnChanges = function (changes) {
4896
- var _15, _16, _17;
4952
+ var _15, _16, _17, _18;
4897
4953
  var _this = this;
4898
4954
  var _a, _b, _c, _d;
4899
4955
  var verifyChange = function (key) {
@@ -5097,6 +5153,115 @@
5097
5153
  }
5098
5154
  this.hideApiLoader();
5099
5155
  break;
5156
+ case EFieldType.LIVE_LOCATION:
5157
+ if (response) {
5158
+ this.formData[field_1.key] = kwikidToolkit.getObjectDeepCopy(response);
5159
+ this.mediaFiles[field_1.key] = kwikidToolkit.getObjectDeepCopy(response);
5160
+ this.formGroup.controls[field_1.key].patchValue(kwikidToolkit.getObjectDeepCopy(response), {
5161
+ emitEvent: false,
5162
+ onlySelf: false
5163
+ });
5164
+ this.formGroup.patchValue((_18 = {},
5165
+ _18[field_1.key] = kwikidToolkit.getObjectDeepCopy(response),
5166
+ _18), { emitEvent: false });
5167
+ this.formGroup.controls[field_1.key].updateValueAndValidity({
5168
+ emitEvent: false
5169
+ });
5170
+ this.formGroup.updateValueAndValidity({
5171
+ emitEvent: false
5172
+ });
5173
+ this.getUnsavedDataState.emit(true);
5174
+ var apis_1 = new Apis({
5175
+ FIELD_CONFIG: field_1,
5176
+ API_CONFIG: field_1.api,
5177
+ API_RESPONSE: response,
5178
+ FORM_FIELDS: this.formFields,
5179
+ FORM_DATA: this.formData,
5180
+ TASK_DATA: this.taskData,
5181
+ PREVIOUS_FORM_DATA: this.previousFormData,
5182
+ ALL_FORMS_DATA: this.allFormsData
5183
+ }, this.takeAction.bind(this));
5184
+ (function () { return __awaiter(_this, void 0, void 0, function () {
5185
+ var api;
5186
+ return __generator(this, function (_15) {
5187
+ switch (_15.label) {
5188
+ case 0: return [4 /*yield*/, apis_1.validateResponse()];
5189
+ case 1:
5190
+ api = _15.sent();
5191
+ field_1.api = api;
5192
+ return [2 /*return*/];
5193
+ }
5194
+ });
5195
+ }); })();
5196
+ if (field_1.isFormElement &&
5197
+ kwikidToolkit.checkObjectKeyExists(field_1, "validation") &&
5198
+ field_1.validation.triggers.includes("ON_CHANGE")) {
5199
+ var validations_3 = new kwikidToolkit.Validation({
5200
+ FIELD_CONFIG: field_1,
5201
+ FORM_FIELDS: this.formFields,
5202
+ FORM_DATA: this.formData,
5203
+ TASK_DATA: this.taskData,
5204
+ PREVIOUS_FORM_DATA: this.previousFormData,
5205
+ ALL_FORMS_DATA: this.allFormsData
5206
+ }, this.takeAction.bind(this));
5207
+ (function () { return __awaiter(_this, void 0, void 0, function () {
5208
+ return __generator(this, function (_15) {
5209
+ switch (_15.label) {
5210
+ case 0: return [4 /*yield*/, validations_3.validate(field_1.validation)];
5211
+ case 1:
5212
+ _15.sent();
5213
+ return [2 /*return*/];
5214
+ }
5215
+ });
5216
+ }); })();
5217
+ }
5218
+ if (field_1.isFormElement &&
5219
+ kwikidToolkit.checkObjectKeyExists(field_1, "connectedElements")) {
5220
+ this.handleConnectedElements({
5221
+ key: field_1.key,
5222
+ value: this.formGroup.controls[field_1.key].value
5223
+ }, "ON_CHANGE");
5224
+ }
5225
+ this.hideApiLoader();
5226
+ this.triggerLogs(ELogEventType$1.FORM__API_RESPONSE_REVERSE_LAT_LONG, {
5227
+ api_key: this.apiCallResponse.key,
5228
+ field_key: this.apiCallResponse.key,
5229
+ response_type: "REVERSE_LAT_LONG_API_SUCCESS",
5230
+ response: response
5231
+ });
5232
+ }
5233
+ else {
5234
+ this.triggerLogs(ELogEventType$1.FORM__API_RESPONSE_REVERSE_LAT_LONG, {
5235
+ api_key: this.apiCallResponse.key,
5236
+ field_key: this.apiCallResponse.key,
5237
+ response_type: "REVERSE_LAT_LONG_API_ERROR"
5238
+ });
5239
+ var apis_2 = new Apis({
5240
+ FIELD_CONFIG: field_1,
5241
+ API_CONFIG: field_1.api,
5242
+ API_RESPONSE: {},
5243
+ FORM_FIELDS: this.formFields,
5244
+ FORM_DATA: this.formData,
5245
+ TASK_DATA: this.taskData,
5246
+ PREVIOUS_FORM_DATA: this.previousFormData,
5247
+ ALL_FORMS_DATA: this.allFormsData
5248
+ }, this.takeAction.bind(this));
5249
+ (function () { return __awaiter(_this, void 0, void 0, function () {
5250
+ var api;
5251
+ return __generator(this, function (_15) {
5252
+ switch (_15.label) {
5253
+ case 0: return [4 /*yield*/, apis_2.validateResponse()];
5254
+ case 1:
5255
+ api = _15.sent();
5256
+ field_1.api = api;
5257
+ return [2 /*return*/];
5258
+ }
5259
+ });
5260
+ }); })();
5261
+ console.error("Reverse Location for LatLong Failed");
5262
+ }
5263
+ this.hideApiLoader();
5264
+ break;
5100
5265
  default:
5101
5266
  break;
5102
5267
  }
@@ -5121,7 +5286,7 @@
5121
5286
  if (kwikidToolkit.checkObjectKeyExists(field_2, "validation")) {
5122
5287
  if (kwikidToolkit.checkObjectKeyExists(field_2.validation, "triggers") &&
5123
5288
  field_2.validation.triggers.includes("ON_RESPONSE")) {
5124
- var validations_3 = new kwikidToolkit.Validation({
5289
+ var validations_4 = new kwikidToolkit.Validation({
5125
5290
  FIELD_CONFIG: field_2,
5126
5291
  FORM_FIELDS: this.formFields,
5127
5292
  FORM_DATA: this.formData,
@@ -5132,7 +5297,7 @@
5132
5297
  (function () { return __awaiter(_this, void 0, void 0, function () {
5133
5298
  return __generator(this, function (_15) {
5134
5299
  switch (_15.label) {
5135
- case 0: return [4 /*yield*/, validations_3.validate(field_2.validation)];
5300
+ case 0: return [4 /*yield*/, validations_4.validate(field_2.validation)];
5136
5301
  case 1:
5137
5302
  _15.sent();
5138
5303
  return [2 /*return*/];
@@ -5823,7 +5988,7 @@
5823
5988
  /** CameraType = CAPTURE */
5824
5989
  KwikIDFormViewComponent.prototype.setCameraMedia = function (media) {
5825
5990
  return __awaiter(this, void 0, void 0, function () {
5826
- var field, validations_4;
5991
+ var field, validations_5;
5827
5992
  var _15;
5828
5993
  var _this = this;
5829
5994
  return __generator(this, function (_16) {
@@ -5858,7 +6023,7 @@
5858
6023
  if (field.isFormElement &&
5859
6024
  kwikidToolkit.checkObjectKeyExists(field, "validation") &&
5860
6025
  field.validation.triggers.includes("ON_CHANGE")) {
5861
- validations_4 = new kwikidToolkit.Validation({
6026
+ validations_5 = new kwikidToolkit.Validation({
5862
6027
  FIELD_CONFIG: field,
5863
6028
  FORM_FIELDS: this.formFields,
5864
6029
  FORM_DATA: this.formData,
@@ -5869,7 +6034,7 @@
5869
6034
  (function () { return __awaiter(_this, void 0, void 0, function () {
5870
6035
  return __generator(this, function (_15) {
5871
6036
  switch (_15.label) {
5872
- case 0: return [4 /*yield*/, validations_4.validate(field.validation)];
6037
+ case 0: return [4 /*yield*/, validations_5.validate(field.validation)];
5873
6038
  case 1:
5874
6039
  _15.sent();
5875
6040
  return [2 /*return*/];
@@ -6035,7 +6200,7 @@
6035
6200
  if (field.isFormElement &&
6036
6201
  kwikidToolkit.checkObjectKeyExists(field, "validation") &&
6037
6202
  field.validation.triggers.includes("ON_CHANGE")) {
6038
- var validations_5 = new kwikidToolkit.Validation({
6203
+ var validations_6 = new kwikidToolkit.Validation({
6039
6204
  FIELD_CONFIG: field,
6040
6205
  FORM_FIELDS: this.formFields,
6041
6206
  FORM_DATA: this.formData,
@@ -6046,7 +6211,7 @@
6046
6211
  (function () { return __awaiter(_this, void 0, void 0, function () {
6047
6212
  return __generator(this, function (_15) {
6048
6213
  switch (_15.label) {
6049
- case 0: return [4 /*yield*/, validations_5.validate(field.validation)];
6214
+ case 0: return [4 /*yield*/, validations_6.validate(field.validation)];
6050
6215
  case 1:
6051
6216
  _15.sent();
6052
6217
  return [2 /*return*/];
@@ -6202,6 +6367,120 @@
6202
6367
  extendedData: extendedFormData
6203
6368
  });
6204
6369
  };
6370
+ KwikIDFormViewComponent.prototype.handleOnLocationPermission = function (e) {
6371
+ var _this = this;
6372
+ var field = getFormFieldByKey(this.formFields, e.key);
6373
+ var fieldIndex = this.formFields.findIndex(function (_) {
6374
+ return field.key === _.key;
6375
+ });
6376
+ // set button status to default
6377
+ field["api"]["status"]["value"] = EApiStatusType.LOADING;
6378
+ field["showLoader"] = true;
6379
+ this.formFields[fieldIndex] = field;
6380
+ this.showApiLoader();
6381
+ this.fieldShowApiLoader(field.key);
6382
+ if (!e.permission) {
6383
+ this.triggerLogs(ELogEventType$1.FORM__LIVE_LOCATION_PERMISSION_ERROR, {
6384
+ field_key: field.key,
6385
+ field_type: field.type
6386
+ });
6387
+ this.togglePermissionErrorNotification(true);
6388
+ setTimeout(function () {
6389
+ _this.togglePermissionErrorNotification(false);
6390
+ }, 3000);
6391
+ }
6392
+ else {
6393
+ this.triggerLogs(ELogEventType$1.FORM__LIVE_LOCATION_PERMISSION_SUCCESS, {
6394
+ field_key: field.key,
6395
+ field_type: field.type
6396
+ });
6397
+ }
6398
+ setTimeout(function () {
6399
+ // set button status to default
6400
+ field["api"]["status"]["value"] = EApiStatusType.DEFAULT;
6401
+ field["showLoader"] = false;
6402
+ _this.formFields[fieldIndex] = field;
6403
+ _this.hideApiLoader();
6404
+ _this.fieldHideApiLoader(field.key);
6405
+ }, 500);
6406
+ };
6407
+ KwikIDFormViewComponent.prototype.handleOnClickLiveLocation = function (e) {
6408
+ return __awaiter(this, void 0, void 0, function () {
6409
+ var field, validations_7;
6410
+ var _15;
6411
+ var _this = this;
6412
+ return __generator(this, function (_16) {
6413
+ switch (_16.label) {
6414
+ case 0:
6415
+ field = getFormFieldByKey(this.formFields, e.key);
6416
+ this.triggerLogs(ELogEventType$1.FORM__LIVE_LOCATION_BUTTON_CLICK, {
6417
+ field_key: field.key,
6418
+ field_type: field.type
6419
+ });
6420
+ // set button status to loading
6421
+ field["api"]["status"]["value"] = EApiStatusType.LOADING;
6422
+ field["showLoader"] = true;
6423
+ this.showApiLoader();
6424
+ this.formGroup.patchValue((_15 = {},
6425
+ _15[e.key] = e.value,
6426
+ _15), { emitEvent: false });
6427
+ this.formData[e.key] = convertFormFieldValueToStandardFormat(field, e.value);
6428
+ this.getUnsavedDataState.emit(true);
6429
+ if (!(kwikidToolkit.checkObjectKeyExists(field, "properties") &&
6430
+ kwikidToolkit.checkObjectKeyExists(field.properties, "isGetLocationFromLatLong") &&
6431
+ field.properties.isGetLocationFromLatLong)) return [3 /*break*/, 1];
6432
+ this.onClickApiCall.emit({
6433
+ key: field.key,
6434
+ type: field.type,
6435
+ payload: Object.assign({}, e.liveLocation)
6436
+ });
6437
+ return [3 /*break*/, 3];
6438
+ case 1: return [4 /*yield*/, new Promise(function (resolve) {
6439
+ setTimeout(function () {
6440
+ resolve(true);
6441
+ }, 300); // 1000 ms = 1 sec
6442
+ })];
6443
+ case 2:
6444
+ _16.sent();
6445
+ // set button status to success
6446
+ field["api"]["status"]["value"] = EApiStatusType.SUCCESS;
6447
+ field["showLoader"] = false;
6448
+ if (field.isFormElement &&
6449
+ kwikidToolkit.checkObjectKeyExists(field, "validation") &&
6450
+ field.validation.triggers.includes("ON_CHANGE")) {
6451
+ validations_7 = new kwikidToolkit.Validation({
6452
+ FIELD_CONFIG: field,
6453
+ FORM_FIELDS: this.formFields,
6454
+ FORM_DATA: this.formData,
6455
+ TASK_DATA: this.taskData,
6456
+ PREVIOUS_FORM_DATA: this.previousFormData,
6457
+ ALL_FORMS_DATA: this.allFormsData
6458
+ }, this.takeAction.bind(this));
6459
+ (function () { return __awaiter(_this, void 0, void 0, function () {
6460
+ return __generator(this, function (_15) {
6461
+ switch (_15.label) {
6462
+ case 0: return [4 /*yield*/, validations_7.validate(field.validation)];
6463
+ case 1:
6464
+ _15.sent();
6465
+ return [2 /*return*/];
6466
+ }
6467
+ });
6468
+ }); })();
6469
+ }
6470
+ if (field.isFormElement &&
6471
+ kwikidToolkit.checkObjectKeyExists(field, "connectedElements")) {
6472
+ this.handleConnectedElements({
6473
+ key: field.key,
6474
+ value: this.formGroup.controls[field.key].value
6475
+ }, "ON_CHANGE");
6476
+ }
6477
+ this.hideApiLoader();
6478
+ _16.label = 3;
6479
+ case 3: return [2 /*return*/];
6480
+ }
6481
+ });
6482
+ });
6483
+ };
6205
6484
  // DOM Event Handlers
6206
6485
  KwikIDFormViewComponent.prototype.handleGetKeyValue = function (e) {
6207
6486
  var _15;
@@ -6215,7 +6494,7 @@
6215
6494
  if (field.isFormElement &&
6216
6495
  kwikidToolkit.checkObjectKeyExists(field, "validation") &&
6217
6496
  field.validation.triggers.includes("ON_CHANGE")) {
6218
- var validations_6 = new kwikidToolkit.Validation({
6497
+ var validations_8 = new kwikidToolkit.Validation({
6219
6498
  FIELD_CONFIG: field,
6220
6499
  FORM_FIELDS: this.formFields,
6221
6500
  FORM_DATA: this.formData,
@@ -6226,7 +6505,7 @@
6226
6505
  (function () { return __awaiter(_this, void 0, void 0, function () {
6227
6506
  return __generator(this, function (_15) {
6228
6507
  switch (_15.label) {
6229
- case 0: return [4 /*yield*/, validations_6.validate(field.validation)];
6508
+ case 0: return [4 /*yield*/, validations_8.validate(field.validation)];
6230
6509
  case 1:
6231
6510
  _15.sent();
6232
6511
  return [2 /*return*/];
@@ -6860,6 +7139,9 @@
6860
7139
  KwikIDFormViewComponent.prototype.toggleErrorNotification = function (show) {
6861
7140
  this.showErrorNotification = show;
6862
7141
  };
7142
+ KwikIDFormViewComponent.prototype.togglePermissionErrorNotification = function (show) {
7143
+ this.showPermissionErrorNotification = show;
7144
+ };
6863
7145
  // Component Helpers
6864
7146
  KwikIDFormViewComponent.prototype.fieldHide = function (fieldKey) {
6865
7147
  var field = getFormFieldByKey(this.formFields, fieldKey);
@@ -7031,6 +7313,11 @@
7031
7313
  fieldApiCall.api.status.value = EApiStatusType.DEFAULT;
7032
7314
  this.formFields[fieldIndex] = fieldApiCall;
7033
7315
  break;
7316
+ case EFieldType.LIVE_LOCATION:
7317
+ var fieldLiveLocation = field;
7318
+ fieldLiveLocation.api.status.value = EApiStatusType.DEFAULT;
7319
+ this.formFields[fieldIndex] = fieldLiveLocation;
7320
+ break;
7034
7321
  default:
7035
7322
  field.focus = false;
7036
7323
  field.invalid = false;
@@ -7042,6 +7329,48 @@
7042
7329
  field_type: field.type
7043
7330
  });
7044
7331
  };
7332
+ KwikIDFormViewComponent.prototype.fieldHideApiLoader = function (fieldKey) {
7333
+ var field = getFormFieldByKey(this.formFields, fieldKey);
7334
+ var fieldIndex = this.formFields.findIndex(function (_) {
7335
+ return field.key === _.key;
7336
+ });
7337
+ // Reset the value of the field in the formFields array
7338
+ switch (field.type) {
7339
+ case EFieldType.API:
7340
+ var fieldApiCall = field;
7341
+ fieldApiCall.disabled = false;
7342
+ this.formFields[fieldIndex] = fieldApiCall;
7343
+ break;
7344
+ case EFieldType.LIVE_LOCATION:
7345
+ var fieldLiveLocation = field;
7346
+ fieldLiveLocation.disabled = false;
7347
+ this.formFields[fieldIndex] = fieldLiveLocation;
7348
+ break;
7349
+ default:
7350
+ break;
7351
+ }
7352
+ };
7353
+ KwikIDFormViewComponent.prototype.fieldShowApiLoader = function (fieldKey) {
7354
+ var field = getFormFieldByKey(this.formFields, fieldKey);
7355
+ var fieldIndex = this.formFields.findIndex(function (_) {
7356
+ return field.key === _.key;
7357
+ });
7358
+ // Reset the value of the field in the formFields array
7359
+ switch (field.type) {
7360
+ case EFieldType.API:
7361
+ var fieldApiCall = field;
7362
+ fieldApiCall.disabled = true;
7363
+ this.formFields[fieldIndex] = fieldApiCall;
7364
+ break;
7365
+ case EFieldType.LIVE_LOCATION:
7366
+ var fieldLiveLocation = field;
7367
+ fieldLiveLocation.disabled = true;
7368
+ this.formFields[fieldIndex] = fieldLiveLocation;
7369
+ break;
7370
+ default:
7371
+ break;
7372
+ }
7373
+ };
7045
7374
  KwikIDFormViewComponent.prototype.setHtml = function (fieldKey, message) {
7046
7375
  var field = getFormFieldByKey(this.formFields, fieldKey);
7047
7376
  var fieldIndex = this.formFields.findIndex(function (_) {
@@ -7126,7 +7455,7 @@
7126
7455
  };
7127
7456
  KwikIDFormViewComponent.prototype.fieldApiTimerMessageHide = function (fieldKey) {
7128
7457
  return __awaiter(this, void 0, void 0, function () {
7129
- var field, fieldIndex, validations_7;
7458
+ var field, fieldIndex, validations_9;
7130
7459
  var _this = this;
7131
7460
  return __generator(this, function (_15) {
7132
7461
  field = getFormFieldByKey(this.formFields, fieldKey);
@@ -7137,7 +7466,7 @@
7137
7466
  if (field.isFormElement &&
7138
7467
  kwikidToolkit.checkObjectKeyExists(field, "validation") &&
7139
7468
  field.validation.triggers.includes("ON_API_TIMER_STOP")) {
7140
- validations_7 = new kwikidToolkit.Validation({
7469
+ validations_9 = new kwikidToolkit.Validation({
7141
7470
  FIELD_CONFIG: field,
7142
7471
  FORM_FIELDS: this.formFields,
7143
7472
  FORM_DATA: this.formData,
@@ -7148,7 +7477,7 @@
7148
7477
  (function () { return __awaiter(_this, void 0, void 0, function () {
7149
7478
  return __generator(this, function (_15) {
7150
7479
  switch (_15.label) {
7151
- case 0: return [4 /*yield*/, validations_7.validate(field.validation)];
7480
+ case 0: return [4 /*yield*/, validations_9.validate(field.validation)];
7152
7481
  case 1:
7153
7482
  _15.sent();
7154
7483
  return [2 /*return*/];
@@ -7779,6 +8108,12 @@
7779
8108
  case EActionKey.FIELD_GROUP_DISABLE:
7780
8109
  this.fieldGroupDisable(action.props.groupKey);
7781
8110
  break;
8111
+ case EActionKey.FIELD_GROUP_SHOW_API_LOADER:
8112
+ this.fieldGroupDisable(action.props.groupKey);
8113
+ break;
8114
+ case EActionKey.FIELD_GROUP_HIDE_API_LOADER:
8115
+ this.fieldGroupDisable(action.props.groupKey);
8116
+ break;
7782
8117
  default:
7783
8118
  break;
7784
8119
  }
@@ -7799,65 +8134,73 @@
7799
8134
  case EActionKey.FIELD_SHOW: return [3 /*break*/, 2];
7800
8135
  case EActionKey.FIELD_DISABLE: return [3 /*break*/, 3];
7801
8136
  case EActionKey.FIELD_ENABLE: return [3 /*break*/, 4];
7802
- case EActionKey.FIELD_RESET: return [3 /*break*/, 5];
7803
- case EActionKey.FIELD_ERROR_SHOW: return [3 /*break*/, 6];
7804
- case EActionKey.FIELD_ERROR_HIDE: return [3 /*break*/, 9];
7805
- case EActionKey.FIELD_MESSAGE_SHOW: return [3 /*break*/, 12];
7806
- case EActionKey.FIELD_MESSAGES_HIDE: return [3 /*break*/, 13];
7807
- case EActionKey.FIELD_API_TIMER_MESSAGE_SHOW: return [3 /*break*/, 14];
7808
- case EActionKey.FIELD_API_TIMER_MESSAGE_HIDE: return [3 /*break*/, 16];
7809
- case EActionKey.SET_VALUE: return [3 /*break*/, 18];
7810
- case EActionKey.SET_FIELD_DEFAULT_VALUE: return [3 /*break*/, 20];
7811
- case EActionKey.SET_API_STATUS: return [3 /*break*/, 22];
7812
- case EActionKey.SET_API_HEADER_VALUE: return [3 /*break*/, 24];
7813
- case EActionKey.SET_API_HEADER_VALIDITY: return [3 /*break*/, 26];
7814
- case EActionKey.SET_API_BODY_VALUE: return [3 /*break*/, 28];
7815
- case EActionKey.SET_API_BODY_VALIDITY: return [3 /*break*/, 30];
7816
- case EActionKey.SET_DROPDOWN_OPTIONS: return [3 /*break*/, 32];
7817
- case EActionKey.SET_FIELD_VALIDITY: return [3 /*break*/, 34];
7818
- case EActionKey.HANDLE_CONNECTED_ELEMENTS: return [3 /*break*/, 36];
7819
- case EActionKey.API_CALL: return [3 /*break*/, 37];
7820
- case EActionKey.API_CALL_MULTIPLE: return [3 /*break*/, 39];
7821
- case EActionKey.API_CALL_MULTIPLE_END: return [3 /*break*/, 41];
7822
- case EActionKey.TASK_API_CALL: return [3 /*break*/, 43];
7823
- case EActionKey.TASK_API_CALL_MULTIPLE: return [3 /*break*/, 45];
7824
- case EActionKey.TASK_API_CALL_MULTIPLE_END: return [3 /*break*/, 47];
7825
- case EActionKey.REDIRECT_TO_URL: return [3 /*break*/, 49];
7826
- case EActionKey.PREVIEW_DIALOG_SHOW: return [3 /*break*/, 52];
7827
- case EActionKey.PREVIEW_ERROR_SHOW: return [3 /*break*/, 53];
7828
- case EActionKey.POPUP_FORM_SHOW: return [3 /*break*/, 56];
7829
- case EActionKey.STOP_WAITING: return [3 /*break*/, 57];
7830
- case EActionKey.NOTIFICATION_ERROR_SHOW: return [3 /*break*/, 58];
7831
- case EActionKey.NOTIFICATION_ERROR_HIDE: return [3 /*break*/, 59];
7832
- case EActionKey.RESUME_TASK_EXECUTION: return [3 /*break*/, 60];
7833
- case EActionKey.STOP_TASK_EXECUTION: return [3 /*break*/, 61];
7834
- case EActionKey.DIALOG_SHOW: return [3 /*break*/, 62];
7835
- case EActionKey.DIALOG_HIDE: return [3 /*break*/, 63];
7836
- case EActionKey.SAVE_FORM: return [3 /*break*/, 64];
7837
- case EActionKey.ALERT_SHOW: return [3 /*break*/, 65];
7838
- case EActionKey.SET_HTML: return [3 /*break*/, 66];
7839
- }
7840
- return [3 /*break*/, 69];
8137
+ case EActionKey.FIELD_SHOW_API_LOADER: return [3 /*break*/, 5];
8138
+ case EActionKey.FIELD_HIDE_API_LOADER: return [3 /*break*/, 6];
8139
+ case EActionKey.FIELD_RESET: return [3 /*break*/, 7];
8140
+ case EActionKey.FIELD_ERROR_SHOW: return [3 /*break*/, 8];
8141
+ case EActionKey.FIELD_ERROR_HIDE: return [3 /*break*/, 11];
8142
+ case EActionKey.FIELD_MESSAGE_SHOW: return [3 /*break*/, 14];
8143
+ case EActionKey.FIELD_MESSAGES_HIDE: return [3 /*break*/, 15];
8144
+ case EActionKey.FIELD_API_TIMER_MESSAGE_SHOW: return [3 /*break*/, 16];
8145
+ case EActionKey.FIELD_API_TIMER_MESSAGE_HIDE: return [3 /*break*/, 18];
8146
+ case EActionKey.SET_VALUE: return [3 /*break*/, 20];
8147
+ case EActionKey.SET_FIELD_DEFAULT_VALUE: return [3 /*break*/, 22];
8148
+ case EActionKey.SET_API_STATUS: return [3 /*break*/, 24];
8149
+ case EActionKey.SET_API_HEADER_VALUE: return [3 /*break*/, 26];
8150
+ case EActionKey.SET_API_HEADER_VALIDITY: return [3 /*break*/, 28];
8151
+ case EActionKey.SET_API_BODY_VALUE: return [3 /*break*/, 30];
8152
+ case EActionKey.SET_API_BODY_VALIDITY: return [3 /*break*/, 32];
8153
+ case EActionKey.SET_DROPDOWN_OPTIONS: return [3 /*break*/, 34];
8154
+ case EActionKey.SET_FIELD_VALIDITY: return [3 /*break*/, 36];
8155
+ case EActionKey.HANDLE_CONNECTED_ELEMENTS: return [3 /*break*/, 38];
8156
+ case EActionKey.API_CALL: return [3 /*break*/, 39];
8157
+ case EActionKey.API_CALL_MULTIPLE: return [3 /*break*/, 41];
8158
+ case EActionKey.API_CALL_MULTIPLE_END: return [3 /*break*/, 43];
8159
+ case EActionKey.TASK_API_CALL: return [3 /*break*/, 45];
8160
+ case EActionKey.TASK_API_CALL_MULTIPLE: return [3 /*break*/, 47];
8161
+ case EActionKey.TASK_API_CALL_MULTIPLE_END: return [3 /*break*/, 49];
8162
+ case EActionKey.REDIRECT_TO_URL: return [3 /*break*/, 51];
8163
+ case EActionKey.PREVIEW_DIALOG_SHOW: return [3 /*break*/, 54];
8164
+ case EActionKey.PREVIEW_ERROR_SHOW: return [3 /*break*/, 55];
8165
+ case EActionKey.POPUP_FORM_SHOW: return [3 /*break*/, 58];
8166
+ case EActionKey.STOP_WAITING: return [3 /*break*/, 59];
8167
+ case EActionKey.NOTIFICATION_ERROR_SHOW: return [3 /*break*/, 60];
8168
+ case EActionKey.NOTIFICATION_ERROR_HIDE: return [3 /*break*/, 61];
8169
+ case EActionKey.RESUME_TASK_EXECUTION: return [3 /*break*/, 62];
8170
+ case EActionKey.STOP_TASK_EXECUTION: return [3 /*break*/, 63];
8171
+ case EActionKey.DIALOG_SHOW: return [3 /*break*/, 64];
8172
+ case EActionKey.DIALOG_HIDE: return [3 /*break*/, 65];
8173
+ case EActionKey.SAVE_FORM: return [3 /*break*/, 66];
8174
+ case EActionKey.ALERT_SHOW: return [3 /*break*/, 67];
8175
+ case EActionKey.SET_HTML: return [3 /*break*/, 68];
8176
+ }
8177
+ return [3 /*break*/, 71];
7841
8178
  case 1:
7842
8179
  this.fieldHide(action.props.fieldKey);
7843
- return [3 /*break*/, 70];
8180
+ return [3 /*break*/, 72];
7844
8181
  case 2:
7845
8182
  this.fieldShow(action.props.fieldKey);
7846
- return [3 /*break*/, 70];
8183
+ return [3 /*break*/, 72];
7847
8184
  case 3:
7848
8185
  this.fieldDisable(action.props.fieldKey);
7849
- return [3 /*break*/, 70];
8186
+ return [3 /*break*/, 72];
7850
8187
  case 4:
7851
8188
  this.fieldEnable(action.props.fieldKey);
7852
- return [3 /*break*/, 70];
8189
+ return [3 /*break*/, 72];
7853
8190
  case 5:
7854
- this.fieldReset(action.props.fieldKey);
7855
- return [3 /*break*/, 70];
8191
+ this.fieldEnable(action.props.fieldKey);
8192
+ return [3 /*break*/, 72];
7856
8193
  case 6:
7857
- if (!kwikidToolkit.checkObjectKeyExists(action.props.message, "source")) return [3 /*break*/, 8];
8194
+ this.fieldEnable(action.props.fieldKey);
8195
+ return [3 /*break*/, 72];
8196
+ case 7:
8197
+ this.fieldReset(action.props.fieldKey);
8198
+ return [3 /*break*/, 72];
8199
+ case 8:
8200
+ if (!kwikidToolkit.checkObjectKeyExists(action.props.message, "source")) return [3 /*break*/, 10];
7858
8201
  fieldErrorShow_Source = new kwikidToolkit.Source(object);
7859
8202
  return [4 /*yield*/, fieldErrorShow_Source.getValueFromSource(action.props.message.source)];
7860
- case 7:
8203
+ case 9:
7861
8204
  fieldErrorShowSourceValue = _16.sent();
7862
8205
  if (typeof fieldErrorShowSourceValue == "string" ||
7863
8206
  typeof fieldErrorShowSourceValue == "number") {
@@ -7867,16 +8210,16 @@
7867
8210
  fieldErrorShowSourceValue = "";
7868
8211
  }
7869
8212
  action = kwikidToolkit.setValueToObjectPath(action, "props.message.message", fieldErrorShowSourceValue);
7870
- _16.label = 8;
7871
- case 8:
8213
+ _16.label = 10;
8214
+ case 10:
7872
8215
  action.props.message.message = updateLanguage(action.props.message.message, getLanguage());
7873
8216
  this.fieldErrorShow(action.props.fieldKey, action.props.message);
7874
- return [3 /*break*/, 70];
7875
- case 9:
7876
- if (!kwikidToolkit.checkObjectKeyExists(action.props.message, "source")) return [3 /*break*/, 11];
8217
+ return [3 /*break*/, 72];
8218
+ case 11:
8219
+ if (!kwikidToolkit.checkObjectKeyExists(action.props.message, "source")) return [3 /*break*/, 13];
7877
8220
  fieldErrorHide_Source = new kwikidToolkit.Source(object);
7878
8221
  return [4 /*yield*/, fieldErrorHide_Source.getValueFromSource(action.props.message.source)];
7879
- case 10:
8222
+ case 12:
7880
8223
  fieldErrorHideSourceValue = _16.sent();
7881
8224
  if (typeof fieldErrorHideSourceValue == "string" ||
7882
8225
  typeof fieldErrorHideSourceValue == "number") {
@@ -7886,109 +8229,109 @@
7886
8229
  fieldErrorHideSourceValue = "";
7887
8230
  }
7888
8231
  action = kwikidToolkit.setValueToObjectPath(action, "props.message.message", fieldErrorHideSourceValue);
7889
- _16.label = 11;
7890
- case 11:
8232
+ _16.label = 13;
8233
+ case 13:
7891
8234
  this.fieldErrorHide(action.props.fieldKey, action.props.message);
7892
- return [3 /*break*/, 70];
7893
- case 12:
8235
+ return [3 /*break*/, 72];
8236
+ case 14:
7894
8237
  this.fieldMessageShow(action.props.fieldKey, action.props.message);
7895
- return [3 /*break*/, 70];
7896
- case 13:
7897
- this.fieldMessageHide(action.props.fieldKey, action.props.message);
7898
- return [3 /*break*/, 70];
7899
- case 14: return [4 /*yield*/, this.fieldApiTimerMessageShow(action.props.fieldKey, action.props.timer)];
8238
+ return [3 /*break*/, 72];
7900
8239
  case 15:
7901
- _16.sent();
7902
- return [3 /*break*/, 70];
7903
- case 16: return [4 /*yield*/, this.fieldApiTimerMessageHide(action.props.fieldKey)];
8240
+ this.fieldMessageHide(action.props.fieldKey, action.props.message);
8241
+ return [3 /*break*/, 72];
8242
+ case 16: return [4 /*yield*/, this.fieldApiTimerMessageShow(action.props.fieldKey, action.props.timer)];
7904
8243
  case 17:
7905
8244
  _16.sent();
7906
- return [3 /*break*/, 70];
7907
- case 18: return [4 /*yield*/, this.setValue(action, object)];
8245
+ return [3 /*break*/, 72];
8246
+ case 18: return [4 /*yield*/, this.fieldApiTimerMessageHide(action.props.fieldKey)];
7908
8247
  case 19:
7909
8248
  _16.sent();
7910
- return [3 /*break*/, 70];
7911
- case 20: return [4 /*yield*/, this.setFieldDefaultValue(action, object)];
8249
+ return [3 /*break*/, 72];
8250
+ case 20: return [4 /*yield*/, this.setValue(action, object)];
7912
8251
  case 21:
7913
8252
  _16.sent();
7914
- return [3 /*break*/, 70];
7915
- case 22: return [4 /*yield*/, this.setApiStatus(action, object)];
8253
+ return [3 /*break*/, 72];
8254
+ case 22: return [4 /*yield*/, this.setFieldDefaultValue(action, object)];
7916
8255
  case 23:
7917
8256
  _16.sent();
7918
- return [3 /*break*/, 70];
7919
- case 24: return [4 /*yield*/, this.setApiHeaderValue(action, object)];
8257
+ return [3 /*break*/, 72];
8258
+ case 24: return [4 /*yield*/, this.setApiStatus(action, object)];
7920
8259
  case 25:
7921
8260
  _16.sent();
7922
- return [3 /*break*/, 70];
7923
- case 26: return [4 /*yield*/, this.setApiHeaderValidity(action, object)];
8261
+ return [3 /*break*/, 72];
8262
+ case 26: return [4 /*yield*/, this.setApiHeaderValue(action, object)];
7924
8263
  case 27:
7925
8264
  _16.sent();
7926
- return [3 /*break*/, 70];
7927
- case 28: return [4 /*yield*/, this.setApiBodyValue(action, object)];
8265
+ return [3 /*break*/, 72];
8266
+ case 28: return [4 /*yield*/, this.setApiHeaderValidity(action, object)];
7928
8267
  case 29:
7929
8268
  _16.sent();
7930
- return [3 /*break*/, 70];
7931
- case 30: return [4 /*yield*/, this.setApiBodyValidity(action, object)];
8269
+ return [3 /*break*/, 72];
8270
+ case 30: return [4 /*yield*/, this.setApiBodyValue(action, object)];
7932
8271
  case 31:
7933
8272
  _16.sent();
7934
- return [3 /*break*/, 70];
7935
- case 32: return [4 /*yield*/, this.setDropdownOptions(action, object)];
8273
+ return [3 /*break*/, 72];
8274
+ case 32: return [4 /*yield*/, this.setApiBodyValidity(action, object)];
7936
8275
  case 33:
7937
8276
  _16.sent();
7938
- return [3 /*break*/, 70];
7939
- case 34: return [4 /*yield*/, this.setFieldValidity(action, object)];
8277
+ return [3 /*break*/, 72];
8278
+ case 34: return [4 /*yield*/, this.setDropdownOptions(action, object)];
7940
8279
  case 35:
7941
8280
  _16.sent();
7942
- return [3 /*break*/, 70];
7943
- case 36:
7944
- this.handleConnectedElements({ key: action.props.fieldKey }, "ON_ACTION");
7945
- return [3 /*break*/, 70];
7946
- case 37: return [4 /*yield*/, this.fieldApiCall(action, object)];
7947
- case 38:
8281
+ return [3 /*break*/, 72];
8282
+ case 36: return [4 /*yield*/, this.setFieldValidity(action, object)];
8283
+ case 37:
7948
8284
  _16.sent();
7949
- return [3 /*break*/, 70];
7950
- case 39: return [4 /*yield*/, this.fieldMultipleApiCalls(action, object)];
8285
+ return [3 /*break*/, 72];
8286
+ case 38:
8287
+ this.handleConnectedElements({ key: action.props.fieldKey }, "ON_ACTION");
8288
+ return [3 /*break*/, 72];
8289
+ case 39: return [4 /*yield*/, this.fieldApiCall(action, object)];
7951
8290
  case 40:
7952
8291
  _16.sent();
7953
- return [3 /*break*/, 70];
7954
- case 41: return [4 /*yield*/, this.fieldMultipleApiCallsEnd(action, object)];
8292
+ return [3 /*break*/, 72];
8293
+ case 41: return [4 /*yield*/, this.fieldMultipleApiCalls(action, object)];
7955
8294
  case 42:
7956
8295
  _16.sent();
7957
- return [3 /*break*/, 70];
7958
- case 43: return [4 /*yield*/, this.taskApiCall(action, object)];
8296
+ return [3 /*break*/, 72];
8297
+ case 43: return [4 /*yield*/, this.fieldMultipleApiCallsEnd(action, object)];
7959
8298
  case 44:
7960
8299
  _16.sent();
7961
- return [3 /*break*/, 70];
7962
- case 45: return [4 /*yield*/, this.taskMultipleApiCalls(action, object)];
8300
+ return [3 /*break*/, 72];
8301
+ case 45: return [4 /*yield*/, this.taskApiCall(action, object)];
7963
8302
  case 46:
7964
8303
  _16.sent();
7965
- return [3 /*break*/, 70];
7966
- case 47: return [4 /*yield*/, this.taskMultipleApiCallsEnd(action, object)];
8304
+ return [3 /*break*/, 72];
8305
+ case 47: return [4 /*yield*/, this.taskMultipleApiCalls(action, object)];
7967
8306
  case 48:
7968
8307
  _16.sent();
7969
- return [3 /*break*/, 70];
7970
- case 49:
7971
- if (!kwikidToolkit.checkObjectKeyExists(action.props.url, "source")) return [3 /*break*/, 51];
8308
+ return [3 /*break*/, 72];
8309
+ case 49: return [4 /*yield*/, this.taskMultipleApiCallsEnd(action, object)];
8310
+ case 50:
8311
+ _16.sent();
8312
+ return [3 /*break*/, 72];
8313
+ case 51:
8314
+ if (!kwikidToolkit.checkObjectKeyExists(action.props.url, "source")) return [3 /*break*/, 53];
7972
8315
  redirectToUrl_Source = new kwikidToolkit.Source(object);
7973
8316
  return [4 /*yield*/, redirectToUrl_Source.getValueFromSource(action.props.url.source)];
7974
- case 50:
8317
+ case 52:
7975
8318
  redirectToUrlSourceValue = _16.sent();
7976
8319
  if (kwikidToolkit.isEmptyString(redirectToUrlSourceValue)) {
7977
8320
  redirectToUrlSourceValue = "";
7978
8321
  }
7979
8322
  action = kwikidToolkit.setValueToObjectPath(action, "props.url.url", redirectToUrlSourceValue);
7980
- _16.label = 51;
7981
- case 51:
8323
+ _16.label = 53;
8324
+ case 53:
7982
8325
  this.redirectToUrl(action);
7983
- _16.label = 52;
7984
- case 52:
8326
+ _16.label = 54;
8327
+ case 54:
7985
8328
  this.showPreview(action.props);
7986
- return [3 /*break*/, 70];
7987
- case 53:
7988
- if (!kwikidToolkit.checkObjectKeyExists(action.props.message, "source")) return [3 /*break*/, 55];
8329
+ return [3 /*break*/, 72];
8330
+ case 55:
8331
+ if (!kwikidToolkit.checkObjectKeyExists(action.props.message, "source")) return [3 /*break*/, 57];
7989
8332
  previewErrorShow_Source = new kwikidToolkit.Source(object);
7990
8333
  return [4 /*yield*/, previewErrorShow_Source.getValueFromSource(action.props.message.source)];
7991
- case 54:
8334
+ case 56:
7992
8335
  previewErrorShowSourceValue = _16.sent();
7993
8336
  if (typeof previewErrorShowSourceValue == "string" ||
7994
8337
  typeof previewErrorShowSourceValue == "number") {
@@ -7998,50 +8341,50 @@
7998
8341
  previewErrorShowSourceValue = "";
7999
8342
  }
8000
8343
  action = kwikidToolkit.setValueToObjectPath(action, "props.message.message", previewErrorShowSourceValue);
8001
- _16.label = 55;
8002
- case 55:
8344
+ _16.label = 57;
8345
+ case 57:
8003
8346
  this.showErrorPreview(action.props);
8004
- return [3 /*break*/, 70];
8005
- case 56:
8347
+ return [3 /*break*/, 72];
8348
+ case 58:
8006
8349
  this.showPopupForm(action.props.popupFormKey, (_b = (_a = action.props) === null || _a === void 0 ? void 0 : _a.popupType) !== null && _b !== void 0 ? _b : "DIALOG");
8007
- return [3 /*break*/, 70];
8008
- case 57:
8350
+ return [3 /*break*/, 72];
8351
+ case 59:
8009
8352
  this.waitingForChanges = false;
8010
- return [3 /*break*/, 70];
8011
- case 58:
8353
+ return [3 /*break*/, 72];
8354
+ case 60:
8012
8355
  this.toggleErrorNotification(true);
8013
- return [3 /*break*/, 70];
8014
- case 59:
8356
+ return [3 /*break*/, 72];
8357
+ case 61:
8015
8358
  this.toggleErrorNotification(false);
8016
- return [3 /*break*/, 70];
8017
- case 60:
8359
+ return [3 /*break*/, 72];
8360
+ case 62:
8018
8361
  this.stopTaskExecution = false;
8019
- return [3 /*break*/, 70];
8020
- case 61:
8362
+ return [3 /*break*/, 72];
8363
+ case 63:
8021
8364
  this.stopTaskExecution = true;
8022
- return [3 /*break*/, 70];
8023
- case 62:
8365
+ return [3 /*break*/, 72];
8366
+ case 64:
8024
8367
  this.dialogShow({
8025
8368
  html: (_c = action.props) === null || _c === void 0 ? void 0 : _c.html,
8026
8369
  label: (_d = action.props) === null || _d === void 0 ? void 0 : _d.label,
8027
8370
  size: (_e = action.props) === null || _e === void 0 ? void 0 : _e.size,
8028
8371
  button: (_f = action.props) === null || _f === void 0 ? void 0 : _f.button
8029
8372
  });
8030
- return [3 /*break*/, 70];
8031
- case 63:
8373
+ return [3 /*break*/, 72];
8374
+ case 65:
8032
8375
  this.dialogHide();
8033
- return [3 /*break*/, 70];
8034
- case 64:
8376
+ return [3 /*break*/, 72];
8377
+ case 66:
8035
8378
  this.handleOnClickSaveForm(undefined);
8036
- return [3 /*break*/, 70];
8037
- case 65:
8379
+ return [3 /*break*/, 72];
8380
+ case 67:
8038
8381
  this.alertShow(action.props.type, action.props.message);
8039
- return [3 /*break*/, 70];
8040
- case 66:
8041
- if (!kwikidToolkit.checkObjectKeyExists(action.props.message, "source")) return [3 /*break*/, 68];
8382
+ return [3 /*break*/, 72];
8383
+ case 68:
8384
+ if (!kwikidToolkit.checkObjectKeyExists(action.props.message, "source")) return [3 /*break*/, 70];
8042
8385
  fieldHtmlMessage_Source = new kwikidToolkit.Source(object);
8043
8386
  return [4 /*yield*/, fieldHtmlMessage_Source.getValueFromSource(action.props.message.source)];
8044
- case 67:
8387
+ case 69:
8045
8388
  fieldHtmlMessageSourceValue = _16.sent();
8046
8389
  if (typeof fieldHtmlMessageSourceValue == "string" ||
8047
8390
  typeof fieldHtmlMessageSourceValue == "number") {
@@ -8051,13 +8394,13 @@
8051
8394
  fieldHtmlMessageSourceValue = "";
8052
8395
  }
8053
8396
  action = kwikidToolkit.setValueToObjectPath(action, "props.message.message", fieldHtmlMessageSourceValue);
8054
- _16.label = 68;
8055
- case 68:
8397
+ _16.label = 70;
8398
+ case 70:
8056
8399
  action.props.message.message = updateLanguage(action.props.message.message, getLanguage());
8057
8400
  this.setHtml(action.props.fieldKey, action.props.message);
8058
- return [3 /*break*/, 70];
8059
- case 69: return [3 /*break*/, 70];
8060
- case 70: return [2 /*return*/];
8401
+ return [3 /*break*/, 72];
8402
+ case 71: return [3 /*break*/, 72];
8403
+ case 72: return [2 /*return*/];
8061
8404
  }
8062
8405
  });
8063
8406
  });
@@ -8065,7 +8408,7 @@
8065
8408
  return KwikIDFormViewComponent;
8066
8409
  }());
8067
8410
  /** @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: KwikIDFormViewApiService }, { token: i6.TuiPushService }, { token: i5.TuiAlertService }, { token: i7.TuiPreviewDialogService }, { token: i5.TuiDialogService }, { token: i3__namespace.KwikUILoaderService }, { token: i4__namespace.KwikIDCameraRecordService }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
8068
- /** @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, KwikIDFormViewApiService], viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }, { propertyName: "preview", first: true, predicate: ["preview"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div\n class=\"kwikid-form-container\"\n *ngIf=\"!loading\"\n>\n <div\n id=\"uf-form-fields-header-container\"\n *ngIf=\"\n !formConfig.properties?.header?.title?.hidden ||\n !formConfig.properties?.header?.logo?.hidden ||\n !formConfig.properties?.header?.steps?.hidden ||\n !formConfig.properties?.header?.backButton?.hidden\n \"\n >\n <img\n id=\"uf-header-logo\"\n *ngIf=\"!formConfig.properties?.header?.logo?.hidden && isMobileView\"\n [src]=\"formConfig.properties?.header?.logo?.src\"\n [alt]=\"formConfig.properties?.header?.logo?.alt\"\n [style]=\"\n formConfig.properties?.header?.logo?.styles ?? '' | styleSanitizer\n \"\n />\n <div id=\"uf-form-fields-header-main\">\n <div id=\"uf-form-fields-header-left\">\n <kwikui-button\n *ngIf=\"\n !formConfig.properties?.header.backButton.hidden && isMobileView\n \"\n [disabled]=\"backButton.disabled\"\n [showLoader]=\"backButton.showLoader\"\n appearance=\"mono\"\n icon=\"tuiIconArrowLeft\"\n shape=\"rounded\"\n (onClick)=\"\n handleOnClickGoBack(\n $event,\n formConfig.properties?.header.backButton.mode\n )\n \"\n ></kwikui-button>\n </div>\n <div id=\"uf-form-fields-header-right\">\n <div\n id=\"uf-form-fields-title\"\n *ngIf=\"!formConfig.properties?.header.title.hidden\"\n >{{ formConfig.properties?.header.title.label }}</div\n >\n <div\n id=\"uf-form-fields-steps\"\n *ngIf=\"!formConfig.properties?.header.steps.hidden\"\n >\n Step {{ formConfig.sequenceNo }} of {{ formConfig.formsListLength }}\n </div>\n </div>\n </div>\n <hr\n *ngIf=\"\n !formConfig.properties?.header.title.hidden ||\n !formConfig.properties?.header.steps.hidden ||\n !formConfig.properties?.header.backButton.hidden\n \"\n />\n </div>\n <form\n class=\"kwikid-form show\"\n [style]=\"formConfig.properties?.main?.styles ?? '' | styleSanitizer\"\n [formGroup]=\"formGroup\"\n >\n <ng-container\n *ngFor=\"\n let field of formFields;\n let i = index;\n trackBy: getUniqueIdentifier\n \"\n >\n <ng-container [ngSwitch]=\"field.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'html'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <div [innerHtml]=\"field.html | kwikuiSafeHtml\"></div>\n </div>\n </ng-container>\n <!-- Form Title -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div\n class=\"title\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n [class.hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <div>\n {{ field.label }}\n </div>\n <kwikui-button\n *ngIf=\"field?.reset\"\n appearance=\"whiteblock\"\n size=\"s\"\n [label]=\"field?.properties?.resetButtonLabel ?? 'Reset'\"\n (onClick)=\"handleOnClickResetFormFields($event, field)\"\n ></kwikui-button>\n </div>\n </ng-container>\n <!-- Button -->\n <ng-container *ngSwitchCase=\"'button'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button\n [appearance]=\"field?.properties?.appearance ?? 'primary'\"\n [class]=\"field?.properties?.class\"\n [disabled]=\"field?.disabled\"\n [icon]=\"field?.properties?.icon\"\n [iconRight]=\"field?.properties?.iconRight\"\n [id]=\"field?.key\"\n [label]=\"field?.label\"\n [shape]=\"field?.properties?.shape\"\n [showLoader]=\"field?.properties?.loading ?? false\"\n [size]=\"field?.properties?.size\"\n [styles]=\"field?.properties?.styles\"\n [type]=\"'button'\"\n (onClick)=\"handleOnClickFormFieldButton(field)\"\n ></kwikui-button>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Text -->\n <ng-container *ngSwitchCase=\"'text'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [type]=\"'text'\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Email -->\n <ng-container *ngSwitchCase=\"'email'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-email\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [domains]=\"field?.properties?.domains\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-email>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Password -->\n <ng-container *ngSwitchCase=\"'password'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-password\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [hintContent]=\"field?.properties?.hintContent\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-password>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Textarea -->\n <ng-container *ngSwitchCase=\"'textarea'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-textarea\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-textarea>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Checkbox -->\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-checkbox\n [contentAlign]=\"field?.properties?.contentAlign ?? 'left'\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.properties?.placeholder\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size ?? 'l'\"\n [validators]=\"field?.validators\"\n [variant]=\"field?.properties?.variant ?? 'block'\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-checkbox>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Number -->\n <ng-container *ngSwitchCase=\"'number'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-number\n [decimal]=\"field?.properties?.decimal\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix ?? ''\"\n [precision]=\"field?.properties?.precision\"\n [prefix]=\"field?.properties?.prefix ?? ''\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-number>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Date -->\n <ng-container *ngSwitchCase=\"'date'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-date\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [maxCalculatedFromToday]=\"\n field?.properties?.maxCalculatedFromToday\n \"\n [min]=\"field?.properties?.min\"\n [minCalculatedFromToday]=\"\n field?.properties?.minCalculatedFromToday\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-date>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Time -->\n <ng-container *ngSwitchCase=\"'time'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-time\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [items]=\"field?.properties?.items\"\n [label]=\"field?.label\"\n [mode]=\"field?.properties?.mode\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-time>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Phone -->\n <ng-container *ngSwitchCase=\"'phone'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-phone\n [countryCode]=\"field?.properties?.countryCode\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [phoneMaskAfterCountryCode]=\"\n field?.properties?.phoneMaskAfterCountryCode\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [removeCountryCodeFromValue]=\"\n field?.properties?.removeCountryCodeFromValue\n \"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-phone>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Radio -->\n <ng-container *ngSwitchCase=\"'radio'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto; padding: 0px 0.5rem\"\n >\n <kwikui-input-radio\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [items]=\"field?.options\"\n [label]=\"field?.label\"\n [orientation]=\"field?.properties?.orientation\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-radio>\n </label>\n <ng-template #labelTemplate>\n <p\n class=\"tui-space_bottom-2\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\">*</span>\n </b>\n </p>\n </ng-template>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Dropdown -->\n <ng-container *ngSwitchCase=\"'select'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-select\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [options]=\"field.options\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [searchable]=\"field?.properties?.searchable\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-select>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Slider -->\n <ng-container *ngSwitchCase=\"'slider'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-slider\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [quantum]=\"field?.properties?.quantum\"\n [size]=\"field?.properties?.size\"\n [steps]=\"field?.properties?.steps\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-slider>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- API Call -->\n <ng-container *ngSwitchCase=\"'api'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-api-call\n [apiStatus]=\"field?.api?.status?.value\"\n [apiTimer]=\"field?.api?.timer\"\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 [size]=\"field?.properties?.size\"\n styles=\"width: fit-content\"\n (onClick)=\"handleOnClickApiCall($event)\"\n (onApiTimerStop)=\"handleOnApiTimerStop($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: i3__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type"], outputs: ["onClick"] }, { type: i3__namespace.KwikUIMessagesComponent, selector: "kwikui-messages", inputs: ["id", "messages"] }, { type: i3__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: i3__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: i3__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: i3__namespace.KwikUITextareaComponent, selector: "kwikui-textarea", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUICheckboxComponent, selector: "kwikui-checkbox", inputs: ["contentAlign", "disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "placeholder", "properties", "size", "validators", "variant"], outputs: ["getKeyValue"] }, { type: i3__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: i3__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: i3__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: i3__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: i5__namespace.TuiLabelComponent, selector: "label[tuiLabel]", inputs: ["tuiLabel", "context"] }, { type: i3__namespace.KwikUIInputRadioComponent, selector: "kwikui-input-radio", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "items", "label", "orientation", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__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: i3__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: i3__namespace.KwikUIButtonApiCallComponent, selector: "kwikui-button-api-call", inputs: ["apiTimer", "apiStatus", "class", "disabled", "id", "label", "shape", "showLoader", "size", "styles"], outputs: ["onClick", "onApiTimerStop"] }, { type: i3__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: i3__namespace.KwikUIInputAadhaarComponent, selector: "kwikui-input-aadhaar", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "mask", "placeholder", "properties", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIImageComponent, selector: "kwikui-image", inputs: ["altText", "class", "html", "id", "imageSrc", "imageType", "loadingType", "styles"], outputs: ["onClick"] }, { type: i3__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: i4__namespace.KwikUIInputCameraComponent, selector: "kwikui-input-camera", inputs: ["buttonText", "disabled", "focus", "formControl", "formControlName", "icon", "id", "invalid", "mediaFiles", "properties", "showMediaFiles", "size", "type", "validators"], outputs: ["onClick", "getRemovedFile"] }, { type: i3__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: i3__namespace.KwikUILoaderComponent, selector: "kwikui-loader" }, { type: i6__namespace.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "lines", "timestamp"], outputs: ["close"] }, { type: i5__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i7__namespace.TuiPreviewComponent, selector: "tui-preview", inputs: ["zoomable", "rotatable"] }, { type: i7__namespace.TuiPreviewTitleComponent, selector: "tui-preview-title" }, { type: i5__namespace.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i4__namespace.KwikIDCameraComponent, selector: "kwikid-camera", inputs: ["type", "config", "data", "image", "video"], outputs: ["getImage", "onClickSave", "getVideo"] }], directives: [{ type: i3__namespace$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3__namespace$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3__namespace$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3__namespace$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3__namespace$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3__namespace$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i6__namespace.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i6__namespace.TuiPushDirective, selector: "tui-push" }, { type: i7__namespace.TuiPreviewActionDirective, selector: "[tuiPreviewAction]" }], pipes: { "styleSanitizer": StyleSanitizerPipe, "kwikuiSafeHtml": i3__namespace.KwikUISafeHtmlPipe, "kwikuiSafeUrl": i3__namespace.KwikUISafeUrlPipe, "formatTimer": TimerPipe } });
8411
+ /** @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, KwikIDFormViewApiService], viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }, { propertyName: "preview", first: true, predicate: ["preview"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div\n class=\"kwikid-form-container\"\n *ngIf=\"!loading\"\n>\n <div\n id=\"uf-form-fields-header-container\"\n *ngIf=\"\n !formConfig.properties?.header?.title?.hidden ||\n !formConfig.properties?.header?.logo?.hidden ||\n !formConfig.properties?.header?.steps?.hidden ||\n !formConfig.properties?.header?.backButton?.hidden\n \"\n >\n <img\n id=\"uf-header-logo\"\n *ngIf=\"!formConfig.properties?.header?.logo?.hidden && isMobileView\"\n [src]=\"formConfig.properties?.header?.logo?.src\"\n [alt]=\"formConfig.properties?.header?.logo?.alt\"\n [style]=\"\n formConfig.properties?.header?.logo?.styles ?? '' | styleSanitizer\n \"\n />\n <div id=\"uf-form-fields-header-main\">\n <div id=\"uf-form-fields-header-left\">\n <kwikui-button\n *ngIf=\"\n !formConfig.properties?.header.backButton.hidden && isMobileView\n \"\n [disabled]=\"backButton.disabled\"\n [showLoader]=\"backButton.showLoader\"\n appearance=\"mono\"\n icon=\"tuiIconArrowLeft\"\n shape=\"rounded\"\n (onClick)=\"\n handleOnClickGoBack(\n $event,\n formConfig.properties?.header.backButton.mode\n )\n \"\n ></kwikui-button>\n </div>\n <div id=\"uf-form-fields-header-right\">\n <div\n id=\"uf-form-fields-title\"\n *ngIf=\"!formConfig.properties?.header.title.hidden\"\n >{{ formConfig.properties?.header.title.label }}</div\n >\n <div\n id=\"uf-form-fields-steps\"\n *ngIf=\"!formConfig.properties?.header.steps.hidden\"\n >\n Step {{ formConfig.sequenceNo }} of {{ formConfig.formsListLength }}\n </div>\n </div>\n </div>\n <hr\n *ngIf=\"\n !formConfig.properties?.header.title.hidden ||\n !formConfig.properties?.header.steps.hidden ||\n !formConfig.properties?.header.backButton.hidden\n \"\n />\n </div>\n <form\n class=\"kwikid-form show\"\n [style]=\"formConfig.properties?.main?.styles ?? '' | styleSanitizer\"\n [formGroup]=\"formGroup\"\n >\n <ng-container\n *ngFor=\"\n let field of formFields;\n let i = index;\n trackBy: getUniqueIdentifier\n \"\n >\n <ng-container [ngSwitch]=\"field.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'html'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <div [innerHtml]=\"field.html | kwikuiSafeHtml\"></div>\n </div>\n </ng-container>\n <!-- Form Title -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div\n class=\"title\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n [class.hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <div>\n {{ field.label }}\n </div>\n <kwikui-button\n *ngIf=\"field?.reset\"\n appearance=\"whiteblock\"\n size=\"s\"\n [label]=\"field?.properties?.resetButtonLabel ?? 'Reset'\"\n (onClick)=\"handleOnClickResetFormFields($event, field)\"\n ></kwikui-button>\n </div>\n </ng-container>\n <!-- Button -->\n <ng-container *ngSwitchCase=\"'button'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button\n [appearance]=\"field?.properties?.appearance ?? 'primary'\"\n [class]=\"field?.properties?.class\"\n [disabled]=\"field?.disabled\"\n [icon]=\"field?.properties?.icon\"\n [iconRight]=\"field?.properties?.iconRight\"\n [id]=\"field?.key\"\n [label]=\"field?.label\"\n [shape]=\"field?.properties?.shape\"\n [showLoader]=\"field?.properties?.loading ?? false\"\n [size]=\"field?.properties?.size\"\n [styles]=\"field?.properties?.styles\"\n [type]=\"'button'\"\n (onClick)=\"handleOnClickFormFieldButton(field)\"\n ></kwikui-button>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Text -->\n <ng-container *ngSwitchCase=\"'text'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [type]=\"'text'\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Email -->\n <ng-container *ngSwitchCase=\"'email'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-email\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [domains]=\"field?.properties?.domains\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-email>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Password -->\n <ng-container *ngSwitchCase=\"'password'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-password\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [hintContent]=\"field?.properties?.hintContent\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-password>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Textarea -->\n <ng-container *ngSwitchCase=\"'textarea'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-textarea\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-textarea>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Checkbox -->\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-checkbox\n [contentAlign]=\"field?.properties?.contentAlign ?? 'left'\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.properties?.placeholder\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size ?? 'l'\"\n [validators]=\"field?.validators\"\n [variant]=\"field?.properties?.variant ?? 'block'\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-checkbox>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Number -->\n <ng-container *ngSwitchCase=\"'number'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-number\n [decimal]=\"field?.properties?.decimal\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix ?? ''\"\n [precision]=\"field?.properties?.precision\"\n [prefix]=\"field?.properties?.prefix ?? ''\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-number>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Date -->\n <ng-container *ngSwitchCase=\"'date'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-date\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [maxCalculatedFromToday]=\"\n field?.properties?.maxCalculatedFromToday\n \"\n [min]=\"field?.properties?.min\"\n [minCalculatedFromToday]=\"\n field?.properties?.minCalculatedFromToday\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-date>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Time -->\n <ng-container *ngSwitchCase=\"'time'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-time\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [items]=\"field?.properties?.items\"\n [label]=\"field?.label\"\n [mode]=\"field?.properties?.mode\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-time>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Phone -->\n <ng-container *ngSwitchCase=\"'phone'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-phone\n [countryCode]=\"field?.properties?.countryCode\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [phoneMaskAfterCountryCode]=\"\n field?.properties?.phoneMaskAfterCountryCode\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [removeCountryCodeFromValue]=\"\n field?.properties?.removeCountryCodeFromValue\n \"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-phone>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Radio -->\n <ng-container *ngSwitchCase=\"'radio'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto; padding: 0px 0.5rem\"\n >\n <kwikui-input-radio\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [items]=\"field?.options\"\n [label]=\"field?.label\"\n [orientation]=\"field?.properties?.orientation\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-radio>\n </label>\n <ng-template #labelTemplate>\n <p\n class=\"tui-space_bottom-2\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\">*</span>\n </b>\n </p>\n </ng-template>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Dropdown -->\n <ng-container *ngSwitchCase=\"'select'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-select\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [options]=\"field.options\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [searchable]=\"field?.properties?.searchable\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-select>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Slider -->\n <ng-container *ngSwitchCase=\"'slider'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-slider\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [quantum]=\"field?.properties?.quantum\"\n [size]=\"field?.properties?.size\"\n [steps]=\"field?.properties?.steps\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-slider>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- API Call -->\n <ng-container *ngSwitchCase=\"'api'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-api-call\n [apiStatus]=\"field?.api?.status?.value\"\n [apiTimer]=\"field?.api?.timer\"\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 [size]=\"field?.properties?.size\"\n styles=\"width: fit-content\"\n (onClick)=\"handleOnClickApiCall($event)\"\n (onApiTimerStop)=\"handleOnApiTimerStop($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 <!-- Live Location -->\n <ng-container *ngSwitchCase=\"'live-location'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-live-location\n [class]=\"field?.class\"\n [disabled]=\"field?.disabled\"\n [id]=\"field.key\"\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\n [liveLocationStatus]=\"field?.api?.status?.value\"\n [shape]=\"field?.properties?.shape\"\n [isShowLatLongCaptureTimestamp]=\"\n field?.properties?.isShowLatLongCaptureTimestamp\n \"\n [showLoader]=\"field?.disabled\"\n [size]=\"field?.properties?.size\"\n styles=\"width: fit-content\"\n (onClick)=\"handleOnClickLiveLocation($event)\"\n (onLocationPermission)=\"handleOnLocationPermission($event)\"\n ></kwikui-button-live-location>\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<tui-push\n id=\"permission-error-notification\"\n *tuiPush=\"showPermissionErrorNotification\"\n heading=\"Please provide required permissions!\"\n type=\"Error\"\n (close)=\"togglePermissionErrorNotification(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,#permission-error-notification{background-color:var(--tui-error-fill);color:#fff!important}#field-error-notification .t-top,#permission-error-notification .t-top{color:#fff!important}#field-error-notification .t-close,#permission-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: i3__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type"], outputs: ["onClick"] }, { type: i3__namespace.KwikUIMessagesComponent, selector: "kwikui-messages", inputs: ["id", "messages"] }, { type: i3__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: i3__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: i3__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: i3__namespace.KwikUITextareaComponent, selector: "kwikui-textarea", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUICheckboxComponent, selector: "kwikui-checkbox", inputs: ["contentAlign", "disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "placeholder", "properties", "size", "validators", "variant"], outputs: ["getKeyValue"] }, { type: i3__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: i3__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: i3__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: i3__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: i5__namespace.TuiLabelComponent, selector: "label[tuiLabel]", inputs: ["tuiLabel", "context"] }, { type: i3__namespace.KwikUIInputRadioComponent, selector: "kwikui-input-radio", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "items", "label", "orientation", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__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: i3__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: i3__namespace.KwikUIButtonApiCallComponent, selector: "kwikui-button-api-call", inputs: ["apiTimer", "apiStatus", "class", "disabled", "id", "label", "shape", "showLoader", "size", "styles"], outputs: ["onClick", "onApiTimerStop"] }, { type: i3__namespace.KwikUIButtonLiveLocationComponent, selector: "kwikui-button-live-location", inputs: ["liveLocationStatus", "class", "disabled", "id", "label", "shape", "showLoader", "size", "styles", "isShowLatLongCaptureTimestamp"], outputs: ["onClick", "onLocationPermission"] }, { type: i3__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: i3__namespace.KwikUIInputAadhaarComponent, selector: "kwikui-input-aadhaar", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "mask", "placeholder", "properties", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIImageComponent, selector: "kwikui-image", inputs: ["altText", "class", "html", "id", "imageSrc", "imageType", "loadingType", "styles"], outputs: ["onClick"] }, { type: i3__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: i4__namespace.KwikUIInputCameraComponent, selector: "kwikui-input-camera", inputs: ["buttonText", "disabled", "focus", "formControl", "formControlName", "icon", "id", "invalid", "mediaFiles", "properties", "showMediaFiles", "size", "type", "validators"], outputs: ["onClick", "getRemovedFile"] }, { type: i3__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: i3__namespace.KwikUILoaderComponent, selector: "kwikui-loader" }, { type: i6__namespace.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "lines", "timestamp"], outputs: ["close"] }, { type: i5__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i7__namespace.TuiPreviewComponent, selector: "tui-preview", inputs: ["zoomable", "rotatable"] }, { type: i7__namespace.TuiPreviewTitleComponent, selector: "tui-preview-title" }, { type: i5__namespace.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i4__namespace.KwikIDCameraComponent, selector: "kwikid-camera", inputs: ["type", "config", "data", "image", "video"], outputs: ["getImage", "onClickSave", "getVideo"] }], directives: [{ type: i3__namespace$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3__namespace$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3__namespace$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3__namespace$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3__namespace$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3__namespace$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i6__namespace.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i6__namespace.TuiPushDirective, selector: "tui-push" }, { type: i7__namespace.TuiPreviewActionDirective, selector: "[tuiPreviewAction]" }], pipes: { "styleSanitizer": StyleSanitizerPipe, "kwikuiSafeHtml": i3__namespace.KwikUISafeHtmlPipe, "kwikuiSafeUrl": i3__namespace.KwikUISafeUrlPipe, "formatTimer": TimerPipe } });
8069
8412
  __decorate([
8070
8413
  kwikidToolkit.logMethod
8071
8414
  ], KwikIDFormViewComponent.prototype, "resetCamera", null);
@@ -8147,6 +8490,12 @@
8147
8490
  __decorate([
8148
8491
  kwikidToolkit.logMethod
8149
8492
  ], KwikIDFormViewComponent.prototype, "handleOnClickFormFieldButton", null);
8493
+ __decorate([
8494
+ kwikidToolkit.logMethod
8495
+ ], KwikIDFormViewComponent.prototype, "handleOnLocationPermission", null);
8496
+ __decorate([
8497
+ kwikidToolkit.logMethod
8498
+ ], KwikIDFormViewComponent.prototype, "handleOnClickLiveLocation", null);
8150
8499
  __decorate([
8151
8500
  kwikidToolkit.logMethod
8152
8501
  ], KwikIDFormViewComponent.prototype, "handleGetKeyValue", null);
@@ -8183,6 +8532,9 @@
8183
8532
  __decorate([
8184
8533
  kwikidToolkit.logMethod
8185
8534
  ], KwikIDFormViewComponent.prototype, "toggleErrorNotification", null);
8535
+ __decorate([
8536
+ kwikidToolkit.logMethod
8537
+ ], KwikIDFormViewComponent.prototype, "togglePermissionErrorNotification", null);
8186
8538
  __decorate([
8187
8539
  kwikidToolkit.logMethod
8188
8540
  ], KwikIDFormViewComponent.prototype, "fieldHide", null);
@@ -8210,6 +8562,12 @@
8210
8562
  __decorate([
8211
8563
  kwikidToolkit.logMethod
8212
8564
  ], KwikIDFormViewComponent.prototype, "fieldReset", null);
8565
+ __decorate([
8566
+ kwikidToolkit.logMethod
8567
+ ], KwikIDFormViewComponent.prototype, "fieldHideApiLoader", null);
8568
+ __decorate([
8569
+ kwikidToolkit.logMethod
8570
+ ], KwikIDFormViewComponent.prototype, "fieldShowApiLoader", null);
8213
8571
  __decorate([
8214
8572
  kwikidToolkit.logMethod
8215
8573
  ], KwikIDFormViewComponent.prototype, "setHtml", null);
@@ -8380,7 +8738,7 @@
8380
8738
  type: i0.Output
8381
8739
  }], onClickViewForms: [{
8382
8740
  type: i0.Output
8383
- }], 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: [], handleOnApiTimerStop: [], 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: [] } });
8741
+ }], 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: [], handleOnLocationPermission: [], handleOnClickLiveLocation: [], handleGetKeyValue: [], handleOnClickResetFormFields: [], handleFieldApiCall: [], handleApiCall: [], executeApiCall: [], isValidRequestHeadersAndBody: [], handleOnClickApiCall: [], handleOnClickGoBack: [], handleOnClickViewForms: [], handleOnClickSaveForm: [], handleOnApiTimerStop: [], toggleErrorNotification: [], togglePermissionErrorNotification: [], fieldHide: [], fieldGroupHide: [], fieldShow: [], fieldGroupShow: [], fieldDisable: [], fieldGroupDisable: [], fieldEnable: [], fieldGroupEnable: [], fieldReset: [], fieldHideApiLoader: [], fieldShowApiLoader: [], 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: [] } });
8384
8742
 
8385
8743
  var EFormType;
8386
8744
  (function (EFormType) {