kwikid-forms 0.6.42 → 0.6.43

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.
@@ -1029,9 +1029,14 @@
1029
1029
  });
1030
1030
  };
1031
1031
  var removeFormFieldMessage = function (field, message) {
1032
- field["messages"] = field["messages"].filter(function (fieldMessage) {
1033
- return fieldMessage.type !== message.type;
1034
- });
1032
+ if (kwikidToolkit.isNotEmptyValue(field === null || field === void 0 ? void 0 : field.messages)) {
1033
+ field["messages"] = field["messages"].filter(function (fieldMessage) {
1034
+ return fieldMessage.type !== message.type;
1035
+ });
1036
+ }
1037
+ else {
1038
+ field["messages"] = [];
1039
+ }
1035
1040
  return field;
1036
1041
  };
1037
1042
  var setApiTimerMessage = function (field, timer) {
@@ -1927,44 +1932,36 @@
1927
1932
  else if (kwikidToolkit.checkObjectPathExists(field, "default.value.sources")) {
1928
1933
  return field;
1929
1934
  }
1935
+ else if (kwikidToolkit.checkObjectPathExists(field, "default.value.rules") &&
1936
+ kwikidToolkit.checkObjectPathExists(field, "default.value.actions")) {
1937
+ return field;
1938
+ }
1939
+ else if (kwikidToolkit.checkObjectPathExists(field, "default.value.value") &&
1940
+ kwikidToolkit.isNotEmptyValue(field.default.value.value)) {
1941
+ return field;
1942
+ }
1930
1943
  else if (!kwikidToolkit.checkObjectPathExists(field, "default.value.sources")) {
1931
1944
  var defaultValue = {
1932
- is_found: false,
1933
1945
  value: "",
1934
- sources: [
1946
+ triggers: ["ON_INIT"],
1947
+ rules: [],
1948
+ actions: [
1935
1949
  {
1936
- key: "OBJECT",
1950
+ id: "1",
1951
+ key: "SET_FIELD_DEFAULT_VALUE",
1952
+ condition: "true",
1937
1953
  props: {
1938
- object: {
1939
- key: "FORM_DATA",
1940
- path: "$." + field.key
1941
- }
1942
- },
1943
- value: "",
1944
- validation: {
1945
- is_valid: false,
1946
- triggers: ["ON_INIT"],
1947
- rules: [],
1948
- actions: [
1949
- {
1950
- id: "1",
1951
- key: "SET_FIELD_DEFAULT_VALUE",
1952
- condition: "1",
1954
+ value: {
1955
+ source: {
1956
+ key: "OBJECT",
1953
1957
  props: {
1954
- value: {
1955
- source: {
1956
- key: "OBJECT",
1957
- props: {
1958
- object: {
1959
- key: "FORM_DATA",
1960
- path: "$." + field.key
1961
- }
1962
- }
1963
- }
1958
+ object: {
1959
+ key: "FORM_DATA",
1960
+ path: "$." + field.key
1964
1961
  }
1965
1962
  }
1966
1963
  }
1967
- ]
1964
+ }
1968
1965
  }
1969
1966
  }
1970
1967
  ]
@@ -2012,13 +2009,33 @@
2012
2009
  formConfig["fieldGroups"] = groups;
2013
2010
  return formConfig;
2014
2011
  };
2012
+ var updateFieldGroupKey = function (field) {
2013
+ if (kwikidToolkit.checkObjectKeyExists(field, "groupKey") &&
2014
+ !Array.isArray(field.groupKey)) {
2015
+ field["groupKey"] = [field.groupKey];
2016
+ }
2017
+ return field;
2018
+ };
2015
2019
  var updateFormFieldGroups = function (fieldGroups, field) {
2020
+ var e_2, _f;
2016
2021
  if (kwikidToolkit.checkObjectKeyExists(field, "groupKey")) {
2017
- if (kwikidToolkit.checkObjectKeyExists(fieldGroups, field.groupKey)) {
2018
- fieldGroups[field.groupKey].push(field.key);
2022
+ try {
2023
+ for (var _g = __values(field.groupKey), _h = _g.next(); !_h.done; _h = _g.next()) {
2024
+ var groupKey = _h.value;
2025
+ if (kwikidToolkit.checkObjectKeyExists(fieldGroups, groupKey)) {
2026
+ fieldGroups[groupKey].push(field.key);
2027
+ }
2028
+ else {
2029
+ fieldGroups[groupKey] = [field.key];
2030
+ }
2031
+ }
2019
2032
  }
2020
- else {
2021
- fieldGroups[field.groupKey] = [field.key];
2033
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
2034
+ finally {
2035
+ try {
2036
+ if (_h && !_h.done && (_f = _g.return)) _f.call(_g);
2037
+ }
2038
+ finally { if (e_2) throw e_2.error; }
2022
2039
  }
2023
2040
  }
2024
2041
  return fieldGroups;
@@ -2107,6 +2124,7 @@
2107
2124
  field = updateFieldLanguage(field, getLanguage());
2108
2125
  field = formatOnFieldType(field);
2109
2126
  field = updateFieldDisability(field);
2127
+ field = updateFieldGroupKey(field);
2110
2128
  fieldGroups = updateFormFieldGroups(fieldGroups, field);
2111
2129
  field = updateFieldDefaultValue(field);
2112
2130
  field = updateFieldValidators(field);
@@ -3154,10 +3172,12 @@
3154
3172
  EActionKey["FIELD_HIDE_API_LOADER"] = "FIELD_HIDE_API_LOADER";
3155
3173
  EActionKey["HANDLE_CONNECTED_ELEMENTS"] = "HANDLE_CONNECTED_ELEMENTS";
3156
3174
  EActionKey["CUSTOM"] = "CUSTOM";
3175
+ EActionKey["SCROLL_TO_FIELD"] = "SCROLL_TO_FIELD";
3157
3176
  EActionKey["FIELD_GROUP_SHOW"] = "FIELD_GROUP_SHOW";
3158
3177
  EActionKey["FIELD_GROUP_HIDE"] = "FIELD_GROUP_HIDE";
3159
3178
  EActionKey["FIELD_GROUP_ENABLE"] = "FIELD_GROUP_ENABLE";
3160
3179
  EActionKey["FIELD_GROUP_DISABLE"] = "FIELD_GROUP_DISABLE";
3180
+ EActionKey["FIELD_GROUP_RESET"] = "FIELD_GROUP_RESET";
3161
3181
  EActionKey["SET_DROPDOWN_OPTIONS"] = "SET_DROPDOWN_OPTIONS";
3162
3182
  EActionKey["API_CALL"] = "API_CALL";
3163
3183
  EActionKey["API_CALL_MULTIPLE"] = "API_CALL_MULTIPLE";
@@ -3567,20 +3587,84 @@
3567
3587
  }
3568
3588
  Defaults.prototype.getFormFieldValue = function () {
3569
3589
  return __awaiter(this, void 0, void 0, function () {
3570
- var defaultValue, sources, sourceIndex, sources_1, sources_1_1, source, sources_2, value, validation, triggers, rules, actions, rulesMapping, actions_1, actions_1_1, action, conditionEvaluation, actions_2, e_1_1, e_2_1;
3571
- var e_2, _a, e_1, _b;
3572
- return __generator(this, function (_c) {
3573
- switch (_c.label) {
3590
+ var defaultValue, engine, triggers, rules, actions, rulesMapping, actions_1, actions_1_1, action, conditionEvaluation, actions_3, e_1_1, sources, sourceIndex, sources_1, sources_1_1, source, sources_2, value, validation, triggers, rules, actions, rulesMapping, actions_2, actions_2_1, action, conditionEvaluation, actions_4, e_2_1, e_3_1;
3591
+ var e_1, _a, e_3, _b, e_2, _c;
3592
+ return __generator(this, function (_d) {
3593
+ switch (_d.label) {
3574
3594
  case 0:
3595
+ if (!(kwikidToolkit.checkObjectKeyExists(this._field.default.value, "value") &&
3596
+ kwikidToolkit.isNotEmptyValue(this._field.default.value.value))) return [3 /*break*/, 1];
3597
+ defaultValue = this._field.default.value.value;
3598
+ if (kwikidToolkit.isEmptyValue(defaultValue)) {
3599
+ defaultValue = convertFormFieldEmptyValueToKwikUIFormat(this._field);
3600
+ }
3601
+ return [3 /*break*/, 26];
3602
+ case 1:
3603
+ if (!!kwikidToolkit.checkObjectKeyExists(this._field.default.value, "sources")) return [3 /*break*/, 10];
3604
+ engine = this._field.default.value;
3605
+ triggers = engine.triggers;
3606
+ rules = engine.rules;
3607
+ actions = engine.actions;
3608
+ rulesMapping = new kwikidToolkit.Rule(rules, {
3609
+ FIELD_CONFIG: this._field,
3610
+ FORM_FIELDS: this._formFields,
3611
+ FORM_DATA: this._formData,
3612
+ PREVIOUS_FORM_DATA: this._previousFormData,
3613
+ ALL_FORMS_DATA: this._allFormsData,
3614
+ EXTRA_DATA: this._extraData
3615
+ }).mapping();
3616
+ _d.label = 2;
3617
+ case 2:
3618
+ _d.trys.push([2, 7, 8, 9]);
3619
+ actions_1 = __values(actions), actions_1_1 = actions_1.next();
3620
+ _d.label = 3;
3621
+ case 3:
3622
+ if (!!actions_1_1.done) return [3 /*break*/, 6];
3623
+ action = actions_1_1.value;
3624
+ conditionEvaluation = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
3625
+ if (!conditionEvaluation) return [3 /*break*/, 5];
3626
+ actions_3 = new kwikidToolkit.Action(action, rulesMapping, {
3627
+ FIELD_CONFIG: this._field,
3628
+ FORM_FIELDS: this._formFields,
3629
+ FORM_DATA: this._formData,
3630
+ PREVIOUS_FORM_DATA: this._previousFormData,
3631
+ ALL_FORMS_DATA: this._allFormsData,
3632
+ EXTRA_DATA: this._extraData
3633
+ }, this._takeAction);
3634
+ return [4 /*yield*/, actions_3.execute()];
3635
+ case 4:
3636
+ _d.sent();
3637
+ _d.label = 5;
3638
+ case 5:
3639
+ actions_1_1 = actions_1.next();
3640
+ return [3 /*break*/, 3];
3641
+ case 6: return [3 /*break*/, 9];
3642
+ case 7:
3643
+ e_1_1 = _d.sent();
3644
+ e_1 = { error: e_1_1 };
3645
+ return [3 /*break*/, 9];
3646
+ case 8:
3647
+ try {
3648
+ if (actions_1_1 && !actions_1_1.done && (_a = actions_1.return)) _a.call(actions_1);
3649
+ }
3650
+ finally { if (e_1) throw e_1.error; }
3651
+ return [7 /*endfinally*/];
3652
+ case 9:
3653
+ defaultValue = this._field.default.value.value;
3654
+ if (kwikidToolkit.isEmptyValue(defaultValue)) {
3655
+ defaultValue = convertFormFieldEmptyValueToKwikUIFormat(this._field);
3656
+ }
3657
+ return [3 /*break*/, 26];
3658
+ case 10:
3575
3659
  sources = this._field.default.value.sources;
3576
3660
  sourceIndex = 0;
3577
- _c.label = 1;
3578
- case 1:
3579
- _c.trys.push([1, 13, 14, 15]);
3661
+ _d.label = 11;
3662
+ case 11:
3663
+ _d.trys.push([11, 23, 24, 25]);
3580
3664
  sources_1 = __values(sources), sources_1_1 = sources_1.next();
3581
- _c.label = 2;
3582
- case 2:
3583
- if (!!sources_1_1.done) return [3 /*break*/, 12];
3665
+ _d.label = 12;
3666
+ case 12:
3667
+ if (!!sources_1_1.done) return [3 /*break*/, 22];
3584
3668
  source = sources_1_1.value;
3585
3669
  sources_2 = new kwikidToolkit.Source({
3586
3670
  FIELD_CONFIG: this._field,
@@ -3605,17 +3689,17 @@
3605
3689
  ALL_FORMS_DATA: this._allFormsData,
3606
3690
  EXTRA_DATA: this._extraData
3607
3691
  }).mapping();
3608
- _c.label = 3;
3609
- case 3:
3610
- _c.trys.push([3, 8, 9, 10]);
3611
- actions_1 = (e_1 = void 0, __values(actions)), actions_1_1 = actions_1.next();
3612
- _c.label = 4;
3613
- case 4:
3614
- if (!!actions_1_1.done) return [3 /*break*/, 7];
3615
- action = actions_1_1.value;
3692
+ _d.label = 13;
3693
+ case 13:
3694
+ _d.trys.push([13, 18, 19, 20]);
3695
+ actions_2 = (e_2 = void 0, __values(actions)), actions_2_1 = actions_2.next();
3696
+ _d.label = 14;
3697
+ case 14:
3698
+ if (!!actions_2_1.done) return [3 /*break*/, 17];
3699
+ action = actions_2_1.value;
3616
3700
  conditionEvaluation = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
3617
- if (!conditionEvaluation) return [3 /*break*/, 6];
3618
- actions_2 = new kwikidToolkit.Action(action, rulesMapping, {
3701
+ if (!conditionEvaluation) return [3 /*break*/, 16];
3702
+ actions_4 = new kwikidToolkit.Action(action, rulesMapping, {
3619
3703
  FIELD_CONFIG: this._field,
3620
3704
  FORM_FIELDS: this._formFields,
3621
3705
  FORM_DATA: this._formData,
@@ -3623,55 +3707,56 @@
3623
3707
  ALL_FORMS_DATA: this._allFormsData,
3624
3708
  EXTRA_DATA: this._extraData
3625
3709
  }, this._takeAction);
3626
- return [4 /*yield*/, actions_2.execute()];
3627
- case 5:
3628
- _c.sent();
3629
- _c.label = 6;
3630
- case 6:
3631
- actions_1_1 = actions_1.next();
3632
- return [3 /*break*/, 4];
3633
- case 7: return [3 /*break*/, 10];
3634
- case 8:
3635
- e_1_1 = _c.sent();
3636
- e_1 = { error: e_1_1 };
3637
- return [3 /*break*/, 10];
3638
- case 9:
3710
+ return [4 /*yield*/, actions_4.execute()];
3711
+ case 15:
3712
+ _d.sent();
3713
+ _d.label = 16;
3714
+ case 16:
3715
+ actions_2_1 = actions_2.next();
3716
+ return [3 /*break*/, 14];
3717
+ case 17: return [3 /*break*/, 20];
3718
+ case 18:
3719
+ e_2_1 = _d.sent();
3720
+ e_2 = { error: e_2_1 };
3721
+ return [3 /*break*/, 20];
3722
+ case 19:
3639
3723
  try {
3640
- if (actions_1_1 && !actions_1_1.done && (_b = actions_1.return)) _b.call(actions_1);
3724
+ if (actions_2_1 && !actions_2_1.done && (_c = actions_2.return)) _c.call(actions_2);
3641
3725
  }
3642
- finally { if (e_1) throw e_1.error; }
3726
+ finally { if (e_2) throw e_2.error; }
3643
3727
  return [7 /*endfinally*/];
3644
- case 10:
3728
+ case 20:
3645
3729
  sourceIndex++;
3646
- _c.label = 11;
3647
- case 11:
3730
+ _d.label = 21;
3731
+ case 21:
3648
3732
  sources_1_1 = sources_1.next();
3649
- return [3 /*break*/, 2];
3650
- case 12: return [3 /*break*/, 15];
3651
- case 13:
3652
- e_2_1 = _c.sent();
3653
- e_2 = { error: e_2_1 };
3654
- return [3 /*break*/, 15];
3655
- case 14:
3733
+ return [3 /*break*/, 12];
3734
+ case 22: return [3 /*break*/, 25];
3735
+ case 23:
3736
+ e_3_1 = _d.sent();
3737
+ e_3 = { error: e_3_1 };
3738
+ return [3 /*break*/, 25];
3739
+ case 24:
3656
3740
  try {
3657
- if (sources_1_1 && !sources_1_1.done && (_a = sources_1.return)) _a.call(sources_1);
3741
+ if (sources_1_1 && !sources_1_1.done && (_b = sources_1.return)) _b.call(sources_1);
3658
3742
  }
3659
- finally { if (e_2) throw e_2.error; }
3743
+ finally { if (e_3) throw e_3.error; }
3660
3744
  return [7 /*endfinally*/];
3661
- case 15:
3745
+ case 25:
3662
3746
  defaultValue = this._field.default.value.value;
3663
3747
  if (kwikidToolkit.isEmptyValue(defaultValue)) {
3664
3748
  defaultValue = convertFormFieldEmptyValueToKwikUIFormat(this._field);
3665
3749
  }
3666
- return [2 /*return*/, defaultValue];
3750
+ _d.label = 26;
3751
+ case 26: return [2 /*return*/, defaultValue];
3667
3752
  }
3668
3753
  });
3669
3754
  });
3670
3755
  };
3671
3756
  Defaults.prototype.getFormFieldApiValue = function () {
3672
3757
  return __awaiter(this, void 0, void 0, function () {
3673
- var apiConfig, rules, actions, rulesMapping, actions_3, actions_3_1, action, conditionEvaluation, actions_4, e_3_1;
3674
- var e_3, _a;
3758
+ var apiConfig, rules, actions, rulesMapping, actions_5, actions_5_1, action, conditionEvaluation, actions_6, e_4_1;
3759
+ var e_4, _a;
3675
3760
  return __generator(this, function (_b) {
3676
3761
  switch (_b.label) {
3677
3762
  case 0:
@@ -3689,14 +3774,14 @@
3689
3774
  _b.label = 1;
3690
3775
  case 1:
3691
3776
  _b.trys.push([1, 6, 7, 8]);
3692
- actions_3 = __values(actions), actions_3_1 = actions_3.next();
3777
+ actions_5 = __values(actions), actions_5_1 = actions_5.next();
3693
3778
  _b.label = 2;
3694
3779
  case 2:
3695
- if (!!actions_3_1.done) return [3 /*break*/, 5];
3696
- action = actions_3_1.value;
3780
+ if (!!actions_5_1.done) return [3 /*break*/, 5];
3781
+ action = actions_5_1.value;
3697
3782
  conditionEvaluation = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
3698
3783
  if (!conditionEvaluation) return [3 /*break*/, 4];
3699
- actions_4 = new kwikidToolkit.Action(action, rulesMapping, {
3784
+ actions_6 = new kwikidToolkit.Action(action, rulesMapping, {
3700
3785
  FIELD_CONFIG: this._field,
3701
3786
  FORM_FIELDS: this._formFields,
3702
3787
  FORM_DATA: this._formData,
@@ -3704,23 +3789,23 @@
3704
3789
  ALL_FORMS_DATA: this._allFormsData,
3705
3790
  EXTRA_DATA: this._extraData
3706
3791
  }, this._takeAction);
3707
- return [4 /*yield*/, actions_4.execute()];
3792
+ return [4 /*yield*/, actions_6.execute()];
3708
3793
  case 3:
3709
3794
  _b.sent();
3710
3795
  _b.label = 4;
3711
3796
  case 4:
3712
- actions_3_1 = actions_3.next();
3797
+ actions_5_1 = actions_5.next();
3713
3798
  return [3 /*break*/, 2];
3714
3799
  case 5: return [3 /*break*/, 8];
3715
3800
  case 6:
3716
- e_3_1 = _b.sent();
3717
- e_3 = { error: e_3_1 };
3801
+ e_4_1 = _b.sent();
3802
+ e_4 = { error: e_4_1 };
3718
3803
  return [3 /*break*/, 8];
3719
3804
  case 7:
3720
3805
  try {
3721
- if (actions_3_1 && !actions_3_1.done && (_a = actions_3.return)) _a.call(actions_3);
3806
+ if (actions_5_1 && !actions_5_1.done && (_a = actions_5.return)) _a.call(actions_5);
3722
3807
  }
3723
- finally { if (e_3) throw e_3.error; }
3808
+ finally { if (e_4) throw e_4.error; }
3724
3809
  return [7 /*endfinally*/];
3725
3810
  case 8: return [2 /*return*/];
3726
3811
  }
@@ -3729,8 +3814,8 @@
3729
3814
  };
3730
3815
  Defaults.prototype.getFormFieldOptions = function () {
3731
3816
  return __awaiter(this, void 0, void 0, function () {
3732
- var optionsConfig, rules, actions, rulesMapping, actions_5, actions_5_1, action, conditionEvaluation, actions_6, e_4_1;
3733
- var e_4, _a;
3817
+ var optionsConfig, rules, actions, rulesMapping, actions_7, actions_7_1, action, conditionEvaluation, actions_8, e_5_1;
3818
+ var e_5, _a;
3734
3819
  return __generator(this, function (_b) {
3735
3820
  switch (_b.label) {
3736
3821
  case 0:
@@ -3748,14 +3833,14 @@
3748
3833
  _b.label = 1;
3749
3834
  case 1:
3750
3835
  _b.trys.push([1, 6, 7, 8]);
3751
- actions_5 = __values(actions), actions_5_1 = actions_5.next();
3836
+ actions_7 = __values(actions), actions_7_1 = actions_7.next();
3752
3837
  _b.label = 2;
3753
3838
  case 2:
3754
- if (!!actions_5_1.done) return [3 /*break*/, 5];
3755
- action = actions_5_1.value;
3839
+ if (!!actions_7_1.done) return [3 /*break*/, 5];
3840
+ action = actions_7_1.value;
3756
3841
  conditionEvaluation = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
3757
3842
  if (!conditionEvaluation) return [3 /*break*/, 4];
3758
- actions_6 = new kwikidToolkit.Action(action, rulesMapping, {
3843
+ actions_8 = new kwikidToolkit.Action(action, rulesMapping, {
3759
3844
  FIELD_CONFIG: this._field,
3760
3845
  FORM_FIELDS: this._formFields,
3761
3846
  FORM_DATA: this._formData,
@@ -3763,23 +3848,23 @@
3763
3848
  ALL_FORMS_DATA: this._allFormsData,
3764
3849
  EXTRA_DATA: this._extraData
3765
3850
  }, this._takeAction);
3766
- return [4 /*yield*/, actions_6.execute()];
3851
+ return [4 /*yield*/, actions_8.execute()];
3767
3852
  case 3:
3768
3853
  _b.sent();
3769
3854
  _b.label = 4;
3770
3855
  case 4:
3771
- actions_5_1 = actions_5.next();
3856
+ actions_7_1 = actions_7.next();
3772
3857
  return [3 /*break*/, 2];
3773
3858
  case 5: return [3 /*break*/, 8];
3774
3859
  case 6:
3775
- e_4_1 = _b.sent();
3776
- e_4 = { error: e_4_1 };
3860
+ e_5_1 = _b.sent();
3861
+ e_5 = { error: e_5_1 };
3777
3862
  return [3 /*break*/, 8];
3778
3863
  case 7:
3779
3864
  try {
3780
- if (actions_5_1 && !actions_5_1.done && (_a = actions_5.return)) _a.call(actions_5);
3865
+ if (actions_7_1 && !actions_7_1.done && (_a = actions_7.return)) _a.call(actions_7);
3781
3866
  }
3782
- finally { if (e_4) throw e_4.error; }
3867
+ finally { if (e_5) throw e_5.error; }
3783
3868
  return [7 /*endfinally*/];
3784
3869
  case 8: return [2 /*return*/];
3785
3870
  }
@@ -4262,11 +4347,11 @@
4262
4347
  return [7 /*endfinally*/];
4263
4348
  case 17: return [2 /*return*/, this._object.API_CONFIG];
4264
4349
  case 18:
4265
- this._object = kwikidToolkit.setValueToObjectPath(this._object, "API_CONFIG.request.validation.body.is_valid", true);
4350
+ this._object = kwikidToolkit.setValueToObjectPath(this._object, "API_CONFIG.request.body.is_valid", true);
4266
4351
  return [2 /*return*/, this._object.API_CONFIG];
4267
4352
  case 19: return [3 /*break*/, 21];
4268
4353
  case 20:
4269
- this._object = kwikidToolkit.setValueToObjectPath(this._object, "API_CONFIG.request.validation.body.is_valid", true);
4354
+ this._object = kwikidToolkit.setValueToObjectPath(this._object, "API_CONFIG.request.body.is_valid", true);
4270
4355
  return [2 /*return*/, this._object.API_CONFIG];
4271
4356
  case 21: return [2 /*return*/];
4272
4357
  }
@@ -4505,11 +4590,11 @@
4505
4590
  return [7 /*endfinally*/];
4506
4591
  case 17: return [2 /*return*/, this._object.API_CONFIG];
4507
4592
  case 18:
4508
- this._object = kwikidToolkit.setValueToObjectPath(this._object, "API_CONFIG.request.validation.headers.is_valid", true);
4593
+ this._object = kwikidToolkit.setValueToObjectPath(this._object, "API_CONFIG.request.headers.is_valid", true);
4509
4594
  return [2 /*return*/, this._object.API_CONFIG];
4510
4595
  case 19: return [3 /*break*/, 21];
4511
4596
  case 20:
4512
- this._object = kwikidToolkit.setValueToObjectPath(this._object, "API_CONFIG.request.validation.headers.is_valid", true);
4597
+ this._object = kwikidToolkit.setValueToObjectPath(this._object, "API_CONFIG.request.headers.is_valid", true);
4513
4598
  return [2 /*return*/, this._object.API_CONFIG];
4514
4599
  case 21: return [2 /*return*/];
4515
4600
  }
@@ -4853,17 +4938,18 @@
4853
4938
  }] });
4854
4939
 
4855
4940
  var KwikIDFormViewComponent = /** @class */ (function () {
4856
- function KwikIDFormViewComponent(cd, formViewService, formViewApiService, push, alertService, previewDialogService, dialogService, loaderService, cameraRecordService, ref) {
4857
- this.cd = cd;
4941
+ function KwikIDFormViewComponent(cdRef, formViewService, formViewApiService, pushService, alertService, previewDialogService, dialogService, loaderService, cameraRecordService, ref, renderer) {
4942
+ this.cdRef = cdRef;
4858
4943
  this.formViewService = formViewService;
4859
4944
  this.formViewApiService = formViewApiService;
4860
- this.push = push;
4945
+ this.pushService = pushService;
4861
4946
  this.alertService = alertService;
4862
4947
  this.previewDialogService = previewDialogService;
4863
4948
  this.dialogService = dialogService;
4864
4949
  this.loaderService = loaderService;
4865
4950
  this.cameraRecordService = cameraRecordService;
4866
4951
  this.ref = ref;
4952
+ this.renderer = renderer;
4867
4953
  this.isMobileView = false;
4868
4954
  this.popupFormCallback = undefined;
4869
4955
  this.getLogs = new i0.EventEmitter();
@@ -4975,7 +5061,6 @@
4975
5061
  });
4976
5062
  }); })();
4977
5063
  };
4978
- KwikIDFormViewComponent.prototype.ngAfterViewInit = function () { };
4979
5064
  KwikIDFormViewComponent.prototype.ngOnChanges = function (changes) {
4980
5065
  var _15, _16, _17, _18;
4981
5066
  var _this = this;
@@ -6578,7 +6663,7 @@
6578
6663
  }, "ON_CHANGE");
6579
6664
  }
6580
6665
  };
6581
- KwikIDFormViewComponent.prototype.handleOnClickResetFormFields = function (e, field) {
6666
+ KwikIDFormViewComponent.prototype.handleOnClickResetFormFields2 = function (e, field) {
6582
6667
  var _a;
6583
6668
  return __awaiter(this, void 0, void 0, function () {
6584
6669
  var resetFormFields, BYPASS_RESET_CONFIRM, CONFIRM_RESET;
@@ -6667,6 +6752,180 @@
6667
6752
  });
6668
6753
  });
6669
6754
  };
6755
+ KwikIDFormViewComponent.prototype.handleOnClickResetFormFields = function (e, field) {
6756
+ var _a;
6757
+ return __awaiter(this, void 0, void 0, function () {
6758
+ var resetFormFields, BYPASS_RESET_CONFIRM, CONFIRM_RESET;
6759
+ var _this = this;
6760
+ return __generator(this, function (_15) {
6761
+ this.triggerLogs(ELogEventType$1.FORM__FIELD_RESET_BUTTON_CLICK, {
6762
+ field_key: field.key
6763
+ });
6764
+ resetFormFields = function () { return __awaiter(_this, void 0, void 0, function () {
6765
+ var _15, _16, f, _17, _18, action, resetField, actions, e_13_1, e_14_1, _19, _20, fg, _21, _22, action, _23, _24, fieldKey, resetField, actions, e_15_1, e_16_1, e_17_1;
6766
+ var e_14, _25, e_13, _26, e_17, _27, e_16, _28, e_15, _29;
6767
+ return __generator(this, function (_30) {
6768
+ switch (_30.label) {
6769
+ case 0:
6770
+ if (!kwikidToolkit.checkObjectPathExists(field, "reset.fields")) return [3 /*break*/, 14];
6771
+ _30.label = 1;
6772
+ case 1:
6773
+ _30.trys.push([1, 12, 13, 14]);
6774
+ _15 = __values(field.reset.fields), _16 = _15.next();
6775
+ _30.label = 2;
6776
+ case 2:
6777
+ if (!!_16.done) return [3 /*break*/, 11];
6778
+ f = _16.value;
6779
+ _30.label = 3;
6780
+ case 3:
6781
+ _30.trys.push([3, 8, 9, 10]);
6782
+ _17 = (e_13 = void 0, __values(f.actions)), _18 = _17.next();
6783
+ _30.label = 4;
6784
+ case 4:
6785
+ if (!!_18.done) return [3 /*break*/, 7];
6786
+ action = _18.value;
6787
+ resetField = getFormFieldByKey(this.formFields, action.props.fieldKey);
6788
+ actions = new kwikidToolkit.Action(action, {}, {
6789
+ FIELD_CONFIG: resetField,
6790
+ FORM_FIELDS: this.formFields,
6791
+ FORM_DATA: this.formData,
6792
+ TASK_DATA: this.taskData,
6793
+ PREVIOUS_FORM_DATA: this.previousFormData,
6794
+ ALL_FORMS_DATA: this.allFormsData,
6795
+ EXTRA_DATA: this.extraData
6796
+ }, this.takeAction.bind(this));
6797
+ return [4 /*yield*/, actions.execute()];
6798
+ case 5:
6799
+ _30.sent();
6800
+ _30.label = 6;
6801
+ case 6:
6802
+ _18 = _17.next();
6803
+ return [3 /*break*/, 4];
6804
+ case 7: return [3 /*break*/, 10];
6805
+ case 8:
6806
+ e_13_1 = _30.sent();
6807
+ e_13 = { error: e_13_1 };
6808
+ return [3 /*break*/, 10];
6809
+ case 9:
6810
+ try {
6811
+ if (_18 && !_18.done && (_26 = _17.return)) _26.call(_17);
6812
+ }
6813
+ finally { if (e_13) throw e_13.error; }
6814
+ return [7 /*endfinally*/];
6815
+ case 10:
6816
+ _16 = _15.next();
6817
+ return [3 /*break*/, 2];
6818
+ case 11: return [3 /*break*/, 14];
6819
+ case 12:
6820
+ e_14_1 = _30.sent();
6821
+ e_14 = { error: e_14_1 };
6822
+ return [3 /*break*/, 14];
6823
+ case 13:
6824
+ try {
6825
+ if (_16 && !_16.done && (_25 = _15.return)) _25.call(_15);
6826
+ }
6827
+ finally { if (e_14) throw e_14.error; }
6828
+ return [7 /*endfinally*/];
6829
+ case 14:
6830
+ if (!kwikidToolkit.checkObjectPathExists(field, "reset.fieldGroups")) return [3 /*break*/, 34];
6831
+ _30.label = 15;
6832
+ case 15:
6833
+ _30.trys.push([15, 32, 33, 34]);
6834
+ _19 = __values(field.reset.fieldGroups), _20 = _19.next();
6835
+ _30.label = 16;
6836
+ case 16:
6837
+ if (!!_20.done) return [3 /*break*/, 31];
6838
+ fg = _20.value;
6839
+ _30.label = 17;
6840
+ case 17:
6841
+ _30.trys.push([17, 28, 29, 30]);
6842
+ _21 = (e_16 = void 0, __values(fg.actions)), _22 = _21.next();
6843
+ _30.label = 18;
6844
+ case 18:
6845
+ if (!!_22.done) return [3 /*break*/, 27];
6846
+ action = _22.value;
6847
+ _30.label = 19;
6848
+ case 19:
6849
+ _30.trys.push([19, 24, 25, 26]);
6850
+ _23 = (e_15 = void 0, __values(this.fieldGroups[fg.groupKey])), _24 = _23.next();
6851
+ _30.label = 20;
6852
+ case 20:
6853
+ if (!!_24.done) return [3 /*break*/, 23];
6854
+ fieldKey = _24.value;
6855
+ resetField = getFormFieldByKey(this.formFields, fieldKey);
6856
+ actions = new kwikidToolkit.Action(action, {}, {
6857
+ FIELD_CONFIG: resetField,
6858
+ FORM_FIELDS: this.formFields,
6859
+ FORM_DATA: this.formData,
6860
+ TASK_DATA: this.taskData,
6861
+ PREVIOUS_FORM_DATA: this.previousFormData,
6862
+ ALL_FORMS_DATA: this.allFormsData,
6863
+ EXTRA_DATA: this.extraData
6864
+ }, this.takeActionOnFieldGroup.bind(this));
6865
+ return [4 /*yield*/, actions.execute()];
6866
+ case 21:
6867
+ _30.sent();
6868
+ _30.label = 22;
6869
+ case 22:
6870
+ _24 = _23.next();
6871
+ return [3 /*break*/, 20];
6872
+ case 23: return [3 /*break*/, 26];
6873
+ case 24:
6874
+ e_15_1 = _30.sent();
6875
+ e_15 = { error: e_15_1 };
6876
+ return [3 /*break*/, 26];
6877
+ case 25:
6878
+ try {
6879
+ if (_24 && !_24.done && (_29 = _23.return)) _29.call(_23);
6880
+ }
6881
+ finally { if (e_15) throw e_15.error; }
6882
+ return [7 /*endfinally*/];
6883
+ case 26:
6884
+ _22 = _21.next();
6885
+ return [3 /*break*/, 18];
6886
+ case 27: return [3 /*break*/, 30];
6887
+ case 28:
6888
+ e_16_1 = _30.sent();
6889
+ e_16 = { error: e_16_1 };
6890
+ return [3 /*break*/, 30];
6891
+ case 29:
6892
+ try {
6893
+ if (_22 && !_22.done && (_28 = _21.return)) _28.call(_21);
6894
+ }
6895
+ finally { if (e_16) throw e_16.error; }
6896
+ return [7 /*endfinally*/];
6897
+ case 30:
6898
+ _20 = _19.next();
6899
+ return [3 /*break*/, 16];
6900
+ case 31: return [3 /*break*/, 34];
6901
+ case 32:
6902
+ e_17_1 = _30.sent();
6903
+ e_17 = { error: e_17_1 };
6904
+ return [3 /*break*/, 34];
6905
+ case 33:
6906
+ try {
6907
+ if (_20 && !_20.done && (_27 = _19.return)) _27.call(_19);
6908
+ }
6909
+ finally { if (e_17) throw e_17.error; }
6910
+ return [7 /*endfinally*/];
6911
+ case 34: return [2 /*return*/];
6912
+ }
6913
+ });
6914
+ }); };
6915
+ BYPASS_RESET_CONFIRM = (_a = field === null || field === void 0 ? void 0 : field.properties) === null || _a === void 0 ? void 0 : _a.bypassResetConfirmation;
6916
+ if (!BYPASS_RESET_CONFIRM) {
6917
+ CONFIRM_RESET = window.confirm("This action will reset all the fields. Do you still want to continue?");
6918
+ if (CONFIRM_RESET) {
6919
+ resetFormFields();
6920
+ }
6921
+ }
6922
+ else {
6923
+ resetFormFields();
6924
+ }
6925
+ return [2 /*return*/];
6926
+ });
6927
+ });
6928
+ };
6670
6929
  KwikIDFormViewComponent.prototype.handleFieldApiCall = function (field, api) {
6671
6930
  return __awaiter(this, void 0, void 0, function () {
6672
6931
  var apis;
@@ -6975,8 +7234,8 @@
6975
7234
  };
6976
7235
  KwikIDFormViewComponent.prototype.handleOnClickSaveForm = function (e) {
6977
7236
  return __awaiter(this, void 0, void 0, function () {
6978
- var controls, firstFieldWithError, controls_1, controls_1_1, control, field, _15, _16, field, ruleEngine, e_13_1, formData, _17, _18, field, extendedFormData, _19, _20, postTask, task, e_14_1;
6979
- var e_15, _21, e_13, _22, e_16, _23, e_14, _24;
7237
+ var controls, firstFieldWithError, controls_1, controls_1_1, control, field, _15, _16, field, ruleEngine, e_18_1, formData, _17, _18, field, extendedFormData, _19, _20, postTask, task, e_19_1;
7238
+ var e_20, _21, e_18, _22, e_21, _23, e_19, _24;
6980
7239
  var _this = this;
6981
7240
  return __generator(this, function (_25) {
6982
7241
  switch (_25.label) {
@@ -7006,18 +7265,19 @@
7006
7265
  this.formFields = showFormFieldError(this.formFields, this.formGroup.controls[control.key].errors, control.key, control.invalid);
7007
7266
  }
7008
7267
  }
7009
- catch (e_15_1) { e_15 = { error: e_15_1 }; }
7268
+ catch (e_20_1) { e_20 = { error: e_20_1 }; }
7010
7269
  finally {
7011
7270
  try {
7012
7271
  if (controls_1_1 && !controls_1_1.done && (_21 = controls_1.return)) _21.call(controls_1);
7013
7272
  }
7014
- finally { if (e_15) throw e_15.error; }
7273
+ finally { if (e_20) throw e_20.error; }
7015
7274
  }
7016
7275
  if (kwikidToolkit.isNotEmptyValue(firstFieldWithError)) {
7017
- this.toggleErrorNotification(true);
7018
- setTimeout(function () {
7019
- _this.toggleErrorNotification(false);
7020
- }, 3000);
7276
+ this.handleOnScrollToField(firstFieldWithError);
7277
+ // this.toggleErrorNotification(true);
7278
+ // setTimeout(() => {
7279
+ // this.toggleErrorNotification(false);
7280
+ // }, 3000);
7021
7281
  return [2 /*return*/];
7022
7282
  }
7023
7283
  _25.label = 1;
@@ -7057,14 +7317,14 @@
7057
7317
  return [3 /*break*/, 2];
7058
7318
  case 5: return [3 /*break*/, 8];
7059
7319
  case 6:
7060
- e_13_1 = _25.sent();
7061
- e_13 = { error: e_13_1 };
7320
+ e_18_1 = _25.sent();
7321
+ e_18 = { error: e_18_1 };
7062
7322
  return [3 /*break*/, 8];
7063
7323
  case 7:
7064
7324
  try {
7065
7325
  if (_16 && !_16.done && (_22 = _15.return)) _22.call(_15);
7066
7326
  }
7067
- finally { if (e_13) throw e_13.error; }
7327
+ finally { if (e_18) throw e_18.error; }
7068
7328
  return [7 /*endfinally*/];
7069
7329
  case 8:
7070
7330
  formData = this.formGroup.getRawValue();
@@ -7081,12 +7341,12 @@
7081
7341
  }
7082
7342
  }
7083
7343
  }
7084
- catch (e_16_1) { e_16 = { error: e_16_1 }; }
7344
+ catch (e_21_1) { e_21 = { error: e_21_1 }; }
7085
7345
  finally {
7086
7346
  try {
7087
7347
  if (_18 && !_18.done && (_23 = _17.return)) _23.call(_17);
7088
7348
  }
7089
- finally { if (e_16) throw e_16.error; }
7349
+ finally { if (e_21) throw e_21.error; }
7090
7350
  }
7091
7351
  extendedFormData = this.formFields.reduce(function (result, field, index) {
7092
7352
  var _15;
@@ -7160,14 +7420,14 @@
7160
7420
  return [3 /*break*/, 10];
7161
7421
  case 14: return [3 /*break*/, 17];
7162
7422
  case 15:
7163
- e_14_1 = _25.sent();
7164
- e_14 = { error: e_14_1 };
7423
+ e_19_1 = _25.sent();
7424
+ e_19 = { error: e_19_1 };
7165
7425
  return [3 /*break*/, 17];
7166
7426
  case 16:
7167
7427
  try {
7168
7428
  if (_20 && !_20.done && (_24 = _19.return)) _24.call(_19);
7169
7429
  }
7170
- finally { if (e_14) throw e_14.error; }
7430
+ finally { if (e_19) throw e_19.error; }
7171
7431
  return [7 /*endfinally*/];
7172
7432
  case 17:
7173
7433
  if (this.stopTaskExecution || this.waitingForChanges) {
@@ -7201,6 +7461,16 @@
7201
7461
  });
7202
7462
  });
7203
7463
  };
7464
+ KwikIDFormViewComponent.prototype.handleOnScrollToField = function (fieldKey) {
7465
+ var targetField = this.formFieldsRef
7466
+ .toArray()
7467
+ .find(function (formFieldRef) { return formFieldRef.nativeElement.id === "field_" + fieldKey; });
7468
+ if (targetField) {
7469
+ var containerEl = this.formFieldContainerRef.nativeElement;
7470
+ var fieldEl = targetField.nativeElement;
7471
+ this.renderer.setProperty(containerEl, "scrollTop", fieldEl.offsetTop - containerEl.offsetTop);
7472
+ }
7473
+ };
7204
7474
  KwikIDFormViewComponent.prototype.toggleErrorNotification = function (show) {
7205
7475
  this.showErrorNotification = show;
7206
7476
  };
@@ -7221,19 +7491,19 @@
7221
7491
  });
7222
7492
  };
7223
7493
  KwikIDFormViewComponent.prototype.fieldGroupHide = function (fieldGroup) {
7224
- var e_17, _15;
7494
+ var e_22, _15;
7225
7495
  try {
7226
7496
  for (var _16 = __values(this.fieldGroups[fieldGroup]), _17 = _16.next(); !_17.done; _17 = _16.next()) {
7227
7497
  var fieldKey = _17.value;
7228
7498
  this.fieldHide(fieldKey);
7229
7499
  }
7230
7500
  }
7231
- catch (e_17_1) { e_17 = { error: e_17_1 }; }
7501
+ catch (e_22_1) { e_22 = { error: e_22_1 }; }
7232
7502
  finally {
7233
7503
  try {
7234
7504
  if (_17 && !_17.done && (_15 = _16.return)) _15.call(_16);
7235
7505
  }
7236
- finally { if (e_17) throw e_17.error; }
7506
+ finally { if (e_22) throw e_22.error; }
7237
7507
  }
7238
7508
  };
7239
7509
  KwikIDFormViewComponent.prototype.fieldShow = function (fieldKey) {
@@ -7249,19 +7519,19 @@
7249
7519
  });
7250
7520
  };
7251
7521
  KwikIDFormViewComponent.prototype.fieldGroupShow = function (fieldGroup) {
7252
- var e_18, _15;
7522
+ var e_23, _15;
7253
7523
  try {
7254
7524
  for (var _16 = __values(this.fieldGroups[fieldGroup]), _17 = _16.next(); !_17.done; _17 = _16.next()) {
7255
7525
  var fieldKey = _17.value;
7256
7526
  this.fieldShow(fieldKey);
7257
7527
  }
7258
7528
  }
7259
- catch (e_18_1) { e_18 = { error: e_18_1 }; }
7529
+ catch (e_23_1) { e_23 = { error: e_23_1 }; }
7260
7530
  finally {
7261
7531
  try {
7262
7532
  if (_17 && !_17.done && (_15 = _16.return)) _15.call(_16);
7263
7533
  }
7264
- finally { if (e_18) throw e_18.error; }
7534
+ finally { if (e_23) throw e_23.error; }
7265
7535
  }
7266
7536
  };
7267
7537
  KwikIDFormViewComponent.prototype.fieldDisable = function (fieldKey) {
@@ -7277,6 +7547,7 @@
7277
7547
  });
7278
7548
  }
7279
7549
  this.formGroup.updateValueAndValidity();
7550
+ console.log("YES DISABLING THE FIELD");
7280
7551
  }
7281
7552
  else if (field.type === EFieldType.BUTTON) {
7282
7553
  this.formFields[fieldIndex]["disabled"] = true;
@@ -7287,19 +7558,19 @@
7287
7558
  });
7288
7559
  };
7289
7560
  KwikIDFormViewComponent.prototype.fieldGroupDisable = function (fieldGroup) {
7290
- var e_19, _15;
7561
+ var e_24, _15;
7291
7562
  try {
7292
7563
  for (var _16 = __values(this.fieldGroups[fieldGroup]), _17 = _16.next(); !_17.done; _17 = _16.next()) {
7293
7564
  var fieldKey = _17.value;
7294
7565
  this.fieldDisable(fieldKey);
7295
7566
  }
7296
7567
  }
7297
- catch (e_19_1) { e_19 = { error: e_19_1 }; }
7568
+ catch (e_24_1) { e_24 = { error: e_24_1 }; }
7298
7569
  finally {
7299
7570
  try {
7300
7571
  if (_17 && !_17.done && (_15 = _16.return)) _15.call(_16);
7301
7572
  }
7302
- finally { if (e_19) throw e_19.error; }
7573
+ finally { if (e_24) throw e_24.error; }
7303
7574
  }
7304
7575
  };
7305
7576
  KwikIDFormViewComponent.prototype.fieldEnable = function (fieldKey) {
@@ -7325,19 +7596,19 @@
7325
7596
  });
7326
7597
  };
7327
7598
  KwikIDFormViewComponent.prototype.fieldGroupEnable = function (fieldGroup) {
7328
- var e_20, _15;
7599
+ var e_25, _15;
7329
7600
  try {
7330
7601
  for (var _16 = __values(this.fieldGroups[fieldGroup]), _17 = _16.next(); !_17.done; _17 = _16.next()) {
7331
7602
  var fieldKey = _17.value;
7332
7603
  this.fieldEnable(fieldKey);
7333
7604
  }
7334
7605
  }
7335
- catch (e_20_1) { e_20 = { error: e_20_1 }; }
7606
+ catch (e_25_1) { e_25 = { error: e_25_1 }; }
7336
7607
  finally {
7337
7608
  try {
7338
7609
  if (_17 && !_17.done && (_15 = _16.return)) _15.call(_16);
7339
7610
  }
7340
- finally { if (e_20) throw e_20.error; }
7611
+ finally { if (e_25) throw e_25.error; }
7341
7612
  }
7342
7613
  };
7343
7614
  KwikIDFormViewComponent.prototype.fieldReset = function (fieldKey) {
@@ -7384,9 +7655,11 @@
7384
7655
  this.formFields[fieldIndex] = fieldLiveLocation;
7385
7656
  break;
7386
7657
  default:
7658
+ console.log("BAIJU BEFORE", kwikidToolkit.getObjectDeepCopy(field), kwikidToolkit.getObjectDeepCopy(this.formFields));
7387
7659
  field.focus = false;
7388
7660
  field.invalid = false;
7389
7661
  this.formFields[fieldIndex] = field;
7662
+ console.log("BAIJU AFTER", kwikidToolkit.getObjectDeepCopy(field), kwikidToolkit.getObjectDeepCopy(this.formFields));
7390
7663
  break;
7391
7664
  }
7392
7665
  this.triggerLogs(ELogEventType$1.FORM__FIELD_RESET, {
@@ -7394,6 +7667,22 @@
7394
7667
  field_type: field.type
7395
7668
  });
7396
7669
  };
