kwikid-forms 0.6.41 → 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.
@@ -342,9 +342,13 @@
342
342
  if (!Symbol.asyncIterator)
343
343
  throw new TypeError("Symbol.asyncIterator is not defined.");
344
344
  var g = generator.apply(thisArg, _arguments || []), i, q = [];
345
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
346
- function verb(n) { if (g[n])
347
- i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
345
+ return i = {}, verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
346
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
347
+ function verb(n, f) { if (g[n]) {
348
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); };
349
+ if (f)
350
+ i[n] = f(i[n]);
351
+ } }
348
352
  function resume(n, v) { try {
349
353
  step(g[n](v));
350
354
  }
@@ -424,7 +428,7 @@
424
428
  if (value !== null && value !== void 0) {
425
429
  if (typeof value !== "object" && typeof value !== "function")
426
430
  throw new TypeError("Object expected.");
427
- var dispose;
431
+ var dispose, inner;
428
432
  if (async) {
429
433
  if (!Symbol.asyncDispose)
430
434
  throw new TypeError("Symbol.asyncDispose is not defined.");
@@ -434,9 +438,18 @@
434
438
  if (!Symbol.dispose)
435
439
  throw new TypeError("Symbol.dispose is not defined.");
436
440
  dispose = value[Symbol.dispose];
441
+ if (async)
442
+ inner = dispose;
437
443
  }
438
444
  if (typeof dispose !== "function")
439
445
  throw new TypeError("Object not disposable.");
446
+ if (inner)
447
+ dispose = function () { try {
448
+ inner.call(this);
449
+ }
450
+ catch (e) {
451
+ return Promise.reject(e);
452
+ } };
440
453
  env.stack.push({ value: value, dispose: dispose, async: async });
441
454
  }
442
455
  else if (async) {
@@ -1016,9 +1029,14 @@
1016
1029
  });
1017
1030
  };
1018
1031
  var removeFormFieldMessage = function (field, message) {
1019
- field["messages"] = field["messages"].filter(function (fieldMessage) {
1020
- return fieldMessage.type !== message.type;
1021
- });
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
+ }
1022
1040
  return field;
1023
1041
  };
