kwikid-forms 0.0.2 → 0.0.4

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.
@@ -541,41 +541,95 @@
541
541
  var EPatternKey;
542
542
  (function (EPatternKey) {
543
543
  EPatternKey["CUSTOM"] = "CUSTOM";
544
- EPatternKey["IS_PAN_NUMBER"] = "IS_PAN_NUMBER";
545
- EPatternKey["IS_AADHAAR_NUMBER"] = "IS_AADHAAR_NUMBER";
546
- EPatternKey["IS_EMPTY"] = "IS_EMPTY";
547
- EPatternKey["IS_NOT_EMPTY"] = "IS_NOT_EMPTY";
548
- EPatternKey["IS_EMAIL"] = "IS_EMAIL";
549
- EPatternKey["IS_NUMBER"] = "IS_NUMBER";
550
- EPatternKey["IS_INTEGER"] = "IS_INTEGER";
551
- EPatternKey["IS_URL"] = "IS_URL";
544
+ EPatternKey["IS_ADDRESS"] = "IS_ADDRESS";
552
545
  EPatternKey["IS_ALPHA"] = "IS_ALPHA";
553
546
  EPatternKey["IS_ALPHANUMERIC"] = "IS_ALPHANUMERIC";
554
- EPatternKey["IS_UPPERCASE"] = "IS_UPPERCASE";
555
- EPatternKey["IS_LOWERCASE"] = "IS_LOWERCASE";
547
+ EPatternKey["IS_BOOLEAN"] = "IS_BOOLEAN";
548
+ EPatternKey["IS_EMAIL"] = "IS_EMAIL";
549
+ EPatternKey["IS_EMPTY"] = "IS_EMPTY";
550
+ EPatternKey["IS_FALSE"] = "IS_FALSE";
551
+ EPatternKey["IS_HTML"] = "IS_HTML";
552
+ EPatternKey["IS_INTEGER"] = "IS_INTEGER";
556
553
  EPatternKey["IS_IP_ADDRESS"] = "IS_IP_ADDRESS";
557
554
  EPatternKey["IS_JSON"] = "IS_JSON";
558
- EPatternKey["IS_HTML"] = "IS_HTML";
555
+ EPatternKey["IS_LOWERCASE"] = "IS_LOWERCASE";
556
+ EPatternKey["IS_NOT_EMPTY"] = "IS_NOT_EMPTY";
557
+ EPatternKey["IS_NUMBER"] = "IS_NUMBER";
559
558
  EPatternKey["IS_TRUE"] = "IS_TRUE";
559
+ EPatternKey["IS_UPPERCASE"] = "IS_UPPERCASE";
560
+ EPatternKey["IS_URL"] = "IS_URL";
561
+ EPatternKey["IS_AADHAAR_NUMBER"] = "IS_AADHAAR_NUMBER";
562
+ EPatternKey["IS_BANK_ACCOUNT_NO"] = "IS_BANK_ACCOUNT_NO";
563
+ EPatternKey["IS_BANK_SWIFT_CODE"] = "IS_BANK_SWIFT_CODE";
564
+ EPatternKey["IS_BIRTH_CERTIFICATE_NO"] = "IS_BIRTH_CERTIFICATE_NO";
565
+ EPatternKey["IS_CHEQUE_NO"] = "IS_CHEQUE_NO";
566
+ EPatternKey["IS_CIN"] = "IS_CIN";
567
+ EPatternKey["IS_CREDIT_CARD_NO"] = "IS_CREDIT_CARD_NO";
568
+ EPatternKey["IS_DRIVING_LICENSE"] = "IS_DRIVING_LICENSE";
569
+ EPatternKey["IS_GSTIN"] = "IS_GSTIN";
570
+ EPatternKey["IS_IFSC_NO"] = "IS_IFSC_NO";
571
+ EPatternKey["IS_MICR_CODE"] = "IS_MICR_CODE";
572
+ EPatternKey["IS_MOBILE_NO"] = "IS_MOBILE_NO";
573
+ EPatternKey["IS_MOBILE_NO_IN"] = "IS_MOBILE_NO_IN";
574
+ EPatternKey["IS_NEFT_OR_RTGS_NO"] = "IS_NEFT_OR_RTGS_NO";
575
+ EPatternKey["IS_PAN_NUMBER"] = "IS_PAN_NUMBER";
576
+ EPatternKey["IS_PASSPORT"] = "IS_PASSPORT";
577
+ EPatternKey["IS_PHONE_NO"] = "IS_PHONE_NO";
578
+ EPatternKey["IS_PINCODE"] = "IS_PINCODE";
579
+ EPatternKey["IS_PURCHASE_ORDER_NO"] = "IS_PURCHASE_ORDER_NO";
580
+ EPatternKey["IS_RATION_CARD_NO"] = "IS_RATION_CARD_NO";
581
+ EPatternKey["IS_SERVICE_TAX_NO"] = "IS_SERVICE_TAX_NO";
582
+ EPatternKey["IS_SOCIAL_SECURITY_NO"] = "IS_SOCIAL_SECURITY_NO";
583
+ EPatternKey["IS_UPI_TRANSACTION_REFERENCE_NO"] = "IS_UPI_TRANSACTION_REFERENCE_NO";
584
+ EPatternKey["IS_VAT_TIN_NO"] = "IS_VAT_TIN_NO";
585
+ EPatternKey["IS_VEHICLE_REGISTRATION_NO"] = "IS_VEHICLE_REGISTRATION_NO";
586
+ EPatternKey["IS_VOTER_ID"] = "IS_VOTER_ID";
560
587
  })(EPatternKey || (EPatternKey = {}));
561
588
  var EPattern;
562
589
  (function (EPattern) {
563
- EPattern["IS_EMPTY"] = "^$";
564
- EPattern["IS_PAN_NUMBER"] = "^[A-Z]{5}[[0-9]{4}[A-Z]{1}$";
565
- EPattern["IS_AADHAAR_NUMBER"] = "^[0-9]{12}$";
566
- EPattern["IS_NOT_EMPTY"] = "^.+$";
567
- EPattern["IS_EMAIL"] = "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$";
568
- EPattern["IS_NUMBER"] = "^[+-]?d+(.d+)?$";
569
- EPattern["IS_INTEGER"] = "^[+-]?d+$";
570
- EPattern["IS_URL"] = "^(?:http(s)?://)?[w.-]+(?:.[w.-]+)+[w-._~:/?#[]@!$&'()*+,;=.]+$";
571
590
  EPattern["IS_ALPHA"] = "^[a-zA-Z]+$";
591
+ EPattern["IS_ADDRESS"] = "^(\\w*\\s*[#-,/.()&]*)+";
572
592
  EPattern["IS_ALPHANUMERIC"] = "^[a-zA-Z0-9]+$";
573
- EPattern["IS_UPPERCASE"] = "^[A-Z]+$";
574
- EPattern["IS_LOWERCASE"] = "^[a-z]+$";
593
+ EPattern["IS_BOOLEAN"] = "(true|false)";
594
+ EPattern["IS_EMAIL"] = "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$";
595
+ EPattern["IS_EMPTY"] = "^$";
596
+ EPattern["IS_FALSE"] = "false";
597
+ EPattern["IS_HTML"] = "^<([a-z]+)([^<]+)(?:>(.)</\\1>|\\s+/>)$";
598
+ EPattern["IS_INTEGER"] = "^[+-]?d+$";
575
599
  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]?)$";
576
600
  EPattern["IS_JSON"] = "^\\s*({(.|\\s)}|[(.|\\s)])\\s*$";
577
- EPattern["IS_HTML"] = "^<([a-z]+)([^<]+)(?:>(.)</\\1>|\\s+/>)$";
601
+ EPattern["IS_LOWERCASE"] = "^[a-z]+$";
602
+ EPattern["IS_NOT_EMPTY"] = "^.+$";
603
+ EPattern["IS_NUMBER"] = "^[+-]?d+(.d+)?$";
578
604
  EPattern["IS_TRUE"] = "true";
605
+ EPattern["IS_UPPERCASE"] = "^[A-Z]+$";
606
+ EPattern["IS_URL"] = "^(?:http(s)?://)?[w.-]+(?:.[w.-]+)+[w-._~:/?#[]@!$&'()*+,;=.]+$";
607
+ EPattern["IS_AADHAAR_NUMBER"] = "^[0-9]{12}$";
608
+ EPattern["IS_BANK_ACCOUNT_NO"] = "^[0-9]{9,18}$";
609
+ EPattern["IS_BANK_SWIFT_CODE"] = "^[A-Z]{4}[A-Z]{2}[0-9A-Z]{2}[0-9A-Z]{3}$";
610
+ EPattern["IS_BIRTH_CERTIFICATE_NO"] = "^[A-Z]{2}[0-9]{6}[A-Z]{1}[0-9]{2}$";
611
+ EPattern["IS_CHEQUE_NO"] = "^[0-9]{6,14}$";
612
+ EPattern["IS_CIN"] = "^[A-Z]{3}[0-9]{5}[0-9A-Z]{3}$";
613
+ EPattern["IS_CREDIT_CARD_NO"] = "^[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}$";
614
+ EPattern["IS_DRIVING_LICENSE"] = "^[A-Z]{2}[0-9]{2}((19|20)[0-9][0-9])[0-9]{7}$";
615
+ EPattern["IS_GSTIN"] = "^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z]{1}[1-9A-Z]{1}Z[0-9A-Z]{1}$";
616
+ EPattern["IS_IFSC_NO"] = "^[A-Z]{4}[0][A-Z0-9]{6}$";
617
+ EPattern["IS_MICR_CODE"] = "^[0-9]{9}$";
618
+ EPattern["IS_MOBILE_NO"] = "^[6-9]\\d{9}$";
619
+ EPattern["IS_MOBILE_NO_IN"] = "^(\\+91)[6-9]\\d{9}$";
620
+ EPattern["IS_NEFT_OR_RTGS_NO"] = "^[A-Z]{4}[0-9]{7}$";
621
+ EPattern["IS_PAN_NUMBER"] = "^[A-Z]{5}[[0-9]{4}[A-Z]{1}$";
622
+ EPattern["IS_PASSPORT"] = "^[A-PR-WYa-pr-wy][1-9]\\d\\s?\\d{4}[1-9]$";
623
+ EPattern["IS_PHONE_NO"] = "^[6-9]\\d{9}$";
624
+ EPattern["IS_PINCODE"] = "^[1-9][0-9]{5}$";
625
+ EPattern["IS_PURCHASE_ORDER_NO"] = "^[0-9]{1,5}$";
626
+ EPattern["IS_RATION_CARD_NO"] = "^[A-Z]{3}[0-9]{7}$";
627
+ EPattern["IS_SERVICE_TAX_NO"] = "^[A-Z]{5}[0-9]{4}[A-Z]{1}$";
628
+ EPattern["IS_SOCIAL_SECURITY_NO"] = "^[0-9]{3}-[0-9]{2}-[0-9]{4}$";
629
+ EPattern["IS_UPI_TRANSACTION_REFERENCE_NO"] = "^[a-zA-Z0-9]{3,128}@[a-z]{3,9}$";
630
+ EPattern["IS_VAT_TIN_NO"] = "^[0-9]{11}$";
631
+ EPattern["IS_VEHICLE_REGISTRATION_NO"] = "^[A-Z]{2}[0-9]{2}((19|20)[0-9][0-9])[0-9]{6}$";
632
+ EPattern["IS_VOTER_ID"] = "^[A-Z]{3}[0-9]{7}$";
579
633
  })(EPattern || (EPattern = {}));
580
634
  var EMessageType;
581
635
  (function (EMessageType) {
@@ -585,6 +639,21 @@
585
639
  EMessageType["WARNING"] = "warning";
586
640
  })(EMessageType || (EMessageType = {}));