7670
+ KwikIDFormViewComponent.prototype.fieldGroupReset = function (fieldGroup) {
7671
+ var e_26, _15;
7672
+ try {
7673
+ for (var _16 = __values(this.fieldGroups[fieldGroup]), _17 = _16.next(); !_17.done; _17 = _16.next()) {
7674
+ var fieldKey = _17.value;
7675
+ this.fieldReset(fieldKey);
7676
+ }
7677
+ }
7678
+ catch (e_26_1) { e_26 = { error: e_26_1 }; }
7679
+ finally {
7680
+ try {
7681
+ if (_17 && !_17.done && (_15 = _16.return)) _15.call(_16);
7682
+ }
7683
+ finally { if (e_26) throw e_26.error; }
7684
+ }
7685
+ };
7397
7686
  KwikIDFormViewComponent.prototype.fieldHideApiLoader = function (fieldKey) {
7398
7687
  var field = getFormFieldByKey(this.formFields, fieldKey);
7399
7688
  var fieldIndex = this.formFields.findIndex(function (_) {
@@ -7508,7 +7797,7 @@
7508
7797
  });
7509
7798
  field = setApiTimerMessage(field, timer);
7510
7799
  this.formFields[fieldIndex] = field;
7511
- this.cd.detectChanges();
7800
+ this.cdRef.detectChanges();
7512
7801
  this.triggerLogs(ELogEventType$1.FORM__FIELD_API_TIMER_MESSAGE_SHOW, {
7513
7802
  field_key: fieldKey,
7514
7803
  field_type: field.type,
@@ -7558,7 +7847,7 @@
7558
7847
  }, "ON_API_TIMER_STOP");
7559
7848
  }