1024
1042
  var setApiTimerMessage = function (field, timer) {
@@ -1914,44 +1932,36 @@
1914
1932
  else if (kwikidToolkit.checkObjectPathExists(field, "default.value.sources")) {
1915
1933
  return field;
1916
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
+ }
1917
1943
  else if (!kwikidToolkit.checkObjectPathExists(field, "default.value.sources")) {
1918
1944
  var defaultValue = {
1919
- is_found: false,
1920
1945
  value: "",
1921
- sources: [
1946
+ triggers: ["ON_INIT"],
1947
+ rules: [],
1948
+ actions: [
1922
1949
  {
1923
- key: "OBJECT",
1950
+ id: "1",
1951
+ key: "SET_FIELD_DEFAULT_VALUE",
1952
+ condition: "true",
1924
1953
  props: {
1925
- object: {
1926
- key: "FORM_DATA",
1927
- path: "$." + field.key
1928
- }
1929
- },
1930
- value: "",
1931
- validation: {
1932
- is_valid: false,
1933
- triggers: ["ON_INIT"],
1934
- rules: [],
1935
- actions: [
1936
- {
1937
- id: "1",
1938
- key: "SET_FIELD_DEFAULT_VALUE",
1939
- condition: "1",
1954
+ value: {
1955
+ source: {
1956
+ key: "OBJECT",
1940
1957
  props: {
1941
- value: {
1942
- source: {
1943
- key: "OBJECT",
1944
- props: {
1945
- object: {
1946
- key: "FORM_DATA",
1947
- path: "$." + field.key
1948
- }
1949
- }
1950
- }
1958
+ object: {
1959
+ key: "FORM_DATA",
1960
+ path: "$." + field.key
1951
1961
  }
1952
1962
  }
1953
1963
  }
1954
- ]
1964
+ }
1955
1965
  }
1956
1966
  }
1957
1967
  ]
@@ -1999,13 +2009,33 @@
1999
2009
  formConfig["fieldGroups"] = groups;
2000
2010
  return formConfig;
2001
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
+ };
2002
2019
  var updateFormFieldGroups = function (fieldGroups, field) {
2020
+ var e_2, _f;
2003
2021
  if (kwikidToolkit.checkObjectKeyExists(field, "groupKey")) {
2004
- if (kwikidToolkit.checkObjectKeyExists(fieldGroups, field.groupKey)) {
2005
- 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
+ }
2006
2032
  }
2007
- else {
2008
- 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; }
2009
2039
  }
2010
2040
  }
2011
2041
  return fieldGroups;
@@ -2094,6 +2124,7 @@
2094
2124
  field = updateFieldLanguage(field, getLanguage());
2095
2125
  field = formatOnFieldType(field);
2096
2126
  field = updateFieldDisability(field);
2127
+ field = updateFieldGroupKey(field);
2097
2128
  fieldGroups = updateFormFieldGroups(fieldGroups, field);
2098
2129
  field = updateFieldDefaultValue(field);
2099
2130
  field = updateFieldValidators(field);
@@ -3141,10 +3172,12 @@
3141
3172
  EActionKey["FIELD_HIDE_API_LOADER"] = "FIELD_HIDE_API_LOADER";
3142
3173
  EActionKey["HANDLE_CONNECTED_ELEMENTS"] = "HANDLE_CONNECTED_ELEMENTS";
3143
3174
  EActionKey["CUSTOM"] = "CUSTOM";
3175
+ EActionKey["SCROLL_TO_FIELD"] = "SCROLL_TO_FIELD";
3144
3176
  EActionKey["FIELD_GROUP_SHOW"] = "FIELD_GROUP_SHOW";
3145
3177
  EActionKey["FIELD_GROUP_HIDE"] = "FIELD_GROUP_HIDE";
3146
3178
  EActionKey["FIELD_GROUP_ENABLE"] = "FIELD_GROUP_ENABLE";
3147
3179
  EActionKey["FIELD_GROUP_DISABLE"] = "FIELD_GROUP_DISABLE";
3180
+ EActionKey["FIELD_GROUP_RESET"] = "FIELD_GROUP_RESET";
3148
3181
  EActionKey["SET_DROPDOWN_OPTIONS"] = "SET_DROPDOWN_OPTIONS";
3149
3182
  EActionKey["API_CALL"] = "API_CALL";
3150
3183
  EActionKey["API_CALL_MULTIPLE"] = "API_CALL_MULTIPLE";
@@ -3543,37 +3576,103 @@
3543
3576
  ], KwikIDFormViewApiService.prototype, "get", null);
3544
3577
 
3545
3578
  var Defaults = /** @class */ (function () {
3546
- function Defaults(field, formFields, allFormsData, formData, previousFormData, takeAction) {
3579
+ function Defaults(field, formFields, allFormsData, formData, previousFormData, extraData, takeAction) {
3547
3580
  this._field = field;
3548
3581
  this._formFields = formFields;
3549
3582
  this._allFormsData = allFormsData;
3550
3583
  this._formData = formData;
3551
3584
  this._previousFormData = previousFormData;
3585
+ this._extraData = extraData;
3552
3586
  this._takeAction = takeAction;
3553
3587
  }
3554
3588
  Defaults.prototype.getFormFieldValue = function () {
3555
3589
  return __awaiter(this, void 0, void 0, function () {
3556
- 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;
3557
- var e_2, _a, e_1, _b;
3558
- return __generator(this, function (_c) {
3559
- 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) {
3560
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:
3561
3659
  sources = this._field.default.value.sources;
3562
3660
  sourceIndex = 0;
3563
- _c.label = 1;
3564
- case 1:
3565
- _c.trys.push([1, 13, 14, 15]);
3661
+ _d.label = 11;
3662
+ case 11:
3663
+ _d.trys.push([11, 23, 24, 25]);
3566
3664
  sources_1 = __values(sources), sources_1_1 = sources_1.next();
3567
- _c.label = 2;
3568
- case 2:
3569
- 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];
3570
3668
  source = sources_1_1.value;
3571
3669
  sources_2 = new kwikidToolkit.Source({
3572
3670
  FIELD_CONFIG: this._field,
3573
3671
  FORM_FIELDS: this._formFields,
3574
3672
  FORM_DATA: this._formData,
3575
3673
  PREVIOUS_FORM_DATA: this._previousFormData,
3576
- ALL_FORMS_DATA: this._allFormsData
3674
+ ALL_FORMS_DATA: this._allFormsData,
3675
+ EXTRA_DATA: this._extraData
3577
3676
  });
3578
3677
  value = sources_2.getValueFromSource(source);
3579
3678
  // Set the Value of current source.
@@ -3587,74 +3686,77 @@
3587
3686
  FORM_FIELDS: this._formFields,
3588
3687
  FORM_DATA: this._formData,
3589
3688
  PREVIOUS_FORM_DATA: this._previousFormData,
3590
- ALL_FORMS_DATA: this._allFormsData
3689
+ ALL_FORMS_DATA: this._allFormsData,
3690
+ EXTRA_DATA: this._extraData
3591
3691
  }).mapping();
3592
- _c.label = 3;
3593
- case 3:
3594
- _c.trys.push([3, 8, 9, 10]);
3595
- actions_1 = (e_1 = void 0, __values(actions)), actions_1_1 = actions_1.next();
3596
- _c.label = 4;
3597
- case 4:
3598
- if (!!actions_1_1.done) return [3 /*break*/, 7];
3599
- 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;
3600
3700
  conditionEvaluation = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
3601
- if (!conditionEvaluation) return [3 /*break*/, 6];
3602
- actions_2 = new kwikidToolkit.Action(action, rulesMapping, {
3701
+ if (!conditionEvaluation) return [3 /*break*/, 16];
3702
+ actions_4 = new kwikidToolkit.Action(action, rulesMapping, {
3603
3703
  FIELD_CONFIG: this._field,
3604
3704
  FORM_FIELDS: this._formFields,
3605
3705
  FORM_DATA: this._formData,
3606
3706
  PREVIOUS_FORM_DATA: this._previousFormData,
3607
- ALL_FORMS_DATA: this._allFormsData
3707
+ ALL_FORMS_DATA: this._allFormsData,
3708
+ EXTRA_DATA: this._extraData
3608
3709
  }, this._takeAction);
3609
- return [4 /*yield*/, actions_2.execute()];
3610
- case 5:
3611
- _c.sent();
3612
- _c.label = 6;
3613
- case 6:
3614
- actions_1_1 = actions_1.next();
3615
- return [3 /*break*/, 4];
3616
- case 7: return [3 /*break*/, 10];
3617
- case 8:
3618
- e_1_1 = _c.sent();
3619
- e_1 = { error: e_1_1 };
3620
- return [3 /*break*/, 10];
3621
- 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:
3622
3723
  try {
3623
- 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);
3624
3725
  }
3625
- finally { if (e_1) throw e_1.error; }
3726
+ finally { if (e_2) throw e_2.error; }
3626
3727
  return [7 /*endfinally*/];
3627
- case 10:
3728
+ case 20:
3628
3729
  sourceIndex++;
3629
- _c.label = 11;
3630
- case 11:
3730
+ _d.label = 21;
3731
+ case 21:
3631
3732
  sources_1_1 = sources_1.next();
3632
- return [3 /*break*/, 2];
3633
- case 12: return [3 /*break*/, 15];
3634
- case 13:
3635
- e_2_1 = _c.sent();
3636
- e_2 = { error: e_2_1 };
3637
- return [3 /*break*/, 15];
3638
- 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:
3639
3740
  try {
3640
- 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);
3641
3742
  }
3642
- finally { if (e_2) throw e_2.error; }
3743
+ finally { if (e_3) throw e_3.error; }
3643
3744
  return [7 /*endfinally*/];
3644
- case 15:
3745
+ case 25:
3645
3746
  defaultValue = this._field.default.value.value;
3646
3747
  if (kwikidToolkit.isEmptyValue(defaultValue)) {
3647
3748
  defaultValue = convertFormFieldEmptyValueToKwikUIFormat(this._field);
3648
3749
  }
3649
- return [2 /*return*/, defaultValue];
3750
+ _d.label = 26;
3751
+ case 26: return [2 /*return*/, defaultValue];
3650
3752
  }
3651
3753
  });
3652
3754
  });
3653
3755
  };
3654
3756
  Defaults.prototype.getFormFieldApiValue = function () {
3655
3757
  return __awaiter(this, void 0, void 0, function () {
3656
- var apiConfig, rules, actions, rulesMapping, actions_3, actions_3_1, action, conditionEvaluation, actions_4, e_3_1;
3657
- 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;
3658
3760
  return __generator(this, function (_b) {
3659
3761
  switch (_b.label) {
3660
3762
  case 0:
@@ -3666,42 +3768,44 @@
3666
3768
  FORM_FIELDS: this._formFields,
3667
3769
  FORM_DATA: this._formData,
3668
3770
  PREVIOUS_FORM_DATA: this._previousFormData,
3669
- ALL_FORMS_DATA: this._allFormsData
3771
+ ALL_FORMS_DATA: this._allFormsData,
3772
+ EXTRA_DATA: this._extraData
3670
3773
  }).mapping();
3671
3774
  _b.label = 1;
3672
3775
  case 1:
3673
3776
  _b.trys.push([1, 6, 7, 8]);
3674
- actions_3 = __values(actions), actions_3_1 = actions_3.next();
3777
+ actions_5 = __values(actions), actions_5_1 = actions_5.next();
3675
3778
  _b.label = 2;
3676
3779
  case 2:
3677
- if (!!actions_3_1.done) return [3 /*break*/, 5];
3678
- action = actions_3_1.value;
3780
+ if (!!actions_5_1.done) return [3 /*break*/, 5];
3781
+ action = actions_5_1.value;
3679
3782
  conditionEvaluation = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
3680
3783
  if (!conditionEvaluation) return [3 /*break*/, 4];
3681
- actions_4 = new kwikidToolkit.Action(action, rulesMapping, {
3784
+ actions_6 = new kwikidToolkit.Action(action, rulesMapping, {
3682
3785
  FIELD_CONFIG: this._field,
3683
3786
  FORM_FIELDS: this._formFields,
3684
3787
  FORM_DATA: this._formData,
3685
3788
  PREVIOUS_FORM_DATA: this._previousFormData,
3686
- ALL_FORMS_DATA: this._allFormsData
3789
+ ALL_FORMS_DATA: this._allFormsData,
3790
+ EXTRA_DATA: this._extraData
3687
3791
  }, this._takeAction);
3688
- return [4 /*yield*/, actions_4.execute()];
3792
+ return [4 /*yield*/, actions_6.execute()];
3689
3793
  case 3:
3690
3794
  _b.sent();
3691
3795
  _b.label = 4;
3692
3796
  case 4:
3693
- actions_3_1 = actions_3.next();
3797
+ actions_5_1 = actions_5.next();
3694
3798
  return [3 /*break*/, 2];
3695
3799
  case 5: return [3 /*break*/, 8];
3696
3800
  case 6:
3697
- e_3_1 = _b.sent();
3698
- e_3 = { error: e_3_1 };
3801
+ e_4_1 = _b.sent();
3802
+ e_4 = { error: e_4_1 };
3699
3803
  return [3 /*break*/, 8];
3700
3804
  case 7:
3701
3805
  try {
3702
- 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);
3703
3807
  }
3704
- finally { if (e_3) throw e_3.error; }
3808
+ finally { if (e_4) throw e_4.error; }
3705
3809
  return [7 /*endfinally*/];
3706
3810
  case 8: return [2 /*return*/];
3707
3811
  }
@@ -3710,8 +3814,8 @@
3710
3814
  };
3711
3815
  Defaults.prototype.getFormFieldOptions = function () {
3712
3816
  return __awaiter(this, void 0, void 0, function () {
3713
- var optionsConfig, rules, actions, rulesMapping, actions_5, actions_5_1, action, conditionEvaluation, actions_6, e_4_1;
3714
- 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;
3715
3819
  return __generator(this, function (_b) {
3716
3820
  switch (_b.label) {
3717
3821
  case 0:
@@ -3723,42 +3827,44 @@
3723
3827
  FORM_FIELDS: this._formFields,
3724
3828
  FORM_DATA: this._formData,
3725
3829
  PREVIOUS_FORM_DATA: this._previousFormData,
3726
- ALL_FORMS_DATA: this._allFormsData
3830
+ ALL_FORMS_DATA: this._allFormsData,
3831
+ EXTRA_DATA: this._extraData
3727
3832
  }).mapping();
3728
3833
  _b.label = 1;
3729
3834
  case 1:
3730
3835
  _b.trys.push([1, 6, 7, 8]);
3731
- actions_5 = __values(actions), actions_5_1 = actions_5.next();
3836
+ actions_7 = __values(actions), actions_7_1 = actions_7.next();
3732
3837
  _b.label = 2;
3733
3838
  case 2:
3734
- if (!!actions_5_1.done) return [3 /*break*/, 5];
3735
- action = actions_5_1.value;
3839
+ if (!!actions_7_1.done) return [3 /*break*/, 5];
3840
+ action = actions_7_1.value;
3736
3841
  conditionEvaluation = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
3737
3842
  if (!conditionEvaluation) return [3 /*break*/, 4];
3738
- actions_6 = new kwikidToolkit.Action(action, rulesMapping, {
3843
+ actions_8 = new kwikidToolkit.Action(action, rulesMapping, {
3739
3844
  FIELD_CONFIG: this._field,
3740
3845
  FORM_FIELDS: this._formFields,
3741
3846
  FORM_DATA: this._formData,
3742
3847
  PREVIOUS_FORM_DATA: this._previousFormData,
3743
- ALL_FORMS_DATA: this._allFormsData
3848
+ ALL_FORMS_DATA: this._allFormsData,
3849
+ EXTRA_DATA: this._extraData
3744
3850
  }, this._takeAction);
3745
- return [4 /*yield*/, actions_6.execute()];
3851
+ return [4 /*yield*/, actions_8.execute()];
3746
3852
  case 3:
3747
3853
  _b.sent();
3748
3854
  _b.label = 4;
3749
3855
  case 4:
3750
- actions_5_1 = actions_5.next();
3856
+ actions_7_1 = actions_7.next();
3751
3857
  return [3 /*break*/, 2];
3752
3858
  case 5: return [3 /*break*/, 8];
3753
3859
  case 6:
3754
- e_4_1 = _b.sent();
3755
- e_4 = { error: e_4_1 };
3860
+ e_5_1 = _b.sent();
3861
+ e_5 = { error: e_5_1 };
3756
3862
  return [3 /*break*/, 8];
3757
3863
  case 7:
3758
3864
  try {
3759
- 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);
3760
3866
  }
3761
- finally { if (e_4) throw e_4.error; }
3867
+ finally { if (e_5) throw e_5.error; }
3762
3868
  return [7 /*endfinally*/];
3763
3869
  case 8: return [2 /*return*/];
3764
3870
  }
@@ -3898,7 +4004,7 @@
3898
4004
  function KwikIDFormViewService() {
3899
4005
  }
3900
4006
  // 'init' stage of the form
3901
- KwikIDFormViewService.prototype.createFormGroup = function (fields, formData, previousFormData, allFormsData, takeAction) {
4007
+ KwikIDFormViewService.prototype.createFormGroup = function (fields, formData, previousFormData, allFormsData, extraData, takeAction) {
3902
4008
  return __awaiter(this, void 0, void 0, function () {
3903
4009
  var formGroup, fields_1, fields_1_1, field, defaults, value, validators, e_1_1;
3904
4010
  var e_1, _a;
@@ -3915,7 +4021,7 @@
3915
4021
  if (!!fields_1_1.done) return [3 /*break*/, 10];
3916
4022
  field = fields_1_1.value;
3917
4023
  if (!field.isFormElement) return [3 /*break*/, 9];
3918
- defaults = new Defaults(field, fields, allFormsData, formData, previousFormData, takeAction);
4024
+ defaults = new Defaults(field, fields, allFormsData, formData, previousFormData, extraData, takeAction);
3919
4025
  value = "";
3920
4026
  if (!kwikidToolkit.checkObjectKeyExists(field, "default")) return [3 /*break*/, 4];
3921
4027
  if (!kwikidToolkit.checkObjectKeyExists(field.default, "value")) return [3 /*break*/, 4];
@@ -4241,11 +4347,11 @@
4241
4347
  return [7 /*endfinally*/];
4242
4348
  case 17: return [2 /*return*/, this._object.API_CONFIG];
4243
4349
  case 18:
4244
- 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);
4245
4351
  return [2 /*return*/, this._object.API_CONFIG];
4246
4352
  case 19: return [3 /*break*/, 21];
4247
4353
  case 20:
4248
- 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);
4249
4355
  return [2 /*return*/, this._object.API_CONFIG];
4250
4356
  case 21: return [2 /*return*/];
4251
4357
  }
@@ -4484,11 +4590,11 @@
4484
4590
  return [7 /*endfinally*/];
4485
4591
  case 17: return [2 /*return*/, this._object.API_CONFIG];
4486
4592
  case 18:
4487
- 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);
4488
4594
  return [2 /*return*/, this._object.API_CONFIG];
4489
4595
  case 19: return [3 /*break*/, 21];
4490
4596
  case 20:
4491
- 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);
4492
4598
  return [2 /*return*/, this._object.API_CONFIG];
4493
4599
  case 21: return [2 /*return*/];
4494
4600
  }
@@ -4651,13 +4757,14 @@
4651
4757
  ], Apis.prototype, "callNextApi", null);
4652
4758
 
4653
4759
  var CameraHelper = /** @class */ (function () {
4654
- function CameraHelper(field, formFields, allFormsData, formData, previousFormData) {
4760
+ function CameraHelper(field, formFields, allFormsData, formData, previousFormData, extraData) {
4655
4761
  this.cameraData = {};
4656
4762
  this._field = field;
4657
4763
  this._formFields = formFields;
4658
4764
  this._allFormsData = allFormsData;
4659
4765
  this._formData = formData;
4660
4766
  this._previousFormData = previousFormData;
4767
+ this._extraData = extraData;
4661
4768
  }
4662
4769
  CameraHelper.prototype.getCameraWatermarkData = function () {
4663
4770
  return __awaiter(this, void 0, void 0, function () {
@@ -4680,7 +4787,8 @@
4680
4787
  FORM_FIELDS: this._formFields,
4681
4788
  FORM_DATA: this._formData,
4682
4789
  PREVIOUS_FORM_DATA: this._previousFormData,
4683
- ALL_FORMS_DATA: this._allFormsData
4790
+ ALL_FORMS_DATA: this._allFormsData,
4791
+ EXTRA_DATA: this._extraData
4684
4792
  });
4685
4793
  return [4 /*yield*/, sources_2.getValueFromSource(source)];
4686
4794
  case 3:
@@ -4830,17 +4938,18 @@
4830
4938
  }] });
4831
4939
 
4832
4940
  var KwikIDFormViewComponent = /** @class */ (function () {
4833
- function KwikIDFormViewComponent(cd, formViewService, formViewApiService, push, alertService, previewDialogService, dialogService, loaderService, cameraRecordService, ref) {
4834
- this.cd = cd;
4941
+ function KwikIDFormViewComponent(cdRef, formViewService, formViewApiService, pushService, alertService, previewDialogService, dialogService, loaderService, cameraRecordService, ref, renderer) {
4942
+ this.cdRef = cdRef;
4835
4943
  this.formViewService = formViewService;
4836
4944
  this.formViewApiService = formViewApiService;
4837
- this.push = push;
4945
+ this.pushService = pushService;
4838
4946
  this.alertService = alertService;
4839
4947
  this.previewDialogService = previewDialogService;
4840
4948
  this.dialogService = dialogService;
4841
4949
  this.loaderService = loaderService;
4842
4950
  this.cameraRecordService = cameraRecordService;
4843
4951
  this.ref = ref;
4952
+ this.renderer = renderer;
4844
4953
  this.isMobileView = false;
4845
4954
  this.popupFormCallback = undefined;
4846
4955
  this.getLogs = new i0.EventEmitter();
@@ -4952,7 +5061,6 @@
4952
5061
  });
4953
5062
  }); })();
4954
5063
  };
4955
- KwikIDFormViewComponent.prototype.ngAfterViewInit = function () { };
4956
5064
  KwikIDFormViewComponent.prototype.ngOnChanges = function (changes) {
4957
5065
  var _15, _16, _17, _18;
4958
5066
  var _this = this;
@@ -4960,6 +5068,9 @@
4960
5068
  var verifyChange = function (key) {
4961
5069
  return kwikidToolkit.checkObjectKeyExists(changes, key) && !changes[key].firstChange;
4962
5070
  };
5071
+ if (verifyChange("extraData")) {
5072
+ this.extraData = changes.extraData.currentValue;
5073
+ }
4963
5074
  if (verifyChange("userConfig")) {
4964
5075
  this.userConfig = changes.userConfig.currentValue;
4965
5076
  }
@@ -5055,7 +5166,8 @@
5055
5166
  FORM_DATA: this.formData,
5056
5167
  TASK_DATA: this.taskData,
5057
5168
  PREVIOUS_FORM_DATA: this.previousFormData,
5058
- ALL_FORMS_DATA: this.allFormsData
5169
+ ALL_FORMS_DATA: this.allFormsData,
5170
+ EXTRA_DATA: this.extraData
5059
5171
  }, this.takeAction.bind(this));
