kwikid-forms 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/bundles/kwikid-forms.umd.js +724 -1041
  2. package/bundles/kwikid-forms.umd.js.map +1 -1
  3. package/esm2015/lib/renderer/form-view/definitions/form-view.actions.definition.js +21 -0
  4. package/esm2015/lib/renderer/form-view/definitions/form-view.apis.definition.js +8 -0
  5. package/esm2015/lib/renderer/form-view/definitions/form-view.commons.definition.js +8 -0
  6. package/esm2015/lib/renderer/form-view/definitions/form-view.fields.definition.js +16 -0
  7. package/esm2015/lib/renderer/form-view/definitions/form-view.form-validations.definition.js +2 -0
  8. package/esm2015/lib/renderer/form-view/definitions/form-view.triggers.definition.js +2 -0
  9. package/esm2015/lib/renderer/form-view/form-view.component.js +173 -163
  10. package/esm2015/lib/renderer/form-view/form-view.module.js +4 -3
  11. package/esm2015/lib/renderer/form-view/form-view.service.js +8 -8
  12. package/esm2015/lib/renderer/form-view/helpers/form-view.apis.helper.js +29 -70
  13. package/esm2015/lib/renderer/form-view/helpers/form-view.defaults.helper.js +43 -13
  14. package/esm2015/lib/renderer/form-view/helpers/form-view.fields.helper.js +45 -63
  15. package/esm2015/lib/renderer/form-view/helpers/form-view.form-validations.helper.js +101 -0
  16. package/esm2015/lib/renderer/form-view/pipes/safe-html.pipe.js +25 -0
  17. package/esm2015/lib/renderer/renderer.component.js +8 -7
  18. package/esm2015/lib/renderer/renderer.config-converter.helper.js +113 -58
  19. package/esm2015/lib/renderer/renderer.service.js +11 -14
  20. package/fesm2015/kwikid-forms.js +488 -758
  21. package/fesm2015/kwikid-forms.js.map +1 -1
  22. package/lib/renderer/form-view/definitions/{actions/form-view.actions.type.definitions.d.ts → form-view.actions.definition.d.ts} +21 -9
  23. package/lib/renderer/form-view/definitions/{apis/form-view.apis.type.definitions.d.ts → form-view.apis.definition.d.ts} +7 -3
  24. package/lib/renderer/form-view/definitions/form-view.commons.definition.d.ts +11 -0
  25. package/lib/renderer/form-view/definitions/{fields/form-view.fields.type.definitions.d.ts → form-view.fields.definition.d.ts} +27 -6
  26. package/lib/renderer/form-view/definitions/form-view.form-validations.definition.d.ts +8 -0
  27. package/lib/renderer/form-view/definitions/{triggers/form-view.triggers.type.definitions.d.ts → form-view.triggers.definition.d.ts} +0 -0
  28. package/lib/renderer/form-view/form-view.component.d.ts +5 -5
  29. package/lib/renderer/form-view/form-view.module.d.ts +7 -6
  30. package/lib/renderer/form-view/helpers/form-view.apis.helper.d.ts +7 -9
  31. package/lib/renderer/form-view/helpers/form-view.defaults.helper.d.ts +5 -3
  32. package/lib/renderer/form-view/helpers/form-view.fields.helper.d.ts +12 -17
  33. package/lib/renderer/form-view/helpers/form-view.form-validations.helper.d.ts +10 -0
  34. package/lib/renderer/form-view/pipes/safe-html.pipe.d.ts +15 -0
  35. package/package.json +3 -3
  36. package/esm2015/lib/renderer/form-view/definitions/actions/form-view.actions.enum.definitions.js +0 -20
  37. package/esm2015/lib/renderer/form-view/definitions/actions/form-view.actions.type.definitions.js +0 -2
  38. package/esm2015/lib/renderer/form-view/definitions/apis/form-view.apis.enum.definitions.js +0 -8
  39. package/esm2015/lib/renderer/form-view/definitions/apis/form-view.apis.type.definitions.js +0 -2
  40. package/esm2015/lib/renderer/form-view/definitions/common/form-view.common.enum.definitions.js +0 -101
  41. package/esm2015/lib/renderer/form-view/definitions/common/form-view.common.type.definitions.js +0 -2
  42. package/esm2015/lib/renderer/form-view/definitions/fields/form-view.fields.enum.definitions.js +0 -15
  43. package/esm2015/lib/renderer/form-view/definitions/fields/form-view.fields.type.definitions.js +0 -2
  44. package/esm2015/lib/renderer/form-view/definitions/sources/form-view.sources.type.definitions.js +0 -2
  45. package/esm2015/lib/renderer/form-view/definitions/triggers/form-view.triggers.type.definitions.js +0 -2
  46. package/esm2015/lib/renderer/form-view/definitions/validations/form-view.validations.type.definitions.js +0 -2
  47. package/esm2015/lib/renderer/form-view/helpers/form-view.common.helper.js +0 -136
  48. package/esm2015/lib/renderer/form-view/helpers/form-view.validations.helper.js +0 -161
  49. package/esm2015/lib/renderer/renderer.helper.js +0 -50
  50. package/lib/renderer/form-view/definitions/actions/form-view.actions.enum.definitions.d.ts +0 -18
  51. package/lib/renderer/form-view/definitions/apis/form-view.apis.enum.definitions.d.ts +0 -6
  52. package/lib/renderer/form-view/definitions/common/form-view.common.enum.definitions.d.ts +0 -97
  53. package/lib/renderer/form-view/definitions/common/form-view.common.type.definitions.d.ts +0 -7
  54. package/lib/renderer/form-view/definitions/fields/form-view.fields.enum.definitions.d.ts +0 -13
  55. package/lib/renderer/form-view/definitions/sources/form-view.sources.type.definitions.d.ts +0 -16
  56. package/lib/renderer/form-view/definitions/validations/form-view.validations.type.definitions.d.ts +0 -16
  57. package/lib/renderer/form-view/helpers/form-view.common.helper.d.ts +0 -19
  58. package/lib/renderer/form-view/helpers/form-view.validations.helper.d.ts +0 -25
  59. package/lib/renderer/renderer.helper.d.ts +0 -6