7560
7849
  this.formFields[fieldIndex] = field;
7561
- this.cd.detectChanges();
7850
+ this.cdRef.detectChanges();
7562
7851
  this.triggerLogs(ELogEventType$1.FORM__FIELD_API_TIMER_MESSAGE_HIDE, {
7563
7852
  field_key: fieldKey,
7564
7853
  field_type: field.type
@@ -8179,6 +8468,9 @@
8179
8468
  case EActionKey.FIELD_GROUP_DISABLE:
8180
8469
  this.fieldGroupDisable(action.props.groupKey);
8181
8470
  break;
8471
+ case EActionKey.FIELD_GROUP_RESET:
8472
+ this.fieldGroupReset(action.props.groupKey);
8473
+ break;
8182
8474
  case EActionKey.FIELD_GROUP_SHOW_API_LOADER:
8183
8475
  this.fieldGroupDisable(action.props.groupKey);
8184
8476
  break;
@@ -8235,38 +8527,39 @@
8235
8527
  case EActionKey.PREVIEW_ERROR_SHOW: return [3 /*break*/, 55];
8236
8528
  case EActionKey.POPUP_FORM_SHOW: return [3 /*break*/, 58];
8237
8529
  case EActionKey.STOP_WAITING: return [3 /*break*/, 59];
8238
- case EActionKey.NOTIFICATION_ERROR_SHOW: return [3 /*break*/, 60];
8239
- case EActionKey.NOTIFICATION_ERROR_HIDE: return [3 /*break*/, 61];
8240
- case EActionKey.RESUME_TASK_EXECUTION: return [3 /*break*/, 62];
8241
- case EActionKey.STOP_TASK_EXECUTION: return [3 /*break*/, 63];
8242
- case EActionKey.DIALOG_SHOW: return [3 /*break*/, 64];
8243
- case EActionKey.DIALOG_HIDE: return [3 /*break*/, 65];
8244
- case EActionKey.SAVE_FORM: return [3 /*break*/, 66];
8245
- case EActionKey.ALERT_SHOW: return [3 /*break*/, 67];
8246
- case EActionKey.SET_HTML: return [3 /*break*/, 68];
8247
- }
8248
- return [3 /*break*/, 71];
8530
+ case EActionKey.SCROLL_TO_FIELD: return [3 /*break*/, 60];
8531
+ case EActionKey.NOTIFICATION_ERROR_SHOW: return [3 /*break*/, 61];
8532
+ case EActionKey.NOTIFICATION_ERROR_HIDE: return [3 /*break*/, 62];
8533
+ case EActionKey.RESUME_TASK_EXECUTION: return [3 /*break*/, 63];
8534
+ case EActionKey.STOP_TASK_EXECUTION: return [3 /*break*/, 64];
8535
+ case EActionKey.DIALOG_SHOW: return [3 /*break*/, 65];
8536
+ case EActionKey.DIALOG_HIDE: return [3 /*break*/, 66];
8537
+ case EActionKey.SAVE_FORM: return [3 /*break*/, 67];
8538
+ case EActionKey.ALERT_SHOW: return [3 /*break*/, 68];
8539
+ case EActionKey.SET_HTML: return [3 /*break*/, 69];
8540
+ }
8541
+ return [3 /*break*/, 72];
8249
8542
  case 1:
8250
8543
  this.fieldHide(action.props.fieldKey);
8251
- return [3 /*break*/, 72];
8544
+ return [3 /*break*/, 73];
8252
8545
  case 2:
8253
8546
  this.fieldShow(action.props.fieldKey);
8254
- return [3 /*break*/, 72];
8547
+ return [3 /*break*/, 73];
8255
8548
  case 3:
8256
8549
  this.fieldDisable(action.props.fieldKey);
8257
- return [3 /*break*/, 72];
8550
+ return [3 /*break*/, 73];
8258
8551
  case 4:
8259
8552
  this.fieldEnable(action.props.fieldKey);
8260
- return [3 /*break*/, 72];
8553
+ return [3 /*break*/, 73];
8261
8554
  case 5:
8262
8555
  this.fieldEnable(action.props.fieldKey);
8263
- return [3 /*break*/, 72];
8556
+ return [3 /*break*/, 73];
8264
8557
  case 6:
8265
8558
  this.fieldEnable(action.props.fieldKey);
8266
- return [3 /*break*/, 72];
8559
+ return [3 /*break*/, 73];
8267
8560
  case 7:
8268
8561
  this.fieldReset(action.props.fieldKey);
8269
- return [3 /*break*/, 72];
8562
+ return [3 /*break*/, 73];
8270
8563
  case 8:
8271
8564
  if (!kwikidToolkit.checkObjectKeyExists(action.props.message, "source")) return [3 /*break*/, 10];
8272
8565
  fieldErrorShow_Source = new kwikidToolkit.Source(object);
@@ -8285,7 +8578,7 @@
8285
8578
  case 10:
8286
8579
  action.props.message.message = updateLanguage(action.props.message.message, getLanguage());
8287
8580
  this.fieldErrorShow(action.props.fieldKey, action.props.message);
8288
- return [3 /*break*/, 72];
8581
+ return [3 /*break*/, 73];
8289
8582
  case 11:
8290
8583
  if (!kwikidToolkit.checkObjectKeyExists(action.props.message, "source")) return [3 /*break*/, 13];
8291
8584
  fieldErrorHide_Source = new kwikidToolkit.Source(object);
@@ -8303,84 +8596,84 @@
8303
8596
  _16.label = 13;
8304
8597
  case 13:
8305
8598
  this.fieldErrorHide(action.props.fieldKey, action.props.message);
8306
- return [3 /*break*/, 72];
8599
+ return [3 /*break*/, 73];
8307
8600
  case 14:
8308
8601
  this.fieldMessageShow(action.props.fieldKey, action.props.message);
8309
- return [3 /*break*/, 72];
8602
+ return [3 /*break*/, 73];
8310
8603
  case 15:
8311
8604
  this.fieldMessageHide(action.props.fieldKey, action.props.message);
8312
- return [3 /*break*/, 72];
8605
+ return [3 /*break*/, 73];
8313
8606
  case 16: return [4 /*yield*/, this.fieldApiTimerMessageShow(action.props.fieldKey, action.props.timer)];
8314
8607
  case 17:
8315
8608
  _16.sent();
8316
- return [3 /*break*/, 72];
8609
+ return [3 /*break*/, 73];
8317
8610
  case 18: return [4 /*yield*/, this.fieldApiTimerMessageHide(action.props.fieldKey)];
8318
8611
  case 19:
8319
8612
  _16.sent();
8320
- return [3 /*break*/, 72];
8613
+ return [3 /*break*/, 73];
8321
8614
  case 20: return [4 /*yield*/, this.setValue(action, object)];
8322
8615
  case 21:
8323
8616
  _16.sent();
8324
- return [3 /*break*/, 72];
8617
+ return [3 /*break*/, 73];
8325
8618
  case 22: return [4 /*yield*/, this.setFieldDefaultValue(action, object)];
8326
8619
  case 23:
8327
8620
  _16.sent();
8328
- return [3 /*break*/, 72];
8621
+ return [3 /*break*/, 73];
8329
8622
  case 24: return [4 /*yield*/, this.setApiStatus(action, object)];
8330
8623
  case 25:
8331
8624
  _16.sent();
8332
- return [3 /*break*/, 72];
8625
+ return [3 /*break*/, 73];
8333
8626
  case 26: return [4 /*yield*/, this.setApiHeaderValue(action, object)];