5060
5172
  (function () { return __awaiter(_this, void 0, void 0, function () {
5061
5173
  return __generator(this, function (_15) {
@@ -5121,7 +5233,8 @@
5121
5233
  FORM_DATA: this.formData,
5122
5234
  TASK_DATA: this.taskData,
5123
5235
  PREVIOUS_FORM_DATA: this.previousFormData,
5124
- ALL_FORMS_DATA: this.allFormsData
5236
+ ALL_FORMS_DATA: this.allFormsData,
5237
+ EXTRA_DATA: this.extraData
5125
5238
  }, this.takeAction.bind(this));
5126
5239
  (function () { return __awaiter(_this, void 0, void 0, function () {
5127
5240
  return __generator(this, function (_15) {
@@ -5184,7 +5297,8 @@
5184
5297
  FORM_DATA: this.formData,
5185
5298
  TASK_DATA: this.taskData,
5186
5299
  PREVIOUS_FORM_DATA: this.previousFormData,
5187
- ALL_FORMS_DATA: this.allFormsData
5300
+ ALL_FORMS_DATA: this.allFormsData,
5301
+ EXTRA_DATA: this.extraData
5188
5302
  }, this.takeAction.bind(this));
5189
5303
  (function () { return __awaiter(_this, void 0, void 0, function () {
5190
5304
  var api;
@@ -5207,7 +5321,8 @@
5207
5321
  FORM_DATA: this.formData,
5208
5322
  TASK_DATA: this.taskData,
5209
5323
  PREVIOUS_FORM_DATA: this.previousFormData,
5210
- ALL_FORMS_DATA: this.allFormsData
5324
+ ALL_FORMS_DATA: this.allFormsData,
5325
+ EXTRA_DATA: this.extraData
5211
5326
  }, this.takeAction.bind(this));
5212
5327
  (function () { return __awaiter(_this, void 0, void 0, function () {
5213
5328
  return __generator(this, function (_15) {
@@ -5249,7 +5364,8 @@
5249
5364
  FORM_DATA: this.formData,
5250
5365
  TASK_DATA: this.taskData,
5251
5366
  PREVIOUS_FORM_DATA: this.previousFormData,
5252
- ALL_FORMS_DATA: this.allFormsData
5367
+ ALL_FORMS_DATA: this.allFormsData,
5368
+ EXTRA_DATA: this.extraData
5253
5369
  }, this.takeAction.bind(this));
5254
5370
  (function () { return __awaiter(_this, void 0, void 0, function () {
5255
5371
  var api;
@@ -5297,7 +5413,8 @@
5297
5413
  FORM_DATA: this.formData,
5298
5414
  TASK_DATA: this.taskData,
5299
5415
  PREVIOUS_FORM_DATA: this.previousFormData,
5300
- ALL_FORMS_DATA: this.allFormsData
5416
+ ALL_FORMS_DATA: this.allFormsData,
5417
+ EXTRA_DATA: this.extraData
5301
5418
  }, this.takeAction.bind(this));
5302
5419
  (function () { return __awaiter(_this, void 0, void 0, function () {
5303
5420
  return __generator(this, function (_15) {
@@ -5375,7 +5492,8 @@
5375
5492
  FORM_DATA: this.formData,
5376
5493
  TASK_DATA: this.taskData,
5377
5494
  PREVIOUS_FORM_DATA: this.previousFormData,
5378
- ALL_FORMS_DATA: this.allFormsData
5495
+ ALL_FORMS_DATA: this.allFormsData,
5496
+ EXTRA_DATA: this.extraData
5379
5497
  }, this.takeAction.bind(this));
5380
5498
  this.stopTaskExecution = false;
5381
5499
  if (kwikidToolkit.checkObjectKeyExists(preTask, "wait")) {
@@ -5425,7 +5543,7 @@
5425
5543
  return [2 /*return*/, false];
5426
5544
  }
5427
5545
  _17 = this;
5428
- return [4 /*yield*/, this.formViewService.createFormGroup(this.formFields, this.formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this))];
5546
+ return [4 /*yield*/, this.formViewService.createFormGroup(this.formFields, this.formData, this.previousFormData, this.allFormsData, this.extraData, this.takeAction.bind(this))];
5429
5547
  case 11:
5430
5548
  _17.formGroup = _25.sent();
5431
5549
  /**
@@ -5504,7 +5622,8 @@
5504
5622
  FORM_DATA: this.formData,
5505
5623
  TASK_DATA: this.taskData,
5506
5624
  PREVIOUS_FORM_DATA: this.previousFormData,
5507
- ALL_FORMS_DATA: this.allFormsData
5625
+ ALL_FORMS_DATA: this.allFormsData,
5626
+ EXTRA_DATA: this.extraData
5508
5627
  }, this.takeAction.bind(this));
5509
5628
  return [4 /*yield*/, ruleEngine.run(field.validation)];
5510
5629
  case 14:
@@ -5577,7 +5696,8 @@
5577
5696
  FORM_DATA: this.formData,
5578
5697
  TASK_DATA: this.taskData,
5579
5698
  PREVIOUS_FORM_DATA: this.previousFormData,
5580
- ALL_FORMS_DATA: this.allFormsData
5699
+ ALL_FORMS_DATA: this.allFormsData,
5700
+ EXTRA_DATA: this.extraData
5581
5701
  }).mapping();
5582
5702
  _18.label = 1;
5583
5703
  case 1:
@@ -5595,7 +5715,8 @@
5595
5715
  FORM_DATA: this.formData,
5596
5716
  TASK_DATA: this.taskData,
5597
5717
  PREVIOUS_FORM_DATA: this.previousFormData,
5598
- ALL_FORMS_DATA: this.allFormsData
5718
+ ALL_FORMS_DATA: this.allFormsData,
5719
+ EXTRA_DATA: this.extraData
5599
5720
  }, this.takeActionOnFieldGroup.bind(this));
5600
5721
  return [4 /*yield*/, actions.execute()];
5601
5722
  case 3:
@@ -5649,7 +5770,8 @@
5649
5770
  FORM_DATA: this.formData,
5650
5771
  TASK_DATA: this.taskData,
5651
5772
  PREVIOUS_FORM_DATA: this.previousFormData,
5652
- ALL_FORMS_DATA: this.allFormsData
5773
+ ALL_FORMS_DATA: this.allFormsData,
5774
+ EXTRA_DATA: this.extraData
5653
5775
  }).mapping();
5654
5776
  _18.label = 1;
5655
5777
  case 1:
@@ -5667,7 +5789,8 @@
5667
5789
  FORM_DATA: this.formData,
5668
5790
  TASK_DATA: this.taskData,
5669
5791
  PREVIOUS_FORM_DATA: this.previousFormData,
5670
- ALL_FORMS_DATA: this.allFormsData
5792
+ ALL_FORMS_DATA: this.allFormsData,
5793
+ EXTRA_DATA: this.extraData
5671
5794
  }, this.takeAction.bind(this));
5672
5795
  return [4 /*yield*/, actions.execute()];
5673
5796
  case 3:
@@ -5967,7 +6090,7 @@
5967
6090
  ]);
5968
6091
  if (!(((_d = (_c = this.cameraConfig) === null || _c === void 0 ? void 0 : _c.others) === null || _d === void 0 ? void 0 : _d.isWatermark) ||
5969
6092
  ((_f = (_e = this.cameraConfig) === null || _e === void 0 ? void 0 : _e.others) === null || _f === void 0 ? void 0 : _f.isWatermarkForImageUpload))) return [3 /*break*/, 3];
5970
- cameraHelper = new CameraHelper(field, this.formFields, this.allFormsData, this.formData, this.previousFormData);
6093
+ cameraHelper = new CameraHelper(field, this.formFields, this.allFormsData, this.formData, this.previousFormData, this.extraData);
5971
6094
  _16 = this;
5972
6095
  _17 = {};
5973
6096
  return [4 /*yield*/, cameraHelper.getCameraWatermarkData()];
@@ -6044,7 +6167,8 @@
6044
6167
  FORM_DATA: this.formData,
6045
6168
  TASK_DATA: this.taskData,
6046
6169
  PREVIOUS_FORM_DATA: this.previousFormData,
6047
- ALL_FORMS_DATA: this.allFormsData
6170
+ ALL_FORMS_DATA: this.allFormsData,
6171
+ EXTRA_DATA: this.extraData
6048
6172
  }, this.takeAction.bind(this));
6049
6173
  (function () { return __awaiter(_this, void 0, void 0, function () {
6050
6174
  return __generator(this, function (_15) {
@@ -6221,7 +6345,8 @@
6221
6345
  FORM_DATA: this.formData,
6222
6346
  TASK_DATA: this.taskData,
6223
6347
  PREVIOUS_FORM_DATA: this.previousFormData,
6224
- ALL_FORMS_DATA: this.allFormsData
6348
+ ALL_FORMS_DATA: this.allFormsData,
6349
+ EXTRA_DATA: this.extraData
6225
6350
  }, this.takeAction.bind(this));
6226
6351
  (function () { return __awaiter(_this, void 0, void 0, function () {
6227
6352
  return __generator(this, function (_15) {
@@ -6469,7 +6594,8 @@
6469
6594
  FORM_DATA: this.formData,
6470
6595
  TASK_DATA: this.taskData,
6471
6596
  PREVIOUS_FORM_DATA: this.previousFormData,
6472
- ALL_FORMS_DATA: this.allFormsData
6597
+ ALL_FORMS_DATA: this.allFormsData,
6598
+ EXTRA_DATA: this.extraData
6473
6599
  }, this.takeAction.bind(this));
6474
6600
  (function () { return __awaiter(_this, void 0, void 0, function () {
6475
6601
  return __generator(this, function (_15) {
@@ -6515,7 +6641,8 @@
6515
6641
  FORM_DATA: this.formData,
6516
6642
  TASK_DATA: this.taskData,
6517
6643
  PREVIOUS_FORM_DATA: this.previousFormData,
6518
- ALL_FORMS_DATA: this.allFormsData
6644
+ ALL_FORMS_DATA: this.allFormsData,
6645
+ EXTRA_DATA: this.extraData
6519
6646
  }, this.takeAction.bind(this));
6520
6647
  (function () { return __awaiter(_this, void 0, void 0, function () {
6521
6648
  return __generator(this, function (_15) {
@@ -6536,7 +6663,7 @@
6536
6663
  }, "ON_CHANGE");
6537
6664
  }
6538
6665
  };
6539
- KwikIDFormViewComponent.prototype.handleOnClickResetFormFields = function (e, field) {
6666
+ KwikIDFormViewComponent.prototype.handleOnClickResetFormFields2 = function (e, field) {
6540
6667
  var _a;
6541
6668
  return __awaiter(this, void 0, void 0, function () {
6542
6669
  var resetFormFields, BYPASS_RESET_CONFIRM, CONFIRM_RESET;
@@ -6572,7 +6699,8 @@
6572
6699
  FORM_DATA: this.formData,
6573
6700
  TASK_DATA: this.taskData,
6574
6701
  PREVIOUS_FORM_DATA: this.previousFormData,
6575
- ALL_FORMS_DATA: this.allFormsData
6702
+ ALL_FORMS_DATA: this.allFormsData,
6703
+ EXTRA_DATA: this.extraData
6576
6704
  }, this.takeAction.bind(this));
6577
6705
  return [4 /*yield*/, actions.execute()];
6578
6706
  case 4:
@@ -6624,6 +6752,180 @@
6624
6752
  });
6625
6753
  });
6626
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
+ };
6627
6929
  KwikIDFormViewComponent.prototype.handleFieldApiCall = function (field, api) {
6628
6930
  return __awaiter(this, void 0, void 0, function () {
6629
6931
  var apis;
@@ -6637,7 +6939,8 @@
6637
6939
  FORM_DATA: this.formData,
6638
6940
  TASK_DATA: this.taskData,
6639
6941
  PREVIOUS_FORM_DATA: this.previousFormData,
6640
- ALL_FORMS_DATA: this.allFormsData
6942
+ ALL_FORMS_DATA: this.allFormsData,
6943
+ EXTRA_DATA: this.extraData
6641
6944
  })];
6642
6945
  case 1:
6643
6946
  api = _17.sent();
@@ -6656,7 +6959,8 @@
6656
6959
  FORM_DATA: this.formData,
6657
6960
  TASK_DATA: this.taskData,
6658
6961
  PREVIOUS_FORM_DATA: this.previousFormData,
6659
- ALL_FORMS_DATA: this.allFormsData
6962
+ ALL_FORMS_DATA: this.allFormsData,
6963
+ EXTRA_DATA: this.extraData
6660
6964
  }, this.takeAction.bind(this));
6661
6965
  return [4 /*yield*/, apis.validateResponse()];
6662
6966
  case 2:
@@ -6685,7 +6989,8 @@
6685
6989
  FORM_DATA: this.formData,
6686
6990
  TASK_DATA: this.taskData,
6687
6991
  PREVIOUS_FORM_DATA: this.previousFormData,
6688
- ALL_FORMS_DATA: this.allFormsData
6992
+ ALL_FORMS_DATA: this.allFormsData,
6993
+ EXTRA_DATA: this.extraData
6689
6994
  })];
6690
6995
  case 1:
6691
6996
  api = _15.sent();
@@ -6696,7 +7001,8 @@
6696
7001
  FORM_DATA: this.formData,
6697
7002
  TASK_DATA: this.taskData,
6698
7003
  PREVIOUS_FORM_DATA: this.previousFormData,
6699
- ALL_FORMS_DATA: this.allFormsData
7004
+ ALL_FORMS_DATA: this.allFormsData,
7005
+ EXTRA_DATA: this.extraData
6700
7006
  }, this.takeAction.bind(this));
6701
7007
  if (!this.isValidRequestHeadersAndBody(api)) return [3 /*break*/, 3];
6702
7008
  return [4 /*yield*/, apis.validateResponse()];
@@ -6873,7 +7179,8 @@
6873
7179
  FORM_DATA: this.formData,
6874
7180
  TASK_DATA: this.taskData,
6875
7181
  PREVIOUS_FORM_DATA: this.previousFormData,
6876
- ALL_FORMS_DATA: this.allFormsData
7182
+ ALL_FORMS_DATA: this.allFormsData,
7183
+ EXTRA_DATA: this.extraData
6877
7184
  }, this.takeAction.bind(this));
6878
7185
  return [4 /*yield*/, apis.callNextApi(field.api.entrypoint)];
6879
7186
  case 3:
@@ -6927,8 +7234,8 @@
6927
7234
  };
6928
7235
  KwikIDFormViewComponent.prototype.handleOnClickSaveForm = function (e) {
6929
7236
  return __awaiter(this, void 0, void 0, function () {
6930
- 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;
6931
- 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;
6932
7239
  var _this = this;
6933
7240
  return __generator(this, function (_25) {
6934
7241
  switch (_25.label) {
@@ -6958,18 +7265,19 @@
6958
7265
  this.formFields = showFormFieldError(this.formFields, this.formGroup.controls[control.key].errors, control.key, control.invalid);
6959
7266
  }
6960
7267
  }
6961
- catch (e_15_1) { e_15 = { error: e_15_1 }; }
7268
+ catch (e_20_1) { e_20 = { error: e_20_1 }; }
6962
7269
  finally {
6963
7270
  try {
6964
7271
  if (controls_1_1 && !controls_1_1.done && (_21 = controls_1.return)) _21.call(controls_1);
6965
7272
  }
6966
- finally { if (e_15) throw e_15.error; }
7273
+ finally { if (e_20) throw e_20.error; }
6967
7274
  }
6968
7275
  if (kwikidToolkit.isNotEmptyValue(firstFieldWithError)) {
6969
- this.toggleErrorNotification(true);
6970
- setTimeout(function () {
6971
- _this.toggleErrorNotification(false);
6972
- }, 3000);
7276
+ this.handleOnScrollToField(firstFieldWithError);
7277
+ // this.toggleErrorNotification(true);
7278
+ // setTimeout(() => {
7279
+ // this.toggleErrorNotification(false);
7280
+ // }, 3000);
6973
7281
  return [2 /*return*/];
6974
7282
  }
6975
7283
  _25.label = 1;
@@ -6990,7 +7298,8 @@
6990
7298
  FORM_DATA: this.formData,
6991
7299
  TASK_DATA: this.taskData,
6992
7300
  PREVIOUS_FORM_DATA: this.previousFormData,
6993
- ALL_FORMS_DATA: this.allFormsData
7301
+ ALL_FORMS_DATA: this.allFormsData,
7302
+ EXTRA_DATA: this.extraData
6994
7303
  }, this.takeAction.bind(this));
6995
7304
  return [4 /*yield*/, ruleEngine.run(field.validation)];
6996
7305
  case 3:
@@ -7008,14 +7317,14 @@
7008
7317
  return [3 /*break*/, 2];
7009
7318
  case 5: return [3 /*break*/, 8];
7010
7319
  case 6:
7011
- e_13_1 = _25.sent();
7012
- e_13 = { error: e_13_1 };
7320
+ e_18_1 = _25.sent();
7321
+ e_18 = { error: e_18_1 };
7013
7322
  return [3 /*break*/, 8];
7014
7323
  case 7:
7015
7324
  try {
7016
7325
  if (_16 && !_16.done && (_22 = _15.return)) _22.call(_15);
7017
7326
  }
7018
- finally { if (e_13) throw e_13.error; }
7327
+ finally { if (e_18) throw e_18.error; }
7019
7328
  return [7 /*endfinally*/];
7020
7329
  case 8:
7021
7330
  formData = this.formGroup.getRawValue();
@@ -7032,12 +7341,12 @@
7032
7341
  }
7033
7342
  }
7034
7343
  }
7035
- catch (e_16_1) { e_16 = { error: e_16_1 }; }
7344
+ catch (e_21_1) { e_21 = { error: e_21_1 }; }
7036
7345
  finally {
7037
7346
  try {
7038
7347
  if (_18 && !_18.done && (_23 = _17.return)) _23.call(_17);
7039
7348
  }
7040
- finally { if (e_16) throw e_16.error; }
7349
+ finally { if (e_21) throw e_21.error; }
7041
7350
  }
7042
7351
  extendedFormData = this.formFields.reduce(function (result, field, index) {
7043
7352
  var _15;
@@ -7077,7 +7386,8 @@
7077
7386
  FORM_DATA: this.formData,
7078
7387
  TASK_DATA: this.taskData,
7079
7388
  PREVIOUS_FORM_DATA: this.previousFormData,
7080
- ALL_FORMS_DATA: this.allFormsData
7389
+ ALL_FORMS_DATA: this.allFormsData,
7390
+ EXTRA_DATA: this.extraData
7081
7391
  }, this.takeAction.bind(this));
7082
7392
  this.stopTaskExecution = false;
7083
7393
  if (kwikidToolkit.checkObjectKeyExists(postTask, "wait")) {
@@ -7110,14 +7420,14 @@
7110
7420
  return [3 /*break*/, 10];
7111
7421
  case 14: return [3 /*break*/, 17];
7112
7422
  case 15:
7113
- e_14_1 = _25.sent();
7114
- e_14 = { error: e_14_1 };
7423
+ e_19_1 = _25.sent();
7424
+ e_19 = { error: e_19_1 };
7115
7425
  return [3 /*break*/, 17];
7116
7426
  case 16:
7117
7427
  try {
7118
7428
  if (_20 && !_20.done && (_24 = _19.return)) _24.call(_19);
7119
7429
  }
7120
- finally { if (e_14) throw e_14.error; }
7430
+ finally { if (e_19) throw e_19.error; }
7121
7431
  return [7 /*endfinally*/];
7122
7432
  case 17:
7123
7433
  if (this.stopTaskExecution || this.waitingForChanges) {
@@ -7151,6 +7461,16 @@
7151
7461
  });
7152
7462
  });
7153
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
+ };
7154
7474
  KwikIDFormViewComponent.prototype.toggleErrorNotification = function (show) {
7155
7475
  this.showErrorNotification = show;
7156
7476
  };
@@ -7171,19 +7491,19 @@
7171
7491
  });
7172
7492
  };
