kwikid-forms 0.0.8 → 0.1.0

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.
@@ -529,6 +529,10 @@
529
529
  EActionKey["FIELD_RESET"] = "FIELD_RESET";
530
530
  EActionKey["HANDLE_CONNECTED_ELEMENTS"] = "HANDLE_CONNECTED_ELEMENTS";
531
531
  EActionKey["CUSTOM"] = "CUSTOM";
532
+ EActionKey["FIELD_GROUP_SHOW"] = "FIELD_GROUP_SHOW";
533
+ EActionKey["FIELD_GROUP_HIDE"] = "FIELD_GROUP_HIDE";
534
+ EActionKey["FIELD_GROUP_ENABLE"] = "FIELD_GROUP_ENABLE";
535
+ EActionKey["FIELD_GROUP_DISABLE"] = "FIELD_GROUP_DISABLE";
532
536
  })(EActionKey || (EActionKey = {}));
533
537
 
534
538
  var EApiStatusType;
@@ -1229,9 +1233,6 @@
1229
1233
  Rules.prototype.evaluate = function (rule) {
1230
1234
  var ruleType = rule.key;
1231
1235
  var ruleEvaluationStatus = false;
1232
- if (this._field.type === "radio") {
1233
- this._formData[this._field.key] = this._formData[this._field.key].label;
1234
- }
1235
1236
  var source = new Sources$1(this._field, this._formData, this._previousFormData, this._allFormsData);
1236
1237
  switch (ruleType) {
1237
1238
  case ERuleKey.OBJECT_PATH_EXISTS:
@@ -1581,6 +1582,8 @@
1581
1582
  case EFieldType.DATE:
1582
1583
  convertedValue = convertTuiDayFormatToDateString(value);
1583
1584
  break;
1585
+ case EFieldType.RADIO:
1586
+ convertedValue = value.label;
1584
1587
  default:
1585
1588
  break;
1586
1589
  }
@@ -1592,8 +1595,12 @@
1592
1595
  if (isNotEmpty(value)) {
1593
1596
  switch (field.type) {
1594
1597
  case EFieldType.RADIO:
1595
- if (hasKey$1(value, "label")) {
1596
- convertedValue = value.label;
1598
+ if (!hasKey$1(value, "label")) {
1599
+ var convertedLabelValue = {
1600
+ label: value,
1601
+ disabled: false
1602
+ };
1603
+ convertedValue = convertedLabelValue;
1597
1604
  }
1598
1605
  break;
1599
1606
  case EFieldType.DATE:
@@ -1668,8 +1675,10 @@
1668
1675
  isNotEmpty(field.validators.max)) {
1669
1676
  validators.push(i6.Validators.max(field.validators.max));
1670
1677
  }
1671
- if (hasKey$1(field, "required") ||
1672
- (hasKey$1(field, "validators") && hasKey$1(field.validators, "required"))) {
1678
+ if ((hasKey$1(field, "required") && field.required) ||
1679
+ (hasKey$1(field, "validators") &&
1680
+ hasKey$1(field.validators, "required") &&
1681
+ field.validators.required)) {
1673
1682
  validators.push(i6.Validators.required);
1674
1683
  }
1675
1684
  if (hasKey$1(field, "validators") &&
@@ -2098,6 +2107,7 @@
2098
2107
  this.onClickSaveForm = new i0.EventEmitter();
2099
2108
  this.onClickApiCall = new i0.EventEmitter();
2100
2109
  this.getActiveFormData = new i0.EventEmitter();
2110
+ this.fieldGroups = {};
2101
2111
  this.formFields = [];
2102
2112
  this.previousFormData = {};
2103
2113
  this.loading = true;
@@ -2187,6 +2197,7 @@
2187
2197
  switch (_h.label) {
2188
2198
  case 0:
2189
2199
  this.setFormFieldsFromFormConfig(formConfig);
2200
+ this.setFormFieldGroupsFromFormConfig(formConfig);
2190
2201
  this.setFormDataFromAllFormsData();
2191
2202
  _a = this;
2192
2203
  return [4 /*yield*/, this.formViewService.createFormGroup(this.formFields, this.formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this))];
@@ -2264,6 +2275,9 @@
2264
2275
  this.formFields = formConfig.multiForm.fields;
2265
2276
  }
2266
2277
  };
2278
+ KwikIDFormViewComponent.prototype.setFormFieldGroupsFromFormConfig = function (formConfig) {
2279
+ this.fieldGroups = formConfig.fieldGroups;
2280
+ };
2267
2281
  KwikIDFormViewComponent.prototype.setFormDataFromAllFormsData = function () {
2268
2282
  if (hasKey$1(this.allFormsData, this.formConfig.key)) {
2269
2283
  this.formData = this.allFormsData[this.formConfig.key];
@@ -2272,10 +2286,101 @@
2272
2286
  this.formData = {};
2273
2287
  }
2274
2288
  };
2275
- KwikIDFormViewComponent.prototype.handleConnectedElementFieldActions = function (connectedFieldConfig, connectedField) {
2289
+ KwikIDFormViewComponent.prototype.handleConnectedElementFieldGroupActions = function (childFieldGroupConfig, parentField) {
2276
2290
  return __awaiter(this, void 0, void 0, function () {
2277
2291
  var rulesMapping, _a, _b, action, conditionSuccess, actions, e_3_1;
2278
2292
  var e_3, _c;
2293
+ return __generator(this, function (_d) {
2294
+ switch (_d.label) {
2295
+ case 0:
2296
+ if (!hasKey$1(childFieldGroupConfig, "rules")) return [3 /*break*/, 8];
2297
+ rulesMapping = new Rules$1(childFieldGroupConfig.rules, parentField, this.formData, this.previousFormData, this.allFormsData).mapping();
2298
+ _d.label = 1;
2299
+ case 1:
2300
+ _d.trys.push([1, 6, 7, 8]);
2301
+ _a = __values(childFieldGroupConfig.actions), _b = _a.next();
2302
+ _d.label = 2;
2303
+ case 2:
2304
+ if (!!_b.done) return [3 /*break*/, 5];
2305
+ action = _b.value;
2306
+ conditionSuccess = new Condition$1(action.condition, rulesMapping).evaluate();
2307
+ if (!conditionSuccess) return [3 /*break*/, 4];
2308
+ actions = new Actions$1(action, parentField, rulesMapping, this.allFormsData, this.formData, this.previousFormData, this.takeActionOnFieldGroup.bind(this));
2309
+ return [4 /*yield*/, actions.execute()];
2310
+ case 3:
2311
+ _d.sent();
2312
+ _d.label = 4;
2313
+ case 4:
2314
+ _b = _a.next();
2315
+ return [3 /*break*/, 2];
2316
+ case 5: return [3 /*break*/, 8];
2317
+ case 6:
2318
+ e_3_1 = _d.sent();
2319
+ e_3 = { error: e_3_1 };
2320
+ return [3 /*break*/, 8];
2321
+ case 7:
2322
+ try {
2323
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
2324
+ }
2325
+ finally { if (e_3) throw e_3.error; }
2326
+ return [7 /*endfinally*/];
2327
+ case 8: return [2 /*return*/];
2328
+ }
2329
+ });
2330
+ });
2331
+ };
2332
+ KwikIDFormViewComponent.prototype.handleConnectedElementFieldGroup = function (currentField, connectedFieldGroupConfig, eventType) {
2333
+ return __awaiter(this, void 0, void 0, function () {
2334
+ var _a;
2335
+ return __generator(this, function (_b) {
2336
+ switch (_b.label) {
2337
+ case 0:
2338
+ _a = eventType;
2339
+ switch (_a) {
2340
+ case "INIT": return [3 /*break*/, 1];
2341
+ case "VALUE_CHANGE": return [3 /*break*/, 4];
2342
+ case "NESTED_LINK": return [3 /*break*/, 7];
2343
+ }
2344
+ return [3 /*break*/, 9];
2345
+ case 1:
2346
+ if (!(hasKey$1(connectedFieldGroupConfig, "triggers") &&
2347
+ connectedFieldGroupConfig.triggers.includes("INIT"))) return [3 /*break*/, 3];
2348
+ return [4 /*yield*/, this.handleConnectedElementFieldGroupActions(connectedFieldGroupConfig, currentField)];
2349
+ case 2:
2350
+ _b.sent();
2351
+ _b.label = 3;
2352
+ case 3: return [3 /*break*/, 12];
2353
+ case 4:
2354
+ if (!(hasKey$1(connectedFieldGroupConfig, "triggers") &&
2355
+ connectedFieldGroupConfig.triggers.includes("VALUE_CHANGE"))) return [3 /*break*/, 6];
2356
+ return [4 /*yield*/, this.handleConnectedElementFieldGroupActions(connectedFieldGroupConfig, currentField)];
2357
+ case 5:
2358
+ _b.sent();
2359
+ _b.label = 6;
2360
+ case 6: return [3 /*break*/, 12];
2361
+ case 7:
2362
+ if (!(hasKey$1(connectedFieldGroupConfig, "triggers") &&
2363
+ connectedFieldGroupConfig.triggers.includes("NESTED_LINK"))) return [3 /*break*/, 9];
2364
+ return [4 /*yield*/, this.handleConnectedElementFieldGroupActions(connectedFieldGroupConfig, currentField)];
2365
+ case 8:
2366
+ _b.sent();
2367
+ _b.label = 9;
2368
+ case 9:
2369
+ if (!hasKey$1(connectedFieldGroupConfig, "triggers")) return [3 /*break*/, 11];
2370
+ return [4 /*yield*/, this.handleConnectedElementFieldGroupActions(connectedFieldGroupConfig, currentField)];
2371
+ case 10:
2372
+ _b.sent();
2373
+ _b.label = 11;
2374
+ case 11: return [3 /*break*/, 12];
2375
+ case 12: return [2 /*return*/];
2376
+ }
2377
+ });
2378
+ });
2379
+ };
2380
+ KwikIDFormViewComponent.prototype.handleConnectedElementFieldActions = function (connectedFieldConfig, connectedField) {
2381
+ return __awaiter(this, void 0, void 0, function () {
2382
+ var rulesMapping, _a, _b, action, conditionSuccess, actions, e_4_1;
2383
+ var e_4, _c;
2279
2384
  return __generator(this, function (_d) {
2280
2385
  switch (_d.label) {
2281
2386
  case 0:
@@ -2301,14 +2406,14 @@
2301
2406
  return [3 /*break*/, 2];
2302
2407
  case 5: return [3 /*break*/, 8];
2303
2408
  case 6:
2304
- e_3_1 = _d.sent();
2305
- e_3 = { error: e_3_1 };
2409
+ e_4_1 = _d.sent();
2410
+ e_4 = { error: e_4_1 };
2306
2411
  return [3 /*break*/, 8];
2307
2412
  case 7:
2308
2413
  try {
2309
2414
  if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
2310
2415
  }
2311
- finally { if (e_3) throw e_3.error; }
2416
+ finally { if (e_4) throw e_4.error; }
2312
2417
  return [7 /*endfinally*/];
2313
2418
  case 8: return [2 /*return*/, connectedField];
2314
2419
  }
@@ -2318,7 +2423,7 @@
2318
2423
  KwikIDFormViewComponent.prototype.handleConnectedElementFields = function (currentField, connectedFieldConfig, eventType) {
2319
2424
  return __awaiter(this, void 0, void 0, function () {
2320
2425
  var connectedField, _a, _b, _c, _d, _e, connectedFieldConfig_1;
2321
- var e_4, _f;
2426
+ var e_5, _f;
2322
2427
  return __generator(this, function (_g) {
2323
2428
  switch (_g.label) {
2324
2429
  case 0:
@@ -2384,19 +2489,21 @@
2384
2489
  case 19: return [3 /*break*/, 20];
2385
2490
  case 20:
2386
2491
  if (hasKey$1(connectedField, "connectedElements")) {
2387
- try {
2388
- for (_d = __values(connectedField.connectedElements
2389
- .fields), _e = _d.next(); !_e.done; _e = _d.next()) {
2390
- connectedFieldConfig_1 = _e.value;
2391
- connectedField = this.handleConnectedElementFields(connectedField, connectedFieldConfig_1, "NESTED_LINK");
2392
- }
2393
- }
2394
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
2395
- finally {
2492
+ if (hasKey$1(connectedField.connectedElements, "connectedFields")) {
2396
2493
  try {
2397
- if (_e && !_e.done && (_f = _d.return)) _f.call(_d);
2494
+ for (_d = __values(connectedField.connectedElements
2495
+ .connectedFields), _e = _d.next(); !_e.done; _e = _d.next()) {
2496
+ connectedFieldConfig_1 = _e.value;
2497
+ connectedField = this.handleConnectedElementFields(connectedField, connectedFieldConfig_1, "NESTED_LINK");
2498
+ }
2499
+ }
2500
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
2501
+ finally {
2502
+ try {
2503
+ if (_e && !_e.done && (_f = _d.return)) _f.call(_d);
2504
+ }
2505
+ finally { if (e_5) throw e_5.error; }
2398
2506
  }
2399
- finally { if (e_4) throw e_4.error; }
2400
2507
  }
2401
2508
  }
2402
2509
  return [2 /*return*/, currentField];
@@ -2405,24 +2512,75 @@
2405
2512
  });
2406
2513
  };
2407
2514
  KwikIDFormViewComponent.prototype.handleConnectedElements = function (e, eventType) {
2408
- var e_5, _a;
2409
- var currentField = findFieldFromKey(this.formFields, e.key);
2410
- if (hasKey$1(currentField, "connectedElements")) {
2411
- var connectedFields = currentField.connectedElements.connectedFields;
2412
- try {
2413
- for (var connectedFields_1 = __values(connectedFields), connectedFields_1_1 = connectedFields_1.next(); !connectedFields_1_1.done; connectedFields_1_1 = connectedFields_1.next()) {
2414
- var connectedFieldConfig = connectedFields_1_1.value;
2415
- currentField = this.handleConnectedElementFields(currentField, connectedFieldConfig, eventType);
2416
- }
2417
- }
2418
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
2419
- finally {
2420
- try {
2421
- if (connectedFields_1_1 && !connectedFields_1_1.done && (_a = connectedFields_1.return)) _a.call(connectedFields_1);
2515
+ return __awaiter(this, void 0, void 0, function () {
2516
+ var currentField, connectedFieldGroups, connectedFieldGroups_1, connectedFieldGroups_1_1, connectedFieldGroupConfig, e_6_1, connectedFields, connectedFields_1, connectedFields_1_1, connectedFieldConfig, e_7_1;
2517
+ var e_6, _a, e_7, _b;
2518
+ return __generator(this, function (_c) {
2519
+ switch (_c.label) {
2520
+ case 0:
2521
+ currentField = findFieldFromKey(this.formFields, e.key);
2522
+ if (!hasKey$1(currentField, "connectedElements")) return [3 /*break*/, 16];
2523
+ if (!hasKey$1(currentField.connectedElements, "connectedFieldGroups")) return [3 /*break*/, 8];
2524
+ connectedFieldGroups = currentField.connectedElements.connectedFieldGroups;
2525
+ _c.label = 1;
2526
+ case 1:
2527
+ _c.trys.push([1, 6, 7, 8]);
2528
+ connectedFieldGroups_1 = __values(connectedFieldGroups), connectedFieldGroups_1_1 = connectedFieldGroups_1.next();
2529
+ _c.label = 2;
2530
+ case 2:
2531
+ if (!!connectedFieldGroups_1_1.done) return [3 /*break*/, 5];
2532
+ connectedFieldGroupConfig = connectedFieldGroups_1_1.value;
2533
+ return [4 /*yield*/, this.handleConnectedElementFieldGroup(currentField, connectedFieldGroupConfig, eventType)];
2534
+ case 3:
2535
+ _c.sent();
2536
+ _c.label = 4;
2537
+ case 4:
2538
+ connectedFieldGroups_1_1 = connectedFieldGroups_1.next();
2539
+ return [3 /*break*/, 2];
2540
+ case 5: return [3 /*break*/, 8];
2541
+ case 6:
2542
+ e_6_1 = _c.sent();
2543
+ e_6 = { error: e_6_1 };
2544
+ return [3 /*break*/, 8];
2545
+ case 7:
2546
+ try {
2547
+ if (connectedFieldGroups_1_1 && !connectedFieldGroups_1_1.done && (_a = connectedFieldGroups_1.return)) _a.call(connectedFieldGroups_1);
2548
+ }
2549
+ finally { if (e_6) throw e_6.error; }
2550
+ return [7 /*endfinally*/];
2551
+ case 8:
2552
+ if (!hasKey$1(currentField.connectedElements, "connectedFields")) return [3 /*break*/, 16];
2553
+ connectedFields = currentField.connectedElements.connectedFields;
2554
+ _c.label = 9;
2555
+ case 9:
2556
+ _c.trys.push([9, 14, 15, 16]);
2557
+ connectedFields_1 = __values(connectedFields), connectedFields_1_1 = connectedFields_1.next();
2558
+ _c.label = 10;
2559
+ case 10:
2560
+ if (!!connectedFields_1_1.done) return [3 /*break*/, 13];
2561
+ connectedFieldConfig = connectedFields_1_1.value;
2562
+ return [4 /*yield*/, this.handleConnectedElementFields(currentField, connectedFieldConfig, eventType)];
2563
+ case 11:
2564
+ currentField = _c.sent();
2565
+ _c.label = 12;
2566
+ case 12:
2567
+ connectedFields_1_1 = connectedFields_1.next();
2568
+ return [3 /*break*/, 10];
2569
+ case 13: return [3 /*break*/, 16];
2570
+ case 14:
2571
+ e_7_1 = _c.sent();
2572
+ e_7 = { error: e_7_1 };
2573
+ return [3 /*break*/, 16];
2574
+ case 15:
2575
+ try {
2576
+ if (connectedFields_1_1 && !connectedFields_1_1.done && (_b = connectedFields_1.return)) _b.call(connectedFields_1);
2577
+ }
2578
+ finally { if (e_7) throw e_7.error; }
2579
+ return [7 /*endfinally*/];
2580
+ case 16: return [2 /*return*/];
2422
2581
  }
2423
- finally { if (e_5) throw e_5.error; }
2424
- }
2425
- }
2582
+ });
2583
+ });
2426
2584
  };
2427
2585
  // DOM Event Handlers
2428
2586
  KwikIDFormViewComponent.prototype.handleGetKeyValue = function (e) {
@@ -2454,8 +2612,8 @@
2454
2612
  };
2455
2613
  KwikIDFormViewComponent.prototype.handleOnClickResetFormFields = function (e, field) {
2456
2614
  return __awaiter(this, void 0, void 0, function () {
2457
- var _a, _b, f, _c, _d, a, resetField, actions, e_6_1, e_7_1;
2458
- var e_7, _e, e_6, _f;
2615
+ var _a, _b, f, _c, _d, a, resetField, actions, e_8_1, e_9_1;
2616
+ var e_9, _e, e_8, _f;
2459
2617
  return __generator(this, function (_g) {
2460
2618
  switch (_g.label) {
2461
2619
  case 0:
@@ -2468,7 +2626,7 @@
2468
2626
  _g.label = 2;
2469
2627
  case 2:
2470
2628
  _g.trys.push([2, 7, 8, 9]);
2471
- _c = (e_6 = void 0, __values(f.actions)), _d = _c.next();
2629
+ _c = (e_8 = void 0, __values(f.actions)), _d = _c.next();
2472
2630
  _g.label = 3;
2473
2631
  case 3:
2474
2632
  if (!!_d.done) return [3 /*break*/, 6];
@@ -2484,28 +2642,28 @@
2484
2642
  return [3 /*break*/, 3];
2485
2643
  case 6: return [3 /*break*/, 9];
2486
2644
  case 7:
2487
- e_6_1 = _g.sent();
2488
- e_6 = { error: e_6_1 };
2645
+ e_8_1 = _g.sent();
2646
+ e_8 = { error: e_8_1 };
2489
2647
  return [3 /*break*/, 9];
2490
2648
  case 8:
2491
2649
  try {
2492
2650
  if (_d && !_d.done && (_f = _c.return)) _f.call(_c);
2493
2651
  }
2494
- finally { if (e_6) throw e_6.error; }
2652
+ finally { if (e_8) throw e_8.error; }
2495
2653
  return [7 /*endfinally*/];
2496
2654
  case 9:
2497
2655
  _b = _a.next();
2498
2656
  return [3 /*break*/, 1];
2499
2657
  case 10: return [3 /*break*/, 13];
2500
2658
  case 11:
2501
- e_7_1 = _g.sent();
2502
- e_7 = { error: e_7_1 };
2659
+ e_9_1 = _g.sent();
2660
+ e_9 = { error: e_9_1 };
2503
2661
  return [3 /*break*/, 13];
2504
2662
  case 12:
2505
2663
  try {
2506
2664
  if (_b && !_b.done && (_e = _a.return)) _e.call(_a);
2507
2665
  }
2508
- finally { if (e_7) throw e_7.error; }
2666
+ finally { if (e_9) throw e_9.error; }
2509
2667
  return [7 /*endfinally*/];
2510
2668
  case 13: return [2 /*return*/];
2511
2669
  }
@@ -2571,7 +2729,7 @@
2571
2729
  });
2572
2730
  };
2573
2731
  KwikIDFormViewComponent.prototype.handleOnClickSaveForm = function (e) {
2574
- var e_8, _a, e_9, _b, e_10, _c;
2732
+ var e_10, _a, e_11, _b, e_12, _c;
2575
2733
  var _this = this;
2576
2734
  var formData = this.formGroup.getRawValue();
2577
2735
  try {
@@ -2587,12 +2745,12 @@
2587
2745
  }
2588
2746
  }
2589
2747
  }
2590
- catch (e_8_1) { e_8 = { error: e_8_1 }; }
2748
+ catch (e_10_1) { e_10 = { error: e_10_1 }; }
2591
2749
  finally {
2592
2750
  try {
2593
2751
  if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
2594
2752
  }
2595
- finally { if (e_8) throw e_8.error; }
2753
+ finally { if (e_10) throw e_10.error; }
2596
2754
  }
2597
2755
  var _loop_3 = function (field) {
2598
2756
  if (field.type !== EFieldType.TITLE &&
@@ -2617,12 +2775,12 @@
2617
2775
  _loop_3(field);
2618
2776
  }
2619
2777
  }
2620
- catch (e_9_1) { e_9 = { error: e_9_1 }; }
2778
+ catch (e_11_1) { e_11 = { error: e_11_1 }; }
2621
2779
  finally {
2622
2780
  try {
2623
2781
  if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
2624
2782
  }
2625
- finally { if (e_9) throw e_9.error; }
2783
+ finally { if (e_11) throw e_11.error; }
2626
2784
  }
2627
2785
  if (this.formGroup.invalid) {
2628
2786
  var controls = new Validations$1(undefined, formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this)).findInvalidControlsRecursive(this.formGroup);
@@ -2636,14 +2794,17 @@
2636
2794
  this.formFields = setFieldError(this.formFields, this.formGroup.controls[control.key].errors, control.key, control.invalid);
2637
2795
  }
2638
2796
  }
2639
- catch (e_10_1) { e_10 = { error: e_10_1 }; }
2797
+ catch (e_12_1) { e_12 = { error: e_12_1 }; }
2640
2798
  finally {
2641
2799
  try {
2642
2800
  if (controls_1_1 && !controls_1_1.done && (_c = controls_1.return)) _c.call(controls_1);
2643
2801
  }
2644
- finally { if (e_10) throw e_10.error; }
2802
+ finally { if (e_12) throw e_12.error; }
2645
2803
  }
2646
2804
  this.toggleErrorNotification(true);
2805
+ setTimeout(function () {
2806
+ _this.toggleErrorNotification(false);
2807
+ }, 3000);
2647
2808
  return;
2648
2809
  }
2649
2810
  Object.keys(formData).map(function (key) {
@@ -2663,6 +2824,23 @@
2663
2824
  return field.key === _.key;
2664
2825
  });
2665
2826
  this.formFields[fieldIndex]["hidden"] = true;
2827
+ this.formGroup.updateValueAndValidity();
2828
+ };
2829
+ KwikIDFormViewComponent.prototype.fieldGroupHide = function (fieldGroup) {
2830
+ var e_13, _a;
2831
+ try {
2832
+ for (var _b = __values(this.fieldGroups[fieldGroup]), _c = _b.next(); !_c.done; _c = _b.next()) {
2833
+ var fieldKey = _c.value;
2834
+ this.fieldHide(fieldKey);
2835
+ }
2836
+ }
2837
+ catch (e_13_1) { e_13 = { error: e_13_1 }; }
2838
+ finally {
2839
+ try {
2840
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2841
+ }
2842
+ finally { if (e_13) throw e_13.error; }
2843
+ }
2666
2844
  };
2667
2845
  KwikIDFormViewComponent.prototype.fieldShow = function (fieldKey) {
2668
2846
  var field = findFieldFromKey(this.formFields, fieldKey);
@@ -2672,16 +2850,51 @@
2672
2850
  this.formFields[fieldIndex]["hidden"] = false;
2673
2851
  this.formGroup.updateValueAndValidity();
2674
2852
  };
2853
+ KwikIDFormViewComponent.prototype.fieldGroupShow = function (fieldGroup) {
2854
+ var e_14, _a;
2855
+ try {
2856
+ for (var _b = __values(this.fieldGroups[fieldGroup]), _c = _b.next(); !_c.done; _c = _b.next()) {
2857
+ var fieldKey = _c.value;
2858
+ this.fieldShow(fieldKey);
2859
+ }
2860
+ }
2861
+ catch (e_14_1) { e_14 = { error: e_14_1 }; }
2862
+ finally {
2863
+ try {
2864
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2865
+ }
2866
+ finally { if (e_14) throw e_14.error; }
2867
+ }
2868
+ };
2675
2869
  KwikIDFormViewComponent.prototype.fieldDisable = function (fieldKey) {
2676
2870
  var field = findFieldFromKey(this.formFields, fieldKey);
2677
2871
  var fieldIndex = this.formFields.findIndex(function (_) {
2678
2872
  return field.key === _.key;
2679
2873
  });
2680
- this.formFields[fieldIndex]["disabled"] = true;
2681
- if (isNotEmpty(this.formGroup.controls)) {
2682
- this.formGroup.controls[field.key].disable({
2683
- emitEvent: false
2684
- });
2874
+ if (field.type !== EFieldType.TITLE) {
2875
+ this.formFields[fieldIndex]["disabled"] = true;
2876
+ if (isNotEmpty(this.formGroup.controls)) {
2877
+ this.formGroup.controls[field.key].disable({
2878
+ emitEvent: false
2879
+ });
2880
+ }
2881
+ this.formGroup.updateValueAndValidity();
2882
+ }
2883
+ };
2884
+ KwikIDFormViewComponent.prototype.fieldGroupDisable = function (fieldGroup) {
2885
+ var e_15, _a;
2886
+ try {
2887
+ for (var _b = __values(this.fieldGroups[fieldGroup]), _c = _b.next(); !_c.done; _c = _b.next()) {
2888
+ var fieldKey = _c.value;
2889
+ this.fieldDisable(fieldKey);
2890
+ }
2891
+ }
2892
+ catch (e_15_1) { e_15 = { error: e_15_1 }; }
2893
+ finally {
2894
+ try {
2895
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2896
+ }
2897
+ finally { if (e_15) throw e_15.error; }
2685
2898
  }
2686
2899
  };
2687
2900
  KwikIDFormViewComponent.prototype.fieldEnable = function (fieldKey) {
@@ -2689,11 +2902,30 @@
2689
2902
  var fieldIndex = this.formFields.findIndex(function (_) {
2690
2903
  return field.key === _.key;
2691
2904
  });
2692
- this.formFields[fieldIndex]["disabled"] = false;
2693
- if (isNotEmpty(this.formGroup.controls)) {
2694
- this.formGroup.controls[field.key].enable({
2695
- emitEvent: false
2696
- });
2905
+ if (field.type !== EFieldType.TITLE) {
2906
+ this.formFields[fieldIndex]["disabled"] = false;
2907
+ if (isNotEmpty(this.formGroup.controls)) {
2908
+ this.formGroup.controls[field.key].enable({
2909
+ emitEvent: false
2910
+ });
2911
+ }
2912
+ this.formGroup.updateValueAndValidity();
2913
+ }
2914
+ };
2915
+ KwikIDFormViewComponent.prototype.fieldGroupEnable = function (fieldGroup) {
2916
+ var e_16, _a;
2917
+ try {
2918
+ for (var _b = __values(this.fieldGroups[fieldGroup]), _c = _b.next(); !_c.done; _c = _b.next()) {
2919
+ var fieldKey = _c.value;
2920
+ this.fieldEnable(fieldKey);
2921
+ }
2922
+ }
2923
+ catch (e_16_1) { e_16 = { error: e_16_1 }; }
2924
+ finally {
2925
+ try {
2926
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2927
+ }
2928
+ finally { if (e_16) throw e_16.error; }
2697
2929
  }
2698
2930
  };
2699
2931
  KwikIDFormViewComponent.prototype.fieldReset = function (fieldKey) {
@@ -2803,6 +3035,29 @@
2803
3035
  });
2804
3036
  });
2805
3037
  };
3038
+ KwikIDFormViewComponent.prototype.takeActionOnFieldGroup = function (action, field, allFormsData, formData, previousFormData) {
3039
+ return __awaiter(this, void 0, void 0, function () {
3040
+ return __generator(this, function (_a) {
3041
+ switch (action.key) {
3042
+ case EActionKey.FIELD_GROUP_HIDE:
3043
+ this.fieldGroupHide(action.props.groupKey);
3044
+ break;
3045
+ case EActionKey.FIELD_GROUP_SHOW:
3046
+ this.fieldGroupShow(action.props.groupKey);
3047
+ break;
3048
+ case EActionKey.FIELD_GROUP_ENABLE:
3049
+ this.fieldGroupEnable(action.props.groupKey);
3050
+ break;
3051
+ case EActionKey.FIELD_GROUP_DISABLE:
3052
+ this.fieldGroupDisable(action.props.groupKey);
3053
+ break;
3054
+ default:
3055
+ break;
3056
+ }
3057
+ return [2 /*return*/];
3058
+ });
3059
+ });
3060
+ };
2806
3061
  KwikIDFormViewComponent.prototype.takeAction = function (action, field, allFormsData, formData, previousFormData) {
2807
3062
  return __awaiter(this, void 0, void 0, function () {
2808
3063
  var _a, sources, sourceValue;
@@ -2876,7 +3131,7 @@
2876
3131
  return KwikIDFormViewComponent;
2877
3132
  }());
2878
3133
  /** @nocollapse */ KwikIDFormViewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: KwikIDFormViewComponent, deps: [{ token: i4.TuiPushService }, { token: i3.TuiAlertService }, { token: KwikIDFormViewService }], target: i0__namespace.ɵɵFactoryTarget.Component });
2879
- /** @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\r\n class=\"title\"\r\n id=\"field_{{ field.key }}\"\r\n >\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\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\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\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\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\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\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\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\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\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\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\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\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 id=\"field_{{ field.key }}\"\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\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\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\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\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\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\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\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\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<tui-push\r\n id=\"field-error-notification\"\r\n *tuiPush=\"showErrorNotification\"\r\n heading=\"Missing/Incorrect Fields!\"\r\n type=\"Error\"\r\n (close)=\"toggleErrorNotification(false)\"\r\n>\r\n <tui-svg\r\n src=\"tuiIconCancel\"\r\n style=\"color: #fff !important\"\r\n >\r\n </tui-svg>\r\n</tui-push>\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}#field-error-notification{background-color:var(--tui-error-fill);color:#fff!important}#field-error-notification .t-top{color:#fff!important}#field-error-notification .t-close{color:#fff!important}\n"], components: [{ type: i2__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIInputComponent, selector: "kwikui-input", inputs: ["label", "id", "type", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "validators", "case", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIMessagesComponent, selector: "kwikui-messages", inputs: ["messages", "id"] }, { type: i2__namespace.KwikUICheckboxBlockComponent, selector: "kwikui-checkbox-block", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "size", "contentAlign", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputNumberComponent, selector: "kwikui-input-number", inputs: ["label", "id", "formControlName", "formControl", "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"] }, { type: i4__namespace.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "timestamp"], outputs: ["close"] }, { type: i3__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i4__namespace.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i4__namespace.TuiPushDirective, selector: "tui-push" }] });
3134
+ /** @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\r\n class=\"title\"\r\n [class.hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\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\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\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\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\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\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\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\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\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\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\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\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\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?.properties?.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 id=\"field_{{ field.key }}\"\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\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\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\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\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\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\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\r\n [hidden]=\"field?.hidden\"\r\n id=\"field_{{ field.key }}\"\r\n >\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<tui-push\r\n id=\"field-error-notification\"\r\n *tuiPush=\"showErrorNotification\"\r\n heading=\"Missing/Incorrect Fields!\"\r\n type=\"Error\"\r\n (close)=\"toggleErrorNotification(false)\"\r\n>\r\n <tui-svg\r\n src=\"tuiIconCancel\"\r\n style=\"color: #fff !important\"\r\n >\r\n </tui-svg>\r\n</tui-push>\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}.title.hidden{display:none}.large-wrapper{width:100%;height:60px}.large-wrapper:first-child{margin-bottom:auto}.large-wrapper:last-child{margin-top:auto}.kwikid-form-container-loading{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;grid-row-gap:1rem;row-gap:1rem;padding:1rem}#field-error-notification{background-color:var(--tui-error-fill);color:#fff!important}#field-error-notification .t-top{color:#fff!important}#field-error-notification .t-close{color:#fff!important}\n"], components: [{ type: i2__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIInputComponent, selector: "kwikui-input", inputs: ["label", "id", "type", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "validators", "case", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIMessagesComponent, selector: "kwikui-messages", inputs: ["messages", "id"] }, { type: i2__namespace.KwikUICheckboxBlockComponent, selector: "kwikui-checkbox-block", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "size", "contentAlign", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputNumberComponent, selector: "kwikui-input-number", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "min", "max", "prefix", "postfix", "precision", "decimal", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputDateComponent, selector: "kwikui-input-date", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "min", "max", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputPhoneComponent, selector: "kwikui-input-phone", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "countryCode", "phoneMaskAfterCountryCode", "removeCountryCodeFromValue", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i3__namespace.TuiLabelComponent, selector: "label[tuiLabel]", inputs: ["tuiLabel", "context"] }, { type: i2__namespace.KwikUIRadioListComponent, selector: "kwikui-radio-list", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "size", "orientation", "items", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUISelectComboboxComponent, selector: "kwikui-select-combobox", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "options", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIButtonApiCallComponent, selector: "kwikui-button-api-call", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "shape", "size", "apiStatus"], outputs: ["onClick"] }, { type: i2__namespace.KwikUIInputOtpComponent, selector: "kwikui-input-otp", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "mask", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2__namespace.KwikUIInputAadhaarComponent, selector: "kwikui-input-aadhaar", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "mask", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i4__namespace.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "timestamp"], outputs: ["close"] }, { type: i3__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i4__namespace.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i4__namespace.TuiPushDirective, selector: "tui-push" }] });
2880
3135
  __decorate([
2881
3136
  log
2882
3137
  ], KwikIDFormViewComponent.prototype, "ngOnInit", null);
@@ -2892,9 +3147,18 @@
2892
3147
  __decorate([
2893
3148
  log
2894
3149
  ], KwikIDFormViewComponent.prototype, "setFormFieldsFromFormConfig", null);
3150
+ __decorate([
3151
+ log
3152
+ ], KwikIDFormViewComponent.prototype, "setFormFieldGroupsFromFormConfig", null);
2895
3153
  __decorate([
2896
3154
  log
2897
3155
  ], KwikIDFormViewComponent.prototype, "setFormDataFromAllFormsData", null);
3156
+ __decorate([
3157
+ log
3158
+ ], KwikIDFormViewComponent.prototype, "handleConnectedElementFieldGroupActions", null);
3159
+ __decorate([
3160
+ log
3161
+ ], KwikIDFormViewComponent.prototype, "handleConnectedElementFieldGroup", null);
2898
3162
  __decorate([
2899
3163
  log
2900
3164
  ], KwikIDFormViewComponent.prototype, "handleConnectedElementFieldActions", null);
@@ -2925,15 +3189,27 @@
2925
3189
  __decorate([
2926
3190
  log
2927
3191
  ], KwikIDFormViewComponent.prototype, "fieldHide", null);
3192
+ __decorate([
3193
+ log
3194
+ ], KwikIDFormViewComponent.prototype, "fieldGroupHide", null);
2928
3195
  __decorate([
2929
3196
  log
2930
3197
  ], KwikIDFormViewComponent.prototype, "fieldShow", null);
3198
+ __decorate([
3199
+ log
3200
+ ], KwikIDFormViewComponent.prototype, "fieldGroupShow", null);
2931
3201
  __decorate([
2932
3202
  log
2933
3203
  ], KwikIDFormViewComponent.prototype, "fieldDisable", null);
3204
+ __decorate([
3205
+ log
3206
+ ], KwikIDFormViewComponent.prototype, "fieldGroupDisable", null);
2934
3207
  __decorate([
2935
3208
  log
2936
3209
  ], KwikIDFormViewComponent.prototype, "fieldEnable", null);
3210
+ __decorate([
3211
+ log
3212
+ ], KwikIDFormViewComponent.prototype, "fieldGroupEnable", null);
2937
3213
  __decorate([
2938
3214
  log
2939
3215
  ], KwikIDFormViewComponent.prototype, "fieldReset", null);
@@ -2967,6 +3243,9 @@
2967
3243
  __decorate([
2968
3244
  log
2969
3245
  ], KwikIDFormViewComponent.prototype, "handleFieldTypeSearchText", null);
3246
+ __decorate([
3247
+ log
3248
+ ], KwikIDFormViewComponent.prototype, "takeActionOnFieldGroup", null);
2970
3249
  __decorate([
2971
3250
  log
2972
3251
  ], KwikIDFormViewComponent.prototype, "takeAction", null);
@@ -3006,7 +3285,7 @@
3006
3285
  type: i0.Output
3007
3286
  }], getActiveFormData: [{
3008
3287
  type: i0.Output
3009
- }], ngOnInit: [], ngAfterViewInit: [], ngOnChanges: [], initFormConfig: [], setFormFieldsFromFormConfig: [], setFormDataFromAllFormsData: [], handleConnectedElementFieldActions: [], handleConnectedElementFields: [], handleConnectedElements: [], handleGetKeyValue: [], handleOnClickResetFormFields: [], handleOnClickApiCall: [], handleOnClickViewForms: [], handleOnClickSaveForm: [], toggleErrorNotification: [], fieldHide: [], fieldShow: [], fieldDisable: [], fieldEnable: [], fieldReset: [], fieldErrorShow: [], fieldErrorHide: [], fieldMessageShow: [], fieldMessageHide: [], setObjectValue: [], patchFieldControlValue: [], isFieldValid: [], isFieldEnabled: [], getFormGroupRawValues: [], handleFieldTypeSearchText: [], takeAction: [] } });
3288
+ }], ngOnInit: [], ngAfterViewInit: [], ngOnChanges: [], initFormConfig: [], setFormFieldsFromFormConfig: [], setFormFieldGroupsFromFormConfig: [], setFormDataFromAllFormsData: [], handleConnectedElementFieldGroupActions: [], handleConnectedElementFieldGroup: [], handleConnectedElementFieldActions: [], handleConnectedElementFields: [], handleConnectedElements: [], handleGetKeyValue: [], handleOnClickResetFormFields: [], handleOnClickApiCall: [], handleOnClickViewForms: [], handleOnClickSaveForm: [], toggleErrorNotification: [], fieldHide: [], fieldGroupHide: [], fieldShow: [], fieldGroupShow: [], fieldDisable: [], fieldGroupDisable: [], fieldEnable: [], fieldGroupEnable: [], fieldReset: [], fieldErrorShow: [], fieldErrorHide: [], fieldMessageShow: [], fieldMessageHide: [], setObjectValue: [], patchFieldControlValue: [], isFieldValid: [], isFieldEnabled: [], getFormGroupRawValues: [], handleFieldTypeSearchText: [], takeActionOnFieldGroup: [], takeAction: [] } });
3010
3289
 
3011
3290
  var hasKey = function (object, key) {
3012
3291
  return object.hasOwnProperty(key);
@@ -3439,11 +3718,6 @@
3439
3718
  var _this = this;
3440
3719
  var updateOnFieldType = function (field) {
3441
3720
  var formatFieldTypeTitle = function (field) {
3442
- var fieldKey = field.type + "_" + field.label
3443
- .split(" ")
3444
- .join("_")
3445
- .toLocaleLowerCase();
3446
- field = _this.setFieldKeyValue(field, "key", fieldKey);
3447
3721
  field = _this.setFieldKeyValue(field, "hidden", false);
3448
3722
  return field;
3449
3723
  };
@@ -3452,7 +3726,14 @@
3452
3726
  field.properties = _this.setMissingFieldKeyValue(field.properties, "orientation", "vertical");
3453
3727
  field = _this.setFieldKeyValue(field, "hidden", false);
3454
3728
  field.options = field.options.map(function (x) {
3455
- return { label: x, disabled: false };
3729
+ if (typeof x === "string" || typeof x === "number") {
3730
+ return { label: x, disabled: false };
3731
+ }
3732
+ else {
3733
+ if (hasKey$2(x, "label") && hasKey$2(x, "disabled")) {
3734
+ return x;
3735
+ }
3736
+ }
3456
3737
  });
3457
3738
  return field;
3458
3739
  };
@@ -3948,11 +4229,27 @@
3948
4229
  }
3949
4230
  return formConfig;
3950
4231
  };
4232
+ var setFormFieldGroups = function (formConfig, groups) {
4233
+ formConfig["fieldGroups"] = groups;
4234
+ return formConfig;
4235
+ };
4236
+ var updateFormFieldGroups = function (fieldGroups, field) {
4237
+ if (hasKey$2(field, "groupKey")) {
4238
+ if (hasKey$2(fieldGroups, field.groupKey)) {
4239
+ fieldGroups[field.groupKey].push(field.key);
4240
+ }
4241
+ else {
4242
+ fieldGroups[field.groupKey] = [field.key];
4243
+ }
4244
+ }
4245
+ return fieldGroups;
4246
+ };
3951
4247
  var connectedFieldMapping = {
3952
4248
  parent: {},
3953
4249
  child: {}
3954
4250
  };
3955
4251
  var fields = this.getFormFields(formConfig);
4252
+ var fieldGroups = {};
3956
4253
  try {
3957
4254
  for (var fields_1 = __values(fields), fields_1_1 = fields_1.next(); !fields_1_1.done; fields_1_1 = fields_1.next()) {
3958
4255
  var field = fields_1_1.value;
@@ -3963,6 +4260,7 @@
3963
4260
  // connectedFieldMapping
3964
4261
  // );
3965
4262
  // field = updateConnectedElementsKeyValue(field, connectedFieldMapping);
4263
+ fieldGroups = updateFormFieldGroups(fieldGroups, field);
3966
4264
  field = updateFieldDefaultValueConfig(field);
3967
4265
  field = updateFieldValidatorConfig(field);
3968
4266
  field = updateFieldResetButton(field);
@@ -3976,6 +4274,7 @@
3976
4274
  }
3977
4275
  finally { if (e_1) throw e_1.error; }
3978
4276
  }
4277
+ formConfig = setFormFieldGroups(formConfig, fieldGroups);
3979
4278
  formConfig = setFormFields(formConfig, fields);
3980
4279
  return formConfig;
3981
4280
  };
@@ -4112,12 +4411,39 @@
4112
4411
  }
4113
4412
  return formsList;
4114
4413
  };
4414
+ KwikIDRendererService.prototype.filterAllFormsData = function (allFormsData, formsList) {
4415
+ var e_4, _a, _b;
4416
+ var currentUserFormAllFormsData = {};
4417
+ try {
4418
+ for (var formsList_4 = __values(formsList), formsList_4_1 = formsList_4.next(); !formsList_4_1.done; formsList_4_1 = formsList_4.next()) {
4419
+ var form = formsList_4_1.value;
4420
+ if (hasKey$2(allFormsData, form.key)) {
4421
+ currentUserFormAllFormsData = Object.assign(Object.assign({}, currentUserFormAllFormsData), (_b = {}, _b[form.key] = allFormsData[form.key], _b));
4422
+ }
4423
+ }
4424
+ }
4425
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
4426
+ finally {
4427
+ try {
4428
+ if (formsList_4_1 && !formsList_4_1.done && (_a = formsList_4.return)) _a.call(formsList_4);
4429
+ }
4430
+ finally { if (e_4) throw e_4.error; }
4431
+ }
4432
+ return currentUserFormAllFormsData;
4433
+ };
4115
4434
  KwikIDRendererService.prototype.updateFormsList = function () {
4116
4435
  var formsList = this.formsList;
4117
4436
  var formsListCompleted;
4118
4437
  var activeFormConfig;
4119
4438
  formsList = this.assignSequenceNoToForm(formsList);
4120
- formsListCompleted = this.findCompletedFormsList(this.allFormsData);
4439
+ /**
4440
+ * Below code identifies the allFormsData required for the current User Form.
4441
+ * Why? Because allFormsData will actually contain the whole journey's all
4442
+ * possible User Form steps. So, it is important to set the form data which
4443
+ * this particular User Form only has to LOCAL METHOD Variable.
4444
+ */
4445
+ var currentUserFormAllFormsData = this.filterAllFormsData(this.allFormsData, formsList);
4446
+ formsListCompleted = this.findCompletedFormsList(currentUserFormAllFormsData);
4121
4447
  formsList = this.markFormInFormsListAsCompleted(formsList, formsListCompleted);
4122
4448
  formsList = this.markFormInFormsListAsDisabled(formsList, formsListCompleted);
4123
4449
  if (formsList.length !== formsListCompleted.length) {
@@ -4293,6 +4619,7 @@
4293
4619
  if (this.userConfig.userFormFieldsConfig.validation) {
4294
4620
  var validations_1 = new Validations(this.userConfig, this.takeAction.bind(this));
4295
4621
  (function () { return __awaiter(_this, void 0, void 0, function () {
4622
+ var _this = this;
4296
4623
  return __generator(this, function (_b) {
4297
4624
  switch (_b.label) {
4298
4625
  case 0: return [4 /*yield*/, validations_1.validateField()];
@@ -4303,6 +4630,9 @@
4303
4630
  }
4304
4631
  else {
4305
4632
  this.toggleErrorNotification(true);
4633
+ setTimeout(function () {
4634
+ _this.toggleErrorNotification(false);
4635
+ }, 3000);
4306
4636
  }
4307
4637
  return [2 /*return*/];
4308
4638
  }