8334
8627
  case 27:
8335
8628
  _16.sent();
8336
- return [3 /*break*/, 72];
8629
+ return [3 /*break*/, 73];
8337
8630
  case 28: return [4 /*yield*/, this.setApiHeaderValidity(action, object)];
8338
8631
  case 29:
8339
8632
  _16.sent();
8340
- return [3 /*break*/, 72];
8633
+ return [3 /*break*/, 73];
8341
8634
  case 30: return [4 /*yield*/, this.setApiBodyValue(action, object)];
8342
8635
  case 31:
8343
8636
  _16.sent();
8344
- return [3 /*break*/, 72];
8637
+ return [3 /*break*/, 73];
8345
8638
  case 32: return [4 /*yield*/, this.setApiBodyValidity(action, object)];
8346
8639
  case 33:
8347
8640
  _16.sent();
8348
- return [3 /*break*/, 72];
8641
+ return [3 /*break*/, 73];
8349
8642
  case 34: return [4 /*yield*/, this.setDropdownOptions(action, object)];
8350
8643
  case 35:
8351
8644
  _16.sent();
8352
- return [3 /*break*/, 72];
8645
+ return [3 /*break*/, 73];
8353
8646
  case 36: return [4 /*yield*/, this.setFieldValidity(action, object)];
8354
8647
  case 37:
8355
8648
  _16.sent();
8356
- return [3 /*break*/, 72];
8649
+ return [3 /*break*/, 73];
8357
8650
  case 38:
8358
8651
  this.handleConnectedElements({ key: action.props.fieldKey }, "ON_ACTION");
8359
- return [3 /*break*/, 72];
8652
+ return [3 /*break*/, 73];
8360
8653
  case 39: return [4 /*yield*/, this.fieldApiCall(action, object)];
8361
8654
  case 40:
8362
8655
  _16.sent();
8363
- return [3 /*break*/, 72];
8656
+ return [3 /*break*/, 73];
8364
8657
  case 41: return [4 /*yield*/, this.fieldMultipleApiCalls(action, object)];
8365
8658
  case 42:
8366
8659
  _16.sent();
8367
- return [3 /*break*/, 72];
8660
+ return [3 /*break*/, 73];
8368
8661
  case 43: return [4 /*yield*/, this.fieldMultipleApiCallsEnd(action, object)];
8369
8662
  case 44:
8370
8663
  _16.sent();
8371
- return [3 /*break*/, 72];
8664
+ return [3 /*break*/, 73];
8372
8665
  case 45: return [4 /*yield*/, this.taskApiCall(action, object)];
8373
8666
  case 46:
8374
8667
  _16.sent();
8375
- return [3 /*break*/, 72];
8668
+ return [3 /*break*/, 73];
8376
8669
  case 47: return [4 /*yield*/, this.taskMultipleApiCalls(action, object)];
8377
8670
  case 48:
8378
8671
  _16.sent();
8379
- return [3 /*break*/, 72];
8672
+ return [3 /*break*/, 73];
8380
8673
  case 49: return [4 /*yield*/, this.taskMultipleApiCallsEnd(action, object)];
8381
8674
  case 50:
8382
8675
  _16.sent();
8383
- return [3 /*break*/, 72];
8676
+ return [3 /*break*/, 73];
8384
8677
  case 51:
8385
8678
  if (!kwikidToolkit.checkObjectKeyExists(action.props.url, "source")) return [3 /*break*/, 53];
8386
8679
  redirectToUrl_Source = new kwikidToolkit.Source(object);
@@ -8397,7 +8690,7 @@
8397
8690
  _16.label = 54;
8398
8691
  case 54:
8399
8692
  this.showPreview(action.props);
8400
- return [3 /*break*/, 72];
8693
+ return [3 /*break*/, 73];
8401
8694
  case 55:
8402
8695
  if (!kwikidToolkit.checkObjectKeyExists(action.props.message, "source")) return [3 /*break*/, 57];
8403
8696
  previewErrorShow_Source = new kwikidToolkit.Source(object);
@@ -8415,47 +8708,50 @@
8415
8708
  _16.label = 57;
8416
8709
  case 57:
8417
8710
  this.showErrorPreview(action.props);
8418
- return [3 /*break*/, 72];
8711
+ return [3 /*break*/, 73];
8419
8712
  case 58:
8420
8713
  this.showPopupForm(action.props.popupFormKey, (_b = (_a = action.props) === null || _a === void 0 ? void 0 : _a.popupType) !== null && _b !== void 0 ? _b : "DIALOG");
8421
- return [3 /*break*/, 72];
8714
+ return [3 /*break*/, 73];
8422
8715
  case 59:
8423
8716
  this.waitingForChanges = false;
8424
- return [3 /*break*/, 72];
8717
+ return [3 /*break*/, 73];
8425
8718
  case 60:
8426
- this.toggleErrorNotification(true);
8427
- return [3 /*break*/, 72];
8719
+ this.handleOnScrollToField(action.props.fieldKey);
8720
+ return [3 /*break*/, 73];
8428
8721
  case 61:
8429
- this.toggleErrorNotification(false);
8430
- return [3 /*break*/, 72];
8722
+ this.toggleErrorNotification(true);
8723
+ return [3 /*break*/, 73];
8431
8724
  case 62:
8432
- this.stopTaskExecution = false;
8433
- return [3 /*break*/, 72];
8725
+ this.toggleErrorNotification(false);
8726
+ return [3 /*break*/, 73];
8434
8727
  case 63:
8435
- this.stopTaskExecution = true;
8436
- return [3 /*break*/, 72];
8728
+ this.stopTaskExecution = false;
8729
+ return [3 /*break*/, 73];
8437
8730
  case 64:
8731
+ this.stopTaskExecution = true;
8732
+ return [3 /*break*/, 73];
8733
+ case 65:
8438
8734
  this.dialogShow({
8439
8735
  html: (_c = action.props) === null || _c === void 0 ? void 0 : _c.html,
8440
8736
  label: (_d = action.props) === null || _d === void 0 ? void 0 : _d.label,
8441
8737
  size: (_e = action.props) === null || _e === void 0 ? void 0 : _e.size,
8442
8738
  button: (_f = action.props) === null || _f === void 0 ? void 0 : _f.button
8443
8739
  });
8444
- return [3 /*break*/, 72];
8445
- case 65:
8446
- this.dialogHide();
8447
- return [3 /*break*/, 72];
8740
+ return [3 /*break*/, 73];
8448
8741
  case 66:
8449
- this.handleOnClickSaveForm(undefined);
8450
- return [3 /*break*/, 72];
8742
+ this.dialogHide();
8743
+ return [3 /*break*/, 73];
8451
8744
  case 67:
8452
- this.alertShow(action.props.type, action.props.message);
8453
- return [3 /*break*/, 72];
8745
+ this.handleOnClickSaveForm(undefined);
8746
+ return [3 /*break*/, 73];
8454
8747
  case 68:
8455
- if (!kwikidToolkit.checkObjectKeyExists(action.props.message, "source")) return [3 /*break*/, 70];
8748
+ this.alertShow(action.props.type, action.props.message);
8749
+ return [3 /*break*/, 73];
8750
+ case 69:
8751
+ if (!kwikidToolkit.checkObjectKeyExists(action.props.message, "source")) return [3 /*break*/, 71];
8456
8752
  fieldHtmlMessage_Source = new kwikidToolkit.Source(object);
8457
8753
  return [4 /*yield*/, fieldHtmlMessage_Source.getValueFromSource(action.props.message.source)];
8458
- case 69:
8754
+ case 70:
8459
8755
  fieldHtmlMessageSourceValue = _16.sent();
8460
8756
  if (typeof fieldHtmlMessageSourceValue == "string" ||
8461
8757
  typeof fieldHtmlMessageSourceValue == "number") {
@@ -8465,30 +8761,27 @@
8465
8761
  fieldHtmlMessageSourceValue = "";
8466
8762
  }
8467
8763
  action = kwikidToolkit.setValueToObjectPath(action, "props.message.message", fieldHtmlMessageSourceValue);
8468
- _16.label = 70;
8469
- case 70:
8764
+ _16.label = 71;
8765
+ case 71:
8470
8766
  action.props.message.message = updateLanguage(action.props.message.message, getLanguage());
8471
8767
  this.setHtml(action.props.fieldKey, action.props.message);
8472
- return [3 /*break*/, 72];
8473
- case 71: return [3 /*break*/, 72];
8474
- case 72: return [2 /*return*/];
8768
+ return [3 /*break*/, 73];
8769
+ case 72: return [3 /*break*/, 73];
8770
+ case 73: return [2 /*return*/];
8475
8771
  }
8476
8772
  });
8477
8773
  });
8478
8774
  };
8479
8775
  return KwikIDFormViewComponent;
8480
8776
  }());