7173
7493
  KwikIDFormViewComponent.prototype.fieldGroupHide = function (fieldGroup) {
7174
- var e_17, _15;
7494
+ var e_22, _15;
7175
7495
  try {
7176
7496
  for (var _16 = __values(this.fieldGroups[fieldGroup]), _17 = _16.next(); !_17.done; _17 = _16.next()) {
7177
7497
  var fieldKey = _17.value;
7178
7498
  this.fieldHide(fieldKey);
7179
7499
  }
7180
7500
  }
7181
- catch (e_17_1) { e_17 = { error: e_17_1 }; }
7501
+ catch (e_22_1) { e_22 = { error: e_22_1 }; }
7182
7502
  finally {
7183
7503
  try {
7184
7504
  if (_17 && !_17.done && (_15 = _16.return)) _15.call(_16);
7185
7505
  }
7186
- finally { if (e_17) throw e_17.error; }
7506
+ finally { if (e_22) throw e_22.error; }
7187
7507
  }
7188
7508
  };
7189
7509
  KwikIDFormViewComponent.prototype.fieldShow = function (fieldKey) {
@@ -7199,19 +7519,19 @@
7199
7519
  });
7200
7520
  };
7201
7521
  KwikIDFormViewComponent.prototype.fieldGroupShow = function (fieldGroup) {
7202
- var e_18, _15;
7522
+ var e_23, _15;
7203
7523
  try {
7204
7524
  for (var _16 = __values(this.fieldGroups[fieldGroup]), _17 = _16.next(); !_17.done; _17 = _16.next()) {
7205
7525
  var fieldKey = _17.value;
7206
7526
  this.fieldShow(fieldKey);
7207
7527
  }
7208
7528
  }
7209
- catch (e_18_1) { e_18 = { error: e_18_1 }; }
7529
+ catch (e_23_1) { e_23 = { error: e_23_1 }; }
7210
7530
  finally {
7211
7531
  try {
7212
7532
  if (_17 && !_17.done && (_15 = _16.return)) _15.call(_16);
7213
7533
  }
7214
- finally { if (e_18) throw e_18.error; }
7534
+ finally { if (e_23) throw e_23.error; }
7215
7535
  }
7216
7536
  };