587
641
 
642
+ var EFieldType;
643
+ (function (EFieldType) {
644
+ EFieldType["TITLE"] = "title";
645
+ EFieldType["TEXT"] = "text";
646
+ EFieldType["CHECKBOX"] = "checkbox";
647
+ EFieldType["NUMBER"] = "number";
648
+ EFieldType["DATE"] = "date";
649
+ EFieldType["PHONE"] = "phone";
650
+ EFieldType["RADIO"] = "radio";
651
+ EFieldType["DROPDOWN_WITH_SEARCH"] = "dropdown-with-search";
652
+ EFieldType["API_CALL"] = "api-call";
653
+ EFieldType["OTP"] = "otp";
654
+ EFieldType["AADHAAR_NUMBER"] = "aadhaar-number";
655
+ })(EFieldType || (EFieldType = {}));
656
+
588
657
  /**
589
658
  * A function that logs the execution of a method.
590
659
  * @param {any} target - The object the method belongs to.
@@ -731,21 +800,6 @@
731
800
  return formsList.length === 1;
732
801
  };
733
802
 
734
- var EFieldType;
735
- (function (EFieldType) {
736
- EFieldType["TITLE"] = "title";
737
- EFieldType["TEXT"] = "text";
738
- EFieldType["CHECKBOX"] = "checkbox";
739
- EFieldType["NUMBER"] = "number";
740
- EFieldType["DATE"] = "date";
741
- EFieldType["PHONE"] = "phone";
742
- EFieldType["RADIO"] = "radio";
743
- EFieldType["DROPDOWN_WITH_SEARCH"] = "dropdown-with-search";
744
- EFieldType["API_CALL"] = "api-call";
745
- EFieldType["OTP"] = "otp";
746
- EFieldType["AADHAAR_NUMBER"] = "aadhaar-number";
747
- })(EFieldType || (EFieldType = {}));
748
-
749
803
  var hasKey$1 = function (object, key) {
750
804
  return object.hasOwnProperty(key);
751
805
  };
@@ -1349,6 +1403,218 @@
1349
1403
  log
1350
1404
  ], Defaults.prototype, "getDefaultValue", null);
1351
1405
 
1406
+ var findFieldFromKey = function (fields, key) {
1407
+ var field = fields.find(function (field) {
1408
+ if (field.key === key) {
1409
+ return field;
1410
+ }
1411
+ });
1412
+ return field;
1413
+ };
1414
+ var findFieldIndexFromKey = function (fields, key) {
1415
+ var fieldIndex;
1416
+ fieldIndex = fields.findIndex(function (_) {
1417
+ return key === _.key;
1418
+ });
1419
+ return fieldIndex;
1420
+ };
1421
+ var getSearchTextOptionsFromRemoteFile = function (field, childField, formGroup) { return __awaiter(void 0, void 0, void 0, function () {
1422
+ var parentFieldValue, fileUrl, fileKey, response, data;
1423
+ return __generator(this, function (_a) {
1424
+ switch (_a.label) {
1425
+ case 0:
1426
+ parentFieldValue = formGroup.controls[field.key].value;
1427
+ if (childField.regexToGetJsonRemoteUrlKey) {
1428
+ fileKey = parentFieldValue.match(childField.regexToGetJsonRemoteUrlKey)[0];
1429
+ fileUrl = childField.jsonRemoteUrlMapping[fileKey];
1430
+ }
1431
+ else {
1432
+ fileUrl = childField.fileUrl;
1433
+ }
1434
+ // Return early if there is no file URL
1435
+ if (!fileUrl)
1436
+ return [2 /*return*/];
1437
+ return [4 /*yield*/, fetch(fileUrl)];
1438
+ case 1:
1439
+ response = _a.sent();
1440
+ return [4 /*yield*/, response.json()];
1441
+ case 2:
1442
+ data = _a.sent();
1443
+ // Return the data for the given parent field value
1444
+ return [2 /*return*/, data[parentFieldValue]];
1445
+ }
1446
+ });
1447
+ }); };
1448
+ var getSearchTextOptionsFromFieldConfig = function (field, childField, formGroup) {
1449
+ var options;
1450
+ var fieldValue = formGroup.controls[field.key].value;
1451
+ if (isNotEmpty(childField["json"])) {
1452
+ options = childField["json"][fieldValue];
1453
+ }
1454
+ return options;
1455
+ };
1456
+ var formatSearchTextOptions = function (options) {
1457
+ return options.map(function (_a) {
1458
+ var title = _a.title;
1459
+ return title;
1460
+ });
1461
+ };
1462
+ var formatDateToStandardFormat = function (date) {
1463
+ var formattedDate;
1464
+ var year = date.year;
1465
+ var month = date.month;
1466
+ var day = date.day;
1467
+ formattedDate = day + "-" + (month + 1) + "-" + year;
1468
+ return formattedDate;
1469
+ };
1470
+ function highlightFieldError(field, error) {
1471
+ field.invalid = error;
1472
+ field.focus = error;
1473
+ // if (!error) {
1474
+ // field["messages"] = field["messages"].filter(function (fieldMessage: {
1475
+ // type: string;
1476
+ // message: string;
1477
+ // }) {
1478
+ // return fieldMessage.type === "error";
1479
+ // });
1480
+ // }
1481
+ return field;
1482
+ }
1483
+ var addMessage = function (field, message) {
1484
+ var isDuplicateMessage = function (messages, message) {
1485
+ return messages.some(function (fieldMessage) {
1486
+ return (fieldMessage.type === message.type &&
1487
+ fieldMessage.message === message.message);
1488
+ });
1489
+ };
1490
+ field["messages"] = [];
1491
+ if (hasKey$1(field, "messages")) {
1492
+ if (!isDuplicateMessage(field["messages"], message)) {
1493
+ field["messages"].push({
1494
+ type: message.type,
1495
+ message: message.message
1496
+ });
1497
+ }
1498
+ }
1499
+ else {
1500
+ field["messages"] = [{ type: message.type, message: message.message }];
1501
+ }
1502
+ return field;
1503
+ };
1504
+ var removeMessage = function (field, message) {
1505
+ field["messages"] = field["messages"].filter(function (fieldMessage) {
1506
+ return fieldMessage.type !== message.type;
1507
+ });
1508
+ return field;
1509
+ };
1510
+ function setFieldError(fields, errors, key, error) {
1511
+ var fieldIndex = fields.findIndex(function (field) {
1512
+ return field.key === key;
1513
+ });
1514
+ var setErrorMessages = function (field, errors) {
1515
+ var getErrorMessage = function (fieldLabel, errorType) {
1516
+ var errorMessage = "";
1517
+ switch (errorType) {
1518
+ case "required":
1519
+ errorMessage = fieldLabel + " is required!";
1520
+ break;
1521
+ case "email":
1522
+ errorMessage = fieldLabel + " has wrong email format!";
1523
+ break;
1524
+ case "min":
1525
+ errorMessage = fieldLabel + " has wrong value! Minimum value: " + field.validators.min;
1526
+ break;
1527
+ case "minlength":
1528
+ errorMessage = fieldLabel + " has wrong length! Required minimum length: " + field.validators.minLength;
1529
+ break;
1530
+ case "max":
1531
+ errorMessage = fieldLabel + " has wrong value! Maximum value: " + field.validators.maxLength;
1532
+ break;
1533
+ case "maxlength":
1534
+ errorMessage = fieldLabel + " has wrong length! Required maximum length: " + field.validators.maxLength;
1535
+ break;
1536
+ case "areEqual":
1537
+ errorMessage = fieldLabel + " must be equal!";
1538
+ break;
1539
+ case "pattern":
1540
+ errorMessage = fieldLabel + " is in incorrect format!";
1541
+ break;
1542
+ default:
1543
+ errorMessage = fieldLabel + ": " + errorType;
1544
+ break;
1545
+ }
1546
+ return errorMessage;
1547
+ };
1548
+ Object.keys(errors).forEach(function (error) {
1549
+ field = addMessage(field, {
1550
+ type: "error",
1551
+ message: getErrorMessage(field.label, error)
1552
+ });
1553
+ });
1554
+ return field;
1555
+ };
1556
+ if (error) {
1557
+ fields[fieldIndex] = setErrorMessages(fields[fieldIndex], errors);
1558
+ }
1559
+ else {
1560
+ fields[fieldIndex]["messages"] = [];
1561
+ }
1562
+ fields[fieldIndex] = highlightFieldError(fields[fieldIndex], error);
1563
+ return fields;
1564
+ }
1565
+ var convertValueFromKwikUIFormatToBasicFormat = function (type, value) {
1566
+ var convertedValue = value;
1567
+ switch (type) {
1568
+ case EFieldType.DATE:
1569
+ var convertDateStringToTuiDayFormat = function (date) {
1570
+ var splitDate = date.split("-");
1571
+ var tuiDay = new cdk.TuiDay(Number(splitDate[2]), // Year
1572
+ Number(splitDate[1]) - 1, // Month, Why '-1' => Because Taiga-UI Required It, So...
1573
+ Number(splitDate[0]) // Day
1574
+ );
1575
+ return tuiDay;
1576
+ };
1577
+ convertedValue = convertDateStringToTuiDayFormat(value);
1578
+ break;
1579
+ default:
1580
+ break;
1581
+ }
1582
+ return convertedValue;
1583
+ };
1584
+ var convertValueFromBasicFormatToKwikUIFormat = function (field, value) {
1585
+ var convertedValue = value;
1586
+ switch (field.type) {
1587
+ case EFieldType.RADIO:
1588
+ if (hasKey$1(value, "label")) {
1589
+ convertedValue = value.label;
1590
+ }
1591
+ else {
1592
+ convertedValue = "";
1593
+ }
1594
+ break;
1595
+ case EFieldType.DATE:
1596
+ if (isNull(value)) {
1597
+ convertedValue = "";
1598
+ }
1599
+ else {
1600
+ convertedValue = formatDateToStandardFormat(value);
1601
+ }
1602
+ break;
1603
+ case EFieldType.PHONE:
1604
+ var fieldPhone = field;
1605
+ convertedValue = value.replace(String(fieldPhone.properties.countryCode), "");
1606
+ break;
1607
+ case EFieldType.TITLE:
1608
+ break;
1609
+ default:
1610
+ if (isEmpty(value)) {
1611
+ convertedValue = "";
1612
+ }
1613
+ break;
1614
+ }
1615
+ return convertedValue;
1616
+ };
1617
+
1352
1618
  var Validations = /** @class */ (function () {
1353
1619
  function Validations(field, formData, previousFormData, allFormsData, takeAction) {
1354
1620
  this._field = field;
@@ -1426,18 +1692,15 @@
1426
1692
  if (hasKey$1(field, "validators") &&
1427
1693
  hasKey$1(field.validators, "pattern") &&
1428
1694
  isNotEmpty(field.validators.pattern)) {
1429
- if (field.validators.pattern.key === EPatternKey.CUSTOM) {
1430
- validators.push(i5.Validators.pattern(field.validators.pattern.pattern));
1431
- }
1432
- else {
1433
- validators.push(i5.Validators.pattern(EPattern[field.validators.pattern.key]));
1695
+ if (hasKey$1(field.validators.pattern, "key")) {
1696
+ if (field.validators.pattern.key === EPatternKey.CUSTOM) {
1697
+ validators.push(i5.Validators.pattern(field.validators.pattern.pattern));
1698
+ }
1699
+ else {
1700
+ validators.push(i5.Validators.pattern(EPattern[field.validators.pattern.key]));
1701
+ }
1434
1702
  }
1435
1703
  }
1436
- if (hasKey$1(field, "validators") &&
1437
- hasKey$1(field.validators, "nullValidator") &&
1438
- isNotEmpty(field.validators.nullValidator)) {
1439
- validators.push(i5.Validators.nullValidator(field.validators.nullValidator));
1440
- }
1441
1704
  return validators;
1442
1705
  };
1443
1706
  Validations.prototype.getFormValidationErrors = function (control) {
@@ -1553,39 +1816,41 @@
1553
1816
  // 'init' stage of the form
1554
1817
  KwikIDFormViewService.prototype.createFormGroup = function (fields, formData, previousFormData, allFormsData, takeAction) {
1555
1818
  return __awaiter(this, void 0, void 0, function () {
1556
- var formGroup, fields_1, fields_1_1, field, defaults, value, validators, e_1_1;
1557
- var e_1, _a;
1558
- return __generator(this, function (_b) {
1559
- switch (_b.label) {
1819
+ var formGroup, fields_1, fields_1_1, field, defaults, value, _a, _b, validators, e_1_1;
1820
+ var e_1, _c;
1821
+ return __generator(this, function (_d) {
1822
+ switch (_d.label) {
1560
1823
  case 0:
1561
1824
  formGroup = new i5.FormGroup({});
1562
- _b.label = 1;
1825
+ _d.label = 1;
1563
1826
  case 1:
1564
- _b.trys.push([1, 6, 7, 8]);
1827
+ _d.trys.push([1, 6, 7, 8]);
1565
1828
  fields_1 = __values(fields), fields_1_1 = fields_1.next();
1566
- _b.label = 2;
1829
+ _d.label = 2;
1567
1830
  case 2:
1568
1831
  if (!!fields_1_1.done) return [3 /*break*/, 5];
1569
1832
  field = fields_1_1.value;
1570
1833
  if (!(field.type !== "title")) return [3 /*break*/, 4];
1571
1834
  defaults = new Defaults(field, allFormsData, formData, previousFormData, takeAction);
1835
+ _a = convertValueFromBasicFormatToKwikUIFormat;
1836
+ _b = [field.type];
1572
1837
  return [4 /*yield*/, defaults.getDefaultValue()];
1573
1838
  case 3:
1574
- value = _b.sent();
1839
+ value = _a.apply(void 0, _b.concat([_d.sent()]));
1575
1840
  validators = new Validations(field, formData, previousFormData, allFormsData, takeAction).getFieldValidators(field);
1576
1841
  formGroup.addControl(field.key, new i5.FormControl({ value: value, disabled: field.disabled }, { validators: validators }));
1577
- _b.label = 4;
1842
+ _d.label = 4;
1578
1843
  case 4:
1579
1844
  fields_1_1 = fields_1.next();
1580
1845
  return [3 /*break*/, 2];
1581
1846
  case 5: return [3 /*break*/, 8];
1582
1847
  case 6:
1583
- e_1_1 = _b.sent();
1848
+ e_1_1 = _d.sent();
1584
1849
  e_1 = { error: e_1_1 };
1585
1850
  return [3 /*break*/, 8];
1586
1851
  case 7:
1587
1852
  try {
1588
- if (fields_1_1 && !fields_1_1.done && (_a = fields_1.return)) _a.call(fields_1);
1853
+ if (fields_1_1 && !fields_1_1.done && (_c = fields_1.return)) _c.call(fields_1);
1589
1854
  }
1590
1855
  finally { if (e_1) throw e_1.error; }
1591
1856
  return [7 /*endfinally*/];
@@ -1830,160 +2095,6 @@
1830
2095
  log
1831
2096
  ], Apis.prototype, "validateApiCallResponse", null);
1832
2097
 
1833
- var findFieldFromKey = function (fields, key) {
1834
- var field = fields.find(function (field) {
1835
- if (field.key === key) {
1836
- return field;
1837
- }
1838
- });
1839
- return field;
1840
- };
1841
- var findFieldIndexFromKey = function (fields, key) {
1842
- var fieldIndex;
1843
- fieldIndex = fields.findIndex(function (_) {
1844
- return key === _.key;
1845
- });
1846
- return fieldIndex;
1847
- };
1848
- var getSearchTextOptionsFromRemoteFile = function (field, childField, formGroup) { return __awaiter(void 0, void 0, void 0, function () {
1849
- var parentFieldValue, fileUrl, fileKey, response, data;
1850
- return __generator(this, function (_a) {
1851
- switch (_a.label) {
1852
- case 0:
1853
- parentFieldValue = formGroup.controls[field.key].value;
1854
- if (childField.regexToGetJsonRemoteUrlKey) {
1855
- fileKey = parentFieldValue.match(childField.regexToGetJsonRemoteUrlKey)[0];
1856
- fileUrl = childField.jsonRemoteUrlMapping[fileKey];
1857
- }
1858
- else {
1859
- fileUrl = childField.fileUrl;
1860
- }
1861
- // Return early if there is no file URL
1862
- if (!fileUrl)
1863
- return [2 /*return*/];
1864
- return [4 /*yield*/, fetch(fileUrl)];
1865
- case 1:
1866
- response = _a.sent();
1867
- return [4 /*yield*/, response.json()];
1868
- case 2:
1869
- data = _a.sent();
1870
- // Return the data for the given parent field value
1871
- return [2 /*return*/, data[parentFieldValue]];
1872
- }
1873
- });
1874
- }); };
1875
- var getSearchTextOptionsFromFieldConfig = function (field, childField, formGroup) {
1876
- var options;
1877
- var fieldValue = formGroup.controls[field.key].value;
1878
- if (isNotEmpty(childField["json"])) {
1879
- options = childField["json"][fieldValue];
1880
- }
1881
- return options;
1882
- };
1883
- var formatSearchTextOptions = function (options) {
1884
- return options.map(function (_a) {
1885
- var title = _a.title;
1886
- return title;
1887
- });
1888
- };
1889
- var formatDateToStandardFormat = function (date) {
1890
- var formattedDate;
1891
- var year = date.year;
1892
- var month = date.month;
1893
- var day = date.day;
1894
- formattedDate = day + "-" + (month + 1) + "-" + year;
1895
- return formattedDate;
1896
- };
1897
- function highlightFieldError(field, error) {
1898
- field.invalid = error;
1899
- field.focus = error;
1900
- // if (!error) {
1901
- // field["messages"] = field["messages"].filter(function (fieldMessage: {
1902
- // type: string;
1903
- // message: string;
1904
- // }) {
1905
- // return fieldMessage.type === "error";
1906
- // });
1907
- // }
1908
- return field;
1909
- }
1910
- var addMessage = function (field, message) {
1911
- var isDuplicateMessage = function (messages, message) {
1912
- return messages.some(function (fieldMessage) {
1913
- return (fieldMessage.type === message.type &&
1914
- fieldMessage.message === message.message);
1915
- });
1916
- };
1917
- field["messages"] = [];
1918
- if (hasKey$1(field, "messages")) {
1919
- if (!isDuplicateMessage(field["messages"], message)) {
1920
- field["messages"].push({
1921
- type: message.type,
1922
- message: message.message
1923
- });
1924
- }
1925
- }
1926
- else {
1927
- field["messages"] = [{ type: message.type, message: message.message }];
1928
- }
1929
- return field;
1930
- };
1931
- var removeMessage = function (field, message) {
1932
- field["messages"] = field["messages"].filter(function (fieldMessage) {
1933
- return fieldMessage.type !== message.type;
1934
- });
1935
- return field;
1936
- };
1937
- function setFieldError(fields, errors, key, error) {
1938
- var fieldIndex = fields.findIndex(function (field) {
1939
- return field.key === key;
1940
- });
1941
- var setErrorMessages = function (field, errors) {
1942
- var getErrorMessage = function (fieldLabel, errorType) {
1943
- var errorMessage = "";
1944
- switch (errorType) {
1945
- case "required":
1946
- errorMessage = fieldLabel + " is required!";
1947
- break;
1948
- case "pattern":
1949
- errorMessage = fieldLabel + " has wrong pattern!";
1950
- break;
1951
- case "email":
1952
- errorMessage = fieldLabel + " has wrong email format!";
1953
- break;
1954
- case "minlength":
1955
- errorMessage = fieldLabel + " has wrong length! Required minimum length: " + field.validators.minLength;
1956
- break;
1957
- case "maxlength":
1958
- errorMessage = fieldLabel + " has wrong length! Required maximum length: " + field.validators.maxLength;
1959
- break;
1960
- case "areEqual":
1961
- errorMessage = fieldLabel + " must be equal!";
1962
- break;
1963
- default:
1964
- errorMessage = fieldLabel + ": " + "error.error_name" + ": " + "error.error_value";
1965
- break;
1966
- }
1967
- return errorMessage;
1968
- };
1969
- Object.keys(errors).forEach(function (error) {
1970
- field = addMessage(field, {
1971
- type: "error",
1972
- message: getErrorMessage(field.label, error)
1973
- });
1974
- });
1975
- return field;
1976
- };
1977
- if (error) {
1978
- fields[fieldIndex] = setErrorMessages(fields[fieldIndex], errors);
1979
- }
1980
- else {
1981
- fields[fieldIndex]["messages"] = [];
1982
- }
1983
- fields[fieldIndex] = highlightFieldError(fields[fieldIndex], error);
1984
- return fields;
1985
- }
1986
-
1987
2098
  var KwikIDFormViewComponent = /** @class */ (function () {
1988
2099
  function KwikIDFormViewComponent(formViewService) {
1989
2100
  this.formViewService = formViewService;
@@ -2468,10 +2579,30 @@
2468
2579
  var e_8, _a, e_9, _b, e_10, _c;
2469
2580
  var _this = this;
2470
2581
  var formData = this.formGroup.getRawValue();
2582
+ try {
2583
+ for (var _d = __values(this.formFields), _e = _d.next(); !_e.done; _e = _d.next()) {
2584
+ var field = _e.value;
2585
+ if (field.type !== EFieldType.TITLE) {
2586
+ if (field.hidden) {
2587
+ delete formData[field.key];
2588
+ }
2589
+ else {
2590
+ formData[field.key] = convertValueFromKwikUIFormatToBasicFormat(field, formData[field.key]);
2591
+ }
2592
+ }
2593
+ }
2594
+ }
2595
+ catch (e_8_1) { e_8 = { error: e_8_1 }; }
2596
+ finally {
2597
+ try {
2598
+ if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
2599
+ }
2600
+ finally { if (e_8) throw e_8.error; }
2601
+ }
2471
2602
  var _loop_3 = function (field) {
2472
- if (field.type !== "title" &&
2603
+ if (field.type !== EFieldType.TITLE &&
2473
2604
  field.validation.triggers.includes("ON_SAVE")) {
2474
- var validations_2 = new Validations(field, this_2.formData, this_2.previousFormData, this_2.allFormsData, this_2.takeAction.bind(this_2));
2605
+ var validations_2 = new Validations(field, formData, this_2.previousFormData, this_2.allFormsData, this_2.takeAction.bind(this_2));
2475
2606
  (function () { return __awaiter(_this, void 0, void 0, function () {
2476
2607
  return __generator(this, function (_a) {
2477
2608
  switch (_a.label) {
@@ -2486,20 +2617,20 @@
2486
2617
  };
2487
2618
  var this_2 = this;
2488
2619
  try {
2489
- for (var _d = __values(this.formFields), _e = _d.next(); !_e.done; _e = _d.next()) {
2490
- var field = _e.value;
2620
+ for (var _f = __values(this.formFields), _g = _f.next(); !_g.done; _g = _f.next()) {
2621
+ var field = _g.value;
2491
2622
  _loop_3(field);
2492
2623
  }
2493
2624
  }
2494
- catch (e_8_1) { e_8 = { error: e_8_1 }; }
2625
+ catch (e_9_1) { e_9 = { error: e_9_1 }; }
2495
2626
  finally {
2496
2627
  try {
2497
- if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
2628
+ if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
2498
2629
  }
2499
- finally { if (e_8) throw e_8.error; }
2630
+ finally { if (e_9) throw e_9.error; }
2500
2631
  }
2501
2632
  if (this.formGroup.invalid) {
2502
- var controls = new Validations(undefined, this.formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this)).findInvalidControlsRecursive(this.formGroup);
2633
+ var controls = new Validations(undefined, formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this)).findInvalidControlsRecursive(this.formGroup);
2503
2634
  var firstFieldWithError = "";
2504
2635
  try {
2505
2636
  for (var controls_1 = __values(controls), controls_1_1 = controls_1.next(); !controls_1_1.done; controls_1_1 = controls_1.next()) {
@@ -2510,54 +2641,15 @@
2510
2641
  this.formFields = setFieldError(this.formFields, this.formGroup.controls[control.key].errors, control.key, control.invalid);
2511
2642
  }
2512
2643
  }
2513
- catch (e_9_1) { e_9 = { error: e_9_1 }; }
2644
+ catch (e_10_1) { e_10 = { error: e_10_1 }; }
2514
2645
  finally {
2515
2646
  try {
2516
- if (controls_1_1 && !controls_1_1.done && (_b = controls_1.return)) _b.call(controls_1);
2647
+ if (controls_1_1 && !controls_1_1.done && (_c = controls_1.return)) _c.call(controls_1);
2517
2648
  }
2518
- finally { if (e_9) throw e_9.error; }
2649
+ finally { if (e_10) throw e_10.error; }
2519
2650
  }
2520
2651
  return;
2521
2652
  }
2522
- try {
2523
- // Need to have an API Validator as well here.
2524
- // if(apiCallSuccess()) { then only proceed further, else highlight the button to click to call api}
2525
- for (var _f = __values(this.formFields), _g = _f.next(); !_g.done; _g = _f.next()) {
2526
- var field = _g.value;
2527
- switch (field.type) {
2528
- case "radio":
2529
- if (hasKey$1(formData[field.key], "label")) {
2530
- formData[field.key] = formData[field.key].label;
2531
- }
2532
- else {
2533
- formData[field.key] = "";
2534
- }
2535
- break;
2536
- case "date":
2537
- if (isNull(formData[field.key])) {
2538
- formData[field.key] = "";
2539
- }
2540
- else {
2541
- formData[field.key] = formatDateToStandardFormat(formData[field.key]);
2542
- }
2543
- break;
2544
- case "title":
2545
- break;
2546
- default:
2547
- if (isEmpty(formData[field.key])) {
2548
- formData[field.key] = "";
2549
- }
2550
- break;
2551
- }
2552
- }
2553
- }
2554
- catch (e_10_1) { e_10 = { error: e_10_1 }; }
2555
- finally {
2556
- try {
2557
- if (_g && !_g.done && (_c = _f.return)) _c.call(_f);
2558
- }
2559
- finally { if (e_10) throw e_10.error; }
2560
- }
2561
2653
  Object.keys(formData).map(function (key) {
2562
2654
  if (isEmpty(formData[key])) {
2563
2655
  formData[key] = "";
@@ -2785,7 +2877,7 @@
2785
2877
  return KwikIDFormViewComponent;
2786
2878
  }());
2787
2879
  /** @nocollapse */ KwikIDFormViewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: KwikIDFormViewComponent, deps: [{ token: KwikIDFormViewService }], target: i0__namespace.ɵɵFactoryTarget.Component });
2788
- /** @nocollapse */ KwikIDFormViewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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\r\n class=\"kwikid-form-container\"\r\n *ngIf=\"!this.loading\"\r\n>\r\n <div id=\"uf-form-fields-header-container\">\r\n <div id=\"uf-form-fields-title\">\r\n {{ this.formConfig.title }}\r\n </div>\r\n <div id=\"uf-form-fields-steps\">\r\n Step {{ this.formConfig.sequenceNo }} of {{ this.formsList.length }}\r\n </div>\r\n </div>\r\n <form\r\n class=\"kwikid-form show\"\r\n [formGroup]=\"this.formGroup\"\r\n >\r\n <ng-container *ngFor=\"let field of this.formFields; let i = index\">\r\n <ng-container [ngSwitch]=\"field.type\">\r\n <!-- Form Title -->\r\n <ng-container *ngSwitchCase=\"'title'\">\r\n <div class=\"title\">\r\n <div>\r\n {{ field.label }}\r\n </div>\r\n <kwikui-button\r\n *ngIf=\"field?.reset\"\r\n appearance=\"whiteblock\"\r\n size=\"s\"\r\n label=\"Reset\"\r\n (onClick)=\"this.handleOnClickResetFormFields($event, field)\"\r\n ></kwikui-button>\r\n </div>\r\n </ng-container>\r\n <!-- Input Text -->\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <div [hidden]=\"field?.hidden\">\r\n <kwikui-input\r\n [case]=\"field?.properties?.case\"\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field.label\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [type]=\"'text'\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Checkbox -->\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <div [hidden]=\"field?.hidden\">\r\n <kwikui-checkbox-block\r\n [contentAlign]=\"field?.properties?.contentAlign ?? 'left'\"\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field?.properties?.placeholder\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [size]=\"field?.properties?.size ?? 'l'\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-checkbox-block\r\n ><kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Input Number -->\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <div [hidden]=\"field?.hidden\">\r\n <kwikui-input-number\r\n [decimal]=\"field?.properties?.decimal\"\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field?.label\"\r\n [max]=\"field?.properties?.max\"\r\n [min]=\"field?.properties?.min\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [postfix]=\"field?.properties?.postfix ?? ''\"\r\n [precision]=\"field?.properties?.precision\"\r\n [prefix]=\"field?.properties?.prefix ?? ''\"\r\n [properties]=\"field?.properties\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input-number\r\n ><kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Input Date -->\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <div [hidden]=\"field?.hidden\">\r\n <kwikui-input-date\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field.label\"\r\n [max]=\"field?.properties?.max\"\r\n [min]=\"field?.properties?.min\"\r\n [placeholder]=\"field?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input-date>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Input Phone -->\r\n <ng-container *ngSwitchCase=\"'phone'\">\r\n <div [hidden]=\"field?.hidden\">\r\n <kwikui-input-phone\r\n [countryCode]=\"field?.properties?.countryCode\"\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field?.label\"\r\n [phoneMaskAfterCountryCode]=\"\r\n field?.properties?.phoneMaskAfterCountryCode\r\n \"\r\n [placeholder]=\"field?.placeholder\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input-phone>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Input Radio -->\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <div [hidden]=\"field?.hidden\">\r\n <label\r\n [tuiLabel]=\"labelTemplate\"\r\n style=\"min-height: auto\"\r\n >\r\n <kwikui-radio-list\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [items]=\"field?.options\"\r\n [label]=\"field?.label\"\r\n [orientation]=\"field?.properties?.orientation\"\r\n [placeholder]=\"field?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [size]=\"field?.properties?.size\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-radio-list>\r\n </label>\r\n <ng-template #labelTemplate>\r\n <p\r\n class=\"tui-space_bottom-2\"\r\n [hidden]=\"field?.hidden\"\r\n >\r\n <b>\r\n {{ field.label }}\r\n <span *ngIf=\"field.validators?.required\"></span>\r\n </b>\r\n </p>\r\n </ng-template>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Dropdown -->\r\n <ng-container *ngSwitchCase=\"'dropdown-with-search'\">\r\n <div [hidden]=\"field?.hidden\">\r\n <kwikui-select-combobox\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field.label\"\r\n [options]=\"field.options\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-select-combobox>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- API Call -->\r\n <ng-container *ngSwitchCase=\"'api-call'\">\r\n <div [hidden]=\"field?.hidden\">\r\n <kwikui-button-api-call\r\n [apiStatus]=\"field?.api?.status?.value\"\r\n [class]=\"field?.class\"\r\n [disabled]=\"field?.disabled\"\r\n [id]=\"field.key\"\r\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\r\n [showLoader]=\"field?.disabled === 'loading'\"\r\n shape=\"null\"\r\n size=\"m\"\r\n styles=\"width: fit-content\"\r\n (onClick)=\"this.handleOnClickApiCall($event)\"\r\n ></kwikui-button-api-call>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Mobile OTP -->\r\n <ng-container *ngSwitchCase=\"'otp'\">\r\n <div [hidden]=\"field?.hidden\">\r\n <kwikui-input-otp\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field?.label\"\r\n [mask]=\"field?.properties?.mask\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input-otp>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Aadhaar Number -->\r\n <ng-container *ngSwitchCase=\"'aadhaar-number'\">\r\n <div [hidden]=\"field?.hidden\">\r\n <kwikui-input-aadhaar\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field?.label\"\r\n [placeholder]=\"field?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input-aadhaar>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </form>\r\n <div class=\"kwikid-form-buttons\">\r\n <kwikui-button\r\n *ngIf=\"this.isMobileView\"\r\n [disabled]=\"viewFormsButton.disabled\"\r\n id=\"\"\r\n label=\"View Forms\"\r\n [showLoader]=\"viewFormsButton.showLoader\"\r\n styles=\"\"\r\n class=\"\"\r\n type=\"button\"\r\n appearance=\"secondary\"\r\n icon=\"\"\r\n iconRight=\"\"\r\n shape=\"null\"\r\n size=\"m\"\r\n styles=\"width: 100%\"\r\n (onClick)=\"this.handleOnClickViewForms($event)\"\r\n ></kwikui-button>\r\n <kwikui-button\r\n [disabled]=\"saveFormButton.disabled\"\r\n id=\"\"\r\n label=\"Save\"\r\n [showLoader]=\"saveFormButton.showLoader\"\r\n styles=\"\"\r\n class=\"\"\r\n type=\"button\"\r\n appearance=\"primary\"\r\n icon=\"\"\r\n iconRight=\"\"\r\n shape=\"null\"\r\n size=\"m\"\r\n styles=\"width: 100%\"\r\n (onClick)=\"this.handleOnClickSaveForm($event)\"\r\n ></kwikui-button>\r\n </div>\r\n</div>\r\n<div\r\n class=\"kwikid-form-container-loading\"\r\n *ngIf=\"this.loading\"\r\n>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n</div>\r\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-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}.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}\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", "focus", "invalid", "disabled", "placeholder", "min", "max", "prefix", "postfix", "precision", "decimal", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputDateComponent, selector: "kwikui-input-date", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "min", "max", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputPhoneComponent, selector: "kwikui-input-phone", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "countryCode", "phoneMaskAfterCountryCode", "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", "items", "orientation", "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"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i5__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }] });
2880
+ /** @nocollapse */ KwikIDFormViewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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\r\n class=\"kwikid-form-container\"\r\n *ngIf=\"!this.loading\"\r\n>\r\n <div id=\"uf-form-fields-header-container\">\r\n <div id=\"uf-form-fields-title\">\r\n {{ this.formConfig.title }}\r\n </div>\r\n <div id=\"uf-form-fields-steps\">\r\n Step {{ this.formConfig.sequenceNo }} of {{ this.formsList.length }}\r\n </div>\r\n <hr />\r\n </div>\r\n <form\r\n class=\"kwikid-form show\"\r\n [formGroup]=\"this.formGroup\"\r\n >\r\n <ng-container *ngFor=\"let field of this.formFields; let i = index\">\r\n <ng-container [ngSwitch]=\"field.type\">\r\n <!-- Form Title -->\r\n <ng-container *ngSwitchCase=\"'title'\">\r\n <div class=\"title\">\r\n <div>\r\n {{ field.label }}\r\n </div>\r\n <kwikui-button\r\n *ngIf=\"field?.reset\"\r\n appearance=\"whiteblock\"\r\n size=\"s\"\r\n label=\"Reset\"\r\n (onClick)=\"this.handleOnClickResetFormFields($event, field)\"\r\n ></kwikui-button>\r\n </div>\r\n </ng-container>\r\n <!-- Input Text -->\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <div [hidden]=\"field?.hidden\">\r\n <kwikui-input\r\n [case]=\"field?.properties?.case\"\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field.label\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [type]=\"'text'\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Checkbox -->\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <div [hidden]=\"field?.hidden\">\r\n <kwikui-checkbox-block\r\n [contentAlign]=\"field?.properties?.contentAlign ?? 'left'\"\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field?.properties?.placeholder\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [size]=\"field?.properties?.size ?? 'l'\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-checkbox-block\r\n ><kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Input Number -->\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <div [hidden]=\"field?.hidden\">\r\n <kwikui-input-number\r\n [decimal]=\"field?.properties?.decimal\"\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field?.label\"\r\n [max]=\"field?.properties?.max\"\r\n [min]=\"field?.properties?.min\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [postfix]=\"field?.properties?.postfix ?? ''\"\r\n [precision]=\"field?.properties?.precision\"\r\n [prefix]=\"field?.properties?.prefix ?? ''\"\r\n [properties]=\"field?.properties\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input-number\r\n ><kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Input Date -->\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <div [hidden]=\"field?.hidden\">\r\n <kwikui-input-date\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field.label\"\r\n [max]=\"field?.properties?.max\"\r\n [min]=\"field?.properties?.min\"\r\n [placeholder]=\"field?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input-date>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Input Phone -->\r\n <ng-container *ngSwitchCase=\"'phone'\">\r\n <div [hidden]=\"field?.hidden\">\r\n <kwikui-input-phone\r\n [countryCode]=\"field?.properties?.countryCode\"\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field?.label\"\r\n [phoneMaskAfterCountryCode]=\"\r\n field?.properties?.phoneMaskAfterCountryCode\r\n \"\r\n [placeholder]=\"field?.placeholder\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input-phone>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Input Radio -->\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <div [hidden]=\"field?.hidden\">\r\n <label\r\n [tuiLabel]=\"labelTemplate\"\r\n style=\"min-height: auto\"\r\n >\r\n <kwikui-radio-list\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [items]=\"field?.options\"\r\n [label]=\"field?.label\"\r\n [orientation]=\"field?.properties?.orientation\"\r\n [placeholder]=\"field?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [size]=\"field?.properties?.size\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-radio-list>\r\n </label>\r\n <ng-template #labelTemplate>\r\n <p\r\n class=\"tui-space_bottom-2\"\r\n [hidden]=\"field?.hidden\"\r\n >\r\n <b>\r\n {{ field.label }}\r\n <span *ngIf=\"field.validators?.required\"></span>\r\n </b>\r\n </p>\r\n </ng-template>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Dropdown -->\r\n <ng-container *ngSwitchCase=\"'dropdown-with-search'\">\r\n <div [hidden]=\"field?.hidden\">\r\n <kwikui-select-combobox\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field.label\"\r\n [options]=\"field.options\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-select-combobox>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- API Call -->\r\n <ng-container *ngSwitchCase=\"'api-call'\">\r\n <div [hidden]=\"field?.hidden\">\r\n <kwikui-button-api-call\r\n [apiStatus]=\"field?.api?.status?.value\"\r\n [class]=\"field?.class\"\r\n [disabled]=\"field?.disabled\"\r\n [id]=\"field.key\"\r\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\r\n [showLoader]=\"field?.disabled === 'loading'\"\r\n shape=\"null\"\r\n size=\"m\"\r\n styles=\"width: fit-content\"\r\n (onClick)=\"this.handleOnClickApiCall($event)\"\r\n ></kwikui-button-api-call>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Mobile OTP -->\r\n <ng-container *ngSwitchCase=\"'otp'\">\r\n <div [hidden]=\"field?.hidden\">\r\n <kwikui-input-otp\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field?.label\"\r\n [mask]=\"field?.properties?.mask\"\r\n [placeholder]=\"field?.properties?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input-otp>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n <!-- Aadhaar Number -->\r\n <ng-container *ngSwitchCase=\"'aadhaar-number'\">\r\n <div [hidden]=\"field?.hidden\">\r\n <kwikui-input-aadhaar\r\n [disabled]=\"field?.disabled\"\r\n [focus]=\"field?.focus\"\r\n [formControl]=\"formGroup.controls[field.key]\"\r\n [formControlName]=\"field.key\"\r\n [id]=\"field.key\"\r\n [invalid]=\"field?.invalid\"\r\n [label]=\"field?.label\"\r\n [placeholder]=\"field?.placeholder\"\r\n [properties]=\"field?.properties\"\r\n [validators]=\"field?.validators\"\r\n (getKeyValue)=\"handleGetKeyValue($event)\"\r\n ></kwikui-input-aadhaar>\r\n <kwikui-messages\r\n [messages]=\"field.messages\"\r\n [id]=\"field.key\"\r\n ></kwikui-messages>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </form>\r\n <div class=\"kwikid-form-buttons\">\r\n <kwikui-button\r\n *ngIf=\"this.isMobileView\"\r\n [disabled]=\"viewFormsButton.disabled\"\r\n id=\"\"\r\n label=\"View Forms\"\r\n [showLoader]=\"viewFormsButton.showLoader\"\r\n styles=\"\"\r\n class=\"\"\r\n type=\"button\"\r\n appearance=\"secondary\"\r\n icon=\"\"\r\n iconRight=\"\"\r\n shape=\"null\"\r\n size=\"m\"\r\n styles=\"width: 100%\"\r\n (onClick)=\"this.handleOnClickViewForms($event)\"\r\n ></kwikui-button>\r\n <kwikui-button\r\n [disabled]=\"saveFormButton.disabled\"\r\n id=\"\"\r\n label=\"Save\"\r\n [showLoader]=\"saveFormButton.showLoader\"\r\n styles=\"\"\r\n class=\"\"\r\n type=\"button\"\r\n appearance=\"primary\"\r\n icon=\"\"\r\n iconRight=\"\"\r\n shape=\"null\"\r\n size=\"m\"\r\n styles=\"width: 100%\"\r\n (onClick)=\"this.handleOnClickSaveForm($event)\"\r\n ></kwikui-button>\r\n </div>\r\n</div>\r\n<div\r\n class=\"kwikid-form-container-loading\"\r\n *ngIf=\"this.loading\"\r\n>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n <div\r\n class=\"large-wrapper\"\r\n [class.tui-skeleton]=\"this.loading\"\r\n [class.tui-skeleton_rounded]=\"this.loading\"\r\n ></div>\r\n</div>\r\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}.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}\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", "focus", "invalid", "disabled", "placeholder", "min", "max", "prefix", "postfix", "precision", "decimal", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputDateComponent, selector: "kwikui-input-date", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "min", "max", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputPhoneComponent, selector: "kwikui-input-phone", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "countryCode", "phoneMaskAfterCountryCode", "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", "items", "orientation", "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"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i5__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }] });
2789
2881
  __decorate([
2790
2882
  log
2791
2883
  ], KwikIDFormViewComponent.prototype, "ngOnInit", null);
@@ -2912,6 +3004,8 @@
2912
3004
 
2913
3005
  var KwikIDFormsListComponent = /** @class */ (function () {
2914
3006
  function KwikIDFormsListComponent() {
3007
+ this.showFormFields = {};
3008
+ this.userConfig = {};
2915
3009
  this.formsList = [];
2916
3010
  this.formsListCompleted = [];
2917
3011
  this.isMobileView = false;
@@ -2919,21 +3013,50 @@
2919
3013
  this.onClickHideFormsList = new i0.EventEmitter();
2920
3014
  this.onClickSubmitForms = new i0.EventEmitter();
2921
3015
  this.selectedForm = "";
3016
+ this.isAllFormsCompleted = true;
2922
3017
  }
2923
- KwikIDFormsListComponent.prototype.ngOnInit = function () { };
3018
+ KwikIDFormsListComponent.prototype.ngOnInit = function () {
3019
+ this.isAllFormsCompleted = this.checkIsAllFormsCompleted(this.formsList);
3020
+ };
2924
3021
  KwikIDFormsListComponent.prototype.ngOnChanges = function (changes) {
2925
3022
  var verifyChange = function (key) {
2926
3023
  return hasKey(changes, key) && !changes[key].firstChange;
2927
3024
  };
3025
+ if (verifyChange("showFormFields")) {
3026
+ this.showFormFields = changes.showFormFields.currentValue;
3027
+ }
2928
3028
  if (verifyChange("formsList")) {
2929
3029
  this.formsList = changes.formsList.currentValue;
3030
+ this.isAllFormsCompleted = this.checkIsAllFormsCompleted(this.formsList);
2930
3031
  }
2931
3032
  if (verifyChange("isMobileView")) {
2932
3033
  this.isMobileView = changes.isMobileView.currentValue;
2933
3034
  }
2934
3035
  };
3036
+ KwikIDFormsListComponent.prototype.checkIsAllFormsCompleted = function (formsList) {
3037
+ var e_1, _a;
3038
+ var isAllFormsCompleted = true;
3039
+ try {
3040
+ for (var formsList_1 = __values(formsList), formsList_1_1 = formsList_1.next(); !formsList_1_1.done; formsList_1_1 = formsList_1.next()) {
3041
+ var forms = formsList_1_1.value;
3042
+ if (forms.status !== "completed") {
3043
+ isAllFormsCompleted = false;
3044
+ break;
3045
+ }
3046
+ }
3047
+ }
3048
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
3049
+ finally {
3050
+ try {
3051
+ if (formsList_1_1 && !formsList_1_1.done && (_a = formsList_1.return)) _a.call(formsList_1);
3052
+ }
3053
+ finally { if (e_1) throw e_1.error; }
3054
+ }
3055
+ return isAllFormsCompleted;
3056
+ };
2935
3057
  KwikIDFormsListComponent.prototype.handleOnClickSetActiveForm = function (selectedForm) {
2936
- if (this.selectedForm !== selectedForm) {
3058
+ if (this.selectedForm !== selectedForm ||
3059
+ (this.isAllFormsCompleted && !this.showFormFields)) {
2937
3060
  this.selectedForm = selectedForm;
2938
3061
  this.onClickSetActiveForm.emit(selectedForm);
2939
3062
  }
@@ -2944,7 +3067,7 @@
2944
3067
  return KwikIDFormsListComponent;
2945
3068
  }());
2946
3069
  /** @nocollapse */ KwikIDFormsListComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: KwikIDFormsListComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
2947
- /** @nocollapse */ KwikIDFormsListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: { formsList: "formsList", formsListCompleted: "formsListCompleted", isMobileView: "isMobileView" }, outputs: { onClickSetActiveForm: "onClickSetActiveForm", onClickHideFormsList: "onClickHideFormsList", onClickSubmitForms: "onClickSubmitForms" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div id=\"sidebar-container\">\r\n <div id=\"sidebar\">\r\n <div id=\"uf-progress\">\r\n <div id=\"uf-progress-steps\">\r\n {{ this.formsListCompleted.length }} / {{ this.formsList.length }} Steps\r\n Completed\r\n </div>\r\n <kwikui-progress-segmented\r\n [max]=\"this.formsList.length\"\r\n size=\"m\"\r\n [value]=\"this.formsListCompleted.length\"\r\n ></kwikui-progress-segmented>\r\n </div>\r\n <div id=\"uf-sections-container\">\r\n <div\r\n *ngFor=\"let form of formsList; let i = index\"\r\n [class]=\"'uf-section-item'\"\r\n [class.completed]=\"form.status === 'completed' && !form.disabled\"\r\n [class.edit]=\"form.status !== 'completed' && !form.disabled\"\r\n [class.locked]=\"form.status !== 'completed' && form.disabled\"\r\n (click)=\"\r\n form.status !== 'completed' && form.disabled\r\n ? undefined\r\n : handleOnClickSetActiveForm(form.key)\r\n \"\r\n >\r\n <div class=\"uf-form-section-card-title\">\r\n {{ form.title }}\r\n </div>\r\n <div class=\"uf-form-section-card-action\">\r\n <div\r\n *ngIf=\"form.status === 'completed' && !form.disabled\"\r\n class=\"uf-form-section-card-action-img completed\"\r\n >\r\n <tui-svg src=\"tuiIconCheckLarge\"></tui-svg>\r\n <!-- <img class=\"completed\" src=\"assets/done1.png\" /> -->\r\n </div>\r\n <div\r\n *ngIf=\"form.status !== 'completed' && !form.disabled\"\r\n class=\"uf-form-section-card-action-img edit\"\r\n >\r\n <tui-svg src=\"tuiIconEdit\"></tui-svg>\r\n <!-- <img class=\"active\" src=\"assets/edit.png\" /> -->\r\n </div>\r\n <div\r\n *ngIf=\"form.status !== 'completed' && form.disabled\"\r\n class=\"uf-form-section-card-action-img locked\"\r\n >\r\n <tui-svg src=\"tuiIconLock\"></tui-svg>\r\n <!-- <img class=\"disabled\" src=\"assets/lock.png\" /> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div id=\"submit-sidebar-btn-container\">\r\n <kwikui-button\r\n [disabled]=\"false\"\r\n id=\"\"\r\n label=\"Submit\"\r\n [showLoader]=\"false\"\r\n styles=\"\"\r\n class=\"\"\r\n type=\"button\"\r\n appearance=\"primary\"\r\n icon=\"\"\r\n iconRight=\"\"\r\n shape=\"null\"\r\n size=\"m\"\r\n styles=\"width: 100%\"\r\n (onClick)=\"handleOnSubmitForms($event)\"\r\n ></kwikui-button>\r\n </div>\r\n </div>\r\n</div>\r\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}#sidebar-container{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center}#sidebar{width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch}.uf-section-item{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;align-content:center;padding:1rem;grid-gap:1rem;gap:1rem;cursor:pointer;box-shadow:0 .1rem .5rem -.25rem gray;border-radius:.5rem;background-color:var(--tui-base-02)}.uf-section-item:hover{box-shadow:0 .2rem .75rem -.5rem #656565}#submit-sidebar-btn-container{width:100%;bottom:0px;z-index:1;padding:1rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;grid-gap:1rem;gap:1rem}#submit-sidebar-btn-container *{flex-grow:1}#uf-sections-container{display:flex;flex-direction:column;height:100%;grid-row-gap:20px;row-gap:20px;padding:1rem;overflow-y:auto}.uf-form-section-card{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-column-gap:10px;column-gap:10px;border:none;border-radius:8px;background-color:#e9e9e9;height:-moz-fit-content;height:fit-content;min-height:60px;padding:10px 15px;width:100%;max-width:350px;margin:0 auto}.uf-section-item.locked{-webkit-user-select:none;user-select:none;cursor:not-allowed}.uf-form-section-card .uf-form-section-card-title{font-size:1.2em;text-align:left;line-height:1.25em}.uf-form-section-card .uf-form-section-card-action{width:30px;height:30px;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}.uf-form-section-card .uf-form-section-card-action .uf-form-section-card-action-img{width:30px;height:30px;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;border-radius:100%;color:#fff;font-weight:bold}.uf-form-section-card-action-img.completed{background-color:#228b22;padding:.25rem;border-radius:50%;color:#fff}.uf-form-section-card-action-img.edit{background-color:#dc143c;padding:.25rem;border-radius:50%;color:#fff}.uf-form-section-card-action-img.locked{background-color:gray;padding:.25rem;border-radius:50%;color:#fff}#uf-progress{display:flex;padding:1rem;flex-direction:column;align-content:center;justify-content:center;align-items:stretch;grid-gap:.5rem;gap:.5rem}#uf-progress-steps{font-size:1em;text-align:right;color:#3d3d3d}.uf-form-section-card-title{font-size:1em;font-weight:bold;color:#121212}@media screen and (max-width: 600px){#sidebar-container{max-width:unset}}\n"], components: [{ type: i2__namespace.KwikUIProgressSegmentedComponent, selector: "kwikui-progress-segmented", inputs: ["value", "max", "size", "colors"] }, { type: i3__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i2__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }], directives: [{ type: i4__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3070
+ /** @nocollapse */ KwikIDFormsListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: { showFormFields: "showFormFields", userConfig: "userConfig", formsList: "formsList", formsListCompleted: "formsListCompleted", isMobileView: "isMobileView" }, outputs: { onClickSetActiveForm: "onClickSetActiveForm", onClickHideFormsList: "onClickHideFormsList", onClickSubmitForms: "onClickSubmitForms" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div id=\"sidebar-container\">\r\n <div id=\"sidebar\">\r\n <div ngClass=\"kwikid-form-header\">\r\n <div id=\"uf-header\">\r\n <div id=\"uf-header-logo-container\">\r\n <img\r\n id=\"uf-header-logo\"\r\n src=\"{{ this.userConfig.theme.clientLogo }}\"\r\n [ngClass]=\"'large-icon'\"\r\n />\r\n </div>\r\n </div>\r\n <hr />\r\n </div>\r\n <div id=\"uf-progress\">\r\n <div id=\"uf-progress-steps\">\r\n {{ this.formsListCompleted.length }} / {{ this.formsList.length }} Steps\r\n Completed\r\n </div>\r\n <kwikui-progress-segmented\r\n [max]=\"this.formsList.length\"\r\n size=\"m\"\r\n [value]=\"this.formsListCompleted.length\"\r\n ></kwikui-progress-segmented>\r\n </div>\r\n <div id=\"uf-sections-container\">\r\n <div\r\n *ngFor=\"let form of formsList; let i = index\"\r\n [class]=\"'uf-section-item'\"\r\n [class.completed]=\"form.status === 'completed' && !form.disabled\"\r\n [class.edit]=\"form.status === 'editable' && !form.disabled\"\r\n [class.locked]=\"form.status === 'locked' && form.disabled\"\r\n (click)=\"\r\n form.status === 'locked' && form.disabled\r\n ? undefined\r\n : handleOnClickSetActiveForm(form.key)\r\n \"\r\n >\r\n <div class=\"uf-form-section-card-title\">\r\n {{ form.title }}\r\n </div>\r\n <div class=\"uf-form-section-card-action\">\r\n <div\r\n *ngIf=\"form.status === 'completed' && !form.disabled\"\r\n class=\"uf-form-section-card-action-img completed\"\r\n >\r\n <tui-svg src=\"tuiIconCheckLarge\"></tui-svg>\r\n </div>\r\n <div\r\n *ngIf=\"form.status !== 'completed' && !form.disabled\"\r\n class=\"uf-form-section-card-action-img edit\"\r\n >\r\n <tui-svg src=\"tuiIconEdit\"></tui-svg>\r\n </div>\r\n <div\r\n *ngIf=\"form.status !== 'completed' && form.disabled\"\r\n class=\"uf-form-section-card-action-img locked\"\r\n >\r\n <tui-svg src=\"tuiIconLock\"></tui-svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div id=\"submit-sidebar-btn-container\">\r\n <kwikui-button\r\n [disabled]=\"false\"\r\n id=\"\"\r\n label=\"Submit\"\r\n [showLoader]=\"false\"\r\n styles=\"\"\r\n class=\"\"\r\n type=\"button\"\r\n appearance=\"primary\"\r\n icon=\"\"\r\n iconRight=\"\"\r\n shape=\"null\"\r\n size=\"m\"\r\n styles=\"width: 100%\"\r\n (onClick)=\"handleOnSubmitForms($event)\"\r\n ></kwikui-button>\r\n </div>\r\n </div>\r\n</div>\r\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}#sidebar-container{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center}#sidebar{width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch}.uf-section-item{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;align-content:center;padding:1rem;grid-gap:1rem;gap:1rem;cursor:pointer;box-shadow:0 .1rem .5rem -.25rem gray;border-radius:.5rem;background-color:var(--tui-base-02)}.uf-section-item:hover{box-shadow:0 .2rem .75rem -.5rem #656565}#submit-sidebar-btn-container{width:100%;bottom:0px;z-index:1;padding:1rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;grid-gap:1rem;gap:1rem}#submit-sidebar-btn-container *{flex-grow:1}#uf-sections-container{display:flex;flex-direction:column;height:100%;grid-row-gap:20px;row-gap:20px;padding:1rem;overflow-y:auto}.uf-form-section-card{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-column-gap:10px;column-gap:10px;border:none;border-radius:8px;background-color:#e9e9e9;height:-moz-fit-content;height:fit-content;min-height:60px;padding:10px 15px;width:100%;max-width:350px;margin:0 auto}.uf-section-item.locked{-webkit-user-select:none;user-select:none;cursor:not-allowed}.uf-form-section-card .uf-form-section-card-title{font-size:1.2em;text-align:left;line-height:1.25em}.uf-form-section-card .uf-form-section-card-action{width:30px;height:30px;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}.uf-form-section-card .uf-form-section-card-action .uf-form-section-card-action-img{width:30px;height:30px;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;border-radius:100%;color:#fff;font-weight:bold}.uf-form-section-card-action-img.completed{background-color:#228b22;padding:.25rem;border-radius:50%;color:#fff}.uf-form-section-card-action-img.edit{background-color:#dc143c;padding:.25rem;border-radius:50%;color:#fff}.uf-form-section-card-action-img.locked{background-color:gray;padding:.25rem;border-radius:50%;color:#fff}#uf-progress{display:flex;padding:1rem;flex-direction:column;align-content:center;justify-content:center;align-items:stretch;grid-gap:.5rem;gap:.5rem}#uf-progress-steps{font-size:1em;text-align:right;color:#3d3d3d}.uf-form-section-card-title{font-size:1em;font-weight:bold;color:#121212}@media screen and (max-width: 600px){#sidebar-container{max-width:unset}}.kwikid-form-header{height:70px;z-index:6}.kwikid-form-header hr{width:calc(100% - 1rem);margin-left:auto;margin-right:auto}#uf-header{display:flex;flex-direction:row;align-content:center;align-items:center;justify-content:flex-start;grid-column-gap:10px;column-gap:10px;padding:10px 20px;width:100%;max-width:calc(400px + 50vw + 2rem);margin:0 auto;height:70px;z-index:1}#uf-header #uf-header-goback-container{display:none}#uf-header #uf-header-goback-container:hover{border-radius:50%;background-color:#d3d3d3}#uf-header #uf-header-goback-container #uf-header-goback{width:100%;height:auto}#uf-header #uf-header-logo-container{display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}#uf-header #uf-header-logo-container #uf-header-logo.small-icon{width:100%;height:50px}#uf-header #uf-header-logo-container #uf-header-logo.large-icon{width:100%;height:50px}#uf-header #uf-header-title-container{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;grid-row-gap:4px;row-gap:4px}#uf-header #uf-header-title-container #uf-header-title{font-size:1.4em;color:#121212}#uf-header #uf-header-title-container #uf-header-subtitle{font-size:1.2em;color:#121212}\n"], components: [{ type: i2__namespace.KwikUIProgressSegmentedComponent, selector: "kwikui-progress-segmented", inputs: ["value", "max", "size", "colors"] }, { type: i3__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i2__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }], directives: [{ type: i4__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2948
3071
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: KwikIDFormsListComponent, decorators: [{
2949
3072
  type: i0.Component,
2950
3073
  args: [{
@@ -2952,7 +3075,11 @@
2952
3075
  templateUrl: "./forms-list.component.html",
2953
3076
  styleUrls: ["./forms-list.component.scss"]
2954
3077
  }]
2955
- }], ctorParameters: function () { return []; }, propDecorators: { formsList: [{
3078
+ }], ctorParameters: function () { return []; }, propDecorators: { showFormFields: [{
3079
+ type: i0.Input
3080
+ }], userConfig: [{
3081
+ type: i0.Input
3082
+ }], formsList: [{
2956
3083
  type: i0.Input
2957
3084
  }], formsListCompleted: [{
2958
3085
  type: i0.Input
@@ -2996,7 +3123,7 @@
2996
3123
  };
2997
3124
  }
2998
3125
  Converter.prototype.convertFormConfig = function (formConfig) {
2999
- var e_1, _a;
3126
+ var e_1, _f;
3000
3127
  var _this = this;
3001
3128
  var updateOnFieldType = function (field) {
3002
3129
  var formatFieldTypeTitle = function (field) {
@@ -3182,12 +3309,11 @@
3182
3309
  return { field: field, connectedFieldMapping: connectedFieldMapping };
3183
3310
  };
3184
3311
  var getConnectedElementParentFieldMapping = function (field, connectedFieldMapping) {
3185
- var e_2, _a;
3186
- console.log(field, connectedFieldMapping);
3312
+ var e_2, _f;
3187
3313
  if (hasKey$2(connectedFieldMapping["child"], field.key)) {
3188
3314
  try {
3189
- for (var _b = __values(connectedFieldMapping["child"][field.key]), _c = _b.next(); !_c.done; _c = _b.next()) {
3190
- var connectedParentKey = _c.value;
3315
+ for (var _g = __values(connectedFieldMapping["child"][field.key]), _h = _g.next(); !_h.done; _h = _g.next()) {
3316
+ var connectedParentKey = _h.value;
3191
3317
  if (hasKey$2(connectedFieldMapping["parent"], connectedParentKey["key"])) {
3192
3318
  connectedFieldMapping["parent"][connectedParentKey["key"]].push(field.key);
3193
3319
  }
@@ -3201,7 +3327,7 @@
3201
3327
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
3202
3328
  finally {
3203
3329
  try {
3204
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
3330
+ if (_h && !_h.done && (_f = _g.return)) _f.call(_g);
3205
3331
  }
3206
3332
  finally { if (e_2) throw e_2.error; }
3207
3333
  }
@@ -3229,37 +3355,48 @@
3229
3355
  return field;
3230
3356
  };
3231
3357
  var updateFieldValidatorConfig = function (field) {
3358
+ var _a, _b, _c, _d, _e;
3232
3359
  if (field.type !== "title") {
3233
3360
  var validators = hasKey$2(field, "validators") ? field.validators : {};
3234
3361
  field = _this.setMissingFieldKeyValue(field, "validators", {});
3235
3362
  field = _this.setFieldKeyValue(field, "validators", Object.assign(Object.assign({}, field["validators"]), { min: hasKey$2(validators, "min")
3236
- ? validators.min
3363
+ ? isNotEmpty$1(validators.min)
3364
+ ? Number(validators.min)
3365
+ : null
3237
3366
  : hasKey$2(field, "min")
3238
- ? field.min
3239
- : undefined, max: hasKey$2(validators, "max")
3240
- ? validators.max
3367
+ ? Number(field.min)
3368
+ : null, max: hasKey$2(validators, "max")
3369
+ ? isNotEmpty$1(validators.max)
3370
+ ? Number(validators.max)
3371
+ : null
3241
3372
  : hasKey$2(field, "max")
3242
- ? field.max
3243
- : undefined, required: hasKey$2(validators, "required")
3244
- ? validators.required
3373
+ ? Number(field.max)
3374
+ : null, required: hasKey$2(validators, "required")
3375
+ ? Boolean(validators.required)
3245
3376
  : hasKey$2(field, "required")
3246
- ? field.required
3247
- : undefined, minLength: hasKey$2(validators, "minLength")
3248
- ? validators.minLength
3377
+ ? Boolean(field.required)
3378
+ : false, minLength: hasKey$2(validators, "minLength")
3379
+ ? isNotEmpty$1(validators.minLength)
3380
+ ? Number(validators.minLength)
3381
+ : null
3249
3382
  : hasKey$2(field, "minLength")
3250
- ? field.minLength
3251
- : undefined, maxLength: hasKey$2(validators, "maxLength")
3252
- ? validators.maxLength
3383
+ ? Number(field.minLength)
3384
+ : null, maxLength: hasKey$2(validators, "maxLength")
3385
+ ? isNotEmpty$1(validators.maxLength)
3386
+ ? Number(validators.maxLength)
3387
+ : null
3253
3388
  : hasKey$2(field, "length")
3254
- ? field.length
3389
+ ? Number(field.length)
3255
3390
  : hasKey$2(field, "maxLength")
3256
- ? field.maxLength
3257
- : undefined, pattern: hasKey$2(field.validators, "pattern")
3258
- ? field.validators.pattern
3391
+ ? Number(field.maxLength)
3392
+ : null, pattern: hasKey$2(validators, "pattern")
3393
+ ? isNotEmpty$1(validators.pattern)
3394
+ ? validators.pattern
3395
+ : undefined
3259
3396
  : hasKey$2(field, "pattern")
3260
- ? field.pattern
3397
+ ? { key: "CUSTOM", pattern: String(field.pattern) }
3261
3398
  : hasKey$2(field, "regex")
3262
- ? field.regex
3399
+ ? { key: "CUSTOM", pattern: String(field.regex) }
3263
3400
  : undefined }));
3264
3401
  delete field.min;
3265
3402
  delete field.max;
@@ -3269,6 +3406,29 @@
3269
3406
  delete field.maxLength;
3270
3407
  delete field.pattern;
3271
3408
  delete field.regex;
3409
+ switch (field.type) {
3410
+ case "text":
3411
+ delete field.validators.min;
3412
+ delete field.validators.max;
3413
+ break;
3414
+ default:
3415
+ break;
3416
+ }
3417
+ if (isEmpty$1((_a = field.validators) === null || _a === void 0 ? void 0 : _a.min)) {
3418
+ delete field.validators.min;
3419
+ }
3420
+ if (isEmpty$1((_b = field.validators) === null || _b === void 0 ? void 0 : _b.max)) {
3421
+ delete field.validators.min;
3422
+ }
3423
+ if (isEmpty$1((_c = field.validators) === null || _c === void 0 ? void 0 : _c.minLength)) {
3424
+ delete field.validators.minLength;
3425
+ }
3426
+ if (isEmpty$1((_d = field.validators) === null || _d === void 0 ? void 0 : _d.maxLength)) {
3427
+ delete field.validators.maxLength;
3428
+ }
3429
+ if (isEmpty$1((_e = field.validators) === null || _e === void 0 ? void 0 : _e.pattern)) {
3430
+ delete field.validators.pattern;
3431
+ }
3272
3432
  }
3273
3433
  return field;
3274
3434
  };
@@ -3503,7 +3663,7 @@
3503
3663
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
3504
3664
  finally {
3505
3665
  try {
3506
- if (fields_1_1 && !fields_1_1.done && (_a = fields_1.return)) _a.call(fields_1);
3666
+ if (fields_1_1 && !fields_1_1.done && (_f = fields_1.return)) _f.call(fields_1);
3507
3667
  }
3508
3668
  finally { if (e_1) throw e_1.error; }
3509
3669
  }
@@ -3675,6 +3835,7 @@
3675
3835
  this.hostElement = hostElement;
3676
3836
  this.formsData = {};
3677
3837
  this.apiCallResponse = {};
3838
+ this.onClickSubmit = new i0.EventEmitter();
3678
3839
  this.getFormData = new i0.EventEmitter();
3679
3840
  this.onClickApiCall = new i0.EventEmitter();
3680
3841
  this.loading = false;
@@ -3730,8 +3891,8 @@
3730
3891
  };
3731
3892
  KwikIDFormsRendererComponent.prototype.initializeForms = function () {
3732
3893
  return __awaiter(this, void 0, void 0, function () {
3733
- return __generator(this, function (_a) {
3734
- switch (_a.label) {
3894
+ return __generator(this, function (_b) {
3895
+ switch (_b.label) {
3735
3896
  case 0:
3736
3897
  this.rendererService.setAllFormsData(this.formsData);
3737
3898
  this.rendererService.updateFormsList();
@@ -3740,12 +3901,12 @@
3740
3901
  this.rendererService.formsListCompleted.length)) return [3 /*break*/, 2];
3741
3902
  return [4 /*yield*/, this.handleOnClickSetActiveForm(this.rendererService.activeFormConfig.key)];
3742
3903
  case 1:
3743
- _a.sent();
3904
+ _b.sent();
3744
3905
  return [3 /*break*/, 3];
3745
3906
  case 2:
3746
3907
  this.showForm = false;
3747
3908
  this.showFormFields = false;
3748
- _a.label = 3;
3909
+ _b.label = 3;
3749
3910
  case 3:
3750
3911
  this.loading = false;
3751
3912
  return [2 /*return*/];
@@ -3773,11 +3934,13 @@
3773
3934
  };
3774
3935
  // forms-list listener
3775
3936
  KwikIDFormsRendererComponent.prototype.handleOnClickSetActiveForm = function (selectedForm) {
3937
+ var _a;
3776
3938
  return __awaiter(this, void 0, void 0, function () {
3777
- var activeFormConfig, formConfig;
3778
- return __generator(this, function (_a) {
3779
- switch (_a.label) {
3939
+ var activeFormConfig, formConfig, activeFormData;
3940
+ return __generator(this, function (_b) {
3941
+ switch (_b.label) {
3780
3942
  case 0:
3943
+ this.showForm = false;
3781
3944
  activeFormConfig = this.rendererService.formsList.find(function (form) {
3782
3945
  if (form.key === selectedForm) {
3783
3946
  return form;
@@ -3785,9 +3948,10 @@
3785
3948
  });
3786
3949
  return [4 /*yield*/, this.rendererService.fetchFormConfig(activeFormConfig.formContent.url)];
3787
3950
  case 1:
3788
- formConfig = _a.sent();
3951
+ formConfig = _b.sent();
3789
3952
  formConfig = new Converter().convertFormConfig(formConfig);
3790
- this.rendererService.setActiveFormData(this.rendererService.allFormsData[formConfig.key]);
3953
+ activeFormData = (_a = this.rendererService.allFormsData[formConfig.key]) !== null && _a !== void 0 ? _a : {};
3954
+ this.rendererService.setActiveFormData(activeFormData);
3791
3955
  this.rendererService.setActiveFormConfig(Object.assign(Object.assign({}, activeFormConfig), formConfig));
3792
3956
  if (this.hostElement.nativeElement.offsetWidth < 600) {
3793
3957
  this.showFormSections = false;
@@ -3806,6 +3970,7 @@
3806
3970
  // forms-list listener
3807
3971
  KwikIDFormsRendererComponent.prototype.handleOnClickSubmitForms = function (e) {
3808
3972
  console.log(e);
3973
+ this.onClickSubmit.emit(e);
3809
3974
  };
3810
3975
  // form-view listener
3811
3976
  KwikIDFormsRendererComponent.prototype.handleOnClickApiCall = function (e) {
@@ -3813,21 +3978,21 @@
3813
3978
  };
3814
3979
  // form-view listener
3815
3980
  KwikIDFormsRendererComponent.prototype.handleGetActiveFormData = function (e) {
3816
- var _a;
3817
- this.getFormData.emit((_a = {},
3818
- _a[this.rendererService.activeFormConfig.key] = e["data"],
3819
- _a));
3981
+ var _b;
3982
+ this.getFormData.emit((_b = {},
3983
+ _b[this.rendererService.activeFormConfig.key] = e["data"],
3984
+ _b));
3820
3985
  };
3821
3986
  // form-view listener
3822
3987
  KwikIDFormsRendererComponent.prototype.handleOnClickSaveForm = function (e) {
3823
- var _a;
3824
- this.getFormData.emit((_a = {},
3825
- _a[this.rendererService.activeFormConfig.key] = e["data"],
3826
- _a));
3988
+ var _b;
3989
+ this.rendererService.setActiveFormData({});
3990
+ this.getFormData.emit((_b = {},
3991
+ _b[this.rendererService.activeFormConfig.key] = e["data"],
3992
+ _b));
3827
3993
  };
3828
3994
  // form-view listener
3829
3995
  KwikIDFormsRendererComponent.prototype.handleOnClickViewForms = function (e) {
3830
- console.log(e);
3831
3996
  this.showFormSections = true;
3832
3997
  this.showForm = false;
3833
3998
  this.showFormFields = false;
@@ -3835,7 +4000,7 @@
3835
4000
  return KwikIDFormsRendererComponent;
3836
4001
  }());
3837
4002
  /** @nocollapse */ KwikIDFormsRendererComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: KwikIDFormsRendererComponent, deps: [{ token: KwikIDRendererService }, { token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
3838
- /** @nocollapse */ KwikIDFormsRendererComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: KwikIDFormsRendererComponent, selector: "kwikid-forms-renderer", inputs: { userConfig: "userConfig", formsData: "formsData", apiCallResponse: "apiCallResponse" }, outputs: { getFormData: "getFormData", onClickApiCall: "onClickApiCall" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, providers: [KwikIDRendererService], usesOnChanges: true, ngImport: i0__namespace, template: "<div ngClass=\"kwikid-renderer\">\r\n <div ngClass=\"kwikid-form-header\">\r\n <div id=\"uf-header\">\r\n <div id=\"uf-header-logo-container\">\r\n <img\r\n id=\"uf-header-logo\"\r\n src=\"https://kwikid.s3.ap-south-1.amazonaws.com/CONFIG/USER/assets/logo/kwikid/kwikid-logo-favicon-32x32.png\"\r\n [ngClass]=\"showForm ? 'small-icon' : 'large-icon'\"\r\n />\r\n </div>\r\n <div id=\"uf-header-title-container\">\r\n <div id=\"uf-header-title\">Customer Registration</div>\r\n <div id=\"uf-header-subtitle\">\r\n {{ \"Central Bank of India\" }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n ngClass=\"kwikid-layout-container\"\r\n *ngIf=\"!loading\"\r\n >\r\n <div\r\n ngClass=\"kwikid-sections-container\"\r\n *ngIf=\"showFormSections\"\r\n class=\"active\"\r\n [class.active]=\"showFormSections\"\r\n [class.mobile]=\"rendererService.isMobileView\"\r\n >\r\n <kwikid-forms-list\r\n [formsList]=\"this.rendererService.formsList\"\r\n [formsListCompleted]=\"this.rendererService.formsListCompleted\"\r\n [isMobileView]=\"this.rendererService.isMobileView\"\r\n (onClickSetActiveForm)=\"this.handleOnClickSetActiveForm($event)\"\r\n (onClickSubmitForms)=\"this.handleOnClickSubmitForms($event)\"\r\n ></kwikid-forms-list>\r\n </div>\r\n <div\r\n ngClass=\"kwikid-forms-container\"\r\n *ngIf=\"this.showForm && this.showFormFields\"\r\n [class.active]=\"showFormFields\"\r\n [class.mobile]=\"rendererService.isMobileView\"\r\n [@panelInOut]\r\n >\r\n <kwikid-form-view\r\n [formConfig]=\"this.rendererService.activeFormConfig\"\r\n [formData]=\"this.rendererService.activeFormData\"\r\n [apiCallResponse]=\"this.apiCallResponse\"\r\n [formsList]=\"this.rendererService.formsList\"\r\n [allFormsData]=\"this.rendererService.allFormsData\"\r\n [isMobileView]=\"this.rendererService.isMobileView\"\r\n (onClickApiCall)=\"this.handleOnClickApiCall($event)\"\r\n (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\r\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event)\"\r\n (getActiveFormData)=\"this.handleGetActiveFormData($event)\"\r\n ></kwikid-form-view>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".kwikid-root{width:100%;height:100%}.kwikid-renderer{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;width:100%;height:100%}.kwikid-form-header{height:70px;box-shadow:0 0 12px -8px var(--tui-primary);z-index:6}#uf-header{display:flex;flex-direction:row;align-content:center;align-items:center;justify-content:flex-start;grid-column-gap:10px;column-gap:10px;padding:10px 20px;width:100%;max-width:calc(400px + 50vw + 2rem);margin:0 auto;height:70px;z-index:1}#uf-header #uf-header-goback-container{display:none}#uf-header #uf-header-goback-container:hover{border-radius:50%;background-color:#d3d3d3}#uf-header #uf-header-goback-container #uf-header-goback{width:100%;height:auto}#uf-header #uf-header-logo-container{display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}#uf-header #uf-header-logo-container #uf-header-logo.small-icon{width:50px;height:50px}#uf-header #uf-header-logo-container #uf-header-logo.large-icon{width:50px;height:50px}#uf-header #uf-header-title-container{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;grid-row-gap:4px;row-gap:4px}#uf-header #uf-header-title-container #uf-header-title{font-size:1.4em;color:#121212}#uf-header #uf-header-title-container #uf-header-subtitle{font-size:1.2em;color:#121212}.kwikid-layout-container{display:flex;flex-direction:row;padding:0 1rem;height:calc(100% - 70px);justify-content:center;align-items:stretch;background:var(--tui-secondary);position:relative}.kwikid-sections-container{display:block;width:100%;max-width:400px;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);margin:auto 1rem auto 0;box-shadow:0 0 12px -8px var(--tui-primary)}.kwikid-sections-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s}.kwikid-forms-container{display:block;width:100%;max-width:50vw;margin:auto 0;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);box-shadow:0 0 12px -8px var(--tui-primary)}.kwikid-forms-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s}@media screen and (max-width: 600px){.kwikid-layout-container{padding:0;background:transparent}.kwikid-sections-container{position:absolute;max-width:100%;bottom:-10000px;left:-10000px;opacity:0;padding:0;visibility:hidden}.kwikid-sections-container.active{visibility:visible}.kwikid-sections-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container{display:none;max-width:100%;height:100%;padding:0;border-radius:0;box-shadow:none}.kwikid-forms-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container.active{display:block}}\n"], components: [{ type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: ["formsList", "formsListCompleted", "isMobileView"], outputs: ["onClickSetActiveForm", "onClickHideFormsList", "onClickSubmitForms"] }, { type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: ["formConfig", "formData", "apiCallResponse", "isMobileView", "allFormsData", "formsList"], outputs: ["onClickViewForms", "onClickSaveForm", "onClickApiCall", "getActiveFormData"] }], directives: [{ type: i4__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
4003
+ /** @nocollapse */ KwikIDFormsRendererComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: KwikIDFormsRendererComponent, selector: "kwikid-forms-renderer", inputs: { userConfig: "userConfig", formsData: "formsData", apiCallResponse: "apiCallResponse" }, outputs: { onClickSubmit: "onClickSubmit", getFormData: "getFormData", onClickApiCall: "onClickApiCall" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, providers: [KwikIDRendererService], usesOnChanges: true, ngImport: i0__namespace, template: "<div ngClass=\"kwikid-renderer\">\r\n <div\r\n ngClass=\"kwikid-layout-container\"\r\n *ngIf=\"!loading\"\r\n >\r\n <div\r\n ngClass=\"kwikid-sections-container\"\r\n *ngIf=\"showFormSections\"\r\n class=\"active\"\r\n [class.active]=\"showFormSections\"\r\n [class.mobile]=\"rendererService.isMobileView\"\r\n >\r\n <kwikid-forms-list\r\n [showFormFields]=\"this.showFormFields\"\r\n [userConfig]=\"this.userConfig\"\r\n [formsList]=\"this.rendererService.formsList\"\r\n [formsListCompleted]=\"this.rendererService.formsListCompleted\"\r\n [isMobileView]=\"this.rendererService.isMobileView\"\r\n (onClickSetActiveForm)=\"this.handleOnClickSetActiveForm($event)\"\r\n (onClickSubmitForms)=\"this.handleOnClickSubmitForms($event)\"\r\n ></kwikid-forms-list>\r\n </div>\r\n <div\r\n ngClass=\"kwikid-forms-container\"\r\n *ngIf=\"this.showForm && this.showFormFields\"\r\n [class.active]=\"showFormFields\"\r\n [class.mobile]=\"rendererService.isMobileView\"\r\n [@panelInOut]\r\n >\r\n <kwikid-form-view\r\n [formConfig]=\"this.rendererService.activeFormConfig\"\r\n [formData]=\"this.rendererService.activeFormData\"\r\n [apiCallResponse]=\"this.apiCallResponse\"\r\n [formsList]=\"this.rendererService.formsList\"\r\n [allFormsData]=\"this.rendererService.allFormsData\"\r\n [isMobileView]=\"this.rendererService.isMobileView\"\r\n (onClickApiCall)=\"this.handleOnClickApiCall($event)\"\r\n (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\r\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event)\"\r\n (getActiveFormData)=\"this.handleGetActiveFormData($event)\"\r\n ></kwikid-form-view>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".kwikid-root{width:100%;height:100%}.kwikid-renderer{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;width:100%;height:100%}.kwikid-layout-container{display:flex;flex-direction:row;padding:0 1rem;height:100%;justify-content:center;align-items:stretch;background:var(--tui-secondary);position:relative}.kwikid-sections-container{display:block;width:100%;max-width:400px;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);margin:auto 1rem auto 0;box-shadow:0 0 12px -8px var(--tui-primary)}.kwikid-sections-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s}.kwikid-forms-container{display:block;width:100%;max-width:50vw;margin:auto 0;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);box-shadow:0 0 12px -8px var(--tui-primary)}.kwikid-forms-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s}@media screen and (max-width: 600px){.kwikid-layout-container{padding:0;background:transparent}.kwikid-sections-container{position:absolute;max-width:100%;bottom:-10000px;left:-10000px;opacity:0;padding:0;visibility:hidden}.kwikid-sections-container.active{visibility:visible}.kwikid-sections-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container{display:none;max-width:100%;height:100%;padding:0;border-radius:0;box-shadow:none}.kwikid-forms-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container.active{display:block}}\n"], components: [{ type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: ["showFormFields", "userConfig", "formsList", "formsListCompleted", "isMobileView"], outputs: ["onClickSetActiveForm", "onClickHideFormsList", "onClickSubmitForms"] }, { type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: ["formConfig", "formData", "apiCallResponse", "isMobileView", "allFormsData", "formsList"], outputs: ["onClickViewForms", "onClickSaveForm", "onClickApiCall", "getActiveFormData"] }], directives: [{ type: i4__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
3839
4004
  animations.trigger("panelInOut", [
3840
4005
  animations.transition(":enter", [
3841
4006
  animations.style({ transform: "translateY(100%)" }),
@@ -3874,6 +4039,8 @@
3874
4039
  type: i0.Input
3875
4040
  }], apiCallResponse: [{
3876
4041
  type: i0.Input
4042
+ }], onClickSubmit: [{
4043
+ type: i0.Output
3877
4044
  }], getFormData: [{
3878
4045
  type: i0.Output
3879
4046
  }], onClickApiCall: [{