8481
- /** @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 });
8482
- /** @nocollapse */ KwikIDFormViewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: { allFormsData: "allFormsData", extraData: "extraData", 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", onClickViewFile: "onClickViewFile", 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 <!-- Input Currency -->\n <ng-container *ngSwitchCase=\"'currency'\">\n <div\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-currency\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [currencyType]=\"field?.properties?.currencyType\"\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 [value]=\"formGroup.controls[field.key].value\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-currency>\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 [showViewButton]=\"field?.properties?.showViewButton\"\n (getKeyValue)=\"handleGetKeyValueFile($event)\"\n (getRemovedFile)=\"handleRemovedFile($event)\"\n (getViewButtonClick)=\"handleViewButtonClick($event, field)\"\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", "pseudoHover"], 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.KwikUIInputCurrencyComponent, selector: "kwikui-input-currency", inputs: ["currencyType", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "validators", "value"], 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", "variant", "showViewButton"], outputs: ["getKeyValue", "getRemovedFile", "getViewButtonClick"] }, { 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 } });
8777
+ /** @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 }, { token: i0__namespace.Renderer2 }], target: i0__namespace.ɵɵFactoryTarget.Component });
8778
+ /** @nocollapse */ KwikIDFormViewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: { allFormsData: "allFormsData", extraData: "extraData", 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", onClickViewFile: "onClickViewFile", onClickFormFieldButton: "onClickFormFieldButton", onClickGoBack: "onClickGoBack", onClickSaveForm: "onClickSaveForm", onClickViewForms: "onClickViewForms" }, providers: [KwikIDFormViewService, KwikIDFormViewApiService], viewQueries: [{ propertyName: "formFieldContainerRef", first: true, predicate: ["formFieldContainerRef"], descendants: true }, { propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }, { propertyName: "preview", first: true, predicate: ["preview"], descendants: true }, { propertyName: "formFieldsRef", predicate: ["formFieldsRef"], 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 #formFieldContainerRef\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 #formFieldsRef\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 #formFieldsRef\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 #formFieldsRef\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 #formFieldsRef\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 <!-- Input Currency -->\n <ng-container *ngSwitchCase=\"'currency'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-currency\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [currencyType]=\"field?.properties?.currencyType\"\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 [value]=\"formGroup.controls[field.key].value\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-currency>\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 #formFieldsRef\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 #formFieldsRef\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 #formFieldsRef\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 #formFieldsRef\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 #formFieldsRef\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 #formFieldsRef\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 #formFieldsRef\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 #formFieldsRef\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 #formFieldsRef\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 #formFieldsRef\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 #formFieldsRef\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 #formFieldsRef\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]=\"\n field?.properties?.styles\n ? field?.properties?.styles\n : 'width: fit-content'\n \"\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 #formFieldsRef\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 #formFieldsRef\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 #formFieldsRef\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 #formFieldsRef\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]=\"formGroup.controls[field.key].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 #formFieldsRef\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 [showViewButton]=\"field?.properties?.showViewButton\"\n (getKeyValue)=\"handleGetKeyValueFile($event)\"\n (getRemovedFile)=\"handleRemovedFile($event)\"\n (getViewButtonClick)=\"handleViewButtonClick($event, field)\"\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 #formFieldsRef\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 #formFieldsRef\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 #formFieldsRef\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;scroll-behavior:smooth}.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", "pseudoHover"], 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.KwikUIInputCurrencyComponent, selector: "kwikui-input-currency", inputs: ["currencyType", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "validators", "value"], 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", "variant", "showViewButton"], outputs: ["getKeyValue", "getRemovedFile", "getViewButtonClick"] }, { 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 } });
8483
8779
  __decorate([
8484
8780
  kwikidToolkit.logMethod
8485
8781
  ], KwikIDFormViewComponent.prototype, "resetCamera", null);
8486
8782
  __decorate([
8487
8783
  kwikidToolkit.logMethod
8488
8784
  ], KwikIDFormViewComponent.prototype, "ngOnInit", null);
8489
- __decorate([
8490
- kwikidToolkit.logMethod
8491
- ], KwikIDFormViewComponent.prototype, "ngAfterViewInit", null);
8492
8785
  __decorate([
8493
8786
  kwikidToolkit.logMethod
8494
8787
  ], KwikIDFormViewComponent.prototype, "ngOnChanges", null);
@@ -8573,6 +8866,9 @@
8573
8866
  __decorate([
8574
8867
  kwikidToolkit.logMethod
8575
8868
  ], KwikIDFormViewComponent.prototype, "handleGetKeyValue", null);
8869
+ __decorate([
8870
+ kwikidToolkit.logMethod
8871
+ ], KwikIDFormViewComponent.prototype, "handleOnClickResetFormFields2", null);
8576
8872
  __decorate([
8577
8873
  kwikidToolkit.logMethod
8578
8874
  ], KwikIDFormViewComponent.prototype, "handleOnClickResetFormFields", null);
@@ -8603,6 +8899,9 @@
8603
8899
  __decorate([
8604
8900
  kwikidToolkit.logMethod
8605
8901
  ], KwikIDFormViewComponent.prototype, "handleOnApiTimerStop", null);
8902
+ __decorate([
8903
+ kwikidToolkit.logMethod
8904
+ ], KwikIDFormViewComponent.prototype, "handleOnScrollToField", null);
8606
8905
  __decorate([
8607
8906
  kwikidToolkit.logMethod
8608
8907
  ], KwikIDFormViewComponent.prototype, "toggleErrorNotification", null);
@@ -8636,6 +8935,9 @@
8636
8935
  __decorate([
8637
8936
  kwikidToolkit.logMethod
8638
8937
  ], KwikIDFormViewComponent.prototype, "fieldReset", null);
8938
+ __decorate([
8939
+ kwikidToolkit.logMethod
8940
+ ], KwikIDFormViewComponent.prototype, "fieldGroupReset", null);
8639
8941
  __decorate([
8640
8942
  kwikidToolkit.logMethod
8641
8943
  ], KwikIDFormViewComponent.prototype, "fieldHideApiLoader", null);
@@ -8771,8 +9073,14 @@
8771
9073
  }] }, { type: i5__namespace.TuiDialogService, decorators: [{
8772
9074
  type: i0.Inject,
8773
9075
  args: [i5.TuiDialogService]
8774
- }] }, { type: i3__namespace.KwikUILoaderService }, { type: i4__namespace.KwikIDCameraRecordService }, { type: i0__namespace.ChangeDetectorRef }];
8775
- }, propDecorators: { dialog: [{
9076
+ }] }, { type: i3__namespace.KwikUILoaderService }, { type: i4__namespace.KwikIDCameraRecordService }, { type: i0__namespace.ChangeDetectorRef }, { type: i0__namespace.Renderer2 }];
9077
+ }, propDecorators: { formFieldContainerRef: [{
9078
+ type: i0.ViewChild,
9079
+ args: ["formFieldContainerRef"]
9080
+ }], formFieldsRef: [{
9081
+ type: i0.ViewChildren,
9082
+ args: ["formFieldsRef"]
9083
+ }], dialog: [{
8776
9084
  type: i0.ViewChild,
8777
9085
  args: ["dialog"]
8778
9086
  }], preview: [{
@@ -8816,7 +9124,7 @@
8816
9124
  type: i0.Output
8817
9125
  }], onClickViewForms: [{
8818
9126
  type: i0.Output
8819
- }], resetCamera: [], ngOnInit: [], ngAfterViewInit: [], ngOnChanges: [], ngOnDestroy: [], triggerLogs: [], initFormConfig: [], setFormFieldsFromFormConfig: [], setFormFieldGroupsFromFormConfig: [], setFormDataFromAllFormsData: [], handleConnectedElementFieldGroupActions: [], handleConnectedElementFieldGroup: [], handleConnectedElementFieldActions: [], handleConnectedElementFields: [], handleConnectedElements: [], handleRemovedFile: [], handleViewButtonClick: [], 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: [] } });
9127
+ }], resetCamera: [], ngOnInit: [], ngOnChanges: [], ngOnDestroy: [], triggerLogs: [], initFormConfig: [], setFormFieldsFromFormConfig: [], setFormFieldGroupsFromFormConfig: [], setFormDataFromAllFormsData: [], handleConnectedElementFieldGroupActions: [], handleConnectedElementFieldGroup: [], handleConnectedElementFieldActions: [], handleConnectedElementFields: [], handleConnectedElements: [], handleRemovedFile: [], handleViewButtonClick: [], handleGetKeyValueFile: [], handleOnClickGetRemovedMediaFile: [], handleOnClickInputCamera: [], setCameraMedia: [], handleGetCameraMedia: [], handleOnClickSaveCameraMedia: [], handleOnClickCameraBack: [], handleOnClickCameraClose: [], updateFiles: [], uploadFile: [], handleOnClickFormFieldButton: [], handleOnLocationPermission: [], handleOnClickLiveLocation: [], handleGetKeyValue: [], handleOnClickResetFormFields2: [], handleOnClickResetFormFields: [], handleFieldApiCall: [], handleApiCall: [], executeApiCall: [], isValidRequestHeadersAndBody: [], handleOnClickApiCall: [], handleOnClickGoBack: [], handleOnClickViewForms: [], handleOnClickSaveForm: [], handleOnApiTimerStop: [], handleOnScrollToField: [], toggleErrorNotification: [], togglePermissionErrorNotification: [], fieldHide: [], fieldGroupHide: [], fieldShow: [], fieldGroupShow: [], fieldDisable: [], fieldGroupDisable: [], fieldEnable: [], fieldGroupEnable: [], fieldReset: [], fieldGroupReset: [], 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: [] } });
8820
9128
 
8821
9129
  var EFormType;
8822
9130
  (function (EFormType) {
@@ -9843,7 +10151,7 @@
9843
10151
  formConfig = new Converter().updateFormConfigMiscellaneous(formConfig, {
9844
10152
  formsListLength: this.findFormsListLength(this.formsList)
9845
10153
  });
9846
- this.activeFormConfig = kwikidToolkit.mergeObjects(activeFormConfig, formConfig);
10154
+ this.activeFormConfig = kwikidToolkit.mergeObjects({}, activeFormConfig, formConfig);
9847
10155
  switch (triggerType) {
9848
10156
  case "BUTTON_CLICK":
9849
10157
  this.triggerLogs(ELogEventType.FORM__FORM_OPEN_BUTTON_CLICK, {