7217
7537
  KwikIDFormViewComponent.prototype.fieldDisable = function (fieldKey) {
@@ -7227,6 +7547,7 @@
7227
7547
  });
7228
7548
  }
7229
7549
  this.formGroup.updateValueAndValidity();
7550
+ console.log("YES DISABLING THE FIELD");
7230
7551
  }
7231
7552
  else if (field.type === EFieldType.BUTTON) {
7232
7553
  this.formFields[fieldIndex]["disabled"] = true;
@@ -7237,19 +7558,19 @@
7237
7558
  });
7238
7559
  };
7239
7560
  KwikIDFormViewComponent.prototype.fieldGroupDisable = function (fieldGroup) {
7240
- var e_19, _15;
7561
+ var e_24, _15;
7241
7562
  try {
7242
7563
  for (var _16 = __values(this.fieldGroups[fieldGroup]), _17 = _16.next(); !_17.done; _17 = _16.next()) {
7243
7564
  var fieldKey = _17.value;
7244
7565
  this.fieldDisable(fieldKey);
7245
7566
  }
7246
7567
  }
7247
- catch (e_19_1) { e_19 = { error: e_19_1 }; }
7568
+ catch (e_24_1) { e_24 = { error: e_24_1 }; }
7248
7569
  finally {
7249
7570
  try {
7250
7571
  if (_17 && !_17.done && (_15 = _16.return)) _15.call(_16);
7251
7572
  }
7252
- finally { if (e_19) throw e_19.error; }
7573
+ finally { if (e_24) throw e_24.error; }
7253
7574
  }
7254
7575
  };
7255
7576
  KwikIDFormViewComponent.prototype.fieldEnable = function (fieldKey) {
@@ -7275,19 +7596,19 @@
7275
7596
  });
7276
7597
  };
7277
7598
  KwikIDFormViewComponent.prototype.fieldGroupEnable = function (fieldGroup) {
7278
- var e_20, _15;
7599
+ var e_25, _15;
7279
7600
  try {
7280
7601
  for (var _16 = __values(this.fieldGroups[fieldGroup]), _17 = _16.next(); !_17.done; _17 = _16.next()) {
7281
7602
  var fieldKey = _17.value;
7282
7603
  this.fieldEnable(fieldKey);
7283
7604
  }
7284
7605
  }
7285
- catch (e_20_1) { e_20 = { error: e_20_1 }; }
7606
+ catch (e_25_1) { e_25 = { error: e_25_1 }; }
7286
7607
  finally {
7287
7608
  try {
7288
7609
  if (_17 && !_17.done && (_15 = _16.return)) _15.call(_16);
7289
7610
  }
7290
- finally { if (e_20) throw e_20.error; }
7611
+ finally { if (e_25) throw e_25.error; }
7291
7612
  }
7292
7613
  };
7293
7614
  KwikIDFormViewComponent.prototype.fieldReset = function (fieldKey) {
@@ -7334,9 +7655,11 @@
7334
7655
  this.formFields[fieldIndex] = fieldLiveLocation;
7335
7656
  break;
7336
7657
  default:
7658
+ console.log("BAIJU BEFORE", kwikidToolkit.getObjectDeepCopy(field), kwikidToolkit.getObjectDeepCopy(this.formFields));
7337
7659
  field.focus = false;
7338
7660
  field.invalid = false;
7339
7661
  this.formFields[fieldIndex] = field;
7662
+ console.log("BAIJU AFTER", kwikidToolkit.getObjectDeepCopy(field), kwikidToolkit.getObjectDeepCopy(this.formFields));
7340
7663
  break;
7341
7664
  }
7342
7665
  this.triggerLogs(ELogEventType$1.FORM__FIELD_RESET, {
@@ -7344,6 +7667,22 @@
7344
7667
  field_type: field.type
7345
7668
  });
7346
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
+ };
7347
7686
  KwikIDFormViewComponent.prototype.fieldHideApiLoader = function (fieldKey) {
7348
7687
  var field = getFormFieldByKey(this.formFields, fieldKey);
7349
7688
  var fieldIndex = this.formFields.findIndex(function (_) {
@@ -7458,7 +7797,7 @@
7458
7797
  });
7459
7798
  field = setApiTimerMessage(field, timer);
7460
7799
  this.formFields[fieldIndex] = field;
7461
- this.cd.detectChanges();
7800
+ this.cdRef.detectChanges();
7462
7801
  this.triggerLogs(ELogEventType$1.FORM__FIELD_API_TIMER_MESSAGE_SHOW, {
7463
7802
  field_key: fieldKey,
7464
7803
  field_type: field.type,
@@ -7487,7 +7826,8 @@
7487
7826
  FORM_DATA: this.formData,
7488
7827
  TASK_DATA: this.taskData,
7489
7828
  PREVIOUS_FORM_DATA: this.previousFormData,
7490
- ALL_FORMS_DATA: this.allFormsData
7829
+ ALL_FORMS_DATA: this.allFormsData,
7830
+ EXTRA_DATA: this.extraData
7491
7831
  }, this.takeAction.bind(this));
7492
7832
  (function () { return __awaiter(_this, void 0, void 0, function () {
7493
7833
  return __generator(this, function (_15) {
@@ -7507,7 +7847,7 @@
7507
7847
  }, "ON_API_TIMER_STOP");
7508
7848
  }
7509
7849
  this.formFields[fieldIndex] = field;
7510
- this.cd.detectChanges();
7850
+ this.cdRef.detectChanges();
7511
7851
  this.triggerLogs(ELogEventType$1.FORM__FIELD_API_TIMER_MESSAGE_HIDE, {
7512
7852
  field_key: fieldKey,
7513
7853
  field_type: field.type
@@ -7532,6 +7872,7 @@
7532
7872
  this.patchFormGroup(this.formData);
7533
7873
  this.allFormsData = source.object.ALL_FORMS_DATA;
7534
7874
  this.previousFormData = source.object.PREVIOUS_FORM_DATA;
7875
+ this.extraData = source.object.EXTRA_DATA;
7535
7876
  return [2 /*return*/];
7536
7877
  }
7537
7878
  });
@@ -7570,6 +7911,7 @@
7570
7911
  this.patchFormGroup(this.formData);
7571
7912
  this.allFormsData = source.object.ALL_FORMS_DATA;
7572
7913
  this.previousFormData = source.object.PREVIOUS_FORM_DATA;
7914
+ this.extraData = source.object.EXTRA_DATA;
7573
7915
  return [2 /*return*/];
7574
7916
  }
7575
7917
  });
@@ -7700,6 +8042,7 @@
7700
8042
  }
7701
8043
  }
7702
8044
  }, sourceValue);
8045
+ object.FIELD_CONFIG = source.object.FIELD_CONFIG;
7703
8046
  object.API_CONFIG = source.object.API_CONFIG;
7704
8047
  return [2 /*return*/];
7705
8048
  });
@@ -7735,6 +8078,7 @@
7735
8078
  this.formData = source.object.FORM_DATA;
7736
8079
  this.allFormsData = source.object.ALL_FORMS_DATA;
7737
8080
  this.previousFormData = source.object.PREVIOUS_FORM_DATA;
8081
+ this.extraData = source.object.EXTRA_DATA;
7738
8082
  return [2 /*return*/];
7739
8083
  }
7740
8084
  });
@@ -7864,7 +8208,8 @@
7864
8208
  FORM_DATA: this.formData,
7865
8209
  TASK_DATA: this.taskData,
7866
8210
  PREVIOUS_FORM_DATA: this.previousFormData,
7867
- ALL_FORMS_DATA: this.allFormsData
8211
+ ALL_FORMS_DATA: this.allFormsData,
8212
+ EXTRA_DATA: this.extraData
7868
8213
  }, this.takeAction.bind(this));
7869
8214
  return [4 /*yield*/, apis.callNextApi(multipleApiConfig.entrypoint)];
7870
8215
  case 3:
@@ -8123,6 +8468,9 @@
8123
8468
  case EActionKey.FIELD_GROUP_DISABLE:
8124
8469
  this.fieldGroupDisable(action.props.groupKey);
8125
8470
  break;
8471
+ case EActionKey.FIELD_GROUP_RESET:
8472
+ this.fieldGroupReset(action.props.groupKey);
8473
+ break;
8126
8474
  case EActionKey.FIELD_GROUP_SHOW_API_LOADER:
8127
8475
  this.fieldGroupDisable(action.props.groupKey);
8128
8476
  break;
@@ -8179,38 +8527,39 @@
8179
8527
  case EActionKey.PREVIEW_ERROR_SHOW: return [3 /*break*/, 55];
8180
8528
  case EActionKey.POPUP_FORM_SHOW: return [3 /*break*/, 58];
8181
8529
  case EActionKey.STOP_WAITING: return [3 /*break*/, 59];
8182
- case EActionKey.NOTIFICATION_ERROR_SHOW: return [3 /*break*/, 60];
8183
- case EActionKey.NOTIFICATION_ERROR_HIDE: return [3 /*break*/, 61];
8184
- case EActionKey.RESUME_TASK_EXECUTION: return [3 /*break*/, 62];
8185
- case EActionKey.STOP_TASK_EXECUTION: return [3 /*break*/, 63];
8186
- case EActionKey.DIALOG_SHOW: return [3 /*break*/, 64];
8187
- case EActionKey.DIALOG_HIDE: return [3 /*break*/, 65];
8188
- case EActionKey.SAVE_FORM: return [3 /*break*/, 66];
8189
- case EActionKey.ALERT_SHOW: return [3 /*break*/, 67];
8190
- case EActionKey.SET_HTML: return [3 /*break*/, 68];
8191
- }
8192
- 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];
8193
8542
  case 1:
8194
8543
  this.fieldHide(action.props.fieldKey);
8195
- return [3 /*break*/, 72];
8544
+ return [3 /*break*/, 73];
8196
8545
  case 2:
8197
8546
  this.fieldShow(action.props.fieldKey);
8198
- return [3 /*break*/, 72];
8547
+ return [3 /*break*/, 73];
8199
8548
  case 3:
8200
8549
  this.fieldDisable(action.props.fieldKey);