@@ -1,10 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/drag-drop'), require('@angular/core'), require('@angular/forms'), require('kwikui'), require('lodash'), require('@taiga-ui/core'), require('@taiga-ui/kit'), require('kwikid-toolkit'), require('rxjs/operators'), require('jsonpath'), require('@taiga-ui/cdk'), require('@angular/common'), require('@angular/animations'), require('@angular/common/http')) :
3
- typeof define === 'function' && define.amd ? define('kwikid-forms', ['exports', '@angular/cdk/drag-drop', '@angular/core', '@angular/forms', 'kwikui', 'lodash', '@taiga-ui/core', '@taiga-ui/kit', 'kwikid-toolkit', 'rxjs/operators', 'jsonpath', '@taiga-ui/cdk', '@angular/common', '@angular/animations', '@angular/common/http'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["kwikid-forms"] = {}, global.ng.cdk.dragDrop, global.ng.core, global.ng.forms, global.kwikui, global.lodash, global["@taiga-ui/core"], global["@taiga-ui/kit"], global["kwikid-toolkit"], global.rxjs.operators, global.jsonpath, global["@taiga-ui/cdk"], global.ng.common, global.ng.animations, global.ng.common.http));
5
- })(this, (function (exports, dragDrop, i0, i6, i2, _, i3, i4, kwikidToolkit, operators, jp, cdk, i5, animations, http) { 'use strict';
6
-
7
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/drag-drop'), require('@angular/core'), require('@angular/forms'), require('kwikui'), require('lodash'), require('@taiga-ui/core'), require('@taiga-ui/kit'), require('kwikid-toolkit'), require('rxjs/operators'), require('@taiga-ui/cdk'), require('@angular/common'), require('@angular/platform-browser'), require('@angular/animations'), require('@angular/common/http')) :
3
+ typeof define === 'function' && define.amd ? define('kwikid-forms', ['exports', '@angular/cdk/drag-drop', '@angular/core', '@angular/forms', 'kwikui', 'lodash', '@taiga-ui/core', '@taiga-ui/kit', 'kwikid-toolkit', 'rxjs/operators', '@taiga-ui/cdk', '@angular/common', '@angular/platform-browser', '@angular/animations', '@angular/common/http'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["kwikid-forms"] = {}, global.ng.cdk.dragDrop, global.ng.core, global.ng.forms, global.kwikui, global.lodash, global["@taiga-ui/core"], global["@taiga-ui/kit"], global["kwikid-toolkit"], global.rxjs.operators, global["@taiga-ui/cdk"], global.ng.common, global.ng.platformBrowser, global.ng.animations, global.ng.common.http));
5
+ })(this, (function (exports, dragDrop, i0, i6, i2, lodash, i3, i4, kwikidToolkit, operators, cdk, i5, i1, animations, http) { 'use strict';
8
6
 
9
7
  function _interopNamespace(e) {
10
8
  if (e && e.__esModule) return e;
@@ -27,11 +25,10 @@
27
25
  var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
28
26
  var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
29
27
  var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
30
- var ___default = /*#__PURE__*/_interopDefaultLegacy(_);
31
28
  var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
32
29
  var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
33
- var jp__default = /*#__PURE__*/_interopDefaultLegacy(jp);
34
30
  var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
31
+ var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
35
32
 
36
33
  /******************************************************************************
37
34
  Copyright (c) Microsoft Corporation.
@@ -510,7 +507,7 @@
510
507
  if (event.previousContainer !== event.container) {
511
508
  console.log("copying");
512
509
  // Clone the item that was dropped.
513
- var clone = _.cloneDeep(event.previousContainer.data[event.previousIndex]);
510
+ var clone = lodash.cloneDeep(event.previousContainer.data[event.previousIndex]);
514
511
  clone.id = clone.key + "__" + this.revisedRandId();
515
512
  event.previousContainer.data[event.previousIndex] = clone;
516
513
  var newFormGroup_1 = new i6.FormGroup({});
@@ -591,6 +588,7 @@
591
588
  EActionKey["FIELD_GROUP_HIDE"] = "FIELD_GROUP_HIDE";
592
589
  EActionKey["FIELD_GROUP_ENABLE"] = "FIELD_GROUP_ENABLE";
593
590
  EActionKey["FIELD_GROUP_DISABLE"] = "FIELD_GROUP_DISABLE";
591
+ EActionKey["SET_DROPDOWN_OPTIONS"] = "SET_DROPDOWN_OPTIONS";
594
592
  })(EActionKey || (EActionKey = {}));
595
593
 
596
594
  var EApiStatusType;
@@ -601,99 +599,6 @@
601
599
  EApiStatusType["FAILED"] = "failed";
602
600
  })(EApiStatusType || (EApiStatusType = {}));
603
601
 
604
- var EPatternKey;
605
- (function (EPatternKey) {
606
- EPatternKey["CUSTOM"] = "CUSTOM";
607
- EPatternKey["IS_ADDRESS"] = "IS_ADDRESS";
608
- EPatternKey["IS_ALPHA"] = "IS_ALPHA";
609
- EPatternKey["IS_ALPHANUMERIC"] = "IS_ALPHANUMERIC";
610
- EPatternKey["IS_BOOLEAN"] = "IS_BOOLEAN";
611
- EPatternKey["IS_EMAIL"] = "IS_EMAIL";
612
- EPatternKey["IS_EMPTY"] = "IS_EMPTY";
613
- EPatternKey["IS_FALSE"] = "IS_FALSE";
614
- EPatternKey["IS_HTML"] = "IS_HTML";
615
- EPatternKey["IS_INTEGER"] = "IS_INTEGER";
616
- EPatternKey["IS_IP_ADDRESS"] = "IS_IP_ADDRESS";
617
- EPatternKey["IS_JSON"] = "IS_JSON";
618
- EPatternKey["IS_LOWERCASE"] = "IS_LOWERCASE";
619
- EPatternKey["IS_NOT_EMPTY"] = "IS_NOT_EMPTY";
620
- EPatternKey["IS_NUMBER"] = "IS_NUMBER";
621
- EPatternKey["IS_TRUE"] = "IS_TRUE";
622
- EPatternKey["IS_UPPERCASE"] = "IS_UPPERCASE";
623
- EPatternKey["IS_URL"] = "IS_URL";
624
- EPatternKey["IS_AADHAAR_NUMBER"] = "IS_AADHAAR_NUMBER";
625
- EPatternKey["IS_BANK_ACCOUNT_NO"] = "IS_BANK_ACCOUNT_NO";
626
- EPatternKey["IS_BANK_SWIFT_CODE"] = "IS_BANK_SWIFT_CODE";
627
- EPatternKey["IS_BIRTH_CERTIFICATE_NO"] = "IS_BIRTH_CERTIFICATE_NO";
628
- EPatternKey["IS_CHEQUE_NO"] = "IS_CHEQUE_NO";
629
- EPatternKey["IS_CIN"] = "IS_CIN";
630
- EPatternKey["IS_CREDIT_CARD_NO"] = "IS_CREDIT_CARD_NO";
631
- EPatternKey["IS_DRIVING_LICENSE"] = "IS_DRIVING_LICENSE";
632
- EPatternKey["IS_GSTIN"] = "IS_GSTIN";
633
- EPatternKey["IS_IFSC_NO"] = "IS_IFSC_NO";
634
- EPatternKey["IS_MICR_CODE"] = "IS_MICR_CODE";
635
- EPatternKey["IS_MOBILE_NO"] = "IS_MOBILE_NO";
636
- EPatternKey["IS_MOBILE_NO_IN"] = "IS_MOBILE_NO_IN";
637
- EPatternKey["IS_NEFT_OR_RTGS_NO"] = "IS_NEFT_OR_RTGS_NO";
638
- EPatternKey["IS_PAN_NUMBER"] = "IS_PAN_NUMBER";
639
- EPatternKey["IS_PASSPORT"] = "IS_PASSPORT";
640
- EPatternKey["IS_PHONE_NO"] = "IS_PHONE_NO";
641
- EPatternKey["IS_PINCODE"] = "IS_PINCODE";
642
- EPatternKey["IS_PURCHASE_ORDER_NO"] = "IS_PURCHASE_ORDER_NO";
643
- EPatternKey["IS_RATION_CARD_NO"] = "IS_RATION_CARD_NO";
644
- EPatternKey["IS_SERVICE_TAX_NO"] = "IS_SERVICE_TAX_NO";
645
- EPatternKey["IS_SOCIAL_SECURITY_NO"] = "IS_SOCIAL_SECURITY_NO";
646
- EPatternKey["IS_UPI_TRANSACTION_REFERENCE_NO"] = "IS_UPI_TRANSACTION_REFERENCE_NO";
647
- EPatternKey["IS_VAT_TIN_NO"] = "IS_VAT_TIN_NO";
648
- EPatternKey["IS_VEHICLE_REGISTRATION_NO"] = "IS_VEHICLE_REGISTRATION_NO";
649
- EPatternKey["IS_VOTER_ID"] = "IS_VOTER_ID";
650
- })(EPatternKey || (EPatternKey = {}));
651
- var EPattern;
652
- (function (EPattern) {
653
- EPattern["IS_ALPHA"] = "^[a-zA-Z]+$";
654
- EPattern["IS_ADDRESS"] = "^(\\w*\\s*[#-,/.()&]*)+";
655
- EPattern["IS_ALPHANUMERIC"] = "^[a-zA-Z0-9]+$";
656
- EPattern["IS_BOOLEAN"] = "(true|false)";
657
- EPattern["IS_EMAIL"] = "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$";
658
- EPattern["IS_EMPTY"] = "^$";
659
- EPattern["IS_FALSE"] = "false";
660
- EPattern["IS_HTML"] = "^<([a-z]+)([^<]+)(?:>(.)</\\1>|\\s+/>)$";
661
- EPattern["IS_INTEGER"] = "^[+-]?d+$";
662
- EPattern["IS_IP_ADDRESS"] = "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$";
663
- EPattern["IS_JSON"] = "^\\s*({(.|\\s)}|[(.|\\s)])\\s*$";
664
- EPattern["IS_LOWERCASE"] = "^[a-z]+$";
665
- EPattern["IS_NOT_EMPTY"] = "^.+$";
666
- EPattern["IS_NUMBER"] = "^[+-]?d+(.d+)?$";
667
- EPattern["IS_TRUE"] = "true";
668
- EPattern["IS_UPPERCASE"] = "^[A-Z]+$";
669
- EPattern["IS_URL"] = "^(?:http(s)?://)?[w.-]+(?:.[w.-]+)+[w-._~:/?#[]@!$&'()*+,;=.]+$";
670
- EPattern["IS_AADHAAR_NUMBER"] = "^[0-9]{12}$";
671
- EPattern["IS_BANK_ACCOUNT_NO"] = "^[0-9]{9,18}$";
672
- EPattern["IS_BANK_SWIFT_CODE"] = "^[A-Z]{4}[A-Z]{2}[0-9A-Z]{2}[0-9A-Z]{3}$";
673
- EPattern["IS_BIRTH_CERTIFICATE_NO"] = "^[A-Z]{2}[0-9]{6}[A-Z]{1}[0-9]{2}$";
674
- EPattern["IS_CHEQUE_NO"] = "^[0-9]{6,14}$";
675
- EPattern["IS_CIN"] = "^[A-Z]{3}[0-9]{5}[0-9A-Z]{3}$";
676
- EPattern["IS_CREDIT_CARD_NO"] = "^[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}$";
677
- EPattern["IS_DRIVING_LICENSE"] = "^[A-Z]{2}[0-9]{2}((19|20)[0-9][0-9])[0-9]{7}$";
678
- EPattern["IS_GSTIN"] = "^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z]{1}[1-9A-Z]{1}Z[0-9A-Z]{1}$";
679
- EPattern["IS_IFSC_NO"] = "^[A-Z]{4}[0][A-Z0-9]{6}$";
680
- EPattern["IS_MICR_CODE"] = "^[0-9]{9}$";
681
- EPattern["IS_MOBILE_NO"] = "^[6-9]\\d{9}$";
682
- EPattern["IS_MOBILE_NO_IN"] = "^(\\+91)[6-9]\\d{9}$";
683
- EPattern["IS_NEFT_OR_RTGS_NO"] = "^[A-Z]{4}[0-9]{7}$";
684
- EPattern["IS_PAN_NUMBER"] = "^[A-Z]{5}[[0-9]{4}[A-Z]{1}$";
685
- EPattern["IS_PASSPORT"] = "^[A-PR-WYa-pr-wy][1-9]\\d\\s?\\d{4}[1-9]$";
686
- EPattern["IS_PHONE_NO"] = "^[6-9]\\d{9}$";
687
- EPattern["IS_PINCODE"] = "^[1-9][0-9]{5}$";
688
- EPattern["IS_PURCHASE_ORDER_NO"] = "^[0-9]{1,5}$";
689
- EPattern["IS_RATION_CARD_NO"] = "^[A-Z]{3}[0-9]{7}$";
690
- EPattern["IS_SERVICE_TAX_NO"] = "^[A-Z]{5}[0-9]{4}[A-Z]{1}$";
691
- EPattern["IS_SOCIAL_SECURITY_NO"] = "^[0-9]{3}-[0-9]{2}-[0-9]{4}$";
692
- EPattern["IS_UPI_TRANSACTION_REFERENCE_NO"] = "^[a-zA-Z0-9]{3,128}@[a-z]{3,9}$";
693
- EPattern["IS_VAT_TIN_NO"] = "^[0-9]{11}$";
694
- EPattern["IS_VEHICLE_REGISTRATION_NO"] = "^[A-Z]{2}[0-9]{2}((19|20)[0-9][0-9])[0-9]{6}$";
695
- EPattern["IS_VOTER_ID"] = "^[A-Z]{3}[0-9]{7}$";
696
- })(EPattern || (EPattern = {}));
697
602
  var EMessageType;
698
603
  (function (EMessageType) {
699
604
  EMessageType["DEFAULT"] = "default";
@@ -704,6 +609,7 @@
704
609
 
705
610
  var EFieldType;
706
611
  (function (EFieldType) {
612
+ EFieldType["HTML"] = "html";
707
613
  EFieldType["TITLE"] = "title";
708
614
  EFieldType["TEXT"] = "text";
709
615
  EFieldType["CHECKBOX"] = "checkbox";
@@ -717,168 +623,169 @@
717
623
  EFieldType["AADHAAR_NUMBER"] = "aadhaar-number";
718
624
  })(EFieldType || (EFieldType = {}));
719
625
 
720
- var hasKey$1 = function (object, key) {
721
- return object.hasOwnProperty(key);
722
- };
723
- var isEmpty$1 = function (value) {
724
- if (value === "" || value === undefined || value === null) {
725
- return true;
726
- }
727
- else if (value &&
728
- Object.keys(value).length === 0 &&
729
- Object.getPrototypeOf(value) === Object.prototype) {
730
- return true;
731
- }
732
- else if (Array.isArray(value)) {
733
- if (value.length === 0) {
734
- return true;
735
- }
736
- else {
737
- return false;
738
- }
739
- }
740
- else {
741
- return false;
742
- }
743
- };
744
- var isNotEmpty$1 = function (value) {
745
- return !isEmpty$1(value);
746
- };
747
- var handleJPQueryResponse$1 = function (value) {
748
- /**
749
- * jp.query doesn't always return an array with one element
750
- * so directly can't access with [0], need to check conditionally
751
- */
752
- if (Array.isArray(value)) {
753
- if (value.length > 0) {
754
- value = value[0];
755
- }
756
- else if (value.length === 0) {
757
- value = "";
626
+ var getFormFieldByKey = function (fields, key) {
627
+ var field = fields.find(function (field) {
628
+ if (field.key === key) {
629
+ return field;
758
630
  }
759
- }
760
- return value;
761
- };
762
- var jpQueryWrapper$1 = function (obj, key) {
763
- return handleJPQueryResponse$1(jp__default["default"].query(obj, key));
764
- };
765
- var isSingleForm = function (formsList) {
766
- return formsList.length === 1;
767
- };
768
-
769
- var hasKey = function (object, key) {
770
- return object.hasOwnProperty(key);
771
- };
772
- var hasPath = function (object, path) {
773
- return ___default["default"].has(object, path);
774
- };
775
- var isEmptyString = function (value) {
776
- return value === "";
777
- };
778
- var isUndefined = function (value) {
779
- return value === undefined;
780
- };
781
- var isNull = function (value) {
782
- return value === null;
631
+ });
632
+ return field;
783
633
  };
784
- var isEmptyObject = function (object) {
785
- return (object &&
786
- Object.keys(object).length === 0 &&
787
- Object.getPrototypeOf(object) === Object.prototype);
634
+ var getFormFieldIndexByKey = function (fields, key) {
635
+ var fieldIndex;
636
+ fieldIndex = fields.findIndex(function (_) {
637
+ return key === _.key;
638
+ });
639
+ return fieldIndex;
788
640
  };
789
- var isEmptyArray = function (arr) {
790
- return arr.length === 0;
641
+ var highlightFormFieldError = function (field, error) {
642
+ field.invalid = error;
643
+ field.focus = error;
644
+ return field;
791
645
  };
792
- var isEmpty = function (value) {
793
- if (isEmptyString(value) || isUndefined(value) || isNull(value)) {
794
- return true;
795
- }
796
- else if (isEmptyObject(value)) {
797
- return true;
798
- }
799
- else if (Array.isArray(value)) {
800
- if (isEmptyArray(value)) {
801
- return true;
802
- }
803
- else {
804
- return false;
646
+ var appendFormFieldMessage = function (field, message) {
647
+ var hasDuplicateMessage = function (messages, message) {
648
+ return messages.some(function (fieldMessage) {
649
+ return (fieldMessage.type === message.type &&
650
+ fieldMessage.message === message.message);
651
+ });
652
+ };
653
+ field["messages"] = [];
654
+ if (kwikidToolkit.checkObjectKeyExists(field, "messages")) {
655
+ if (!hasDuplicateMessage(field["messages"], message)) {
656
+ field["messages"].push({
657
+ type: message.type,
658
+ message: message.message
659
+ });
805
660
  }
806
661
  }
807
662
  else {
808
- return false;
663
+ field["messages"] = [{ type: message.type, message: message.message }];
809
664
  }
665
+ return field;
810
666
  };
811
- var isNotEmpty = function (value) {
812
- return !isEmpty(value);
813
- };
814
- var isEmptyBrowserStorageValue = function (value) {
815
- return isNull(value) && isUndefined(value);
816
- };
817
- var isNotEmptyBrowserStorageValue = function (value) {
818
- return !isEmptyBrowserStorageValue(value);
667
+ var removeFormFieldMessage = function (field, message) {
668
+ field["messages"] = field["messages"].filter(function (fieldMessage) {
669
+ return fieldMessage.type !== message.type;
670
+ });
671
+ return field;
819
672
  };
820
- var handleJPQueryResponse = function (value) {
821
- /**
822
- * jp.query doesn't always return an array with one element
823
- * so directly can't access with [0], need to check conditionally
824
- */
825
- if (Array.isArray(value)) {
826
- if (value.length > 0) {
827
- value = value[0];
828
- }
829
- else if (value.length === 0) {
830
- value = "";
831
- }
673
+ function showFormFieldError(fields, errors, key, error) {
674
+ var fieldIndex = fields.findIndex(function (field) {
675
+ return field.key === key;
676
+ });
677
+ var setErrorMessages = function (field, errors) {
678
+ var getErrorMessage = function (fieldLabel, errorType) {
679
+ var errorMessage = "";
680
+ switch (errorType) {
681
+ case "required":
682
+ errorMessage = fieldLabel + " is required!";
683
+ break;
684
+ case "email":
685
+ errorMessage = fieldLabel + " has wrong email format!";
686
+ break;
687
+ case "min":
688
+ errorMessage = fieldLabel + " has wrong value! Minimum value: " + field.validators.min;
689
+ break;
690
+ case "minlength":
691
+ errorMessage = fieldLabel + " has wrong length! Required minimum length: " + field.validators.minLength;
692
+ break;
693
+ case "max":
694
+ errorMessage = fieldLabel + " has wrong value! Maximum value: " + field.validators.maxLength;
695
+ break;
696
+ case "maxlength":
697
+ errorMessage = fieldLabel + " has wrong length! Required maximum length: " + field.validators.maxLength;
698
+ break;
699
+ case "areEqual":
700
+ errorMessage = fieldLabel + " must be equal!";
701
+ break;
702
+ case "pattern":
703
+ errorMessage = fieldLabel + " is in incorrect format!";
704
+ break;
705
+ default:
706
+ errorMessage = fieldLabel + ": " + errorType;
707
+ break;
708
+ }
709
+ return errorMessage;
710
+ };
711
+ Object.keys(errors).forEach(function (error) {
712
+ field = appendFormFieldMessage(field, {
713
+ type: "error",
714
+ message: getErrorMessage(field.label, error)
715
+ });
716
+ });
717
+ return field;
718
+ };
719
+ if (error) {
720
+ fields[fieldIndex] = setErrorMessages(fields[fieldIndex], errors);
832
721
  }
833
722
  else {
834
- value = "";
723
+ fields[fieldIndex]["messages"] = [];
835
724
  }
836
- return value;
837
- };
838
- var jpQueryWrapper = function (obj, key) {
839
- return handleJPQueryResponse(jp__default["default"].query(obj, key));
840
- };
841
- var replaceString = function (str, find, replace) {
842
- return str.replace(new RegExp(find, "g"), replace);
843
- };
844
- var setFieldKeyValue = function (field, path, value) {
845
- return ___default["default"].set(field, path, value);
725
+ fields[fieldIndex] = highlightFormFieldError(fields[fieldIndex], error);
726
+ return fields;
727
+ }
728
+ var convertFormFieldTypeDateToKwikUIFormat = function (date) {
729
+ var splitDate = date.split("-");
730
+ var tuiDay = new cdk.TuiDay(Number(splitDate[2]), // Year
731
+ Number(splitDate[1]) - 1, // Month, Why '-1' => Because Taiga-UI Required It, So...
732
+ Number(splitDate[0]) // Day
733
+ );
734
+ return tuiDay;
846
735
  };
847
- var setValueToObject = function (object, path, value) {
848
- return ___default["default"].set(object, path, value);
736
+ var convertFormFieldTypeDateToStandardFormat = function (date) {
737
+ var formattedDate;
738
+ var year = date.year;
739
+ var month = date.month;
740
+ var day = date.day;
741
+ formattedDate = day.toString().padStart(2, "0") + "-" + (month + 1)
742
+ .toString()
743
+ .padStart(2, "0") + "-" + year;
744
+ return formattedDate;
849
745
  };
850
- var formatValue = function (field, fieldValue) {
851
- var fieldType = field.type;
852
- var value;
853
- if (isNotEmpty(fieldValue)) {
854
- switch (fieldType) {
746
+ var convertFormFieldValueToStandardFormat = function (field, value) {
747
+ var convertedValue = value;
748
+ if (kwikidToolkit.isNotEmptyValue(value)) {
749
+ switch (field.type) {
855
750
  case EFieldType.DATE:
856
- var splitDate = fieldValue.split("-");
857
- value = new cdk.TuiDay(Number(splitDate[2]), // Year
858
- Number(splitDate[1]) - 1, // Month, Why '-1' => Because Taiga-UI Required It, So...
859
- Number(splitDate[0]) // Day
860
- );
751
+ convertedValue = convertFormFieldTypeDateToStandardFormat(value);
861
752
  break;
862
753
  case EFieldType.RADIO:
863
- var fieldRadio = field;
864
- value = fieldRadio.options.find(function (item) {
865
- return item.label === fieldValue;
866
- });
754
+ convertedValue = value.label;
755
+ default:
756
+ break;
757
+ }
758
+ }
759
+ return convertedValue;
760
+ };
761
+ var convertFormFieldValueToKwikUIFormat = function (field, value) {
762
+ var convertedValue = value;
763
+ if (kwikidToolkit.isNotEmptyValue(value)) {
764
+ switch (field.type) {
765
+ case EFieldType.RADIO:
766
+ if (!kwikidToolkit.checkObjectKeyExists(value, "label")) {
767
+ var radioField = field;
768
+ var convertedLabelValue = radioField.options.find(function (item) {
769
+ return item.label === value;
770
+ });
771
+ convertedValue = convertedLabelValue;
772
+ }
773
+ break;
774
+ case EFieldType.DATE:
775
+ convertedValue = convertFormFieldTypeDateToKwikUIFormat(value);
867
776
  break;
868
- case EFieldType.CHECKBOX:
869
- value = Boolean(fieldValue);
777
+ case EFieldType.TITLE:
870
778
  break;
871
779
  default:
872
- value = fieldValue;
873
780
  break;
874
781
  }
875
782
  }
876
783
  else {
877
- value = fieldValue;
784
+ convertedValue = convertFormFieldEmptyValueToKwikUIFormat(field);
878
785
  }
879
- return value;
786
+ return convertedValue;
880
787
  };
881
- var setEmptyValue = function (field) {
788
+ var convertFormFieldEmptyValueToKwikUIFormat = function (field) {
882
789
  var fieldType = field.type;
883
790
  var value;
884
791
  switch (fieldType) {
@@ -899,14 +806,15 @@
899
806
  };
900
807
 
901
808
  var Defaults = /** @class */ (function () {
902
- function Defaults(field, allFormsData, formData, previousFormData, takeAction) {
809
+ function Defaults(field, formFields, allFormsData, formData, previousFormData, takeAction) {
903
810
  this._field = field;
811
+ this._formFields = formFields;
904
812
  this._allFormsData = allFormsData;
905
813
  this._formData = formData;
906
814
  this._previousFormData = previousFormData;
907
815
  this._takeAction = takeAction;
908
816
  }
909
- Defaults.prototype.getDefaultValue = function () {
817
+ Defaults.prototype.getFormFieldValue = function () {
910
818
  return __awaiter(this, void 0, void 0, function () {
911
819
  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;
912
820
  var e_2, _a, e_1, _b;
@@ -923,21 +831,23 @@
923
831
  case 2:
924
832
  if (!!sources_1_1.done) return [3 /*break*/, 12];
925
833
  source = sources_1_1.value;
926
- sources_2 = new kwikidToolkit.Sources({
834
+ sources_2 = new kwikidToolkit.Source({
927
835
  FIELD_CONFIG: this._field,
836
+ FORM_FIELDS: this._formFields,
928
837
  FORM_DATA: this._formData,
929
838
  PREVIOUS_FORM_DATA: this._previousFormData,
930
839
  ALL_FORMS_DATA: this._allFormsData
931
840
  });
932
841
  value = sources_2.getValueFromSource(source);
933
842
  // Set the Value of current source.
934
- this._field = setValueToObject(this._field, "default.value.sources.[" + sourceIndex + "].value", value);
843
+ this._field = kwikidToolkit.setValueToObjectPath(this._field, "default.value.sources.[" + sourceIndex + "].value", value);
935
844
  validation = source.validation;
936
845
  triggers = validation.triggers;
937
846
  rules = validation.rules;
938
847
  actions = validation.actions;
939
- rulesMapping = new kwikidToolkit.Rules(rules, {
848
+ rulesMapping = new kwikidToolkit.Rule(rules, {
940
849
  FIELD_CONFIG: this._field,
850
+ FORM_FIELDS: this._formFields,
941
851
  FORM_DATA: this._formData,
942
852
  PREVIOUS_FORM_DATA: this._previousFormData,
943
853
  ALL_FORMS_DATA: this._allFormsData
@@ -952,8 +862,9 @@
952
862
  action = actions_1_1.value;
953
863
  conditionEvaluation = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
954
864
  if (!conditionEvaluation) return [3 /*break*/, 6];
955
- actions_2 = new kwikidToolkit.Actions(action, rulesMapping, {
865
+ actions_2 = new kwikidToolkit.Action(action, rulesMapping, {
956
866
  FIELD_CONFIG: this._field,
867
+ FORM_FIELDS: this._formFields,
957
868
  FORM_DATA: this._formData,
958
869
  PREVIOUS_FORM_DATA: this._previousFormData,
959
870
  ALL_FORMS_DATA: this._allFormsData
@@ -995,323 +906,126 @@
995
906
  return [7 /*endfinally*/];
996
907
  case 15:
997
908
  defaultValue = this._field.default.value.value;
998
- if (isEmpty$1(defaultValue)) {
999
- defaultValue = setEmptyValue(this._field);
909
+ if (kwikidToolkit.isEmptyValue(defaultValue)) {
910
+ defaultValue = convertFormFieldEmptyValueToKwikUIFormat(this._field);
1000
911
  }
1001
912
  return [2 /*return*/, defaultValue];
1002
913
  }
1003
914
  });
1004
915
  });
1005
916
  };
917
+ Defaults.prototype.getFormFieldOptions = function () {
918
+ return __awaiter(this, void 0, void 0, function () {
919
+ var optionsConfig, rules, actions, rulesMapping, actions_3, actions_3_1, action, conditionEvaluation, actions_4, e_3_1;
920
+ var e_3, _a;
921
+ return __generator(this, function (_b) {
922
+ switch (_b.label) {
923
+ case 0:
924
+ optionsConfig = this._field.default.options;
925
+ rules = optionsConfig.rules;
926
+ actions = optionsConfig.actions;
927
+ rulesMapping = new kwikidToolkit.Rule(rules, {
928
+ FIELD_CONFIG: this._field,
929
+ FORM_FIELDS: this._formFields,
930
+ FORM_DATA: this._formData,
931
+ PREVIOUS_FORM_DATA: this._previousFormData,
932
+ ALL_FORMS_DATA: this._allFormsData
933
+ }).mapping();
934
+ _b.label = 1;
935
+ case 1:
936
+ _b.trys.push([1, 6, 7, 8]);
937
+ actions_3 = __values(actions), actions_3_1 = actions_3.next();
938
+ _b.label = 2;
939
+ case 2:
940
+ if (!!actions_3_1.done) return [3 /*break*/, 5];
941
+ action = actions_3_1.value;
942
+ conditionEvaluation = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
943
+ if (!conditionEvaluation) return [3 /*break*/, 4];
944
+ actions_4 = new kwikidToolkit.Action(action, rulesMapping, {
945
+ FIELD_CONFIG: this._field,
946
+ FORM_FIELDS: this._formFields,
947
+ FORM_DATA: this._formData,
948
+ PREVIOUS_FORM_DATA: this._previousFormData,
949
+ ALL_FORMS_DATA: this._allFormsData
950
+ }, this._takeAction);
951
+ return [4 /*yield*/, actions_4.execute()];
952
+ case 3:
953
+ _b.sent();
954
+ _b.label = 4;
955
+ case 4:
956
+ actions_3_1 = actions_3.next();
957
+ return [3 /*break*/, 2];
958
+ case 5: return [3 /*break*/, 8];
959
+ case 6:
960
+ e_3_1 = _b.sent();
961
+ e_3 = { error: e_3_1 };
962
+ return [3 /*break*/, 8];
963
+ case 7:
964
+ try {
965
+ if (actions_3_1 && !actions_3_1.done && (_a = actions_3.return)) _a.call(actions_3);
966
+ }
967
+ finally { if (e_3) throw e_3.error; }
968
+ return [7 /*endfinally*/];
969
+ case 8: return [2 /*return*/];
970
+ }
971
+ });
972
+ });
973
+ };
1006
974
  return Defaults;
1007
975
  }());
1008
976
  __decorate([
1009
977
  kwikidToolkit.logMethod
1010
- ], Defaults.prototype, "getDefaultValue", null);
978
+ ], Defaults.prototype, "getFormFieldValue", null);
1011
979
 
1012
- var findFieldFromKey = function (fields, key) {
1013
- var field = fields.find(function (field) {
1014
- if (field.key === key) {
1015
- return field;
980
+ var FormValidation = /** @class */ (function () {
981
+ function FormValidation() {
982
+ }
983
+ FormValidation.prototype.getFormFieldValidators = function (field) {
984
+ var validators = [];
985
+ if (kwikidToolkit.checkObjectKeyExists(field, "validators") &&
986
+ kwikidToolkit.checkObjectKeyExists(field.validators, "min") &&
987
+ kwikidToolkit.isNotEmptyValue(field.validators.min)) {
988
+ validators.push(i6.Validators.min(field.validators.min));
1016
989
  }
1017
- });
1018
- return field;
1019
- };
1020
- var findFieldIndexFromKey = function (fields, key) {
1021
- var fieldIndex;
1022
- fieldIndex = fields.findIndex(function (_) {
1023
- return key === _.key;
1024
- });
1025
- return fieldIndex;
1026
- };
1027
- var getSearchTextOptionsFromRemoteFile = function (field, childField, formGroup) { return __awaiter(void 0, void 0, void 0, function () {
1028
- var parentFieldValue, fileUrl, fileKey, response, data;
1029
- return __generator(this, function (_a) {
1030
- switch (_a.label) {
1031
- case 0:
1032
- parentFieldValue = formGroup.controls[field.key].value;
1033
- if (childField.regexToGetJsonRemoteUrlKey) {
1034
- fileKey = parentFieldValue.match(childField.regexToGetJsonRemoteUrlKey)[0];
1035
- fileUrl = childField.jsonRemoteUrlMapping[fileKey];
990
+ if (kwikidToolkit.checkObjectKeyExists(field, "validators") &&
991
+ kwikidToolkit.checkObjectKeyExists(field.validators, "max") &&
992
+ kwikidToolkit.isNotEmptyValue(field.validators.max)) {
993
+ validators.push(i6.Validators.max(field.validators.max));
994
+ }
995
+ if ((kwikidToolkit.checkObjectKeyExists(field, "required") && field.required) ||
996
+ (kwikidToolkit.checkObjectKeyExists(field, "validators") &&
997
+ kwikidToolkit.checkObjectKeyExists(field.validators, "required") &&
998
+ field.validators.required)) {
999
+ validators.push(i6.Validators.required);
1000
+ }
1001
+ if (kwikidToolkit.checkObjectKeyExists(field, "validators") &&
1002
+ kwikidToolkit.checkObjectKeyExists(field.validators, "minLength") &&
1003
+ kwikidToolkit.isNotEmptyValue(field.validators.minLength)) {
1004
+ validators.push(i6.Validators.minLength(field.validators.minLength));
1005
+ }
1006
+ if (kwikidToolkit.checkObjectKeyExists(field, "validators") &&
1007
+ kwikidToolkit.checkObjectKeyExists(field.validators, "maxLength") &&
1008
+ kwikidToolkit.isNotEmptyValue(field.validators.maxLength)) {
1009
+ validators.push(i6.Validators.maxLength(field.validators.maxLength));
1010
+ }
1011
+ if (kwikidToolkit.checkObjectKeyExists(field, "validators") &&
1012
+ kwikidToolkit.checkObjectKeyExists(field.validators, "pattern") &&
1013
+ kwikidToolkit.isNotEmptyValue(field.validators.pattern)) {
1014
+ if (kwikidToolkit.checkObjectKeyExists(field.validators.pattern, "key")) {
1015
+ if (field.validators.pattern.key === "CUSTOM") {
1016
+ validators.push(i6.Validators.pattern(field.validators.pattern.pattern));
1036
1017
  }
1037
1018
  else {
1038
- fileUrl = childField.fileUrl;
1019
+ validators.push(i6.Validators.pattern(kwikidToolkit.PATTERNS[field.validators.pattern.key]));
1039
1020
  }
1040
- // Return early if there is no file URL
1041
- if (!fileUrl)
1042
- return [2 /*return*/];
1043
- return [4 /*yield*/, fetch(fileUrl)];
1044
- case 1:
1045
- response = _a.sent();
1046
- return [4 /*yield*/, response.json()];
1047
- case 2:
1048
- data = _a.sent();
1049
- // Return the data for the given parent field value
1050
- return [2 /*return*/, data[parentFieldValue]];
1051
- }
1052
- });
1053
- }); };
1054
- var getSearchTextOptionsFromFieldConfig = function (field, childField, formGroup) {
1055
- var options;
1056
- var fieldValue = formGroup.controls[field.key].value;
1057
- if (kwikidToolkit.isNotEmptyValue(childField["json"])) {
1058
- options = childField["json"][fieldValue];
1059
- }
1060
- return options;
1061
- };
1062
- var formatSearchTextOptions = function (options) {
1063
- return options.map(function (_a) {
1064
- var title = _a.title;
1065
- return title;
1066
- });
1067
- };
1068
- function highlightFieldError(field, error) {
1069
- field.invalid = error;
1070
- field.focus = error;
1071
- // if (!error) {
1072
- // field["messages"] = field["messages"].filter(function (fieldMessage: {
1073
- // type: string;
1074
- // message: string;
1075
- // }) {
1076
- // return fieldMessage.type === "error";
1077
- // });
1078
- // }
1079
- return field;
1080
- }
1081
- var addMessage = function (field, message) {
1082
- var isDuplicateMessage = function (messages, message) {
1083
- return messages.some(function (fieldMessage) {
1084
- return (fieldMessage.type === message.type &&
1085
- fieldMessage.message === message.message);
1086
- });
1087
- };
1088
- field["messages"] = [];
1089
- if (kwikidToolkit.checkObjectKeyExists(field, "messages")) {
1090
- if (!isDuplicateMessage(field["messages"], message)) {
1091
- field["messages"].push({
1092
- type: message.type,
1093
- message: message.message
1094
- });
1095
- }
1096
- }
1097
- else {
1098
- field["messages"] = [{ type: message.type, message: message.message }];
1099
- }
1100
- return field;
1101
- };
1102
- var removeMessage = function (field, message) {
1103
- field["messages"] = field["messages"].filter(function (fieldMessage) {
1104
- return fieldMessage.type !== message.type;
1105
- });
1106
- return field;
1107
- };
1108
- function setFieldError(fields, errors, key, error) {
1109
- var fieldIndex = fields.findIndex(function (field) {
1110
- return field.key === key;
1111
- });
1112
- var setErrorMessages = function (field, errors) {
1113
- var getErrorMessage = function (fieldLabel, errorType) {
1114
- var errorMessage = "";
1115
- switch (errorType) {
1116
- case "required":
1117
- errorMessage = fieldLabel + " is required!";
1118
- break;
1119
- case "email":
1120
- errorMessage = fieldLabel + " has wrong email format!";
1121
- break;
1122
- case "min":
1123
- errorMessage = fieldLabel + " has wrong value! Minimum value: " + field.validators.min;
1124
- break;
1125
- case "minlength":
1126
- errorMessage = fieldLabel + " has wrong length! Required minimum length: " + field.validators.minLength;
1127
- break;
1128
- case "max":
1129
- errorMessage = fieldLabel + " has wrong value! Maximum value: " + field.validators.maxLength;
1130
- break;
1131
- case "maxlength":
1132
- errorMessage = fieldLabel + " has wrong length! Required maximum length: " + field.validators.maxLength;
1133
- break;
1134
- case "areEqual":
1135
- errorMessage = fieldLabel + " must be equal!";
1136
- break;
1137
- case "pattern":
1138
- errorMessage = fieldLabel + " is in incorrect format!";
1139
- break;
1140
- default:
1141
- errorMessage = fieldLabel + ": " + errorType;
1142
- break;
1143
- }
1144
- return errorMessage;
1145
- };
1146
- Object.keys(errors).forEach(function (error) {
1147
- field = addMessage(field, {
1148
- type: "error",
1149
- message: getErrorMessage(field.label, error)
1150
- });
1151
- });
1152
- return field;
1153
- };
1154
- if (error) {
1155
- fields[fieldIndex] = setErrorMessages(fields[fieldIndex], errors);
1156
- }
1157
- else {
1158
- fields[fieldIndex]["messages"] = [];
1159
- }
1160
- fields[fieldIndex] = highlightFieldError(fields[fieldIndex], error);
1161
- return fields;
1162
- }
1163
- var convertDateStringToTuiDayFormat = function (date) {
1164
- var splitDate = date.split("-");
1165
- var tuiDay = new cdk.TuiDay(Number(splitDate[2]), // Year
1166
- Number(splitDate[1]) - 1, // Month, Why '-1' => Because Taiga-UI Required It, So...
1167
- Number(splitDate[0]) // Day
1168
- );
1169
- return tuiDay;
1170
- };
1171
- var convertTuiDayFormatToDateString = function (date) {
1172
- var formattedDate;
1173
- var year = date.year;
1174
- var month = date.month;
1175
- var day = date.day;
1176
- formattedDate = day.toString().padStart(2, "0") + "-" + (month + 1)
1177
- .toString()
1178
- .padStart(2, "0") + "-" + year;
1179
- return formattedDate;
1180
- };
1181
- var convertValueFromKwikUIFormatToBasicFormat = function (field, value) {
1182
- var convertedValue = value;
1183
- if (kwikidToolkit.isNotEmptyValue(value)) {
1184
- switch (field.type) {
1185
- case EFieldType.DATE:
1186
- convertedValue = convertTuiDayFormatToDateString(value);
1187
- break;
1188
- case EFieldType.RADIO:
1189
- convertedValue = value.label;
1190
- default:
1191
- break;
1192
- }
1193
- }
1194
- return convertedValue;
1195
- };
1196
- var convertValueFromBasicFormatToKwikUIFormat = function (field, value) {
1197
- var convertedValue = value;
1198
- if (kwikidToolkit.isNotEmptyValue(value)) {
1199
- switch (field.type) {
1200
- case EFieldType.RADIO:
1201
- if (!kwikidToolkit.checkObjectKeyExists(value, "label")) {
1202
- var convertedLabelValue = {
1203
- label: value,
1204
- disabled: false
1205
- };
1206
- convertedValue = convertedLabelValue;
1207
- }
1208
- break;
1209
- case EFieldType.DATE:
1210
- convertedValue = convertDateStringToTuiDayFormat(value);
1211
- break;
1212
- case EFieldType.TITLE:
1213
- break;
1214
- default:
1215
- break;
1216
- }
1217
- }
1218
- return convertedValue;
1219
- };
1220
-
1221
- var Validations = /** @class */ (function () {
1222
- function Validations(field, formData, previousFormData, allFormsData, takeAction) {
1223
- this._field = field;
1224
- this._formData = formData;
1225
- this._previousFormData = previousFormData;
1226
- this._allFormsData = allFormsData;
1227
- this._takeAction = takeAction;
1228
- }
1229
- Object.defineProperty(Validations.prototype, "formData", {
1230
- get: function () {
1231
- return this._formData;
1232
- },
1233
- set: function (value) {
1234
- this._formData = value;
1235
- },
1236
- enumerable: false,
1237
- configurable: true
1238
- });
1239
- Object.defineProperty(Validations.prototype, "previousFormData", {
1240
- get: function () {
1241
- return this._previousFormData;
1242
- },
1243
- set: function (value) {
1244
- this._previousFormData = value;
1245
- },
1246
- enumerable: false,
1247
- configurable: true
1248
- });
1249
- Object.defineProperty(Validations.prototype, "allFormsData", {
1250
- get: function () {
1251
- return this._allFormsData;
1252
- },
1253
- set: function (value) {
1254
- this._allFormsData = value;
1255
- },
1256
- enumerable: false,
1257
- configurable: true
1258
- });
1259
- Object.defineProperty(Validations.prototype, "field", {
1260
- get: function () {
1261
- return this._field;
1262
- },
1263
- set: function (value) {
1264
- this._field = value;
1265
- },
1266
- enumerable: false,
1267
- configurable: true
1268
- });
1269
- Validations.prototype.getFieldValidators = function (field) {
1270
- var validators = [];
1271
- if (kwikidToolkit.checkObjectKeyExists(field, "validators") &&
1272
- kwikidToolkit.checkObjectKeyExists(field.validators, "min") &&
1273
- kwikidToolkit.isNotEmptyValue(field.validators.min)) {
1274
- validators.push(i6.Validators.min(field.validators.min));
1275
- }
1276
- if (kwikidToolkit.checkObjectKeyExists(field, "validators") &&
1277
- kwikidToolkit.checkObjectKeyExists(field.validators, "max") &&
1278
- kwikidToolkit.isNotEmptyValue(field.validators.max)) {
1279
- validators.push(i6.Validators.max(field.validators.max));
1280
- }
1281
- if ((kwikidToolkit.checkObjectKeyExists(field, "required") && field.required) ||
1282
- (kwikidToolkit.checkObjectKeyExists(field, "validators") &&
1283
- kwikidToolkit.checkObjectKeyExists(field.validators, "required") &&
1284
- field.validators.required)) {
1285
- validators.push(i6.Validators.required);
1286
- }
1287
- if (kwikidToolkit.checkObjectKeyExists(field, "validators") &&
1288
- kwikidToolkit.checkObjectKeyExists(field.validators, "minLength") &&
1289
- kwikidToolkit.isNotEmptyValue(field.validators.minLength)) {
1290
- validators.push(i6.Validators.minLength(field.validators.minLength));
1291
- }
1292
- if (kwikidToolkit.checkObjectKeyExists(field, "validators") &&
1293
- kwikidToolkit.checkObjectKeyExists(field.validators, "maxLength") &&
1294
- kwikidToolkit.isNotEmptyValue(field.validators.maxLength)) {
1295
- validators.push(i6.Validators.maxLength(field.validators.maxLength));
1296
- }
1297
- if (kwikidToolkit.checkObjectKeyExists(field, "validators") &&
1298
- kwikidToolkit.checkObjectKeyExists(field.validators, "pattern") &&
1299
- kwikidToolkit.isNotEmptyValue(field.validators.pattern)) {
1300
- if (kwikidToolkit.checkObjectKeyExists(field.validators.pattern, "key")) {
1301
- if (field.validators.pattern.key === EPatternKey.CUSTOM) {
1302
- validators.push(i6.Validators.pattern(field.validators.pattern.pattern));
1303
- }
1304
- else {
1305
- validators.push(i6.Validators.pattern(EPattern[field.validators.pattern.key]));
1306
- }
1307
- }
1021
+ }
1308
1022
  }
1309
1023
  return validators;
1310
1024
  };
1311
- Validations.prototype.getFormValidationErrors = function (control) {
1025
+ FormValidation.prototype.getFormFieldsValidationErrors = function (formGroup) {
1312
1026
  var errors = [];
1313
1027
  var _loop_1 = function (key) {
1314
- var controlErrors = control.controls[key].errors;
1028
+ var controlErrors = formGroup.controls[key].errors;
1315
1029
  if (controlErrors !== null && controlErrors !== undefined) {
1316
1030
  Object.keys(controlErrors).forEach(function (keyError) {
1317
1031
  errors.push({
@@ -1321,12 +1035,12 @@
1321
1035
  });
1322
1036
  }
1323
1037
  };
1324
- for (var key in control.controls) {
1038
+ for (var key in formGroup.controls) {
1325
1039
  _loop_1(key);
1326
1040
  }
1327
1041
  return errors;
1328
1042
  };
1329
- Validations.prototype.findInvalidControlsRecursive = function (formToInvestigate) {
1043
+ FormValidation.prototype.getFormFieldsInvalidControls = function (formToInvestigate) {
1330
1044
  var controls = [];
1331
1045
  var recursiveFunc = function (form) {
1332
1046
  Object.keys(form.controls).forEach(function (field) {
@@ -1354,76 +1068,17 @@
1354
1068
  recursiveFunc(formToInvestigate);
1355
1069
  return controls;
1356
1070
  };
1357
- Validations.prototype.validateField = function () {
1358
- return __awaiter(this, void 0, void 0, function () {
1359
- var validations, triggers, rules, actions, rulesMapping, actions_1, actions_1_1, action, conditionEvaluation, actions_2, e_1_1;
1360
- var e_1, _a;
1361
- return __generator(this, function (_b) {
1362
- switch (_b.label) {
1363
- case 0:
1364
- validations = this._field.validation;
1365
- triggers = validations.triggers;
1366
- rules = validations.rules;
1367
- actions = validations.actions;
1368
- rulesMapping = new kwikidToolkit.Rules(rules, {
1369
- FIELD_CONFIG: this._field,
1370
- FORM_DATA: this._formData,
1371
- PREVIOUS_FORM_DATA: this._previousFormData,
1372
- ALL_FORMS_DATA: this._allFormsData
1373
- }).mapping();
1374
- _b.label = 1;
1375
- case 1:
1376
- _b.trys.push([1, 6, 7, 8]);
1377
- actions_1 = __values(actions), actions_1_1 = actions_1.next();
1378
- _b.label = 2;
1379
- case 2:
1380
- if (!!actions_1_1.done) return [3 /*break*/, 5];
1381
- action = actions_1_1.value;
1382
- conditionEvaluation = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
1383
- if (!conditionEvaluation) return [3 /*break*/, 4];
1384
- actions_2 = new kwikidToolkit.Actions(action, rulesMapping, {
1385
- FIELD_CONFIG: this._field,
1386
- FORM_DATA: this._formData,
1387
- PREVIOUS_FORM_DATA: this._previousFormData,
1388
- ALL_FORMS_DATA: this._allFormsData
1389
- }, this._takeAction);
1390
- return [4 /*yield*/, actions_2.execute()];
1391
- case 3:
1392
- _b.sent();
1393
- _b.label = 4;
1394
- case 4:
1395
- actions_1_1 = actions_1.next();
1396
- return [3 /*break*/, 2];
1397
- case 5: return [3 /*break*/, 8];
1398
- case 6:
1399
- e_1_1 = _b.sent();
1400
- e_1 = { error: e_1_1 };
1401
- return [3 /*break*/, 8];
1402
- case 7:
1403
- try {
1404
- if (actions_1_1 && !actions_1_1.done && (_a = actions_1.return)) _a.call(actions_1);
1405
- }
1406
- finally { if (e_1) throw e_1.error; }
1407
- return [7 /*endfinally*/];
1408
- case 8: return [2 /*return*/];
1409
- }
1410
- });
1411
- });
1412
- };
1413
- return Validations;
1071
+ return FormValidation;
1414
1072
  }());
1415
1073
  __decorate([
1416
1074
  kwikidToolkit.logMethod
1417
- ], Validations.prototype, "getFieldValidators", null);
1075
+ ], FormValidation.prototype, "getFormFieldValidators", null);
1418
1076
  __decorate([
1419
1077
  kwikidToolkit.logMethod
1420
- ], Validations.prototype, "getFormValidationErrors", null);
1078
+ ], FormValidation.prototype, "getFormFieldsValidationErrors", null);
1421
1079
  __decorate([
1422
1080
  kwikidToolkit.logMethod
1423
- ], Validations.prototype, "findInvalidControlsRecursive", null);
1424
- __decorate([
1425
- kwikidToolkit.logMethod
1426
- ], Validations.prototype, "validateField", null);
1081
+ ], FormValidation.prototype, "getFormFieldsInvalidControls", null);
1427
1082
 
1428
1083
  var KwikIDFormViewService = /** @class */ (function () {
1429
1084
  function KwikIDFormViewService() {
@@ -1445,13 +1100,13 @@
1445
1100
  case 2:
1446
1101
  if (!!fields_1_1.done) return [3 /*break*/, 5];
1447
1102
  field = fields_1_1.value;
1448
- if (!(field.type !== "title")) return [3 /*break*/, 4];
1449
- defaults = new Defaults(field, allFormsData, formData, previousFormData, takeAction);
1450
- return [4 /*yield*/, defaults.getDefaultValue()];
1103
+ if (!field.isFormElement) return [3 /*break*/, 4];
1104
+ defaults = new Defaults(field, fields, allFormsData, formData, previousFormData, takeAction);
1105
+ return [4 /*yield*/, defaults.getFormFieldValue()];
1451
1106
  case 3:
1452
1107
  value = _b.sent();
1453
- value = convertValueFromBasicFormatToKwikUIFormat(field, value);
1454
- validators = new Validations(field, formData, previousFormData, allFormsData, takeAction).getFieldValidators(field);
1108
+ value = convertFormFieldValueToKwikUIFormat(field, value);
1109
+ validators = new FormValidation().getFormFieldValidators(field);
1455
1110
  formGroup.addControl(field.key, new i6.FormControl({ value: value, disabled: field.disabled }, { validators: validators }));
1456
1111
  _b.label = 4;
1457
1112
  case 4:
@@ -1480,18 +1135,25 @@
1480
1135
  ], KwikIDFormViewService.prototype, "createFormGroup", null);
1481
1136
 
1482
1137
  var Apis = /** @class */ (function () {
1483
- function Apis(field, formData, previousFormData, allFormsData, takeAction) {
1484
- this._field = field;
1485
- this._formData = formData;
1486
- this._previousFormData = previousFormData;
1487
- this._allFormsData = allFormsData;
1138
+ function Apis(object, takeAction) {
1139
+ this._object = object;
1488
1140
  this._takeAction = takeAction;
1489
- this._api = field.api;
1490
- this._request = field.api.request;
1491
- this._response = field.api.response;
1492
- this._status = field.api.status;
1141
+ this._api = this._object.FIELD_CONFIG.api;
1142
+ this._request = this._object.FIELD_CONFIG.api.request;
1143
+ this._response = this._object.FIELD_CONFIG.api.response;
1144
+ this._status = this._object.FIELD_CONFIG.api.status;
1493
1145
  }
1494
- Apis.prototype.setRequestBodyParams = function () {
1146
+ Object.defineProperty(Apis.prototype, "object", {
1147
+ get: function () {
1148
+ return this._object;
1149
+ },
1150
+ set: function (value) {
1151
+ this._object = value;
1152
+ },
1153
+ enumerable: false,
1154
+ configurable: true
1155
+ });
1156
+ Apis.prototype.setRequestBody = function () {
1495
1157
  var _a, _b, _c, _d;
1496
1158
  return __awaiter(this, void 0, void 0, function () {
1497
1159
  var params, paramIndex, params_1, params_1_1, param, 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, e_3_1;
@@ -1519,25 +1181,15 @@
1519
1181
  case 4:
1520
1182
  if (!!sources_1_1.done) return [3 /*break*/, 14];
1521
1183
  source = sources_1_1.value;
1522
- sources_2 = new kwikidToolkit.Sources({
1523
- FIELD_CONFIG: this._field,
1524
- FORM_DATA: this._formData,
1525
- PREVIOUS_FORM_DATA: this._previousFormData,
1526
- ALL_FORMS_DATA: this._allFormsData
1527
- });
1184
+ sources_2 = new kwikidToolkit.Source(this._object);
1528
1185
  value = sources_2.getValueFromSource(source);
1529
1186
  // Set the Value of current source.
1530
- this._field = setValueToObject(this._field, "api.request.body.params[" + paramIndex + "].sources[" + sourceIndex + "].value", value);
1187
+ this._object.FIELD_CONFIG = kwikidToolkit.setValueToObjectPath(this._object.FIELD_CONFIG, "api.request.body.params[" + paramIndex + "].sources[" + sourceIndex + "].value", value);
1531
1188
  validation = source.validation;
1532
1189
  triggers = (_a = validation === null || validation === void 0 ? void 0 : validation.triggers) !== null && _a !== void 0 ? _a : [];
1533
1190
  rules = (_b = validation === null || validation === void 0 ? void 0 : validation.rules) !== null && _b !== void 0 ? _b : [];
1534
1191
  actions = (_d = (_c = validation) === null || _c === void 0 ? void 0 : _c.actions) !== null && _d !== void 0 ? _d : [];
1535
- rulesMapping = new kwikidToolkit.Rules(rules, {
1536
- FIELD_CONFIG: this._field,
1537
- FORM_DATA: this._formData,
1538
- PREVIOUS_FORM_DATA: this._previousFormData,
1539
- ALL_FORMS_DATA: this._allFormsData
1540
- }).mapping();
1192
+ rulesMapping = new kwikidToolkit.Rule(rules, this._object).mapping();
1541
1193
  _h.label = 5;
1542
1194
  case 5:
1543
1195
  _h.trys.push([5, 10, 11, 12]);
@@ -1548,12 +1200,7 @@
1548
1200
  action = actions_1_1.value;
1549
1201
  conditionEvaluation = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
1550
1202
  if (!conditionEvaluation) return [3 /*break*/, 8];
1551
- actions_2 = new kwikidToolkit.Actions(action, rulesMapping, {
1552
- FIELD_CONFIG: this._field,
1553
- FORM_DATA: this._formData,
1554
- PREVIOUS_FORM_DATA: this._previousFormData,
1555
- ALL_FORMS_DATA: this._allFormsData
1556
- }, this._takeAction);
1203
+ actions_2 = new kwikidToolkit.Action(action, rulesMapping, this._object, this._takeAction);
1557
1204
  return [4 /*yield*/, actions_2.execute()];
1558
1205
  case 7:
1559
1206
  _h.sent();
@@ -1606,7 +1253,7 @@
1606
1253
  }
1607
1254
  finally { if (e_3) throw e_3.error; }
1608
1255
  return [7 /*endfinally*/];
1609
- case 22: return [2 /*return*/, this._field];
1256
+ case 22: return [2 /*return*/, this._object.FIELD_CONFIG];
1610
1257
  }
1611
1258
  });
1612
1259
  });
@@ -1624,12 +1271,7 @@
1624
1271
  triggers = validation.triggers;
1625
1272
  rules = validation.rules;
1626
1273
  actions = (_a = validation) === null || _a === void 0 ? void 0 : _a.actions;
1627
- rulesMapping = new kwikidToolkit.Rules(rules, {
1628
- FIELD_CONFIG: this._field,
1629
- FORM_DATA: this._formData,
1630
- PREVIOUS_FORM_DATA: this._previousFormData,
1631
- ALL_FORMS_DATA: this._allFormsData
1632
- }).mapping();
1274
+ rulesMapping = new kwikidToolkit.Rule(rules, this._object).mapping();
1633
1275
  _f.label = 1;
1634
1276
  case 1:
1635
1277
  _f.trys.push([1, 6, 7, 8]);
@@ -1640,12 +1282,7 @@
1640
1282
  action = actions_3_1.value;
1641
1283
  conditionSuccess = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
1642
1284
  if (!conditionSuccess) return [3 /*break*/, 4];
1643
- actions_4 = new kwikidToolkit.Actions(action, rulesMapping, {
1644
- FIELD_CONFIG: this._field,
1645
- FORM_DATA: this._formData,
1646
- PREVIOUS_FORM_DATA: this._previousFormData,
1647
- ALL_FORMS_DATA: this._allFormsData
1648
- }, this._takeAction);
1285
+ actions_4 = new kwikidToolkit.Action(action, rulesMapping, this._object, this._takeAction);
1649
1286
  return [4 /*yield*/, actions_4.execute()];
1650
1287
  case 3:
1651
1288
  _f.sent();
@@ -1664,12 +1301,12 @@
1664
1301
  }
1665
1302
  finally { if (e_4) throw e_4.error; }
1666
1303
  return [7 /*endfinally*/];
1667
- case 8: return [2 /*return*/, this._field];
1304
+ case 8: return [2 /*return*/, this._object.FIELD_CONFIG];
1668
1305
  }
1669
1306
  });
1670
1307
  });
1671
1308
  };
1672
- Apis.prototype.validateApiCallResponse = function () {
1309
+ Apis.prototype.validateResponse = function () {
1673
1310
  return __awaiter(this, void 0, void 0, function () {
1674
1311
  var validation, triggers, rules, actions, rulesMapping, actions_5, actions_5_1, action, conditionSuccess, actions_6, e_5_1;
1675
1312
  var e_5, _e;
@@ -1680,12 +1317,7 @@
1680
1317
  triggers = validation.triggers;
1681
1318
  rules = validation.rules;
1682
1319
  actions = validation.actions;
1683
- rulesMapping = new kwikidToolkit.Rules(rules, {
1684
- FIELD_CONFIG: this._field,
1685
- FORM_DATA: this._formData,
1686
- PREVIOUS_FORM_DATA: this._previousFormData,
1687
- ALL_FORMS_DATA: this._allFormsData
1688
- }).mapping();
1320
+ rulesMapping = new kwikidToolkit.Rule(rules, this._object).mapping();
1689
1321
  _f.label = 1;
1690
1322
  case 1:
1691
1323
  _f.trys.push([1, 6, 7, 8]);
@@ -1696,12 +1328,7 @@
1696
1328
  action = actions_5_1.value;
1697
1329
  conditionSuccess = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
1698
1330
  if (!conditionSuccess) return [3 /*break*/, 4];
1699
- actions_6 = new kwikidToolkit.Actions(action, rulesMapping, {
1700
- FIELD_CONFIG: this._field,
1701
- FORM_DATA: this._formData,
1702
- PREVIOUS_FORM_DATA: this._previousFormData,
1703
- ALL_FORMS_DATA: this._allFormsData
1704
- }, this._takeAction);
1331
+ actions_6 = new kwikidToolkit.Action(action, rulesMapping, this._object, this._takeAction);
1705
1332
  return [4 /*yield*/, actions_6.execute()];
1706
1333
  case 3:
1707
1334
  _f.sent();
@@ -1720,30 +1347,45 @@
1720
1347
  }
1721
1348
  finally { if (e_5) throw e_5.error; }
1722
1349
  return [7 /*endfinally*/];
1723
- case 8: return [2 /*return*/, this._field];
1350
+ case 8: return [2 /*return*/, this._object.FIELD_CONFIG];
1724
1351
  }
1725
1352
  });
1726
1353
  });
1727
1354
  };
1728
- Apis.prototype.getPropsValues = function () {
1729
- return {
1730
- field: this._field,
1731
- formData: this._formData,
1732
- previousFormData: this._previousFormData,
1733
- allFormsData: this._allFormsData
1734
- };
1735
- };
1736
1355
  return Apis;
1737
1356
  }());
1738
1357
  __decorate([
1739
1358
  kwikidToolkit.logMethod
1740
- ], Apis.prototype, "setRequestBodyParams", null);
1359
+ ], Apis.prototype, "setRequestBody", null);
1741
1360
  __decorate([
1742
1361
  kwikidToolkit.logMethod
1743
1362
  ], Apis.prototype, "validateRequestBody", null);
1744
1363
  __decorate([
1745
1364
  kwikidToolkit.logMethod
1746
- ], Apis.prototype, "validateApiCallResponse", null);
1365
+ ], Apis.prototype, "validateResponse", null);
1366
+
1367
+ /**
1368
+ * Generated class for the SafeHtmlPipe pipe.
1369
+ *
1370
+ * See https://angular.io/api/core/Pipe for more info on Angular Pipes.
1371
+ */
1372
+ var SafeHtmlPipe = /** @class */ (function () {
1373
+ function SafeHtmlPipe(sanitizer) {
1374
+ this.sanitizer = sanitizer;
1375
+ }
1376
+ SafeHtmlPipe.prototype.transform = function (html) {
1377
+ return this.sanitizer.bypassSecurityTrustHtml(html);
1378
+ };
1379
+ return SafeHtmlPipe;
1380
+ }());
1381
+ /** @nocollapse */ SafeHtmlPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, deps: [{ token: i1__namespace.DomSanitizer }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
1382
+ /** @nocollapse */ SafeHtmlPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, name: "safeHtml" });
1383
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, decorators: [{
1384
+ type: i0.Pipe,
1385
+ args: [{
1386
+ name: "safeHtml"
1387
+ }]
1388
+ }], ctorParameters: function () { return [{ type: i1__namespace.DomSanitizer }]; } });
1747
1389
 
1748
1390
  var KwikIDFormViewComponent = /** @class */ (function () {
1749
1391
  function KwikIDFormViewComponent(push, alert, formViewService) {
@@ -1801,12 +1443,18 @@
1801
1443
  this.formGroup.patchValue((_b = {},
1802
1444
  _b[this.apiCallResponse.key] = this.apiCallResponse.response,
1803
1445
  _b), { emitEvent: false });
1804
- var field_1 = findFieldFromKey(this.formFields, this.apiCallResponse.key);
1805
- var apis_1 = new Apis(field_1, this.formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this));
1446
+ var field_1 = getFormFieldByKey(this.formFields, this.apiCallResponse.key);
1447
+ var apis_1 = new Apis({
1448
+ FIELD_CONFIG: field_1,
1449
+ FORM_FIELDS: this.formFields,
1450
+ FORM_DATA: this.formData,
1451
+ PREVIOUS_FORM_DATA: this.previousFormData,
1452
+ ALL_FORMS_DATA: this.allFormsData
1453
+ }, this.takeAction.bind(this));
1806
1454
  (function () { return __awaiter(_this, void 0, void 0, function () {
1807
1455
  return __generator(this, function (_a) {
1808
1456
  switch (_a.label) {
1809
- case 0: return [4 /*yield*/, apis_1.validateApiCallResponse()];
1457
+ case 0: return [4 /*yield*/, apis_1.validateResponse()];
1810
1458
  case 1:
1811
1459
  field_1 = _a.sent();
1812
1460
  return [2 /*return*/];
@@ -1839,8 +1487,8 @@
1839
1487
  };
1840
1488
  KwikIDFormViewComponent.prototype.initFormConfig = function (formConfig) {
1841
1489
  return __awaiter(this, void 0, void 0, function () {
1842
- var _a, _loop_1, this_1, _b, _c, field, _loop_2, _d, _e, field;
1843
- var e_1, _f, e_2, _g;
1490
+ var _a, _loop_1, this_1, _b, _c, field, _loop_2, this_2, _d, _e, field, e_1_1;
1491
+ var e_2, _f, e_1, _g;
1844
1492
  var _this = this;
1845
1493
  return __generator(this, function (_h) {
1846
1494
  switch (_h.label) {
@@ -1854,15 +1502,15 @@
1854
1502
  _a.formGroup = _h.sent();
1855
1503
  _loop_1 = function (field) {
1856
1504
  var _j;
1857
- if (field.type !== "title") {
1858
- this_1.previousFormData = Object.assign(Object.assign({}, this_1.previousFormData), (_j = {}, _j[field.key] = this_1.formGroup.controls[field.key].value, _j));
1505
+ if (field.isFormElement) {
1506
+ this_1.previousFormData = Object.assign(Object.assign({}, this_1.previousFormData), (_j = {}, _j[field.key] = convertFormFieldValueToStandardFormat(field, this_1.formGroup.controls[field.key].value), _j));
1859
1507
  this_1.formGroup.controls[field.key].valueChanges
1860
1508
  .pipe(operators.pairwise())
1861
1509
  .subscribe(function (_a) {
1862
1510
  var _b, _c;
1863
1511
  var _d = __read(_a, 2), previousValue = _d[0], currentValue = _d[1];
1864
- _this.previousFormData = Object.assign(Object.assign({}, _this.previousFormData), (_b = {}, _b[field.key] = previousValue, _b));
1865
- _this.formData = Object.assign(Object.assign({}, _this.formData), (_c = {}, _c[field.key] = currentValue, _c));
1512
+ _this.previousFormData = Object.assign(Object.assign({}, _this.previousFormData), (_b = {}, _b[field.key] = convertFormFieldValueToStandardFormat(field, previousValue), _b));
1513
+ _this.formData = Object.assign(Object.assign({}, _this.formData), (_c = {}, _c[field.key] = convertFormFieldValueToStandardFormat(field, currentValue), _c));
1866
1514
  });
1867
1515
  }
1868
1516
  };
@@ -1873,44 +1521,84 @@
1873
1521
  _loop_1(field);
1874
1522
  }
1875
1523
  }
1876
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
1524
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
1877
1525
  finally {
1878
1526
  try {
1879
1527
  if (_c && !_c.done && (_f = _b.return)) _f.call(_b);
1880
1528
  }
1881
- finally { if (e_1) throw e_1.error; }
1529
+ finally { if (e_2) throw e_2.error; }
1882
1530
  }
1883
1531
  _loop_2 = function (field) {
1884
- if (field.type !== "title") {
1885
- (function () { return __awaiter(_this, void 0, void 0, function () {
1886
- return __generator(this, function (_a) {
1887
- switch (_a.label) {
1888
- case 0: return [4 /*yield*/, this.handleConnectedElements({
1889
- key: field.key,
1890
- value: this.formGroup.controls[field.key].value
1891
- }, "ON_INIT")];
1892
- case 1:
1893
- field = _a.sent();
1894
- return [2 /*return*/];
1532
+ var validations_1, defaults;
1533
+ return __generator(this, function (_k) {
1534
+ switch (_k.label) {
1535
+ case 0:
1536
+ if (!field.isFormElement) return [3 /*break*/, 2];
1537
+ if (field.validation.triggers.includes("ON_INIT")) {
1538
+ validations_1 = new kwikidToolkit.Validation({
1539
+ FIELD_CONFIG: field,
1540
+ FORM_FIELDS: this_2.formFields,
1541
+ FORM_DATA: this_2.formData,
1542
+ PREVIOUS_FORM_DATA: this_2.previousFormData,
1543
+ ALL_FORMS_DATA: this_2.allFormsData
1544
+ }, this_2.takeAction.bind(this_2));
1545
+ (function () { return __awaiter(_this, void 0, void 0, function () {
1546
+ return __generator(this, function (_a) {
1547
+ switch (_a.label) {
1548
+ case 0: return [4 /*yield*/, validations_1.validate(field.validation)];
1549
+ case 1:
1550
+ _a.sent();
1551
+ return [2 /*return*/];
1552
+ }
1553
+ });
1554
+ }); })();
1895
1555
  }
1896
- });
1897
- }); })();
1898
- }
1556
+ if (kwikidToolkit.checkObjectKeyExists(field, "connectedElements")) {
1557
+ this_2.handleConnectedElements({
1558
+ key: field.key,
1559
+ value: this_2.formGroup.controls[field.key].value
1560
+ }, "ON_INIT");
1561
+ }
1562
+ if (!kwikidToolkit.checkObjectKeyExists(field, "default")) return [3 /*break*/, 2];
1563
+ if (!kwikidToolkit.checkObjectKeyExists(field.default, "options")) return [3 /*break*/, 2];
1564
+ if (!field.default.options.triggers.includes("ON_INIT")) return [3 /*break*/, 2];
1565
+ defaults = new Defaults(field, this_2.formFields, this_2.allFormsData, this_2.formData, this_2.previousFormData, this_2.takeAction);
1566
+ return [4 /*yield*/, defaults.getFormFieldOptions()];
1567
+ case 1:
1568
+ _k.sent();
1569
+ _k.label = 2;
1570
+ case 2: return [2 /*return*/];
1571
+ }
1572
+ });
1899
1573
  };
1574
+ this_2 = this;
1575
+ _h.label = 2;
1576
+ case 2:
1577
+ _h.trys.push([2, 7, 8, 9]);
1578
+ _d = __values(this.formFields), _e = _d.next();
1579
+ _h.label = 3;
1580
+ case 3:
1581
+ if (!!_e.done) return [3 /*break*/, 6];
1582
+ field = _e.value;
1583
+ return [5 /*yield**/, _loop_2(field)];
1584
+ case 4:
1585
+ _h.sent();
1586
+ _h.label = 5;
1587
+ case 5:
1588
+ _e = _d.next();
1589
+ return [3 /*break*/, 3];
1590
+ case 6: return [3 /*break*/, 9];
1591
+ case 7:
1592
+ e_1_1 = _h.sent();
1593
+ e_1 = { error: e_1_1 };
1594
+ return [3 /*break*/, 9];
1595
+ case 8:
1900
1596
  try {
1901
- for (_d = __values(this.formFields), _e = _d.next(); !_e.done; _e = _d.next()) {
1902
- field = _e.value;
1903
- _loop_2(field);
1904
- }
1905
- }
1906
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
1907
- finally {
1908
- try {
1909
- if (_e && !_e.done && (_g = _d.return)) _g.call(_d);
1910
- }
1911
- finally { if (e_2) throw e_2.error; }
1597
+ if (_e && !_e.done && (_g = _d.return)) _g.call(_d);
1912
1598
  }
1913
- return [2 /*return*/];
1599
+ finally { if (e_1) throw e_1.error; }
1600
+ return [7 /*endfinally*/];
1601
+ case 9: return [2 /*return*/];
1914
1602
  }
1915
1603
  });
1916
1604
  });
@@ -1943,7 +1631,7 @@
1943
1631
  switch (_d.label) {
1944
1632
  case 0:
1945
1633
  if (!kwikidToolkit.checkObjectKeyExists(childFieldGroupConfig, "rules")) return [3 /*break*/, 8];
1946
- rulesMapping = new kwikidToolkit.Rules(childFieldGroupConfig.rules, {
1634
+ rulesMapping = new kwikidToolkit.Rule(childFieldGroupConfig.rules, {
1947
1635
  FIELD_CONFIG: parentField,
1948
1636
  FORM_DATA: this.formData,
1949
1637
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -1959,8 +1647,9 @@
1959
1647
  action = _b.value;
1960
1648
  conditionSuccess = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
1961
1649
  if (!conditionSuccess) return [3 /*break*/, 4];
1962
- actions = new kwikidToolkit.Actions(action, rulesMapping, {
1650
+ actions = new kwikidToolkit.Action(action, rulesMapping, {
1963
1651
  FIELD_CONFIG: parentField,
1652
+ FORM_FIELDS: this.formFields,
1964
1653
  FORM_DATA: this.formData,
1965
1654
  PREVIOUS_FORM_DATA: this.previousFormData,
1966
1655
  ALL_FORMS_DATA: this.allFormsData
@@ -1990,48 +1679,16 @@
1990
1679
  };
1991
1680
  KwikIDFormViewComponent.prototype.handleConnectedElementFieldGroup = function (currentField, connectedFieldGroupConfig, eventType) {
1992
1681
  return __awaiter(this, void 0, void 0, function () {
1993
- var _a;
1994
- return __generator(this, function (_b) {
1995
- switch (_b.label) {
1682
+ return __generator(this, function (_a) {
1683
+ switch (_a.label) {
1996
1684
  case 0:
1997
- _a = eventType;
1998
- switch (_a) {
1999
- case "INIT": return [3 /*break*/, 1];
2000
- case "VALUE_CHANGE": return [3 /*break*/, 4];
2001
- case "NESTED_LINK": return [3 /*break*/, 7];
2002
- }
2003
- return [3 /*break*/, 9];
2004
- case 1:
2005
- if (!(kwikidToolkit.checkObjectKeyExists(connectedFieldGroupConfig, "triggers") &&
2006
- connectedFieldGroupConfig.triggers.includes("INIT"))) return [3 /*break*/, 3];
2007
- return [4 /*yield*/, this.handleConnectedElementFieldGroupActions(connectedFieldGroupConfig, currentField)];
2008
- case 2:
2009
- _b.sent();
2010
- _b.label = 3;
2011
- case 3: return [3 /*break*/, 12];
2012
- case 4:
2013
- if (!(kwikidToolkit.checkObjectKeyExists(connectedFieldGroupConfig, "triggers") &&
2014
- connectedFieldGroupConfig.triggers.includes("VALUE_CHANGE"))) return [3 /*break*/, 6];
2015
- return [4 /*yield*/, this.handleConnectedElementFieldGroupActions(connectedFieldGroupConfig, currentField)];
2016
- case 5:
2017
- _b.sent();
2018
- _b.label = 6;
2019
- case 6: return [3 /*break*/, 12];
2020
- case 7:
2021
- if (!(kwikidToolkit.checkObjectKeyExists(connectedFieldGroupConfig, "triggers") &&
2022
- connectedFieldGroupConfig.triggers.includes("NESTED_LINK"))) return [3 /*break*/, 9];
2023
- return [4 /*yield*/, this.handleConnectedElementFieldGroupActions(connectedFieldGroupConfig, currentField)];
2024
- case 8:
2025
- _b.sent();
2026
- _b.label = 9;
2027
- case 9:
2028
- if (!kwikidToolkit.checkObjectKeyExists(connectedFieldGroupConfig, "triggers")) return [3 /*break*/, 11];
1685
+ if (!kwikidToolkit.checkObjectKeyExists(connectedFieldGroupConfig, "triggers")) return [3 /*break*/, 2];
1686
+ if (!connectedFieldGroupConfig.triggers.includes(eventType)) return [3 /*break*/, 2];
2029
1687
  return [4 /*yield*/, this.handleConnectedElementFieldGroupActions(connectedFieldGroupConfig, currentField)];
2030
- case 10:
2031
- _b.sent();
2032
- _b.label = 11;
2033
- case 11: return [3 /*break*/, 12];
2034
- case 12: return [2 /*return*/];
1688
+ case 1:
1689
+ _a.sent();
1690
+ _a.label = 2;
1691
+ case 2: return [2 /*return*/];
2035
1692
  }
2036
1693
  });
2037
1694
  });
@@ -2044,7 +1701,7 @@
2044
1701
  switch (_d.label) {
2045
1702
  case 0:
2046
1703
  if (!kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "rules")) return [3 /*break*/, 8];
2047
- rulesMapping = new kwikidToolkit.Rules(connectedFieldConfig.rules, {
1704
+ rulesMapping = new kwikidToolkit.Rule(connectedFieldConfig.rules, {
2048
1705
  FIELD_CONFIG: connectedField,
2049
1706
  FORM_DATA: this.formData,
2050
1707
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -2060,7 +1717,8 @@
2060
1717
  action = _b.value;
2061
1718
  conditionSuccess = new kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
2062
1719
  if (!conditionSuccess) return [3 /*break*/, 4];
2063
- actions = new kwikidToolkit.Actions(action, rulesMapping, {
1720
+ actions = new kwikidToolkit.Action(action, rulesMapping, {
1721
+ FORM_FIELDS: this.formFields,
2064
1722
  FIELD_CONFIG: connectedField,
2065
1723
  FORM_DATA: this.formData,
2066
1724
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -2089,91 +1747,22 @@
2089
1747
  });
2090
1748
  });
2091
1749
  };
2092
- KwikIDFormViewComponent.prototype.handleConnectedElementFields = function (currentField, connectedFieldConfig, eventType) {
1750
+ KwikIDFormViewComponent.prototype.handleConnectedElementFields = function (currentField, connectedFieldConfig, eventType, nested) {
2093
1751
  return __awaiter(this, void 0, void 0, function () {
2094
- var connectedField, _a, _b, _c, _d, _e, connectedFieldConfig_1;
2095
- var e_5, _f;
2096
- return __generator(this, function (_g) {
2097
- switch (_g.label) {
1752
+ var connectedField;
1753
+ return __generator(this, function (_a) {
1754
+ switch (_a.label) {
2098
1755
  case 0:
2099
- connectedField = findFieldFromKey(this.formFields, connectedFieldConfig["key"]);
2100
- _a = eventType;
2101
- switch (_a) {
2102
- case "INIT": return [3 /*break*/, 1];
2103
- case "VALUE_CHANGE": return [3 /*break*/, 8];
2104
- case "NESTED_LINK": return [3 /*break*/, 15];
2105
- }
2106
- return [3 /*break*/, 17];
2107
- case 1:
2108
- if (!(kwikidToolkit.checkObjectKeyExists(connectedField, "triggers") &&
2109
- connectedField.triggers.includes("INIT"))) return [3 /*break*/, 7];
2110
- if (!this.isFieldEnabled(connectedField.key)) return [3 /*break*/, 5];
2111
- if (!kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "connectedParentFields")) return [3 /*break*/, 5];
2112
- _b = connectedFieldConfig.type;
2113
- switch (_b) {
2114
- case "dropdown-with-search": return [3 /*break*/, 2];
2115
- }
2116
- return [3 /*break*/, 4];
2117
- case 2: return [4 /*yield*/, this.handleFieldTypeSearchText(currentField, connectedField)];
2118
- case 3:
2119
- connectedField = _g.sent();
2120
- return [3 /*break*/, 5];
2121
- case 4: return [3 /*break*/, 5];
2122
- case 5: return [4 /*yield*/, this.handleConnectedElementFieldActions(connectedFieldConfig, connectedField)];
2123
- case 6:
2124
- connectedField = _g.sent();
2125
- _g.label = 7;
2126
- case 7: return [3 /*break*/, 20];
2127
- case 8:
2128
- if (!(kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "triggers") &&
2129
- connectedFieldConfig.triggers.includes("VALUE_CHANGE"))) return [3 /*break*/, 14];
2130
- _c = connectedField.type;
2131
- switch (_c) {
2132
- case "dropdown-with-search": return [3 /*break*/, 9];
2133
- }
2134
- return [3 /*break*/, 11];
2135
- case 9: return [4 /*yield*/, this.handleFieldTypeSearchText(currentField, connectedField)];
2136
- case 10:
2137
- connectedField = _g.sent();
2138
- return [3 /*break*/, 12];
2139
- case 11: return [3 /*break*/, 12];
2140
- case 12: return [4 /*yield*/, this.handleConnectedElementFieldActions(connectedFieldConfig, connectedField)];
2141
- case 13:
2142
- connectedField = _g.sent();
2143
- _g.label = 14;
2144
- case 14: return [3 /*break*/, 20];
2145
- case 15:
2146
- if (!(kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "triggers") &&
2147
- connectedFieldConfig.triggers.includes("NESTED_LINK"))) return [3 /*break*/, 17];
1756
+ connectedField = getFormFieldByKey(this.formFields, connectedFieldConfig["key"]);
1757
+ if (!kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "triggers")) return [3 /*break*/, 2];
1758
+ if (!connectedFieldConfig.triggers.includes(eventType)) return [3 /*break*/, 2];
2148
1759
  return [4 /*yield*/, this.handleConnectedElementFieldActions(connectedFieldConfig, connectedField)];
2149
- case 16:
2150
- connectedField = _g.sent();
2151
- _g.label = 17;
2152
- case 17:
2153
- if (!kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "triggers")) return [3 /*break*/, 19];
2154
- return [4 /*yield*/, this.handleConnectedElementFieldActions(connectedFieldConfig, connectedField)];
2155
- case 18:
2156
- connectedField = _g.sent();
2157
- _g.label = 19;
2158
- case 19: return [3 /*break*/, 20];
2159
- case 20:
2160
- if (kwikidToolkit.checkObjectKeyExists(connectedField, "connectedElements")) {
2161
- if (kwikidToolkit.checkObjectKeyExists(connectedField.connectedElements, "connectedFields")) {
2162
- try {
2163
- for (_d = __values(connectedField.connectedElements
2164
- .connectedFields), _e = _d.next(); !_e.done; _e = _d.next()) {
2165
- connectedFieldConfig_1 = _e.value;
2166
- connectedField = this.handleConnectedElementFields(connectedField, connectedFieldConfig_1, "NESTED_LINK");
2167
- }
2168
- }
2169
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
2170
- finally {
2171
- try {
2172
- if (_e && !_e.done && (_f = _d.return)) _f.call(_d);
2173
- }
2174
- finally { if (e_5) throw e_5.error; }
2175
- }
2176
- }
1760
+ case 1:
1761
+ connectedField = _a.sent();
1762
+ _a.label = 2;
1763
+ case 2:
1764
+ if (kwikidToolkit.checkObjectKeyExists(connectedFieldConfig, "handleNestedFields")) {
1765
+ this.handleConnectedElements({ key: connectedFieldConfig.key }, eventType);
2177
1766
  }
2178
1767
  return [2 /*return*/, currentField];
2179
1768
  }
@@ -2182,12 +1771,12 @@
2182
1771
  };
2183
1772
  KwikIDFormViewComponent.prototype.handleConnectedElements = function (e, eventType) {
2184
1773
  return __awaiter(this, void 0, void 0, function () {
2185
- var currentField, connectedFieldGroups, connectedFieldGroups_1, connectedFieldGroups_1_1, connectedFieldGroupConfig, e_6_1, connectedFields, connectedFields_1, connectedFields_1_1, connectedFieldConfig, e_7_1;
2186
- var e_6, _a, e_7, _b;
1774
+ var currentField, connectedFieldGroups, connectedFieldGroups_1, connectedFieldGroups_1_1, connectedFieldGroupConfig, e_5_1, connectedFields, connectedFields_1, connectedFields_1_1, connectedFieldConfig, e_6_1;
1775
+ var e_5, _a, e_6, _b;
2187
1776
  return __generator(this, function (_c) {
2188
1777
  switch (_c.label) {
2189
1778
  case 0:
2190
- currentField = findFieldFromKey(this.formFields, e.key);
1779
+ currentField = getFormFieldByKey(this.formFields, e.key);
2191
1780
  if (!(currentField !== undefined)) return [3 /*break*/, 17];
2192
1781
  if (!kwikidToolkit.checkObjectKeyExists(currentField, "connectedElements")) return [3 /*break*/, 16];
2193
1782
  if (!kwikidToolkit.checkObjectKeyExists(currentField.connectedElements, "connectedFieldGroups")) return [3 /*break*/, 8];
@@ -2209,14 +1798,14 @@
2209
1798
  return [3 /*break*/, 2];
2210
1799
  case 5: return [3 /*break*/, 8];
2211
1800
  case 6:
2212
- e_6_1 = _c.sent();
2213
- e_6 = { error: e_6_1 };
1801
+ e_5_1 = _c.sent();
1802
+ e_5 = { error: e_5_1 };
2214
1803
  return [3 /*break*/, 8];
2215
1804
  case 7:
2216
1805
  try {
2217
1806
  if (connectedFieldGroups_1_1 && !connectedFieldGroups_1_1.done && (_a = connectedFieldGroups_1.return)) _a.call(connectedFieldGroups_1);
2218
1807
  }
2219
- finally { if (e_6) throw e_6.error; }
1808
+ finally { if (e_5) throw e_5.error; }
2220
1809
  return [7 /*endfinally*/];
2221
1810
  case 8:
2222
1811
  if (!kwikidToolkit.checkObjectKeyExists(currentField.connectedElements, "connectedFields")) return [3 /*break*/, 16];
@@ -2229,7 +1818,7 @@
2229
1818
  case 10:
2230
1819
  if (!!connectedFields_1_1.done) return [3 /*break*/, 13];
2231
1820
  connectedFieldConfig = connectedFields_1_1.value;
2232
- return [4 /*yield*/, this.handleConnectedElementFields(currentField, connectedFieldConfig, eventType)];
1821
+ return [4 /*yield*/, this.handleConnectedElementFields(currentField, connectedFieldConfig, eventType, eventType)];
2233
1822
  case 11:
2234
1823
  currentField = _c.sent();
2235
1824
  _c.label = 12;
@@ -2238,14 +1827,14 @@
2238
1827
  return [3 /*break*/, 10];
2239
1828
  case 13: return [3 /*break*/, 16];
2240
1829
  case 14:
2241
- e_7_1 = _c.sent();
2242
- e_7 = { error: e_7_1 };
1830
+ e_6_1 = _c.sent();
1831
+ e_6 = { error: e_6_1 };
2243
1832
  return [3 /*break*/, 16];
2244
1833
  case 15:
2245
1834
  try {
2246
1835
  if (connectedFields_1_1 && !connectedFields_1_1.done && (_b = connectedFields_1.return)) _b.call(connectedFields_1);
2247
1836
  }
2248
- finally { if (e_7) throw e_7.error; }
1837
+ finally { if (e_6) throw e_6.error; }
2249
1838
  return [7 /*endfinally*/];
2250
1839
  case 16: return [3 /*break*/, 18];
2251
1840
  case 17: throw new Error("Field for the given key ['" + e.key + "'] is not found with eventType: '" + eventType + "'.");
@@ -2261,21 +1850,30 @@
2261
1850
  this.formGroup.patchValue((_a = {},
2262
1851
  _a[e.key] = e.value,
2263
1852
  _a), { emitEvent: false });
2264
- // Currently set only for dropdown-with-search connected fields
2265
- var field = findFieldFromKey(this.formFields, e.key);
2266
- if (field.type !== "title" &&
1853
+ var field = getFormFieldByKey(this.formFields, e.key);
1854
+ this.formData[e.key] = convertFormFieldValueToStandardFormat(field, e.value);
1855
+ if (field.isFormElement &&
2267
1856
  field.validation.triggers.includes("ON_CHANGE")) {
2268
- var validations_1 = new Validations(field, this.formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this));
1857
+ var validations_2 = new kwikidToolkit.Validation({
1858
+ FIELD_CONFIG: field,
1859
+ FORM_FIELDS: this.formFields,
1860
+ FORM_DATA: this.formData,
1861
+ PREVIOUS_FORM_DATA: this.previousFormData,
1862
+ ALL_FORMS_DATA: this.allFormsData
1863
+ }, this.takeAction.bind(this));
2269
1864
  (function () { return __awaiter(_this, void 0, void 0, function () {
2270
1865
  return __generator(this, function (_a) {
2271
1866
  switch (_a.label) {
2272
- case 0: return [4 /*yield*/, validations_1.validateField()];
1867
+ case 0: return [4 /*yield*/, validations_2.validate(field.validation)];
2273
1868
  case 1:
2274
1869
  _a.sent();
2275
1870
  return [2 /*return*/];
2276
1871
  }
2277
1872
  });
2278
1873
  }); })();
1874
+ }
1875
+ if (field.isFormElement &&
1876
+ kwikidToolkit.checkObjectKeyExists(field, "connectedElements")) {
2279
1877
  this.handleConnectedElements({
2280
1878
  key: field.key,
2281
1879
  value: this.formGroup.controls[field.key].value
@@ -2284,8 +1882,8 @@
2284
1882
  };
2285
1883
  KwikIDFormViewComponent.prototype.handleOnClickResetFormFields = function (e, field) {
2286
1884
  return __awaiter(this, void 0, void 0, function () {
2287
- var _a, _b, f, _c, _d, action, resetField, actions, e_8_1, e_9_1;
2288
- var e_9, _e, e_8, _f;
1885
+ var _a, _b, f, _c, _d, action, resetField, actions, e_7_1, e_8_1;
1886
+ var e_8, _e, e_7, _f;
2289
1887
  return __generator(this, function (_g) {
2290
1888
  switch (_g.label) {
2291
1889
  case 0:
@@ -2298,14 +1896,15 @@
2298
1896
  _g.label = 2;
2299
1897
  case 2:
2300
1898
  _g.trys.push([2, 7, 8, 9]);
2301
- _c = (e_8 = void 0, __values(f.actions)), _d = _c.next();
1899
+ _c = (e_7 = void 0, __values(f.actions)), _d = _c.next();
2302
1900
  _g.label = 3;
2303
1901
  case 3:
2304
1902
  if (!!_d.done) return [3 /*break*/, 6];
2305
1903
  action = _d.value;
2306
- resetField = findFieldFromKey(this.formFields, action.props.fieldKey);
2307
- actions = new kwikidToolkit.Actions(action, {}, {
1904
+ resetField = getFormFieldByKey(this.formFields, action.props.fieldKey);
1905
+ actions = new kwikidToolkit.Action(action, {}, {
2308
1906
  FIELD_CONFIG: resetField,
1907
+ FORM_FIELDS: this.formFields,
2309
1908
  FORM_DATA: this.formData,
2310
1909
  PREVIOUS_FORM_DATA: this.previousFormData,
2311
1910
  ALL_FORMS_DATA: this.allFormsData
@@ -2319,28 +1918,28 @@
2319
1918
  return [3 /*break*/, 3];
2320
1919
  case 6: return [3 /*break*/, 9];
2321
1920
  case 7:
2322
- e_8_1 = _g.sent();
2323
- e_8 = { error: e_8_1 };
1921
+ e_7_1 = _g.sent();
1922
+ e_7 = { error: e_7_1 };
2324
1923
  return [3 /*break*/, 9];
2325
1924
  case 8:
2326
1925
  try {
2327
1926
  if (_d && !_d.done && (_f = _c.return)) _f.call(_c);
2328
1927
  }
2329
- finally { if (e_8) throw e_8.error; }
1928
+ finally { if (e_7) throw e_7.error; }
2330
1929
  return [7 /*endfinally*/];
2331
1930
  case 9:
2332
1931
  _b = _a.next();
2333
1932
  return [3 /*break*/, 1];
2334
1933
  case 10: return [3 /*break*/, 13];
2335
1934
  case 11:
2336
- e_9_1 = _g.sent();
2337
- e_9 = { error: e_9_1 };
1935
+ e_8_1 = _g.sent();
1936
+ e_8 = { error: e_8_1 };
2338
1937
  return [3 /*break*/, 13];
2339
1938
  case 12:
2340
1939
  try {
2341
1940
  if (_b && !_b.done && (_e = _a.return)) _e.call(_a);
2342
1941
  }
2343
- finally { if (e_9) throw e_9.error; }
1942
+ finally { if (e_8) throw e_8.error; }
2344
1943
  return [7 /*endfinally*/];
2345
1944
  case 13: return [2 /*return*/];
2346
1945
  }
@@ -2353,7 +1952,7 @@
2353
1952
  return __generator(this, function (_a) {
2354
1953
  switch (_a.label) {
2355
1954
  case 0:
2356
- field = findFieldFromKey(this.formFields, e.key);
1955
+ field = getFormFieldByKey(this.formFields, e.key);
2357
1956
  if (!(field.type === "api-call")) return [3 /*break*/, 3];
2358
1957
  // set button status to loading
2359
1958
  field["api"]["status"]["value"] = EApiStatusType.LOADING;
@@ -2362,8 +1961,14 @@
2362
1961
  this.viewFormsButton["showLoader"] = true;
2363
1962
  this.saveFormButton["disabled"] = true;
2364
1963
  this.saveFormButton["showLoader"] = true;
2365
- apis = new Apis(field, this.formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this));
2366
- return [4 /*yield*/, apis.setRequestBodyParams()];
1964
+ apis = new Apis({
1965
+ FIELD_CONFIG: field,
1966
+ FORM_FIELDS: this.formFields,
1967
+ FORM_DATA: this.formData,
1968
+ PREVIOUS_FORM_DATA: this.previousFormData,
1969
+ ALL_FORMS_DATA: this.allFormsData
1970
+ }, this.takeAction.bind(this));
1971
+ return [4 /*yield*/, apis.setRequestBody()];
2367
1972
  case 1:
2368
1973
  field = _a.sent();
2369
1974
  return [4 /*yield*/, apis.validateRequestBody()];
@@ -2384,7 +1989,7 @@
2384
1989
  else {
2385
1990
  // Request Body Validation Failed
2386
1991
  // Highlight Error in UI to User to Retry After Sometime.
2387
- // Take Actions based on Validation
1992
+ // Take Action based on Validation
2388
1993
  setTimeout(function () {
2389
1994
  field["api"]["status"]["value"] = EApiStatusType.FAILED;
2390
1995
  field["showLoader"] = false;
@@ -2406,37 +2011,43 @@
2406
2011
  });
2407
2012
  };
2408
2013
  KwikIDFormViewComponent.prototype.handleOnClickSaveForm = function (e) {
2409
- var e_10, _a, e_11, _b, e_12, _c;
2014
+ var e_9, _a, e_10, _b, e_11, _c;
2410
2015
  var _this = this;
2411
2016
  var formData = this.formGroup.getRawValue();
2412
2017
  try {
2413
2018
  for (var _d = __values(this.formFields), _e = _d.next(); !_e.done; _e = _d.next()) {
2414
2019
  var field = _e.value;
2415
- if (field.type !== EFieldType.TITLE) {
2020
+ if (field.isFormElement) {
2416
2021
  if (field.hidden) {
2417
2022
  delete formData[field.key];
2418
2023
  }
2419
2024
  else {
2420
- formData[field.key] = convertValueFromKwikUIFormatToBasicFormat(field, formData[field.key]);
2025
+ formData[field.key] = convertFormFieldValueToStandardFormat(field, formData[field.key]);
2421
2026
  }
2422
2027
  }
2423
2028
  }
2424
2029
  }
2425
- catch (e_10_1) { e_10 = { error: e_10_1 }; }
2030
+ catch (e_9_1) { e_9 = { error: e_9_1 }; }
2426
2031
  finally {
2427
2032
  try {
2428
2033
  if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
2429
2034
  }
2430
- finally { if (e_10) throw e_10.error; }
2035
+ finally { if (e_9) throw e_9.error; }
2431
2036
  }
2432
2037
  var _loop_3 = function (field) {
2433
- if (field.type !== EFieldType.TITLE &&
2038
+ if (field.isFormElement &&
2434
2039
  field.validation.triggers.includes("ON_SAVE")) {
2435
- var validations_2 = new Validations(field, formData, this_2.previousFormData, this_2.allFormsData, this_2.takeAction.bind(this_2));
2040
+ var validations_3 = new kwikidToolkit.Validation({
2041
+ FIELD_CONFIG: field,
2042
+ FORM_FIELDS: this_3.formFields,
2043
+ FORM_DATA: this_3.formData,
2044
+ PREVIOUS_FORM_DATA: this_3.previousFormData,
2045
+ ALL_FORMS_DATA: this_3.allFormsData
2046
+ }, this_3.takeAction.bind(this_3));
2436
2047
  (function () { return __awaiter(_this, void 0, void 0, function () {
2437
2048
  return __generator(this, function (_a) {
2438
2049
  switch (_a.label) {
2439
- case 0: return [4 /*yield*/, validations_2.validateField()];
2050
+ case 0: return [4 /*yield*/, validations_3.validate(field.validation)];
2440
2051
  case 1:
2441
2052
  _a.sent();
2442
2053
  return [2 /*return*/];
@@ -2445,22 +2056,22 @@
2445
2056
  }); })();
2446
2057
  }
2447
2058
  };
2448
- var this_2 = this;
2059
+ var this_3 = this;
2449
2060
  try {
2450
2061
  for (var _f = __values(this.formFields), _g = _f.next(); !_g.done; _g = _f.next()) {
2451
2062
  var field = _g.value;
2452
2063
  _loop_3(field);
2453
2064
  }
2454
2065
  }
2455
- catch (e_11_1) { e_11 = { error: e_11_1 }; }
2066
+ catch (e_10_1) { e_10 = { error: e_10_1 }; }
2456
2067
  finally {
2457
2068
  try {
2458
2069
  if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
2459
2070
  }
2460
- finally { if (e_11) throw e_11.error; }
2071
+ finally { if (e_10) throw e_10.error; }
2461
2072
  }
2462
2073
  if (this.formGroup.invalid) {
2463
- var controls = new Validations(undefined, formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this)).findInvalidControlsRecursive(this.formGroup);
2074
+ var controls = new FormValidation().getFormFieldsInvalidControls(this.formGroup);
2464
2075
  var firstFieldWithError = "";
2465
2076
  try {
2466
2077
  for (var controls_1 = __values(controls), controls_1_1 = controls_1.next(); !controls_1_1.done; controls_1_1 = controls_1.next()) {
@@ -2468,15 +2079,15 @@
2468
2079
  if (control.invalid && kwikidToolkit.isEmptyValue(firstFieldWithError)) {
2469
2080
  firstFieldWithError = control.key;
2470
2081
  }
2471
- this.formFields = setFieldError(this.formFields, this.formGroup.controls[control.key].errors, control.key, control.invalid);
2082
+ this.formFields = showFormFieldError(this.formFields, this.formGroup.controls[control.key].errors, control.key, control.invalid);
2472
2083
  }
2473
2084
  }
2474
- catch (e_12_1) { e_12 = { error: e_12_1 }; }
2085
+ catch (e_11_1) { e_11 = { error: e_11_1 }; }
2475
2086
  finally {
2476
2087
  try {
2477
2088
  if (controls_1_1 && !controls_1_1.done && (_c = controls_1.return)) _c.call(controls_1);
2478
2089
  }
2479
- finally { if (e_12) throw e_12.error; }
2090
+ finally { if (e_11) throw e_11.error; }
2480
2091
  }
2481
2092
  this.toggleErrorNotification(true);
2482
2093
  setTimeout(function () {
@@ -2496,7 +2107,7 @@
2496
2107
  };
2497
2108
  // Component Helpers
2498
2109
  KwikIDFormViewComponent.prototype.fieldHide = function (fieldKey) {
2499
- var field = findFieldFromKey(this.formFields, fieldKey);
2110
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2500
2111
  var fieldIndex = this.formFields.findIndex(function (_) {
2501
2112
  return field.key === _.key;
2502
2113
  });
@@ -2504,23 +2115,23 @@
2504
2115
  this.formGroup.updateValueAndValidity();
2505
2116
  };
2506
2117
  KwikIDFormViewComponent.prototype.fieldGroupHide = function (fieldGroup) {
2507
- var e_13, _a;
2118
+ var e_12, _a;
2508
2119
  try {
2509
2120
  for (var _b = __values(this.fieldGroups[fieldGroup]), _c = _b.next(); !_c.done; _c = _b.next()) {
2510
2121
  var fieldKey = _c.value;
2511
2122
  this.fieldHide(fieldKey);
2512
2123
  }
2513
2124
  }
2514
- catch (e_13_1) { e_13 = { error: e_13_1 }; }
2125
+ catch (e_12_1) { e_12 = { error: e_12_1 }; }
2515
2126
  finally {
2516
2127
  try {
2517
2128
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2518
2129
  }
2519
- finally { if (e_13) throw e_13.error; }
2130
+ finally { if (e_12) throw e_12.error; }
2520
2131
  }
2521
2132
  };
2522
2133
  KwikIDFormViewComponent.prototype.fieldShow = function (fieldKey) {
2523
- var field = findFieldFromKey(this.formFields, fieldKey);
2134
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2524
2135
  var fieldIndex = this.formFields.findIndex(function (_) {
2525
2136
  return field.key === _.key;
2526
2137
  });
@@ -2528,27 +2139,27 @@
2528
2139
  this.formGroup.updateValueAndValidity();
2529
2140
  };
2530
2141
  KwikIDFormViewComponent.prototype.fieldGroupShow = function (fieldGroup) {
2531
- var e_14, _a;
2142
+ var e_13, _a;
2532
2143
  try {
2533
2144
  for (var _b = __values(this.fieldGroups[fieldGroup]), _c = _b.next(); !_c.done; _c = _b.next()) {
2534
2145
  var fieldKey = _c.value;
2535
2146
  this.fieldShow(fieldKey);
2536
2147
  }
2537
2148
  }
2538
- catch (e_14_1) { e_14 = { error: e_14_1 }; }
2149
+ catch (e_13_1) { e_13 = { error: e_13_1 }; }
2539
2150
  finally {
2540
2151
  try {
2541
2152
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2542
2153
  }
2543
- finally { if (e_14) throw e_14.error; }
2154
+ finally { if (e_13) throw e_13.error; }
2544
2155
  }
2545
2156
  };
2546
2157
  KwikIDFormViewComponent.prototype.fieldDisable = function (fieldKey) {
2547
- var field = findFieldFromKey(this.formFields, fieldKey);
2158
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2548
2159
  var fieldIndex = this.formFields.findIndex(function (_) {
2549
2160
  return field.key === _.key;
2550
2161
  });
2551
- if (field.type !== EFieldType.TITLE) {
2162
+ if (field.isFormElement) {
2552
2163
  this.formFields[fieldIndex]["disabled"] = true;
2553
2164
  if (kwikidToolkit.isNotEmptyValue(this.formGroup.controls)) {
2554
2165
  this.formGroup.controls[field.key].disable({
@@ -2559,27 +2170,27 @@
2559
2170
  }
2560
2171
  };
2561
2172
  KwikIDFormViewComponent.prototype.fieldGroupDisable = function (fieldGroup) {
2562
- var e_15, _a;
2173
+ var e_14, _a;
2563
2174
  try {
2564
2175
  for (var _b = __values(this.fieldGroups[fieldGroup]), _c = _b.next(); !_c.done; _c = _b.next()) {
2565
2176
  var fieldKey = _c.value;
2566
2177
  this.fieldDisable(fieldKey);
2567
2178
  }
2568
2179
  }
2569
- catch (e_15_1) { e_15 = { error: e_15_1 }; }
2180
+ catch (e_14_1) { e_14 = { error: e_14_1 }; }
2570
2181
  finally {
2571
2182
  try {
2572
2183
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2573
2184
  }
2574
- finally { if (e_15) throw e_15.error; }
2185
+ finally { if (e_14) throw e_14.error; }
2575
2186
  }
2576
2187
  };
2577
2188
  KwikIDFormViewComponent.prototype.fieldEnable = function (fieldKey) {
2578
- var field = findFieldFromKey(this.formFields, fieldKey);
2189
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2579
2190
  var fieldIndex = this.formFields.findIndex(function (_) {
2580
2191
  return field.key === _.key;
2581
2192
  });
2582
- if (field.type !== EFieldType.TITLE) {
2193
+ if (field.isFormElement) {
2583
2194
  this.formFields[fieldIndex]["disabled"] = false;
2584
2195
  if (kwikidToolkit.isNotEmptyValue(this.formGroup.controls)) {
2585
2196
  this.formGroup.controls[field.key].enable({
@@ -2590,37 +2201,37 @@
2590
2201
  }
2591
2202
  };
2592
2203
  KwikIDFormViewComponent.prototype.fieldGroupEnable = function (fieldGroup) {
2593
- var e_16, _a;
2204
+ var e_15, _a;
2594
2205
  try {
2595
2206
  for (var _b = __values(this.fieldGroups[fieldGroup]), _c = _b.next(); !_c.done; _c = _b.next()) {
2596
2207
  var fieldKey = _c.value;
2597
2208
  this.fieldEnable(fieldKey);
2598
2209
  }
2599
2210
  }
2600
- catch (e_16_1) { e_16 = { error: e_16_1 }; }
2211
+ catch (e_15_1) { e_15 = { error: e_15_1 }; }
2601
2212
  finally {
2602
2213
  try {
2603
2214
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2604
2215
  }
2605
- finally { if (e_16) throw e_16.error; }
2216
+ finally { if (e_15) throw e_15.error; }
2606
2217
  }
2607
2218
  };
2608
2219
  KwikIDFormViewComponent.prototype.fieldReset = function (fieldKey) {
2609
2220
  // Find the field and its index in the formFields array
2610
- var field = findFieldFromKey(this.formFields, fieldKey);
2611
- var fieldIndex = findFieldIndexFromKey(this.formFields, fieldKey);
2221
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2222
+ var fieldIndex = getFormFieldIndexByKey(this.formFields, fieldKey);
2612
2223
  // Delete the field from the formData object
2613
2224
  delete this.formData[fieldKey];
2614
2225
  // Reset the value of the field in the formGroup
2615
- this.formGroup.controls[field.key].reset(setEmptyValue(field), {
2226
+ this.formGroup.controls[field.key].reset(convertFormFieldEmptyValueToKwikUIFormat(field), {
2616
2227
  emitEvent: false
2617
2228
  });
2618
2229
  // Reset the messages and errors for the field
2619
- field = removeMessage(field, {
2230
+ field = removeFormFieldMessage(field, {
2620
2231
  type: EMessageType.WARNING,
2621
2232
  message: ""
2622
2233
  });
2623
- field = removeMessage(field, {
2234
+ field = removeFormFieldMessage(field, {
2624
2235
  type: EMessageType.SUCCESS,
2625
2236
  message: ""
2626
2237
  });
@@ -2643,37 +2254,37 @@
2643
2254
  }
2644
2255
  };
2645
2256
  KwikIDFormViewComponent.prototype.fieldErrorShow = function (fieldKey, message) {
2646
- var field = findFieldFromKey(this.formFields, fieldKey);
2257
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2647
2258
  var fieldIndex = this.formFields.findIndex(function (_) {
2648
2259
  return field.key === _.key;
2649
2260
  });
2650
- field = highlightFieldError(field, true);
2651
- field = addMessage(field, message);
2261
+ field = highlightFormFieldError(field, true);
2262
+ field = appendFormFieldMessage(field, message);
2652
2263
  this.formFields[fieldIndex] = field;
2653
2264
  };
2654
2265
  KwikIDFormViewComponent.prototype.fieldErrorHide = function (fieldKey, message) {
2655
- var field = findFieldFromKey(this.formFields, fieldKey);
2266
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2656
2267
  var fieldIndex = this.formFields.findIndex(function (_) {
2657
2268
  return field.key === _.key;
2658
2269
  });
2659
- field = highlightFieldError(field, false);
2660
- field = removeMessage(field, message);
2270
+ field = highlightFormFieldError(field, false);
2271
+ field = removeFormFieldMessage(field, message);
2661
2272
  this.formFields[fieldIndex] = field;
2662
2273
  };
2663
2274
  KwikIDFormViewComponent.prototype.fieldMessageShow = function (fieldKey, message) {
2664
- var field = findFieldFromKey(this.formFields, fieldKey);
2275
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2665
2276
  var fieldIndex = this.formFields.findIndex(function (_) {
2666
2277
  return field.key === _.key;
2667
2278
  });
2668
- field = addMessage(field, message);
2279
+ field = appendFormFieldMessage(field, message);
2669
2280
  this.formFields[fieldIndex] = field;
2670
2281
  };
2671
2282
  KwikIDFormViewComponent.prototype.fieldMessageHide = function (fieldKey, message) {
2672
- var field = findFieldFromKey(this.formFields, fieldKey);
2283
+ var field = getFormFieldByKey(this.formFields, fieldKey);
2673
2284
  var fieldIndex = this.formFields.findIndex(function (_) {
2674
2285
  return field.key === _.key;
2675
2286
  });
2676
- field = removeMessage(field, message);
2287
+ field = removeFormFieldMessage(field, message);
2677
2288
  this.formFields[fieldIndex] = field;
2678
2289
  };
2679
2290
  KwikIDFormViewComponent.prototype.setObjectValue = function (field, path, value) { };
@@ -2683,6 +2294,14 @@
2683
2294
  _a[key] = value,
2684
2295
  _a), { emitEvent: false });
2685
2296
  };
2297
+ KwikIDFormViewComponent.prototype.patchFormGroup = function (formData) {
2298
+ if (kwikidToolkit.isUndefined(this.formGroup) || kwikidToolkit.isUndefined(formData)) {
2299
+ throw new Error("formGroup or formData is 'undefined'.");
2300
+ }
2301
+ else {
2302
+ this.formGroup.patchValue(formData, { emitEvent: false });
2303
+ }
2304
+ };
2686
2305
  KwikIDFormViewComponent.prototype.isFieldValid = function (fieldKey) {
2687
2306
  return this.formGroup.controls[fieldKey].valid;
2688
2307
  };
@@ -2692,27 +2311,7 @@
2692
2311
  KwikIDFormViewComponent.prototype.getFormGroupRawValues = function () {
2693
2312
  return this.formGroup.getRawValue();
2694
2313
  };
2695
- KwikIDFormViewComponent.prototype.handleFieldTypeSearchText = function (field, childField) {
2696
- return __awaiter(this, void 0, void 0, function () {
2697
- var _a;
2698
- return __generator(this, function (_b) {
2699
- switch (_b.label) {
2700
- case 0:
2701
- if (kwikidToolkit.checkObjectKeyExists(childField, "json")) {
2702
- childField.options = getSearchTextOptionsFromFieldConfig(field, childField, this.formGroup);
2703
- }
2704
- if (!kwikidToolkit.checkObjectKeyExists(childField, "fetchJsonFromRemote")) return [3 /*break*/, 2];
2705
- _a = childField;
2706
- return [4 /*yield*/, getSearchTextOptionsFromRemoteFile(field, childField, this.formGroup)];
2707
- case 1:
2708
- _a.options = _b.sent();
2709
- _b.label = 2;
2710
- case 2: return [2 /*return*/, childField];
2711
- }
2712
- });
2713
- });
2714
- };
2715
- KwikIDFormViewComponent.prototype.takeActionOnFieldGroup = function (action, field, allFormsData, formData, previousFormData) {
2314
+ KwikIDFormViewComponent.prototype.takeActionOnFieldGroup = function (action, object) {
2716
2315
  return __awaiter(this, void 0, void 0, function () {
2717
2316
  return __generator(this, function (_a) {
2718
2317
  switch (action.key) {
@@ -2737,7 +2336,7 @@
2737
2336
  };
2738
2337
  KwikIDFormViewComponent.prototype.takeAction = function (action, object) {
2739
2338
  return __awaiter(this, void 0, void 0, function () {
2740
- var _a, sources, sourceValue;
2339
+ var _a, setValue_Sources, sourceValue, setDropdownValue_Sources, dropdownValue, appendToPath, appendToPathStr, optionsPath;
2741
2340
  return __generator(this, function (_b) {
2742
2341
  switch (_b.label) {
2743
2342
  case 0:
@@ -2753,54 +2352,83 @@
2753
2352
  case EActionKey.FIELD_MESSAGE_SHOW: return [3 /*break*/, 8];
2754
2353
  case EActionKey.FIELD_MESSAGES_HIDE: return [3 /*break*/, 9];
2755
2354
  case EActionKey.SET_VALUE: return [3 /*break*/, 10];
2756
- case EActionKey.HANDLE_CONNECTED_ELEMENTS: return [3 /*break*/, 12];
2757
- case EActionKey.CUSTOM: return [3 /*break*/, 13];
2355
+ case EActionKey.SET_DROPDOWN_OPTIONS: return [3 /*break*/, 12];
2356
+ case EActionKey.HANDLE_CONNECTED_ELEMENTS: return [3 /*break*/, 17];
2357
+ case EActionKey.CUSTOM: return [3 /*break*/, 18];
2758
2358
  }
2759
- return [3 /*break*/, 14];
2359
+ return [3 /*break*/, 19];
2760
2360
  case 1:
2761
2361
  this.fieldHide(action.props.fieldKey);
2762
- return [3 /*break*/, 15];
2362
+ return [3 /*break*/, 20];
2763
2363
  case 2:
2764
2364
  this.fieldShow(action.props.fieldKey);
2765
- return [3 /*break*/, 15];
2365
+ return [3 /*break*/, 20];
2766
2366
  case 3:
2767
2367
  this.fieldDisable(action.props.fieldKey);
2768
- return [3 /*break*/, 15];
2368
+ return [3 /*break*/, 20];
2769
2369
  case 4:
2770
2370
  this.fieldEnable(action.props.fieldKey);
2771
- return [3 /*break*/, 15];
2371
+ return [3 /*break*/, 20];
2772
2372
  case 5:
2773
2373
  this.fieldReset(action.props.fieldKey);
2774
- return [3 /*break*/, 15];
2374
+ return [3 /*break*/, 20];
2775
2375
  case 6:
2776
2376
  this.fieldErrorShow(action.props.fieldKey, action.props.message);
2777
- return [3 /*break*/, 15];
2377
+ return [3 /*break*/, 20];
2778
2378
  case 7:
2779
2379
  this.fieldErrorHide(action.props.fieldKey, action.props.message);
2780
- return [3 /*break*/, 15];
2380
+ return [3 /*break*/, 20];
2781
2381
  case 8:
2782
2382
  this.fieldMessageShow(action.props.fieldKey, action.props.message);
2783
- return [3 /*break*/, 15];
2383
+ return [3 /*break*/, 20];
2784
2384
  case 9:
2785
2385
  this.fieldMessageHide(action.props.fieldKey, action.props.message);
2786
- return [3 /*break*/, 15];
2386
+ return [3 /*break*/, 20];
2787
2387
  case 10:
2788
- sources = new kwikidToolkit.Sources(object);
2789
- return [4 /*yield*/, sources.getValueFromSource(action.props.value.source)];
2388
+ setValue_Sources = new kwikidToolkit.Source(object);
2389
+ return [4 /*yield*/, setValue_Sources.getValueFromSource(action.props.value.source)];
2790
2390
  case 11:
2791
2391
  sourceValue = _b.sent();
2792
- sources.setValueToSource(action.props.value.destination, sourceValue);
2793
- object.FIELD_CONFIG = sources.object.FIELD_CONFIG;
2794
- this.formData = sources.object.FORM_DATA;
2795
- this.allFormsData = sources.object.ALL_FORMS_DATA;
2796
- this.previousFormData = sources.object.PREVIOUS_FORM_DATA;
2797
- return [3 /*break*/, 15];
2392
+ setValue_Sources.setValueToSource(action.props.value.destination, sourceValue);
2393
+ object.FIELD_CONFIG = setValue_Sources.object.FIELD_CONFIG;
2394
+ this.formData = setValue_Sources.object.FORM_DATA;
2395
+ this.patchFormGroup(this.formData);
2396
+ this.allFormsData = setValue_Sources.object.ALL_FORMS_DATA;
2397
+ this.previousFormData = setValue_Sources.object.PREVIOUS_FORM_DATA;
2398
+ return [3 /*break*/, 20];
2798
2399
  case 12:
2799
- this.handleConnectedElements({ key: action.props.fieldKey }, "ACTION");
2800
- return [3 /*break*/, 15];
2801
- case 13: return [3 /*break*/, 15];
2802
- case 14: return [3 /*break*/, 15];
2803
- case 15: return [2 /*return*/];
2400
+ setDropdownValue_Sources = new kwikidToolkit.Source(object);
2401
+ return [4 /*yield*/, setDropdownValue_Sources.getValueFromSource(action.props.value.source)];
2402
+ case 13:
2403
+ dropdownValue = _b.sent();
2404
+ if (!kwikidToolkit.checkObjectKeyExists(action.props, "options")) return [3 /*break*/, 16];
2405
+ if (!kwikidToolkit.checkObjectKeyExists(action.props.options, "appendToPath")) return [3 /*break*/, 15];
2406
+ return [4 /*yield*/, setDropdownValue_Sources.getValueFromSource(action.props.options.appendToPath.source)];
2407
+ case 14:
2408
+ appendToPath = _b.sent();
2409
+ if (kwikidToolkit.isNotEmptyValue(appendToPath)) {
2410
+ appendToPathStr = kwikidToolkit.replaceString(appendToPath.match("" + action.props.options.appendToPath.filterSourceValue)[0], "[^a-zA-Z0-9_]", "_");
2411
+ optionsPath = "" + action.props.options.path + appendToPathStr;
2412
+ dropdownValue = kwikidToolkit.getObjectValueFromPath(dropdownValue, optionsPath);
2413
+ }
2414
+ return [3 /*break*/, 16];
2415
+ case 15:
2416
+ dropdownValue = kwikidToolkit.getObjectValueFromPath(dropdownValue, action.props.options.path);
2417
+ _b.label = 16;
2418
+ case 16:
2419
+ setDropdownValue_Sources.setValueToSource(action.props.value.destination, dropdownValue);
2420
+ object.FIELD_CONFIG = setDropdownValue_Sources.object.FIELD_CONFIG;
2421
+ this.formData = setDropdownValue_Sources.object.FORM_DATA;
2422
+ this.allFormsData = setDropdownValue_Sources.object.ALL_FORMS_DATA;
2423
+ this.previousFormData =
2424
+ setDropdownValue_Sources.object.PREVIOUS_FORM_DATA;
2425
+ return [3 /*break*/, 20];
2426
+ case 17:
2427
+ this.handleConnectedElements({ key: action.props.fieldKey }, "ON_ACTION");
2428
+ return [3 /*break*/, 20];
2429
+ case 18: return [3 /*break*/, 20];
2430
+ case 19: return [3 /*break*/, 20];
2431
+ case 20: return [2 /*return*/];
2804
2432
  }
2805
2433
  });
2806
2434
  });
@@ -2808,7 +2436,7 @@
2808
2436
  return KwikIDFormViewComponent;
2809
2437
  }());
2810
2438
  /** @nocollapse */ KwikIDFormViewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDFormViewComponent, deps: [{ token: i4.TuiPushService }, { token: i3.TuiAlertService }, { token: KwikIDFormViewService }], target: i0__namespace.ɵɵFactoryTarget.Component });
2811
- /** @nocollapse */ KwikIDFormViewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: { formConfig: "formConfig", formData: "formData", apiCallResponse: "apiCallResponse", isMobileView: "isMobileView", allFormsData: "allFormsData", formsList: "formsList" }, outputs: { onClickViewForms: "onClickViewForms", onClickSaveForm: "onClickSaveForm", onClickApiCall: "onClickApiCall", getActiveFormData: "getActiveFormData" }, providers: [KwikIDFormViewService], usesOnChanges: true, ngImport: i0__namespace, template: "<div\n class=\"kwikid-form-container\"\n *ngIf=\"!this.loading\"\n>\n <div id=\"uf-form-fields-header-container\">\n <div id=\"uf-form-fields-title\">\n {{ this.formConfig.title }}\n </div>\n <div id=\"uf-form-fields-steps\">\n Step {{ this.formConfig.sequenceNo }} of {{ this.formsList.length }}\n </div>\n <hr />\n </div>\n <form\n class=\"kwikid-form show\"\n [formGroup]=\"this.formGroup\"\n >\n <ng-container *ngFor=\"let field of this.formFields; let i = index\">\n <ng-container [ngSwitch]=\"field.type\">\n <!-- Form Title -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div\n class=\"title\"\n [class.hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <div>\n {{ field.label }}\n </div>\n <kwikui-button\n *ngIf=\"field?.reset\"\n appearance=\"whiteblock\"\n size=\"s\"\n label=\"Reset\"\n (onClick)=\"this.handleOnClickResetFormFields($event, field)\"\n ></kwikui-button>\n </div>\n </ng-container>\n <!-- Input Text -->\n <ng-container *ngSwitchCase=\"'text'\">\n <div\n [hidden]=\"field?.hidden\"\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 [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 <!-- Checkbox -->\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-checkbox-block\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 (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-checkbox-block\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 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 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 [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\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 Phone -->\n <ng-container *ngSwitchCase=\"'phone'\">\n <div\n [hidden]=\"field?.hidden\"\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 [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 id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto\"\n >\n <kwikui-radio-list\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-radio-list>\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=\"'dropdown-with-search'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-select-combobox\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 [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-select-combobox>\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-call'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-api-call\n [apiStatus]=\"field?.api?.status?.value\"\n [class]=\"field?.class\"\n [disabled]=\"field?.disabled\"\n [id]=\"field.key\"\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\n [showLoader]=\"field?.disabled === 'loading'\"\n shape=\"null\"\n size=\"m\"\n styles=\"width: fit-content\"\n (onClick)=\"this.handleOnClickApiCall($event)\"\n ></kwikui-button-api-call>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Mobile OTP -->\n <ng-container *ngSwitchCase=\"'otp'\">\n <div\n [hidden]=\"field?.hidden\"\n 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 [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\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 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 [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 </ng-container>\n </ng-container>\n </form>\n <div class=\"kwikid-form-buttons\">\n <kwikui-button\n *ngIf=\"this.isMobileView\"\n [disabled]=\"viewFormsButton.disabled\"\n id=\"\"\n label=\"View Forms\"\n [showLoader]=\"viewFormsButton.showLoader\"\n styles=\"\"\n class=\"\"\n type=\"button\"\n appearance=\"secondary\"\n icon=\"\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"width: 100%\"\n (onClick)=\"this.handleOnClickViewForms($event)\"\n ></kwikui-button>\n <kwikui-button\n [disabled]=\"saveFormButton.disabled\"\n id=\"\"\n label=\"Save\"\n [showLoader]=\"saveFormButton.showLoader\"\n styles=\"\"\n class=\"\"\n type=\"button\"\n appearance=\"primary\"\n icon=\"\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"width: 100%\"\n (onClick)=\"this.handleOnClickSaveForm($event)\"\n ></kwikui-button>\n </div>\n</div>\n<div\n class=\"kwikid-form-container-loading\"\n *ngIf=\"this.loading\"\n>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n</div>\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=\"tuiIconCancel\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n", styles: ["::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}.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;grid-row-gap:1rem;row-gap:1rem}.kwikid-form-buttons{width:100%;bottom:0px;padding:1rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;grid-column-gap:10px;column-gap:10px}.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;grid-row-gap:.5rem;row-gap:.5rem;padding:1rem}#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:1em}.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;grid-gap:.5rem;gap:.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;grid-row-gap:1rem;row-gap:1rem;padding:1rem}#field-error-notification{background-color:var(--tui-error-fill);color:#fff!important}#field-error-notification .t-top{color:#fff!important}#field-error-notification .t-close{color:#fff!important}\n"], components: [{ type: i2__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIInputComponent, selector: "kwikui-input", inputs: ["label", "id", "type", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "validators", "case", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIMessagesComponent, selector: "kwikui-messages", inputs: ["messages", "id"] }, { type: i2__namespace.KwikUICheckboxBlockComponent, selector: "kwikui-checkbox-block", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "size", "contentAlign", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputNumberComponent, selector: "kwikui-input-number", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "min", "max", "prefix", "postfix", "precision", "decimal", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputDateComponent, selector: "kwikui-input-date", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "min", "max", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputPhoneComponent, selector: "kwikui-input-phone", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "countryCode", "phoneMaskAfterCountryCode", "removeCountryCodeFromValue", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i3__namespace.TuiLabelComponent, selector: "label[tuiLabel]", inputs: ["tuiLabel", "context"] }, { type: i2__namespace.KwikUIRadioListComponent, selector: "kwikui-radio-list", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "size", "orientation", "items", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUISelectComboboxComponent, selector: "kwikui-select-combobox", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "options", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIButtonApiCallComponent, selector: "kwikui-button-api-call", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "shape", "size", "apiStatus"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIInputOtpComponent, selector: "kwikui-input-otp", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "mask", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputAadhaarComponent, selector: "kwikui-input-aadhaar", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "mask", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i4__namespace.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "timestamp"], outputs: ["close"] }, { type: i3__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i4__namespace.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i4__namespace.TuiPushDirective, selector: "tui-push" }] });
2439
+ /** @nocollapse */ KwikIDFormViewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: { formConfig: "formConfig", formData: "formData", apiCallResponse: "apiCallResponse", isMobileView: "isMobileView", allFormsData: "allFormsData", formsList: "formsList" }, outputs: { onClickViewForms: "onClickViewForms", onClickSaveForm: "onClickSaveForm", onClickApiCall: "onClickApiCall", getActiveFormData: "getActiveFormData" }, providers: [KwikIDFormViewService], usesOnChanges: true, ngImport: i0__namespace, template: "<div\n class=\"kwikid-form-container\"\n *ngIf=\"!this.loading\"\n>\n <div id=\"uf-form-fields-header-container\">\n <div id=\"uf-form-fields-title\">\n {{ this.formConfig.title }}\n </div>\n <div id=\"uf-form-fields-steps\">\n Step {{ this.formConfig.sequenceNo }} of {{ this.formsList.length }}\n </div>\n <hr />\n </div>\n <form\n class=\"kwikid-form show\"\n [formGroup]=\"this.formGroup\"\n >\n <ng-container *ngFor=\"let field of this.formFields; let i = index\">\n <ng-container [ngSwitch]=\"field.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'html'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <div [innerHtml]=\"field.html | safeHtml\"></div>\n </div>\n </ng-container>\n <!-- Form Title -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div\n class=\"title\"\n [class.hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <div>\n {{ field.label }}\n </div>\n <kwikui-button\n *ngIf=\"field?.reset\"\n appearance=\"whiteblock\"\n size=\"s\"\n label=\"Reset\"\n (onClick)=\"this.handleOnClickResetFormFields($event, field)\"\n ></kwikui-button>\n </div>\n </ng-container>\n <!-- Input Text -->\n <ng-container *ngSwitchCase=\"'text'\">\n <div\n [hidden]=\"field?.hidden\"\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 [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 <!-- Checkbox -->\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-checkbox-block\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 (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-checkbox-block\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 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 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 [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\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 Phone -->\n <ng-container *ngSwitchCase=\"'phone'\">\n <div\n [hidden]=\"field?.hidden\"\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 [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 id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto\"\n >\n <kwikui-radio-list\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-radio-list>\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=\"'dropdown-with-search'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-select-combobox\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 [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-select-combobox>\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-call'\">\n <div\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-api-call\n [apiStatus]=\"field?.api?.status?.value\"\n [class]=\"field?.class\"\n [disabled]=\"field?.disabled\"\n [id]=\"field.key\"\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\n [showLoader]=\"field?.disabled === 'loading'\"\n shape=\"null\"\n size=\"m\"\n styles=\"width: fit-content\"\n (onClick)=\"this.handleOnClickApiCall($event)\"\n ></kwikui-button-api-call>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Mobile OTP -->\n <ng-container *ngSwitchCase=\"'otp'\">\n <div\n [hidden]=\"field?.hidden\"\n 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 [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\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 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 [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 </ng-container>\n </ng-container>\n </form>\n <div class=\"kwikid-form-buttons\">\n <kwikui-button\n *ngIf=\"this.isMobileView\"\n [disabled]=\"viewFormsButton.disabled\"\n id=\"\"\n label=\"View Forms\"\n [showLoader]=\"viewFormsButton.showLoader\"\n styles=\"\"\n class=\"\"\n type=\"button\"\n appearance=\"secondary\"\n icon=\"\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"width: 100%\"\n (onClick)=\"this.handleOnClickViewForms($event)\"\n ></kwikui-button>\n <kwikui-button\n [disabled]=\"saveFormButton.disabled\"\n id=\"\"\n label=\"Save\"\n [showLoader]=\"saveFormButton.showLoader\"\n styles=\"\"\n class=\"\"\n type=\"button\"\n appearance=\"primary\"\n icon=\"\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"width: 100%\"\n (onClick)=\"this.handleOnClickSaveForm($event)\"\n ></kwikui-button>\n </div>\n</div>\n<div\n class=\"kwikid-form-container-loading\"\n *ngIf=\"this.loading\"\n>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n <div\n class=\"large-wrapper\"\n [class.tui-skeleton]=\"this.loading\"\n [class.tui-skeleton_rounded]=\"this.loading\"\n ></div>\n</div>\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=\"tuiIconCancel\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n", styles: ["::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}.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;grid-row-gap:1rem;row-gap:1rem}.kwikid-form-buttons{width:100%;bottom:0px;padding:1rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;grid-column-gap:10px;column-gap:10px}.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;grid-row-gap:.5rem;row-gap:.5rem;padding:1rem}#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:1em}.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;grid-gap:.5rem;gap:.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;grid-row-gap:1rem;row-gap:1rem;padding:1rem}#field-error-notification{background-color:var(--tui-error-fill);color:#fff!important}#field-error-notification .t-top{color:#fff!important}#field-error-notification .t-close{color:#fff!important}\n"], components: [{ type: i2__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIInputComponent, selector: "kwikui-input", inputs: ["label", "id", "type", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "validators", "case", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIMessagesComponent, selector: "kwikui-messages", inputs: ["messages", "id"] }, { type: i2__namespace.KwikUICheckboxBlockComponent, selector: "kwikui-checkbox-block", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "size", "contentAlign", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputNumberComponent, selector: "kwikui-input-number", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "min", "max", "prefix", "postfix", "precision", "decimal", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputDateComponent, selector: "kwikui-input-date", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "min", "max", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputPhoneComponent, selector: "kwikui-input-phone", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "countryCode", "phoneMaskAfterCountryCode", "removeCountryCodeFromValue", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i3__namespace.TuiLabelComponent, selector: "label[tuiLabel]", inputs: ["tuiLabel", "context"] }, { type: i2__namespace.KwikUIRadioListComponent, selector: "kwikui-radio-list", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "size", "orientation", "items", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUISelectComboboxComponent, selector: "kwikui-select-combobox", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "options", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIButtonApiCallComponent, selector: "kwikui-button-api-call", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "shape", "size", "apiStatus"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIInputOtpComponent, selector: "kwikui-input-otp", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "mask", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputAadhaarComponent, selector: "kwikui-input-aadhaar", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "mask", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i4__namespace.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "timestamp"], outputs: ["close"] }, { type: i3__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i4__namespace.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i4__namespace.TuiPushDirective, selector: "tui-push" }], pipes: { "safeHtml": SafeHtmlPipe } });
2812
2440
  __decorate([
2813
2441
  kwikidToolkit.logMethod
2814
2442
  ], KwikIDFormViewComponent.prototype, "ngOnInit", null);
@@ -2908,6 +2536,9 @@
2908
2536
  __decorate([
2909
2537
  kwikidToolkit.logMethod
2910
2538
  ], KwikIDFormViewComponent.prototype, "patchFieldControlValue", null);
2539
+ __decorate([
2540
+ kwikidToolkit.logMethod
2541
+ ], KwikIDFormViewComponent.prototype, "patchFormGroup", null);
2911
2542
  __decorate([
2912
2543
  kwikidToolkit.logMethod
2913
2544
  ], KwikIDFormViewComponent.prototype, "isFieldValid", null);
@@ -2917,9 +2548,6 @@
2917
2548
  __decorate([
2918
2549
  kwikidToolkit.logMethod
2919
2550
  ], KwikIDFormViewComponent.prototype, "getFormGroupRawValues", null);
2920
- __decorate([
2921
- kwikidToolkit.logMethod
2922
- ], KwikIDFormViewComponent.prototype, "handleFieldTypeSearchText", null);
2923
2551
  __decorate([
2924
2552
  kwikidToolkit.logMethod
2925
2553
  ], KwikIDFormViewComponent.prototype, "takeActionOnFieldGroup", null);
@@ -2962,7 +2590,7 @@
2962
2590
  type: i0.Output
2963
2591
  }], getActiveFormData: [{
2964
2592
  type: i0.Output
2965
- }], ngOnInit: [], ngAfterViewInit: [], ngOnChanges: [], initFormConfig: [], setFormFieldsFromFormConfig: [], setFormFieldGroupsFromFormConfig: [], setFormDataFromAllFormsData: [], handleConnectedElementFieldGroupActions: [], handleConnectedElementFieldGroup: [], handleConnectedElementFieldActions: [], handleConnectedElementFields: [], handleConnectedElements: [], handleGetKeyValue: [], handleOnClickResetFormFields: [], handleOnClickApiCall: [], handleOnClickViewForms: [], handleOnClickSaveForm: [], toggleErrorNotification: [], fieldHide: [], fieldGroupHide: [], fieldShow: [], fieldGroupShow: [], fieldDisable: [], fieldGroupDisable: [], fieldEnable: [], fieldGroupEnable: [], fieldReset: [], fieldErrorShow: [], fieldErrorHide: [], fieldMessageShow: [], fieldMessageHide: [], setObjectValue: [], patchFieldControlValue: [], isFieldValid: [], isFieldEnabled: [], getFormGroupRawValues: [], handleFieldTypeSearchText: [], takeActionOnFieldGroup: [], takeAction: [] } });
2593
+ }], ngOnInit: [], ngAfterViewInit: [], ngOnChanges: [], initFormConfig: [], setFormFieldsFromFormConfig: [], setFormFieldGroupsFromFormConfig: [], setFormDataFromAllFormsData: [], handleConnectedElementFieldGroupActions: [], handleConnectedElementFieldGroup: [], handleConnectedElementFieldActions: [], handleConnectedElementFields: [], handleConnectedElements: [], handleGetKeyValue: [], handleOnClickResetFormFields: [], handleOnClickApiCall: [], handleOnClickViewForms: [], handleOnClickSaveForm: [], toggleErrorNotification: [], fieldHide: [], fieldGroupHide: [], fieldShow: [], fieldGroupShow: [], fieldDisable: [], fieldGroupDisable: [], fieldEnable: [], fieldGroupEnable: [], fieldReset: [], fieldErrorShow: [], fieldErrorHide: [], fieldMessageShow: [], fieldMessageHide: [], setObjectValue: [], patchFieldControlValue: [], patchFormGroup: [], isFieldValid: [], isFieldEnabled: [], getFormGroupRawValues: [], takeActionOnFieldGroup: [], takeAction: [] } });
2966
2594
 
2967
2595
  var KwikIDFormsListComponent = /** @class */ (function () {
2968
2596
  function KwikIDFormsListComponent() {
@@ -3091,42 +2719,59 @@
3091
2719
  var e_1, _f;
3092
2720
  var _this = this;
3093
2721
  var updateOnFieldType = function (field) {
2722
+ var formatFieldTypeHtml = function (field) {
2723
+ field = _this.setFieldKeyValue(field, "isFormElement", false);
2724
+ return field;
2725
+ };
3094
2726
  var formatFieldTypeTitle = function (field) {
3095
2727
  field = _this.setFieldKeyValue(field, "hidden", false);
2728
+ field = _this.setFieldKeyValue(field, "isFormElement", false);
3096
2729
  return field;
3097
2730
  };
3098
- var formatFieldTypeRadio = function (field) {
3099
- field.properties = _this.setMissingFieldKeyValue(field.properties, "size", "m");
3100
- field.properties = _this.setMissingFieldKeyValue(field.properties, "orientation", "vertical");
3101
- field = _this.setFieldKeyValue(field, "hidden", false);
3102
- field.options = field.options.map(function (x) {
3103
- if (typeof x === "string" || typeof x === "number") {
3104
- return { label: x, disabled: false };
3105
- }
3106
- else {
3107
- if (kwikidToolkit.checkObjectKeyExists(x, "label") &&
3108
- kwikidToolkit.checkObjectKeyExists(x, "disabled")) {
3109
- return x;
3110
- }
3111
- }
3112
- });
2731
+ var formatFieldTypeText = function (field) {
2732
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
2733
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "case", "default");
3113
2734
  return field;
3114
2735
  };
3115
- var formatFieldTypeOtp = function (field) {
3116
- field.properties = _this.setMissingFieldKeyValue(field.properties, "mask", new Array(field.properties.otpLength).fill("#").join(" "));
2736
+ var formatFieldTypeCheckbox = function (field) {
2737
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
2738
+ return field;
2739
+ };
2740
+ var formatFieldTypeNumber = function (field) {
2741
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
2742
+ if (kwikidToolkit.checkObjectKeyExists(field, "key")) {
2743
+ if (field.key === "aadhaar_number") {
2744
+ field = _this.setFieldKeyValue(field, "type", "aadhaar_number");
2745
+ }
2746
+ if (field.key === "contact_number") {
2747
+ field = _this.setFieldKeyValue(field, "type", "phone");
2748
+ }
2749
+ if (field.type === "phone" || field.type === "number") {
2750
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "countryCode", "+91");
2751
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "phoneMaskAfterCountryCode", "####-######");
2752
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "removeCountryCodeFromValue", true);
2753
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "decimal", "never");
2754
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "prefix", "");
2755
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "postfix", "");
2756
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "min", -Infinity);
2757
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "max", Infinity);
2758
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "precision", 2);
2759
+ }
2760
+ }
3117
2761
  field = _this.setFieldKeyValue(field, "hidden", false);
3118
2762
  return field;
3119
2763
  };
3120
2764
  var formatFieldTypeDate = function (field) {
2765
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
3121
2766
  if (kwikidToolkit.checkObjectKeyExists(field, "min")) {
3122
- var tuiDay = convertDateStringToTuiDayFormat(field["min"]);
2767
+ var tuiDay = convertFormFieldTypeDateToKwikUIFormat(field["min"]);
3123
2768
  field.properties = _this.setFieldKeyValue(field.properties, "min", tuiDay);
3124
2769
  }
3125
2770
  else {
3126
2771
  field.properties = _this.setMissingFieldKeyValue(field.properties, "min", new cdk.TuiDay(0, 0, 1)); // Year - 0000, Month - 0 (0 Indexing), Day - 1
3127
2772
  }
3128
2773
  if (kwikidToolkit.checkObjectKeyExists(field, "max")) {
3129
- var tuiDay = convertDateStringToTuiDayFormat(field["max"]);
2774
+ var tuiDay = convertFormFieldTypeDateToKwikUIFormat(field["max"]);
3130
2775
  field.properties = _this.setFieldKeyValue(field.properties, "max", tuiDay);
3131
2776
  }
3132
2777
  else {
@@ -3139,30 +2784,51 @@
3139
2784
  field = _this.setFieldKeyValue(field, "hidden", false);
3140
2785
  return field;
3141
2786
  };
3142
- var formatFieldTypeNumber = function (field) {
3143
- if (kwikidToolkit.checkObjectKeyExists(field, "key")) {
3144
- if (field.key === "aadhaar_number") {
3145
- field = _this.setFieldKeyValue(field, "type", "aadhaar_number");
2787
+ var formatFieldTypePhone = function (field) {
2788
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
2789
+ return field;
2790
+ };
2791
+ var formatFieldTypeRadio = function (field) {
2792
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
2793
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "size", "m");
2794
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "orientation", "vertical");
2795
+ field = _this.setFieldKeyValue(field, "hidden", false);
2796
+ field.options = field.options.map(function (x) {
2797
+ if (typeof x === "string" || typeof x === "number") {
2798
+ return { label: x, disabled: false, description: "" };
3146
2799
  }
3147
- if (field.key === "contact_number") {
3148
- field = _this.setFieldKeyValue(field, "type", "phone");
2800
+ else {
2801
+ if (kwikidToolkit.checkObjectKeyExists(x, "label") &&
2802
+ kwikidToolkit.checkObjectKeyExists(x, "disabled") &&
2803
+ kwikidToolkit.checkObjectKeyExists(x, "description")) {
2804
+ return x;
2805
+ }
2806
+ if (!kwikidToolkit.checkObjectKeyExists(x, "disabled")) {
2807
+ x = Object.assign(Object.assign({}, x), { disabled: false });
2808
+ }
2809
+ if (!kwikidToolkit.checkObjectKeyExists(x, "description")) {
2810
+ x = Object.assign(Object.assign({}, x), { description: false });
2811
+ }
2812
+ return x;
3149
2813
  }
3150
- if (field.type === "phone" || field.type === "number") {
3151
- field.properties = _this.setMissingFieldKeyValue(field.properties, "countryCode", "+91");
3152
- field.properties = _this.setMissingFieldKeyValue(field.properties, "phoneMaskAfterCountryCode", "####-######");
3153
- field.properties = _this.setMissingFieldKeyValue(field.properties, "removeCountryCodeFromValue", true);
3154
- field.properties = _this.setMissingFieldKeyValue(field.properties, "decimal", "never");
3155
- field.properties = _this.setMissingFieldKeyValue(field.properties, "prefix", "");
3156
- field.properties = _this.setMissingFieldKeyValue(field.properties, "postfix", "");
3157
- field.properties = _this.setMissingFieldKeyValue(field.properties, "min", -Infinity);
3158
- field.properties = _this.setMissingFieldKeyValue(field.properties, "max", Infinity);
3159
- field.properties = _this.setMissingFieldKeyValue(field.properties, "precision", 2);
2814
+ });
2815
+ return field;
2816
+ };
2817
+ var formatFieldTypeSearchText = function (field) {
2818
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
2819
+ if (kwikidToolkit.checkObjectKeyExists(field, "type")) {
2820
+ if (field.type === "search-text") {
2821
+ field = _this.setFieldKeyValue(field, "type", "dropdown-with-search");
3160
2822
  }
3161
2823
  }
3162
- field = _this.setFieldKeyValue(field, "hidden", false);
2824
+ return field;
2825
+ };
2826
+ var formatFieldTypeDropdownWithSearch = function (field) {
2827
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
3163
2828
  return field;
3164
2829
  };
3165
2830
  var formatFieldTypeApiCall = function (field) {
2831
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
3166
2832
  if (!kwikidToolkit.checkObjectKeyExists(field.properties, "shape")) {
3167
2833
  field.properties = _this.setFieldKeyValue(field.properties, "shape", null);
3168
2834
  }
@@ -3188,39 +2854,56 @@
3188
2854
  }
3189
2855
  return field;
3190
2856
  };
3191
- var formatFieldTypeSearchText = function (field) {
3192
- if (kwikidToolkit.checkObjectKeyExists(field, "type")) {
3193
- if (field.type === "search-text") {
3194
- field = _this.setFieldKeyValue(field, "type", "dropdown-with-search");
3195
- }
3196
- }
2857
+ var formatFieldTypeOtp = function (field) {
2858
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
2859
+ field.properties = _this.setMissingFieldKeyValue(field.properties, "mask", new Array(field.properties.otpLength).fill("#").join(" "));
2860
+ field = _this.setFieldKeyValue(field, "hidden", false);
3197
2861
  return field;
3198
2862
  };
3199
- var formatFieldTypeText = function (field) {
2863
+ var formatFieldTypeAadhaarNumber = function (field) {
2864
+ field = _this.setFieldKeyValue(field, "isFormElement", true);
3200
2865
  return field;
3201
2866
  };
3202
2867
  switch (field.type) {
2868
+ case "html":
2869
+ field = formatFieldTypeHtml(field);
2870
+ break;
3203
2871
  case "title":
3204
2872
  field = formatFieldTypeTitle(field);
3205
2873
  break;
3206
- case "radio":
3207
- field = formatFieldTypeRadio(field);
2874
+ case "text":
2875
+ field = formatFieldTypeText(field);
3208
2876
  break;
3209
- case "otp":
3210
- field = formatFieldTypeOtp(field);
2877
+ case "checkbox":
2878
+ field = formatFieldTypeCheckbox(field);
2879
+ break;
2880
+ case "number":
2881
+ field = formatFieldTypeNumber(field);
3211
2882
  break;
3212
2883
  case "date":
3213
2884
  field = formatFieldTypeDate(field);
3214
2885
  break;
3215
- case "number":
3216
- field = formatFieldTypeNumber(field);
2886
+ case "phone":
2887
+ field = formatFieldTypePhone(field);
3217
2888
  break;
3218
- case "api-call":
3219
- field = formatFieldTypeApiCall(field);
2889
+ case "radio":
2890
+ field = formatFieldTypeRadio(field);
3220
2891
  break;
3221
2892
  case "search-text":
3222
2893
  field = formatFieldTypeSearchText(field);
3223
2894
  break;
2895
+ case "dropdown-with-search":
2896
+ field = formatFieldTypeDropdownWithSearch(field);
2897
+ break;
2898
+ case "api-call":
2899
+ field = formatFieldTypeApiCall(field);
2900
+ break;
2901
+ case "otp":
2902
+ field = formatFieldTypeOtp(field);
2903
+ break;
2904
+ case "aadhaar-number":
2905
+ field = formatFieldTypeAadhaarNumber(field);
2906
+ break;
3224
2907
  default:
3225
2908
  break;
3226
2909
  }
@@ -3322,7 +3005,7 @@
3322
3005
  };
3323
3006
  var updateFieldValidatorConfig = function (field) {
3324
3007
  var _a, _b, _c, _d, _e;
3325
- if (field.type !== "title") {
3008
+ if (field.isFormElement) {
3326
3009
  var validators = kwikidToolkit.checkObjectKeyExists(field, "validators")
3327
3010
  ? field.validators
3328
3011
  : {};
@@ -3403,7 +3086,7 @@
3403
3086
  return field;
3404
3087
  };
3405
3088
  var updateFieldDefaultValueConfig = function (field) {
3406
- if (field.type !== "title") {
3089
+ if (field.isFormElement) {
3407
3090
  if (kwikidToolkit.checkObjectKeyExists(field, "defaultValue")) {
3408
3091
  return field;
3409
3092
  }
@@ -3583,13 +3266,13 @@
3583
3266
  return field;
3584
3267
  };
3585
3268
  var updateFieldMessages = function (field) {
3586
- if (field.type !== "title") {
3269
+ if (field.isFormElement) {
3587
3270
  field = _this.setMissingFieldKeyValue(field, "messages", []);
3588
3271
  }
3589
3272
  return field;
3590
3273
  };
3591
3274
  var updateFieldResetButton = function (field) {
3592
- if (field.type === "title") {
3275
+ if (field.isFormElement) {
3593
3276
  if (kwikidToolkit.checkObjectKeyExists(field, "action") &&
3594
3277
  field.action === "reset" &&
3595
3278
  kwikidToolkit.checkObjectKeyExists(field, "fields")) {
@@ -3725,9 +3408,8 @@
3725
3408
  for (var formsList_1 = __values(formsList), formsList_1_1 = formsList_1.next(); !formsList_1_1.done; formsList_1_1 = formsList_1.next()) {
3726
3409
  var form = formsList_1_1.value;
3727
3410
  if (formsListCompleted.includes(form.key)) {
3728
- console.log(formsListCompleted.includes(form.key));
3729
- form = setValueToObject(form, "status", "completed");
3730
- form = setValueToObject(form, "disabled", false);
3411
+ form = kwikidToolkit.setValueToObjectPath(form, "status", "completed");
3412
+ form = kwikidToolkit.setValueToObjectPath(form, "disabled", false);
3731
3413
  }
3732
3414
  }
3733
3415
  }
@@ -3749,18 +3431,18 @@
3749
3431
  if (kwikidToolkit.checkObjectKeyExists(form, "dependentOn")) {
3750
3432
  var isDependent = form.dependentOn.every(function (r) { return formsListCompleted.includes(r); });
3751
3433
  if (isDependent) {
3752
- form = setValueToObject(form, "status", "editable");
3753
- form = setValueToObject(form, "disabled", false);
3434
+ form = kwikidToolkit.setValueToObjectPath(form, "status", "editable");
3435
+ form = kwikidToolkit.setValueToObjectPath(form, "disabled", false);
3754
3436
  }
3755
3437
  else {
3756
- form = setValueToObject(form, "status", "locked");
3757
- form = setValueToObject(form, "disabled", true);
3438
+ form = kwikidToolkit.setValueToObjectPath(form, "status", "locked");
3439
+ form = kwikidToolkit.setValueToObjectPath(form, "disabled", true);
3758
3440
  }
3759
3441
  }
3760
3442
  else {
3761
- form = setValueToObject(form, "dependentOn", []);
3762
- form = setValueToObject(form, "status", "editable");
3763
- form = setValueToObject(form, "disabled", false);
3443
+ form = kwikidToolkit.setValueToObjectPath(form, "dependentOn", []);
3444
+ form = kwikidToolkit.setValueToObjectPath(form, "status", "editable");
3445
+ form = kwikidToolkit.setValueToObjectPath(form, "disabled", false);
3764
3446
  }
3765
3447
  }
3766
3448
  }
@@ -3824,7 +3506,6 @@
3824
3506
  * this particular User Form only has to LOCAL METHOD Variable.
3825
3507
  */
3826
3508
  var currentUserFormAllFormsData = this.filterAllFormsData(this.allFormsData, formsList);
3827
- console.log(JSON.parse(JSON.stringify(formsList)));
3828
3509
  formsListCompleted = this.findCompletedFormsList(currentUserFormAllFormsData);
3829
3510
  formsList = this.markFormInFormsListAsCompleted(formsList, formsListCompleted);
3830
3511
  formsList = this.markFormInFormsListAsDisabled(formsList, formsListCompleted);
@@ -3991,6 +3672,9 @@
3991
3672
  };
3992
3673
  KwikIDFormsRendererComponent.prototype.handleResize = function (formsList) {
3993
3674
  if (this.hostElement.nativeElement.offsetWidth < 600) {
3675
+ var isSingleForm = function (formsList) {
3676
+ return formsList.length === 1;
3677
+ };
3994
3678
  if (!isSingleForm(formsList)) {
3995
3679
  this.showFormSections = true;
3996
3680
  this.showFormFields = false;
@@ -4047,9 +3731,8 @@
4047
3731
  // forms-list listener
4048
3732
  KwikIDFormsRendererComponent.prototype.handleOnClickSubmitForms = function (e) {
4049
3733
  var _this = this;
4050
- console.log(e);
4051
3734
  if (this.userConfig.userFormFieldsConfig.validation) {
4052
- var validations_1 = new kwikidToolkit.Validations({
3735
+ var validations_1 = new kwikidToolkit.Validation({
4053
3736
  USER_CONFIG: this.userConfig,
4054
3737
  ALL_FORMS_DATA: this.formsData
4055
3738
  }, this.takeAction.bind(this));
@@ -4118,7 +3801,7 @@
4118
3801
  }
4119
3802
  return [3 /*break*/, 3];
4120
3803
  case 1:
4121
- sources = new kwikidToolkit.Sources({
3804
+ sources = new kwikidToolkit.Source({
4122
3805
  USER_CONFIG: this.userConfig,
4123
3806
  ALL_FORMS_DATA: this.formsData
4124
3807
  });
@@ -4217,7 +3900,7 @@
4217
3900
  return KwikIDFormViewModule;
4218
3901
  }());
4219
3902
  /** @nocollapse */ KwikIDFormViewModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDFormViewModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
4220
- /** @nocollapse */ KwikIDFormViewModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDFormViewModule, declarations: [KwikIDFormViewComponent], imports: [i5.CommonModule,
3903
+ /** @nocollapse */ KwikIDFormViewModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDFormViewModule, declarations: [KwikIDFormViewComponent, SafeHtmlPipe], imports: [i5.CommonModule,
4221
3904
  i6.FormsModule,
4222
3905
  i6.ReactiveFormsModule,
4223
3906
  i3.TuiLabelModule,
@@ -4236,7 +3919,7 @@
4236
3919
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDFormViewModule, decorators: [{
4237
3920
  type: i0.NgModule,
4238
3921
  args: [{
4239
- declarations: [KwikIDFormViewComponent],
3922
+ declarations: [KwikIDFormViewComponent, SafeHtmlPipe],
4240
3923
  imports: [
4241
3924
  i5.CommonModule,
4242
3925
  i6.FormsModule,