kwikid-forms 0.0.3 → 0.0.5

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] = "";
@@ -2912,6 +3004,7 @@
2912
3004
 
2913
3005
  var KwikIDFormsListComponent = /** @class */ (function () {
2914
3006
  function KwikIDFormsListComponent() {
3007
+ this.showFormFields = {};
2915
3008
  this.userConfig = {};
2916
3009
  this.formsList = [];
2917
3010
  this.formsListCompleted = [];
@@ -2920,21 +3013,50 @@
2920
3013
  this.onClickHideFormsList = new i0.EventEmitter();
2921
3014
  this.onClickSubmitForms = new i0.EventEmitter();
2922
3015
  this.selectedForm = "";
3016
+ this.isAllFormsCompleted = true;
2923
3017
  }
2924
- KwikIDFormsListComponent.prototype.ngOnInit = function () { };
3018
+ KwikIDFormsListComponent.prototype.ngOnInit = function () {
3019
+ this.isAllFormsCompleted = this.checkIsAllFormsCompleted(this.formsList);
3020
+ };
2925
3021
  KwikIDFormsListComponent.prototype.ngOnChanges = function (changes) {
2926
3022
  var verifyChange = function (key) {
2927
3023
  return hasKey(changes, key) && !changes[key].firstChange;
2928
3024
  };
3025
+ if (verifyChange("showFormFields")) {
3026
+ this.showFormFields = changes.showFormFields.currentValue;
3027
+ }
2929
3028
  if (verifyChange("formsList")) {
2930
3029
  this.formsList = changes.formsList.currentValue;
3030
+ this.isAllFormsCompleted = this.checkIsAllFormsCompleted(this.formsList);
2931
3031
  }
2932
3032
  if (verifyChange("isMobileView")) {
2933
3033
  this.isMobileView = changes.isMobileView.currentValue;
2934
3034
  }
2935
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
+ };
2936
3057
  KwikIDFormsListComponent.prototype.handleOnClickSetActiveForm = function (selectedForm) {
2937
- if (this.selectedForm !== selectedForm) {
3058
+ if (this.selectedForm !== selectedForm ||
3059
+ (this.isAllFormsCompleted && !this.showFormFields)) {
2938
3060
  this.selectedForm = selectedForm;
2939
3061
  this.onClickSetActiveForm.emit(selectedForm);
2940
3062
  }
@@ -2945,7 +3067,7 @@
2945
3067
  return KwikIDFormsListComponent;
2946
3068
  }());
2947
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 });
2948
- /** @nocollapse */ KwikIDFormsListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: { 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 !== '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 </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"] }] });
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"] }] });
2949
3071
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: KwikIDFormsListComponent, decorators: [{
2950
3072
  type: i0.Component,
2951
3073
  args: [{
@@ -2953,7 +3075,9 @@
2953
3075
  templateUrl: "./forms-list.component.html",
2954
3076
  styleUrls: ["./forms-list.component.scss"]
2955
3077
  }]
2956
- }], ctorParameters: function () { return []; }, propDecorators: { userConfig: [{
3078
+ }], ctorParameters: function () { return []; }, propDecorators: { showFormFields: [{
3079
+ type: i0.Input
3080
+ }], userConfig: [{
2957
3081
  type: i0.Input
2958
3082
  }], formsList: [{
2959
3083
  type: i0.Input
@@ -2999,7 +3123,7 @@
2999
3123
  };
3000
3124
  }
3001
3125
  Converter.prototype.convertFormConfig = function (formConfig) {
3002
- var e_1, _a;
3126
+ var e_1, _f;
3003
3127
  var _this = this;
3004
3128
  var updateOnFieldType = function (field) {
3005
3129
  var formatFieldTypeTitle = function (field) {
@@ -3185,12 +3309,11 @@
3185
3309
  return { field: field, connectedFieldMapping: connectedFieldMapping };
3186
3310
  };
3187
3311
  var getConnectedElementParentFieldMapping = function (field, connectedFieldMapping) {
3188
- var e_2, _a;
3189
- console.log(field, connectedFieldMapping);
3312
+ var e_2, _f;
3190
3313
  if (hasKey$2(connectedFieldMapping["child"], field.key)) {
3191
3314
  try {
3192
- for (var _b = __values(connectedFieldMapping["child"][field.key]), _c = _b.next(); !_c.done; _c = _b.next()) {
3193
- 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;
3194
3317
  if (hasKey$2(connectedFieldMapping["parent"], connectedParentKey["key"])) {
3195
3318
  connectedFieldMapping["parent"][connectedParentKey["key"]].push(field.key);
3196
3319
  }
@@ -3204,7 +3327,7 @@
3204
3327
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
3205
3328
  finally {
3206
3329
  try {
3207
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
3330
+ if (_h && !_h.done && (_f = _g.return)) _f.call(_g);
3208
3331
  }
3209
3332
  finally { if (e_2) throw e_2.error; }
3210
3333
  }
@@ -3232,37 +3355,48 @@
3232
3355
  return field;
3233
3356
  };
3234
3357
  var updateFieldValidatorConfig = function (field) {
3358
+ var _a, _b, _c, _d, _e;
3235
3359
  if (field.type !== "title") {
3236
3360
  var validators = hasKey$2(field, "validators") ? field.validators : {};
3237
3361
  field = _this.setMissingFieldKeyValue(field, "validators", {});
3238
3362
  field = _this.setFieldKeyValue(field, "validators", Object.assign(Object.assign({}, field["validators"]), { min: hasKey$2(validators, "min")
3239
- ? validators.min
3363
+ ? isNotEmpty$1(validators.min)
3364
+ ? Number(validators.min)
3365
+ : null
3240
3366
  : hasKey$2(field, "min")
3241
- ? field.min
3242
- : undefined, max: hasKey$2(validators, "max")
3243
- ? validators.max
3367
+ ? Number(field.min)
3368
+ : null, max: hasKey$2(validators, "max")
3369
+ ? isNotEmpty$1(validators.max)
3370
+ ? Number(validators.max)
3371
+ : null
3244
3372
  : hasKey$2(field, "max")
3245
- ? field.max
3246
- : undefined, required: hasKey$2(validators, "required")
3247
- ? validators.required
3373
+ ? Number(field.max)
3374
+ : null, required: hasKey$2(validators, "required")
3375
+ ? Boolean(validators.required)
3248
3376
  : hasKey$2(field, "required")
3249
- ? field.required
3250
- : undefined, minLength: hasKey$2(validators, "minLength")
3251
- ? validators.minLength
3377
+ ? Boolean(field.required)
3378
+ : false, minLength: hasKey$2(validators, "minLength")
3379
+ ? isNotEmpty$1(validators.minLength)
3380
+ ? Number(validators.minLength)
3381
+ : null
3252
3382
  : hasKey$2(field, "minLength")
3253
- ? field.minLength
3254
- : undefined, maxLength: hasKey$2(validators, "maxLength")
3255
- ? validators.maxLength
3383
+ ? Number(field.minLength)
3384
+ : null, maxLength: hasKey$2(validators, "maxLength")
3385
+ ? isNotEmpty$1(validators.maxLength)
3386
+ ? Number(validators.maxLength)
3387
+ : null
3256
3388
  : hasKey$2(field, "length")
3257
- ? field.length
3389
+ ? Number(field.length)
3258
3390
  : hasKey$2(field, "maxLength")
3259
- ? field.maxLength
3260
- : undefined, pattern: hasKey$2(field.validators, "pattern")
3261
- ? field.validators.pattern
3391
+ ? Number(field.maxLength)
3392
+ : null, pattern: hasKey$2(validators, "pattern")
3393
+ ? isNotEmpty$1(validators.pattern)
3394
+ ? validators.pattern
3395
+ : undefined
3262
3396
  : hasKey$2(field, "pattern")
3263
- ? field.pattern
3397
+ ? { key: "CUSTOM", pattern: String(field.pattern) }
3264
3398
  : hasKey$2(field, "regex")
3265
- ? field.regex
3399
+ ? { key: "CUSTOM", pattern: String(field.regex) }
3266
3400
  : undefined }));
3267
3401
  delete field.min;
3268
3402
  delete field.max;
@@ -3272,6 +3406,29 @@
3272
3406
  delete field.maxLength;
3273
3407
  delete field.pattern;
3274
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
+ }
3275
3432
  }
3276
3433
  return field;
3277
3434
  };
@@ -3506,7 +3663,7 @@
3506
3663
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
3507
3664
  finally {
3508
3665
  try {
3509
- 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);
3510
3667
  }
3511
3668
  finally { if (e_1) throw e_1.error; }
3512
3669
  }
@@ -3843,7 +4000,7 @@
3843
4000
  return KwikIDFormsRendererComponent;
3844
4001
  }());
3845
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 });
3846
- /** @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 [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: ["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: [
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;height:100%;border-radius:0;max-width:unset}.kwikid-forms-container{display:block;width:100%;max-width:50%;margin:auto 0;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);box-shadow:0 0 12px -8px var(--tui-primary)}.kwikid-forms-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s;height:100%;border-radius:0;max-width:unset}@media screen and (max-width: 600px){.kwikid-layout-container{padding:0;background:transparent}.kwikid-sections-container{position:absolute;max-width:100%;bottom:-10000px;left:-10000px;opacity:0;padding:0;visibility:hidden}.kwikid-sections-container.active{visibility:visible}.kwikid-sections-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container{display:none;max-width:100%;height:100%;padding:0;border-radius:0;box-shadow:none}.kwikid-forms-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container.active{display:block}}\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: [
3847
4004
  animations.trigger("panelInOut", [
3848
4005
  animations.transition(":enter", [
3849
4006
  animations.style({ transform: "translateY(100%)" }),