8201
- return [3 /*break*/, 72];
8550
+ return [3 /*break*/, 73];
8202
8551
  case 4:
8203
8552
  this.fieldEnable(action.props.fieldKey);
8204
- return [3 /*break*/, 72];
8553
+ return [3 /*break*/, 73];
8205
8554
  case 5:
8206
8555
  this.fieldEnable(action.props.fieldKey);
8207
- return [3 /*break*/, 72];
8556
+ return [3 /*break*/, 73];
8208
8557
  case 6:
8209
8558
  this.fieldEnable(action.props.fieldKey);
8210
- return [3 /*break*/, 72];
8559
+ return [3 /*break*/, 73];
8211
8560
  case 7:
8212
8561
  this.fieldReset(action.props.fieldKey);
8213
- return [3 /*break*/, 72];
8562
+ return [3 /*break*/, 73];
8214
8563
  case 8:
8215
8564
  if (!kwikidToolkit.checkObjectKeyExists(action.props.message, "source")) return [3 /*break*/, 10];
8216
8565
  fieldErrorShow_Source = new kwikidToolkit.Source(object);
@@ -8229,7 +8578,7 @@
8229
8578
  case 10:
8230
8579
  action.props.message.message = updateLanguage(action.props.message.message, getLanguage());
8231
8580
  this.fieldErrorShow(action.props.fieldKey, action.props.message);
8232
- return [3 /*break*/, 72];
8581
+ return [3 /*break*/, 73];
8233
8582
  case 11:
8234
8583
  if (!kwikidToolkit.checkObjectKeyExists(action.props.message, "source")) return [3 /*break*/, 13];
8235
8584
  fieldErrorHide_Source = new kwikidToolkit.Source(object);
@@ -8247,84 +8596,84 @@
8247
8596
  _16.label = 13;
8248
8597
  case 13:
8249
8598
  this.fieldErrorHide(action.props.fieldKey, action.props.message);
8250
- return [3 /*break*/, 72];
8599
+ return [3 /*break*/, 73];
8251
8600
  case 14:
8252
8601
  this.fieldMessageShow(action.props.fieldKey, action.props.message);
8253
- return [3 /*break*/, 72];
8602
+ return [3 /*break*/, 73];
8254
8603
  case 15:
8255
8604
  this.fieldMessageHide(action.props.fieldKey, action.props.message);
8256
- return [3 /*break*/, 72];
8605
+ return [3 /*break*/, 73];
8257
8606
  case 16: return [4 /*yield*/, this.fieldApiTimerMessageShow(action.props.fieldKey, action.props.timer)];
8258
8607
  case 17:
8259
8608
  _16.sent();
8260
- return [3 /*break*/, 72];
8609
+ return [3 /*break*/, 73];
8261
8610
  case 18: return [4 /*yield*/, this.fieldApiTimerMessageHide(action.props.fieldKey)];
8262
8611
  case 19:
8263
8612
  _16.sent();
8264
- return [3 /*break*/, 72];
8613
+ return [3 /*break*/, 73];
8265
8614
  case 20: return [4 /*yield*/, this.setValue(action, object)];
8266
8615
  case 21:
8267
8616
  _16.sent();
8268
- return [3 /*break*/, 72];
8617
+ return [3 /*break*/, 73];
8269
8618
  case 22: return [4 /*yield*/, this.setFieldDefaultValue(action, object)];
8270
8619
  case 23:
8271
8620
  _16.sent();
8272
- return [3 /*break*/, 72];
8621
+ return [3 /*break*/, 73];
8273
8622
  case 24: return [4 /*yield*/, this.setApiStatus(action, object)];
8274
8623
  case 25:
8275
8624
  _16.sent();
8276
- return [3 /*break*/, 72];
8625
+ return [3 /*break*/, 73];
8277
8626
  case 26: return [4 /*yield*/, this.setApiHeaderValue(action, object)];
8278
8627
  case 27:
8279
8628
  _16.sent();
8280
- return [3 /*break*/, 72];
8629
+ return [3 /*break*/, 73];
8281
8630
  case 28: return [4 /*yield*/, this.setApiHeaderValidity(action, object)];
8282
8631
  case 29:
8283
8632
  _16.sent();
8284
- return [3 /*break*/, 72];
8633
+ return [3 /*break*/, 73];
8285
8634
  case 30: return [4 /*yield*/, this.setApiBodyValue(action, object)];
8286
8635
  case 31:
8287
8636
  _16.sent();
8288
- return [3 /*break*/, 72];
8637
+ return [3 /*break*/, 73];
8289
8638
  case 32: return [4 /*yield*/, this.setApiBodyValidity(action, object)];
8290
8639
  case 33:
8291
8640
  _16.sent();
8292
- return [3 /*break*/, 72];
8641
+ return [3 /*break*/, 73];
8293
8642
  case 34: return [4 /*yield*/, this.setDropdownOptions(action, object)];
8294
8643
  case 35:
8295
8644
  _16.sent();
8296
- return [3 /*break*/, 72];
8645
+ return [3 /*break*/, 73];
8297
8646
  case 36: return [4 /*yield*/, this.setFieldValidity(action, object)];
8298
8647
  case 37:
8299
8648
  _16.sent();
8300
- return [3 /*break*/, 72];
8649
+ return [3 /*break*/, 73];
8301
8650
  case 38:
8302
8651
  this.handleConnectedElements({ key: action.props.fieldKey }, "ON_ACTION");
8303
- return [3 /*break*/, 72];
8652
+ return [3 /*break*/, 73];
8304
8653
  case 39: return [4 /*yield*/, this.fieldApiCall(action, object)];
8305
8654
  case 40:
8306
8655
  _16.sent();
8307
- return [3 /*break*/, 72];
8656
+ return [3 /*break*/, 73];
8308
8657
  case 41: return [4 /*yield*/, this.fieldMultipleApiCalls(action, object)];
8309
8658
  case 42:
8310
8659
  _16.sent();
8311
- return [3 /*break*/, 72];
8660
+ return [3 /*break*/, 73];
8312
8661
  case 43: return [4 /*yield*/, this.fieldMultipleApiCallsEnd(action, object)];
8313
8662
  case 44:
8314
8663
  _16.sent();
8315
- return [3 /*break*/, 72];
8664
+ return [3 /*break*/, 73];
8316
8665
  case 45: return [4 /*yield*/, this.taskApiCall(action, object)];
8317
8666
  case 46:
8318
8667
  _16.sent();
8319
- return [3 /*break*/, 72];
8668
+ return [3 /*break*/, 73];
8320
8669
  case 47: return [4 /*yield*/, this.taskMultipleApiCalls(action, object)];
8321
8670
  case 48:
8322
8671
  _16.sent();
8323
- return [3 /*break*/, 72];
8672
+ return [3 /*break*/, 73];
8324
8673
  case 49: return [4 /*yield*/, this.taskMultipleApiCallsEnd(action, object)];
8325
8674
  case 50:
8326
8675
  _16.sent();
8327
- return [3 /*break*/, 72];
8676
+ return [3 /*break*/, 73];
8328
8677
  case 51:
8329
8678
  if (!kwikidToolkit.checkObjectKeyExists(action.props.url, "source")) return [3 /*break*/, 53];
8330
8679
  redirectToUrl_Source = new kwikidToolkit.Source(object);
@@ -8341,7 +8690,7 @@
8341
8690
  _16.label = 54;
8342
8691
  case 54:
8343
8692
  this.showPreview(action.props);
8344
- return [3 /*break*/, 72];
8693
+ return [3 /*break*/, 73];
8345
8694
  case 55:
8346
8695
  if (!kwikidToolkit.checkObjectKeyExists(action.props.message, "source")) return [3 /*break*/, 57];
8347
8696
  previewErrorShow_Source = new kwikidToolkit.Source(object);
@@ -8359,47 +8708,50 @@
8359
8708
  _16.label = 57;
8360
8709
  case 57:
8361
8710
  this.showErrorPreview(action.props);
8362
- return [3 /*break*/, 72];
8711
+ return [3 /*break*/, 73];
8363
8712
  case 58:
8364
8713
  this.showPopupForm(action.props.popupFormKey, (_b = (_a = action.props) === null || _a === void 0 ? void 0 : _a.popupType) !== null && _b !== void 0 ? _b : "DIALOG");
8365
- return [3 /*break*/, 72];
8714
+ return [3 /*break*/, 73];
8366
8715
  case 59:
8367
8716
  this.waitingForChanges = false;
8368
- return [3 /*break*/, 72];
8717
+ return [3 /*break*/, 73];
8369
8718
  case 60:
8370
- this.toggleErrorNotification(true);
8371
- return [3 /*break*/, 72];
8719
+ this.handleOnScrollToField(action.props.fieldKey);
8720
+ return [3 /*break*/, 73];
8372
8721
  case 61:
8373
- this.toggleErrorNotification(false);
8374
- return [3 /*break*/, 72];
8722
+ this.toggleErrorNotification(true);
8723
+ return [3 /*break*/, 73];
8375
8724
  case 62:
8376
- this.stopTaskExecution = false;
8377
- return [3 /*break*/, 72];
8725
+ this.toggleErrorNotification(false);
8726
+ return [3 /*break*/, 73];
8378
8727
  case 63:
8379
- this.stopTaskExecution = true;
8380
- return [3 /*break*/, 72];
8728
+ this.stopTaskExecution = false;
8729
+ return [3 /*break*/, 73];
8381
8730
  case 64:
8731
+ this.stopTaskExecution = true;
8732
+ return [3 /*break*/, 73];
8733
+ case 65:
8382
8734
  this.dialogShow({
8383
8735
  html: (_c = action.props) === null || _c === void 0 ? void 0 : _c.html,
8384
8736
  label: (_d = action.props) === null || _d === void 0 ? void 0 : _d.label,
8385
8737
  size: (_e = action.props) === null || _e === void 0 ? void 0 : _e.size,
8386
8738
  button: (_f = action.props) === null || _f === void 0 ? void 0 : _f.button
8387
8739
  });
8388
- return [3 /*break*/, 72];
8389
- case 65:
8390
- this.dialogHide();
8391
- return [3 /*break*/, 72];
8740
+ return [3 /*break*/, 73];
8392
8741
  case 66:
8393
- this.handleOnClickSaveForm(undefined);
8394
- return [3 /*break*/, 72];
8742
+ this.dialogHide();
8743
+ return [3 /*break*/, 73];
8395
8744
  case 67:
8396
- this.alertShow(action.props.type, action.props.message);
8397
- return [3 /*break*/, 72];
8745
+ this.handleOnClickSaveForm(undefined);
8746
+ return [3 /*break*/, 73];
8398
8747
  case 68:
8399
- 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];
8400
8752
  fieldHtmlMessage_Source = new kwikidToolkit.Source(object);
8401
8753
  return [4 /*yield*/, fieldHtmlMessage_Source.getValueFromSource(action.props.message.source)];
8402
- case 69:
8754
+ case 70:
8403
8755
  fieldHtmlMessageSourceValue = _16.sent();
8404
8756
  if (typeof fieldHtmlMessageSourceValue == "string" ||
8405
8757
  typeof fieldHtmlMessageSourceValue == "number") {
@@ -8409,30 +8761,27 @@
8409
8761
  fieldHtmlMessageSourceValue = "";
8410
8762
  }
8411
8763
  action = kwikidToolkit.setValueToObjectPath(action, "props.message.message", fieldHtmlMessageSourceValue);
8412
- _16.label = 70;
8413
- case 70:
8764
+ _16.label = 71;
8765
+ case 71:
8414
8766
  action.props.message.message = updateLanguage(action.props.message.message, getLanguage());
8415
8767
  this.setHtml(action.props.fieldKey, action.props.message);
8416
- return [3 /*break*/, 72];
8417
- case 71: return [3 /*break*/, 72];
8418
- case 72: return [2 /*return*/];
8768
+ return [3 /*break*/, 73];
8769
+ case 72: return [3 /*break*/, 73];
8770
+ case 73: return [2 /*return*/];
8419
8771
  }
8420
8772
  });
8421
8773
  });
8422
8774
  };
8423
8775
  return KwikIDFormViewComponent;
8424
8776
  }());
8425
- /** @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 });
8426
- /** @nocollapse */ KwikIDFormViewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: { allFormsData: "allFormsData", apiCallResponse: "apiCallResponse", buttonClickResponse: "buttonClickResponse", formConfig: "formConfig", formData: "formData", isMobileView: "isMobileView", popupFormCallback: "popupFormCallback", userConfig: "userConfig", stepConfig: "stepConfig" }, outputs: { getLogs: "getLogs", getUnsavedDataState: "getUnsavedDataState", onActionShowPopupForm: "onActionShowPopupForm", onClickApiCall: "onClickApiCall", 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 } });
8427
8779
  __decorate([
8428
8780
  kwikidToolkit.logMethod
8429
8781
  ], KwikIDFormViewComponent.prototype, "resetCamera", null);
8430
8782
  __decorate([
8431
8783
  kwikidToolkit.logMethod
8432
8784
  ], KwikIDFormViewComponent.prototype, "ngOnInit", null);
8433
- __decorate([
8434
- kwikidToolkit.logMethod
8435
- ], KwikIDFormViewComponent.prototype, "ngAfterViewInit", null);
8436
8785
  __decorate([
8437
8786
  kwikidToolkit.logMethod
8438
8787
  ], KwikIDFormViewComponent.prototype, "ngOnChanges", null);
@@ -8517,6 +8866,9 @@
8517
8866
  __decorate([
8518
8867
  kwikidToolkit.logMethod
8519
8868
  ], KwikIDFormViewComponent.prototype, "handleGetKeyValue", null);
8869
+ __decorate([
8870
+ kwikidToolkit.logMethod
8871
+ ], KwikIDFormViewComponent.prototype, "handleOnClickResetFormFields2", null);
8520
8872
  __decorate([
8521
8873
  kwikidToolkit.logMethod
8522
8874
  ], KwikIDFormViewComponent.prototype, "handleOnClickResetFormFields", null);
@@ -8547,6 +8899,9 @@
8547
8899
  __decorate([
8548
8900
  kwikidToolkit.logMethod
8549
8901
  ], KwikIDFormViewComponent.prototype, "handleOnApiTimerStop", null);
8902
+ __decorate([
8903
+ kwikidToolkit.logMethod
8904
+ ], KwikIDFormViewComponent.prototype, "handleOnScrollToField", null);
8550
8905
  __decorate([
8551
8906
  kwikidToolkit.logMethod
8552
8907
  ], KwikIDFormViewComponent.prototype, "toggleErrorNotification", null);
@@ -8580,6 +8935,9 @@
8580
8935
  __decorate([
8581
8936
  kwikidToolkit.logMethod
8582
8937
  ], KwikIDFormViewComponent.prototype, "fieldReset", null);
8938
+ __decorate([
8939
+ kwikidToolkit.logMethod
8940
+ ], KwikIDFormViewComponent.prototype, "fieldGroupReset", null);
8583
8941
  __decorate([
8584
8942
  kwikidToolkit.logMethod
8585
8943
  ], KwikIDFormViewComponent.prototype, "fieldHideApiLoader", null);
@@ -8715,8 +9073,14 @@
8715
9073
  }] }, { type: i5__namespace.TuiDialogService, decorators: [{
8716
9074
  type: i0.Inject,
8717
9075
  args: [i5.TuiDialogService]
8718
- }] }, { type: i3__namespace.KwikUILoaderService }, { type: i4__namespace.KwikIDCameraRecordService }, { type: i0__namespace.ChangeDetectorRef }];
8719
- }, 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: [{
8720
9084
  type: i0.ViewChild,
8721
9085
  args: ["dialog"]
8722
9086
  }], preview: [{
@@ -8724,6 +9088,8 @@
8724
9088
  args: ["preview"]
8725
9089
  }], allFormsData: [{
8726
9090
  type: i0.Input
9091
+ }], extraData: [{
9092
+ type: i0.Input
8727
9093
  }], apiCallResponse: [{
8728
9094
  type: i0.Input
8729
9095
  }], buttonClickResponse: [{
@@ -8758,7 +9124,7 @@
8758
9124
  type: i0.Output
8759
9125
  }], onClickViewForms: [{
8760
9126
  type: i0.Output
8761
- }], 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: [] } });
8762
9128
 
8763
9129
  var EFormType;
8764
9130
  (function (EFormType) {
@@ -9086,6 +9452,7 @@
9086
9452
  this.loaderService = loaderService;
9087
9453
  this.dialogs = dialogs;
9088
9454
  this.formsData = {};
9455
+ this.extraData = {};
9089
9456
  this.activeFormData = {};
9090
9457
  this.apiCallResponse = {};
9091
9458
  this.buttonClickResponse = {};
@@ -9185,6 +9552,9 @@
9185
9552
  this.formsData = changes.formsData.currentValue;
9186
9553
  this.initializeForms("ON_CHANGE");
9187
9554
  }
9555
+ if (verifyChange("extraData")) {
9556
+ this.extraData = changes.extraData.currentValue;
9557
+ }
9188
9558
  if (verifyChange("apiCallResponse")) {
9189
9559
  this.apiCallResponse = changes.apiCallResponse.currentValue;
9190
9560
  this.toggleLoader(false);
@@ -9538,7 +9908,8 @@
9538
9908
  rulesMapping = new kwikidToolkit.Rule(rules, {
9539
9909
  USER_CONFIG: this.userConfig,
9540
9910
  FORMS_LIST: this.formsList,
9541
- ALL_FORMS_DATA: this.allFormsData
9911
+ ALL_FORMS_DATA: this.allFormsData,
9912
+ EXTRA_DATA: this.extraData
9542
9913
  }).mapping();
9543
9914
  _s.label = 3;
9544
9915
  case 3:
@@ -9552,7 +9923,8 @@
9552
9923
  if (!conditionEvaluation) return [3 /*break*/, 6];
9553
9924
  actions_2 = new kwikidToolkit.Action(action, rulesMapping, {
9554
9925
  FORMS_LIST: this.formsList,
9555
- ALL_FORMS_DATA: this.allFormsData
9926
+ ALL_FORMS_DATA: this.allFormsData,
9927
+ EXTRA_DATA: this.extraData
9556
9928
  }, this.takeAction.bind(this));
9557
9929
  return [4 /*yield*/, actions_2.execute()];
9558
9930
  case 5:
@@ -9657,7 +10029,8 @@
9657
10029
  case 3:
9658
10030
  sources = new kwikidToolkit.Source({
9659
10031
  USER_CONFIG: this.userConfig,
9660
- ALL_FORMS_DATA: this.formsData
10032
+ ALL_FORMS_DATA: this.formsData,
10033
+ EXTRA_DATA: this.extraData
9661
10034
  });
9662
10035
  return [4 /*yield*/, sources.getValueFromSource(action.props.value.source)];
9663
10036
  case 4:
@@ -9665,6 +10038,7 @@
9665
10038
  sources.setValueToSource(action.props.value.destination, sourceValue);
9666
10039
  this.userConfig = sources.object.USER_CONFIG;
9667
10040
  this.formsData = sources.object.ALL_FORMS_DATA;
10041
+ this.extraData = sources.object.EXTRA_DATA;
9668
10042
  return [3 /*break*/, 6];
9669
10043
  case 5: return [3 /*break*/, 6];
9670
10044
  case 6: return [2 /*return*/];
@@ -9777,7 +10151,7 @@
9777
10151
  formConfig = new Converter().updateFormConfigMiscellaneous(formConfig, {
9778
10152
  formsListLength: this.findFormsListLength(this.formsList)
9779
10153
  });
9780
- this.activeFormConfig = kwikidToolkit.mergeObjects(activeFormConfig, formConfig);
10154
+ this.activeFormConfig = kwikidToolkit.mergeObjects({}, activeFormConfig, formConfig);
9781
10155
  switch (triggerType) {
9782
10156
  case "BUTTON_CLICK":
9783
10157
  this.triggerLogs(ELogEventType.FORM__FORM_OPEN_BUTTON_CLICK, {
@@ -10083,7 +10457,7 @@
10083
10457
  return KwikIDFormsRendererComponent;
10084
10458
  }());
10085
10459
  /** @nocollapse */ KwikIDFormsRendererComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDFormsRendererComponent, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }, { token: i7.TuiPreviewDialogService }, { token: i3__namespace.KwikUILoaderService }, { token: i5.TuiDialogService }], target: i0__namespace.ɵɵFactoryTarget.Component });
10086
- /** @nocollapse */ KwikIDFormsRendererComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormsRendererComponent, selector: "kwikid-forms-renderer", inputs: { stepConfig: "stepConfig", userConfig: "userConfig", formsData: "formsData", activeFormData: "activeFormData", apiCallResponse: "apiCallResponse", buttonClickResponse: "buttonClickResponse" }, outputs: { onClickSubmit: "onClickSubmit", getFormData: "getFormData", onClickApiCall: "onClickApiCall", onClickViewFile: "onClickViewFile", getLogs: "getLogs", onClickFormFieldButton: "onClickFormFieldButton" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, viewQueries: [{ propertyName: "preview", first: true, predicate: ["preview"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div ngClass=\"kwikid-renderer\">\n <div\n ngClass=\"kwikid-layout-container\"\n *ngIf=\"!loading\"\n >\n <div\n ngClass=\"kwikid-sections-container\"\n *ngIf=\"showFormSections\"\n class=\"active\"\n [class.active]=\"showFormSections\"\n [class.mobile]=\"isMobileView\"\n >\n <kwikid-forms-list\n [showFormFields]=\"this.showFormFields\"\n [activeFormConfig]=\"this.activeFormConfig\"\n [userConfig]=\"this.userConfig\"\n [formsList]=\"this.formsList\"\n [stepConfig]=\"this.stepConfig\"\n [isUnsavedData]=\"this.isUnsavedData\"\n [formsListCompleted]=\"this.formsListCompleted\"\n [isMobileView]=\"this.isMobileView\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSetActiveForm)=\"\n this.handleOnClickSetActiveForm($event, 'BUTTON_CLICK')\n \"\n (onClickSubmitForms)=\"this.handleOnClickSubmitForms($event)\"\n ></kwikid-forms-list>\n </div>\n <div\n ngClass=\"kwikid-forms-container\"\n *ngIf=\"\n this.showForm &&\n this.showFormFields &&\n this.activeFormConfig !== undefined\n \"\n [class.active]=\"showFormFields\"\n [class.mobile]=\"isMobileView\"\n [@panelInOut]\n >\n <kwikid-form-view\n *ngIf=\"this.activeFormConfig.type === 'FORM'\"\n [formConfig]=\"this.activeFormConfig\"\n [allFormsData]=\"this.allFormsData\"\n [isMobileView]=\"this.isMobileView\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [popupFormCallback]=\"this.popupFormCallback\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getUnsavedDataState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (onClickViewFile)=\"handleOnClickViewFile($event)\"\n (onActionShowPopupForm)=\"\n this.handleOnActionShowPopupForm($event, content)\n \"\n (onClickGoBack)=\"this.handleOnClickGoBack($event)\"\n (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'FORM', undefined)\n \"\n ></kwikid-form-view>\n </div>\n </div>\n</div>\n\n<kwikui-loader></kwikui-loader>\n\n<tui-push\n id=\"error-notification\"\n *tuiPush=\"showErrorNotification\"\n heading=\"Please complete the required Forms!\"\n type=\"Error\"\n (close)=\"toggleErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n<ng-template\n #preview\n let-preview\n>\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n class=\"preview-container\"\n *ngIf=\"popupFormConfig\"\n >\n <tui-preview-title *ngIf=\"previewProperties.title !== ''\">{{\n previewProperties.title\n }}</tui-preview-title>\n\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formData]=\"activePopupFormData\"\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"allFormsData\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [isMobileView]=\"this.isMobileView\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getSavedState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'POPUP_FORM', undefined)\n \"\n ></kwikid-form-view>\n </div>\n\n <button\n tuiIconButton\n tuiPreviewAction\n icon=\"tuiIconCloseLarge\"\n title=\"Close\"\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n</ng-template>\n<ng-template\n #content\n let-context\n>\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formData]=\"activePopupFormData\"\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"allFormsData\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [isMobileView]=\"this.isMobileView\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getSavedState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'POPUP_FORM', context)\n \"\n ></kwikid-form-view>\n </div>\n</ng-template>\n", styles: [":host{position:relative;height:100%}.kwikid-root{width:100%;height:100%}.kwikid-renderer{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;width:100%;height:100%}.kwikid-layout-container{display:flex;flex-direction:row;padding:0 1rem;height:100%;justify-content:center;align-items:stretch;background:var(--tui-secondary-active);position:relative}.kwikid-sections-container{display:block;width:100%;max-width:400px;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);margin:auto 1rem auto 0;box-shadow:0 0 12px -8px var(--tui-secondary)}.kwikid-sections-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s;height:100%;border-radius:0;max-width:unset}.kwikid-forms-container{display:block;width:100%;max-width:min(50%,600px);margin:auto 0;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);box-shadow:0 0 12px -8px var(--tui-primary)}.kwikid-forms-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s;height:100%;border-radius:0;max-width:unset}@media screen and (max-width: 600px){.kwikid-layout-container{padding:0;background:transparent}.kwikid-sections-container{position:absolute;max-width:100%;bottom:-10000px;left:-10000px;opacity:0;padding:0;visibility:hidden}.kwikid-sections-container.active{visibility:visible}.kwikid-sections-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container{display:none;max-width:100%;height:100%;padding:0;border-radius:0;box-shadow:none}.kwikid-forms-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container.active{display:block}}#error-notification{background-color:var(--tui-error-fill);color:#fff!important}#error-notification .t-top{color:#fff!important}#error-notification .t-close{color:#fff!important}.preview-container{display:flex!important;flex-grow:1!important;flex-direction:column!important;align-content:center!important;justify-content:space-between!important;align-items:stretch!important}.preview-container .preview-iframe{width:100vw;height:100vh}.preview-container .preview-unavailable{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:center;color:#fff;font-size:1.2rem;top:50%;left:50%;width:100%;height:100vh}.preview-container .preview-unavailable>*:not(:last-child){margin-bottom:1rem}.kwikid-form-view-popup-container{border-radius:1rem;background:var(--tui-base-01)}\n", "::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: ["showFormFields", "userConfig", "stepConfig", "activeFormConfig", "formsList", "formsListCompleted", "isMobileView", "isUnsavedData"], outputs: ["getLogs", "onClickSetActiveForm", "onClickHideFormsList", "onClickSubmitForms"] }, { type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: ["allFormsData", "apiCallResponse", "buttonClickResponse", "formConfig", "formData", "isMobileView", "popupFormCallback", "userConfig", "stepConfig"], outputs: ["getLogs", "getUnsavedDataState", "onActionShowPopupForm", "onClickApiCall", "onClickViewFile", "onClickFormFieldButton", "onClickGoBack", "onClickSaveForm", "onClickViewForms"] }, { 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"] }], directives: [{ type: i3__namespace$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i6__namespace.TuiPushDirective, selector: "tui-push" }, { type: i7__namespace.TuiPreviewActionDirective, selector: "[tuiPreviewAction]" }], animations: [
10460
+ /** @nocollapse */ KwikIDFormsRendererComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormsRendererComponent, selector: "kwikid-forms-renderer", inputs: { stepConfig: "stepConfig", userConfig: "userConfig", formsData: "formsData", extraData: "extraData", activeFormData: "activeFormData", apiCallResponse: "apiCallResponse", buttonClickResponse: "buttonClickResponse" }, outputs: { onClickSubmit: "onClickSubmit", getFormData: "getFormData", onClickApiCall: "onClickApiCall", onClickViewFile: "onClickViewFile", getLogs: "getLogs", onClickFormFieldButton: "onClickFormFieldButton" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, viewQueries: [{ propertyName: "preview", first: true, predicate: ["preview"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div ngClass=\"kwikid-renderer\">\n <div\n ngClass=\"kwikid-layout-container\"\n *ngIf=\"!loading\"\n >\n <div\n ngClass=\"kwikid-sections-container\"\n *ngIf=\"showFormSections\"\n class=\"active\"\n [class.active]=\"showFormSections\"\n [class.mobile]=\"isMobileView\"\n >\n <kwikid-forms-list\n [showFormFields]=\"this.showFormFields\"\n [activeFormConfig]=\"this.activeFormConfig\"\n [userConfig]=\"this.userConfig\"\n [formsList]=\"this.formsList\"\n [stepConfig]=\"this.stepConfig\"\n [isUnsavedData]=\"this.isUnsavedData\"\n [formsListCompleted]=\"this.formsListCompleted\"\n [isMobileView]=\"this.isMobileView\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSetActiveForm)=\"\n this.handleOnClickSetActiveForm($event, 'BUTTON_CLICK')\n \"\n (onClickSubmitForms)=\"this.handleOnClickSubmitForms($event)\"\n ></kwikid-forms-list>\n </div>\n <div\n ngClass=\"kwikid-forms-container\"\n *ngIf=\"\n this.showForm &&\n this.showFormFields &&\n this.activeFormConfig !== undefined\n \"\n [class.active]=\"showFormFields\"\n [class.mobile]=\"isMobileView\"\n [@panelInOut]\n >\n <kwikid-form-view\n *ngIf=\"this.activeFormConfig.type === 'FORM'\"\n [formConfig]=\"this.activeFormConfig\"\n [allFormsData]=\"this.allFormsData\"\n [extraData]=\"extraData\"\n [isMobileView]=\"this.isMobileView\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [popupFormCallback]=\"this.popupFormCallback\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getUnsavedDataState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (onClickViewFile)=\"handleOnClickViewFile($event)\"\n (onActionShowPopupForm)=\"\n this.handleOnActionShowPopupForm($event, content)\n \"\n (onClickGoBack)=\"this.handleOnClickGoBack($event)\"\n (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'FORM', undefined)\n \"\n ></kwikid-form-view>\n </div>\n </div>\n</div>\n\n<kwikui-loader></kwikui-loader>\n\n<tui-push\n id=\"error-notification\"\n *tuiPush=\"showErrorNotification\"\n heading=\"Please complete the required Forms!\"\n type=\"Error\"\n (close)=\"toggleErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n<ng-template\n #preview\n let-preview\n>\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n class=\"preview-container\"\n *ngIf=\"popupFormConfig\"\n >\n <tui-preview-title *ngIf=\"previewProperties.title !== ''\">{{\n previewProperties.title\n }}</tui-preview-title>\n\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formData]=\"activePopupFormData\"\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"allFormsData\"\n [extraData]=\"extraData\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [isMobileView]=\"this.isMobileView\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getSavedState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'POPUP_FORM', undefined)\n \"\n ></kwikid-form-view>\n </div>\n\n <button\n tuiIconButton\n tuiPreviewAction\n icon=\"tuiIconCloseLarge\"\n title=\"Close\"\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n</ng-template>\n<ng-template\n #content\n let-context\n>\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formData]=\"activePopupFormData\"\n [formConfig]=\"popupFormConfig\"\n [extraData]=\"extraData\"\n [allFormsData]=\"allFormsData\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [isMobileView]=\"this.isMobileView\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getSavedState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'POPUP_FORM', context)\n \"\n ></kwikid-form-view>\n </div>\n</ng-template>\n", styles: [":host{position:relative;height:100%}.kwikid-root{width:100%;height:100%}.kwikid-renderer{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;width:100%;height:100%}.kwikid-layout-container{display:flex;flex-direction:row;padding:0 1rem;height:100%;justify-content:center;align-items:stretch;background:var(--tui-secondary-active);position:relative}.kwikid-sections-container{display:block;width:100%;max-width:400px;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);margin:auto 1rem auto 0;box-shadow:0 0 12px -8px var(--tui-secondary)}.kwikid-sections-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s;height:100%;border-radius:0;max-width:unset}.kwikid-forms-container{display:block;width:100%;max-width:min(50%,600px);margin:auto 0;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);box-shadow:0 0 12px -8px var(--tui-primary)}.kwikid-forms-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s;height:100%;border-radius:0;max-width:unset}@media screen and (max-width: 600px){.kwikid-layout-container{padding:0;background:transparent}.kwikid-sections-container{position:absolute;max-width:100%;bottom:-10000px;left:-10000px;opacity:0;padding:0;visibility:hidden}.kwikid-sections-container.active{visibility:visible}.kwikid-sections-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container{display:none;max-width:100%;height:100%;padding:0;border-radius:0;box-shadow:none}.kwikid-forms-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container.active{display:block}}#error-notification{background-color:var(--tui-error-fill);color:#fff!important}#error-notification .t-top{color:#fff!important}#error-notification .t-close{color:#fff!important}.preview-container{display:flex!important;flex-grow:1!important;flex-direction:column!important;align-content:center!important;justify-content:space-between!important;align-items:stretch!important}.preview-container .preview-iframe{width:100vw;height:100vh}.preview-container .preview-unavailable{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:center;color:#fff;font-size:1.2rem;top:50%;left:50%;width:100%;height:100vh}.preview-container .preview-unavailable>*:not(:last-child){margin-bottom:1rem}.kwikid-form-view-popup-container{border-radius:1rem;background:var(--tui-base-01)}\n", "::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: ["showFormFields", "userConfig", "stepConfig", "activeFormConfig", "formsList", "formsListCompleted", "isMobileView", "isUnsavedData"], outputs: ["getLogs", "onClickSetActiveForm", "onClickHideFormsList", "onClickSubmitForms"] }, { type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: ["allFormsData", "extraData", "apiCallResponse", "buttonClickResponse", "formConfig", "formData", "isMobileView", "popupFormCallback", "userConfig", "stepConfig"], outputs: ["getLogs", "getUnsavedDataState", "onActionShowPopupForm", "onClickApiCall", "onClickViewFile", "onClickFormFieldButton", "onClickGoBack", "onClickSaveForm", "onClickViewForms"] }, { 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"] }], directives: [{ type: i3__namespace$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i6__namespace.TuiPushDirective, selector: "tui-push" }, { type: i7__namespace.TuiPreviewActionDirective, selector: "[tuiPreviewAction]" }], animations: [
10087
10461
  animations.trigger("panelInOut", [
10088
10462
  animations.transition(":enter", [
10089
10463
  animations.style({ transform: "translateY(100%)" }),
@@ -10204,6 +10578,8 @@
10204
10578
  type: i0.Input
10205
10579
  }], formsData: [{
10206
10580
  type: i0.Input
10581
+ }], extraData: [{
10582
+ type: i0.Input
10207
10583
  }], activeFormData: [{
10208
10584
  type: i0.Input
10209
10585
  }], apiCallResponse: [{