kwikid-forms 0.6.51 → 0.7.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.
@@ -544,6 +544,223 @@
544
544
  __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,
545
545
  };
546
546
 
547
+ /**
548
+ * Default when utilityFlags.isEliminateBrowserStorage is not set (undefined).
549
+ * Legacy hosts keep localStorage; set the flag to true for reduxData-only reads.
550
+ */
551
+ var DEFAULT_FORMS_ELIMINATE_BROWSER_STORAGE = false;
552
+ /**
553
+ * Resolution order must match legacy getLanguage() (config-converter.helper):
554
+ * lng first, selectedLang last — do not reorder without a breaking-change note.
555
+ */
556
+ var DEFAULT_LANGUAGE_KEYS = [
557
+ "lng",
558
+ "lang",
559
+ "Lang",
560
+ "language",
561
+ "currentLang",
562
+ "selectedLang"
563
+ ];
564
+ var STANDARD_LOGICAL_KEYS = ["session_id", "language", "formKey"];
565
+ /** Legacy default: localStorage until host sets utilityFlags.isEliminateBrowserStorage. */
566
+ var DEFAULT_FORMS_STORAGE_CONFIG = {
567
+ defaultSource: "localStorage",
568
+ session_id: { key: "session_id" },
569
+ language: {
570
+ keys: DEFAULT_LANGUAGE_KEYS,
571
+ fallback: "en"
572
+ },
573
+ formKey: { key: "formKey" }
574
+ };
575
+ function readLocalStorage(key) {
576
+ if (typeof localStorage === "undefined") {
577
+ return null;
578
+ }
579
+ try {
580
+ return localStorage.getItem(key);
581
+ }
582
+ catch (error) {
583
+ return null;
584
+ }
585
+ }
586
+ function readReduxDataScalar(reduxData, key) {
587
+ var value = reduxData[key];
588
+ if (value === undefined || value === null) {
589
+ return null;
590
+ }
591
+ if (typeof value === "string") {
592
+ return value;
593
+ }
594
+ if (typeof value === "number" || typeof value === "boolean") {
595
+ return String(value);
596
+ }
597
+ return null;
598
+ }
599
+ function readReduxDataObject(reduxData, key) {
600
+ var value = reduxData[key];
601
+ if (value === undefined || value === null) {
602
+ return undefined;
603
+ }
604
+ if (typeof value === "string") {
605
+ try {
606
+ return JSON.parse(value);
607
+ }
608
+ catch (error) {
609
+ return value;
610
+ }
611
+ }
612
+ return value;
613
+ }
614
+ function readLocalStorageObject(key) {
615
+ var raw = readLocalStorage(key);
616
+ if (raw === null) {
617
+ return undefined;
618
+ }
619
+ try {
620
+ return JSON.parse(raw);
621
+ }
622
+ catch (error) {
623
+ return raw;
624
+ }
625
+ }
626
+ function readStorageObject(source, reduxData, key) {
627
+ if (source === "reduxData") {
628
+ return readReduxDataObject(reduxData, key);
629
+ }
630
+ return readLocalStorageObject(key);
631
+ }
632
+ function isFormsStorageKeyConfig(entry) {
633
+ if (!entry || typeof entry !== "object" || Array.isArray(entry)) {
634
+ return false;
635
+ }
636
+ return (kwikidToolkit.checkObjectKeyExists(entry, "source") ||
637
+ kwikidToolkit.checkObjectKeyExists(entry, "key") ||
638
+ kwikidToolkit.checkObjectKeyExists(entry, "keys") ||
639
+ kwikidToolkit.checkObjectKeyExists(entry, "fallback"));
640
+ }
641
+ function keyConfigFor(config, logicalKey) {
642
+ var entry = config[logicalKey];
643
+ if (isFormsStorageKeyConfig(entry)) {
644
+ return entry;
645
+ }
646
+ return undefined;
647
+ }
648
+ function sourceForKey(config, logicalKey) {
649
+ var _a, _b, _c, _d;
650
+ return ((_d = (_c = (_b = (_a = keyConfigFor(config, logicalKey)) === null || _a === void 0 ? void 0 : _a.source) !== null && _b !== void 0 ? _b : config.defaultSource) !== null && _c !== void 0 ? _c : DEFAULT_FORMS_STORAGE_CONFIG.defaultSource) !== null && _d !== void 0 ? _d : "localStorage");
651
+ }
652
+ /**
653
+ * Apply utilityFlags.isEliminateBrowserStorage as the single source of truth.
654
+ * When true → reduxData; when false/omitted → localStorage (overrides formsStorage.defaultSource).
655
+ */
656
+ function normalizeFormsStorageConfigSources(config, source) {
657
+ var _a, _b, _c, _d, _e, _f;
658
+ var next = Object.assign(Object.assign({}, config), { defaultSource: source });
659
+ var mergeStandardKey = function (logicalKey, base) {
660
+ var existing = keyConfigFor(config, logicalKey);
661
+ next[logicalKey] = Object.assign(Object.assign(Object.assign({}, base), (existing !== null && existing !== void 0 ? existing : {})), { source: source });
662
+ };
663
+ mergeStandardKey("session_id", { key: "session_id" });
664
+ mergeStandardKey("formKey", { key: "formKey" });
665
+ mergeStandardKey("language", {
666
+ keys: (_d = (_b = (_a = keyConfigFor(config, "language")) === null || _a === void 0 ? void 0 : _a.keys) !== null && _b !== void 0 ? _b : (_c = DEFAULT_FORMS_STORAGE_CONFIG.language) === null || _c === void 0 ? void 0 : _c.keys) !== null && _d !== void 0 ? _d : DEFAULT_LANGUAGE_KEYS,
667
+ fallback: (_f = (_e = keyConfigFor(config, "language")) === null || _e === void 0 ? void 0 : _e.fallback) !== null && _f !== void 0 ? _f : "en"
668
+ });
669
+ Object.keys(config).forEach(function (key) {
670
+ if (key === "defaultSource" || STANDARD_LOGICAL_KEYS.includes(key)) {
671
+ return;
672
+ }
673
+ var entry = config[key];
674
+ if (isFormsStorageKeyConfig(entry)) {
675
+ next[key] = Object.assign(Object.assign({}, entry), { source: source });
676
+ }
677
+ });
678
+ return next;
679
+ }
680
+ /** Merge userConfig.formsStorage with defaults; map utilityFlags when present. */
681
+ function resolveFormsStorageConfig(userConfig) {
682
+ var _a;
683
+ var fromUser = userConfig === null || userConfig === void 0 ? void 0 : userConfig.formsStorage;
684
+ var config = Object.assign(Object.assign({}, DEFAULT_FORMS_STORAGE_CONFIG), (fromUser && typeof fromUser === "object" ? fromUser : {}));
685
+ var eliminateFlag = (_a = userConfig === null || userConfig === void 0 ? void 0 : userConfig.utilityFlags) === null || _a === void 0 ? void 0 : _a.isEliminateBrowserStorage;
686
+ var eliminate = typeof eliminateFlag === "boolean"
687
+ ? eliminateFlag
688
+ : DEFAULT_FORMS_ELIMINATE_BROWSER_STORAGE;
689
+ var source = eliminate ? "reduxData" : "localStorage";
690
+ return normalizeFormsStorageConfigSources(config, source);
691
+ }
692
+ /** Resolve a string value for a logical or explicit storage key. */
693
+ function resolveFormsStorageString(logicalKey, reduxData, config) {
694
+ var e_1, _g;
695
+ if (reduxData === void 0) { reduxData = {}; }
696
+ var _a, _b, _c, _d;
697
+ var resolvedConfig = config !== null && config !== void 0 ? config : DEFAULT_FORMS_STORAGE_CONFIG;
698
+ var keyCfg = keyConfigFor(resolvedConfig, logicalKey);
699
+ var source = sourceForKey(resolvedConfig, logicalKey);
700
+ if ((_a = keyCfg === null || keyCfg === void 0 ? void 0 : keyCfg.keys) === null || _a === void 0 ? void 0 : _a.length) {
701
+ try {
702
+ for (var _h = __values(keyCfg.keys), _j = _h.next(); !_j.done; _j = _h.next()) {
703
+ var key = _j.value;
704
+ var value_1 = source === "reduxData"
705
+ ? readReduxDataScalar(reduxData, key)
706
+ : readLocalStorage(key);
707
+ if (kwikidToolkit.isNotEmptyValue(value_1)) {
708
+ return value_1;
709
+ }
710
+ }
711
+ }
712
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
713
+ finally {
714
+ try {
715
+ if (_j && !_j.done && (_g = _h.return)) _g.call(_h);
716
+ }
717
+ finally { if (e_1) throw e_1.error; }
718
+ }
719
+ return (_b = keyCfg.fallback) !== null && _b !== void 0 ? _b : null;
720
+ }
721
+ var storageKey = (_c = keyCfg === null || keyCfg === void 0 ? void 0 : keyCfg.key) !== null && _c !== void 0 ? _c : logicalKey;
722
+ var value = source === "reduxData"
723
+ ? readReduxDataScalar(reduxData, storageKey)
724
+ : readLocalStorage(storageKey);
725
+ if (kwikidToolkit.isNotEmptyValue(value)) {
726
+ return value;
727
+ }
728
+ return (_d = keyCfg === null || keyCfg === void 0 ? void 0 : keyCfg.fallback) !== null && _d !== void 0 ? _d : null;
729
+ }
730
+ /**
731
+ * Resolve a structured value (form config blob, eNachForm, etc.).
732
+ * Supports the same logical key / keys[] / key alias config as resolveFormsStorageString.
733
+ */
734
+ function resolveFormsStorageObject(logicalKey, reduxData, config) {
735
+ var e_2, _g;
736
+ if (reduxData === void 0) { reduxData = {}; }
737
+ var _a, _b;
738
+ var resolvedConfig = config !== null && config !== void 0 ? config : DEFAULT_FORMS_STORAGE_CONFIG;
739
+ var keyCfg = keyConfigFor(resolvedConfig, logicalKey);
740
+ var source = sourceForKey(resolvedConfig, logicalKey);
741
+ if ((_a = keyCfg === null || keyCfg === void 0 ? void 0 : keyCfg.keys) === null || _a === void 0 ? void 0 : _a.length) {
742
+ try {
743
+ for (var _h = __values(keyCfg.keys), _j = _h.next(); !_j.done; _j = _h.next()) {
744
+ var key = _j.value;
745
+ var value = readStorageObject(source, reduxData, key);
746
+ if (value !== undefined && value !== null) {
747
+ return value;
748
+ }
749
+ }
750
+ }
751
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
752
+ finally {
753
+ try {
754
+ if (_j && !_j.done && (_g = _h.return)) _g.call(_h);
755
+ }
756
+ finally { if (e_2) throw e_2.error; }
757
+ }
758
+ return undefined;
759
+ }
760
+ var storageKey = (_b = keyCfg === null || keyCfg === void 0 ? void 0 : keyCfg.key) !== null && _b !== void 0 ? _b : logicalKey;
761
+ return readStorageObject(source, reduxData, storageKey);
762
+ }
763
+
547
764
  function convertFormListConfig(formsList) {
548
765
  var convertFormListConfigTypeForm = function (form) {
549
766
  if (kwikidToolkit.checkObjectKeyExists(form, "formContent")) {
@@ -1436,14 +1653,22 @@
1436
1653
  }
1437
1654
  return object;
1438
1655
  };
1439
- var getLanguage = function () {
1440
- var _a, _b, _c, _d, _e, _f;
1441
- return ((_f = (_e = (_d = (_c = (_b = (_a = localStorage.getItem("lng")) !== null && _a !== void 0 ? _a : localStorage.getItem("lang")) !== null && _b !== void 0 ? _b : localStorage.getItem("Lang")) !== null && _c !== void 0 ? _c : localStorage.getItem("language")) !== null && _d !== void 0 ? _d : localStorage.getItem("currentLang")) !== null && _e !== void 0 ? _e : localStorage.getItem("selectedLang")) !== null && _f !== void 0 ? _f : "en");
1656
+ var getLanguage = function (reduxData, userConfig) {
1657
+ if (reduxData === void 0) { reduxData = {}; }
1658
+ var _a, _b, _c;
1659
+ var config = resolveFormsStorageConfig(userConfig);
1660
+ return ((_c = (_a = resolveFormsStorageString("language", reduxData, config)) !== null && _a !== void 0 ? _a : (_b = config.language) === null || _b === void 0 ? void 0 : _b.fallback) !== null && _c !== void 0 ? _c : "en");
1442
1661
  };
1443
1662
 
1444
1663
  var Converter = /** @class */ (function () {
1445
- function Converter() {
1664
+ function Converter(context) {
1665
+ if (context === void 0) { context = {}; }
1666
+ this.context = context;
1446
1667
  }
1668
+ Converter.prototype.resolveLanguage = function () {
1669
+ var _a;
1670
+ return getLanguage((_a = this.context.reduxData) !== null && _a !== void 0 ? _a : {}, this.context.userConfig);
1671
+ };
1447
1672
  Converter.prototype.updateFormConfigMiscellaneous = function (formConfig, args) {
1448
1673
  if (kwikidToolkit.checkObjectKeyExists(args, "formsListLength")) {
1449
1674
  formConfig = kwikidToolkit.setValueToObjectPath(formConfig, "formsListLength", args.formsListLength);
@@ -1462,6 +1687,10 @@
1462
1687
  };
1463
1688
  Converter.prototype.updateFormConfigProperties = function (formConfig) {
1464
1689
  var _a, _b;
1690
+ formConfig =
1691
+ formConfig && typeof formConfig === "object"
1692
+ ? kwikidToolkit.getObjectDeepCopy(formConfig)
1693
+ : formConfig;
1465
1694
  var formViewProperties = {
1466
1695
  header: {
1467
1696
  logo: {
@@ -1509,7 +1738,7 @@
1509
1738
  else {
1510
1739
  formConfig.properties = formViewProperties;
1511
1740
  }
1512
- var language = getLanguage();
1741
+ var language = this.resolveLanguage();
1513
1742
  if (kwikidToolkit.checkObjectPathExists(formConfig, "properties.header.title.label")) {
1514
1743
  formConfig.properties.header.title.label = updateLanguage(formConfig.properties.header.title.label, language);
1515
1744
  }
@@ -2206,7 +2435,7 @@
2206
2435
  try {
2207
2436
  for (var fields_1 = __values(fields), fields_1_1 = fields_1.next(); !fields_1_1.done; fields_1_1 = fields_1.next()) {
2208
2437
  var field = fields_1_1.value;
2209
- field = updateFieldLanguage(field, getLanguage());
2438
+ field = updateFieldLanguage(field, this.resolveLanguage());
2210
2439
  field = formatOnFieldType(field);
2211
2440
  field = updateFieldDisability(field);
2212
2441
  field = updateFieldGroupKey(field);
@@ -3030,11 +3259,15 @@
3030
3259
  function KwikIDFormsBuilderComponent(loaderService) {
3031
3260
  this.loaderService = loaderService;
3032
3261
  this.userConfig = {};
3262
+ this.reduxData = {};
3033
3263
  this.formsList = [];
3034
3264
  this.activeFormConfig = undefined;
3035
3265
  }
3036
3266
  KwikIDFormsBuilderComponent.prototype.ngOnInit = function () {
3037
- var formStepKey = localStorage.getItem("formKey");
3267
+ var _a;
3268
+ this.reduxData = Object.assign({}, ((_a = this.reduxData) !== null && _a !== void 0 ? _a : {}));
3269
+ var storageConfig = resolveFormsStorageConfig(this.userConfig);
3270
+ var formStepKey = resolveFormsStorageString("formKey", this.reduxData, storageConfig);
3038
3271
  if (kwikidToolkit.isNotEmptyValue(formStepKey) &&
3039
3272
  kwikidToolkit.checkObjectKeyExists(this.userConfig.userFormFields, formStepKey)) {
3040
3273
  this.formsList = convertFormListConfig(this.userConfig.userFormFields[formStepKey]);
@@ -3049,14 +3282,14 @@
3049
3282
  KwikIDFormsBuilderComponent.prototype.fetchFormConfig = function (url) {
3050
3283
  return __awaiter(this, void 0, void 0, function () {
3051
3284
  var response, data;
3052
- return __generator(this, function (_e) {
3053
- switch (_e.label) {
3285
+ return __generator(this, function (_f) {
3286
+ switch (_f.label) {
3054
3287
  case 0: return [4 /*yield*/, fetch(url, { method: "GET" })];
3055
3288
  case 1:
3056
- response = _e.sent();
3289
+ response = _f.sent();
3057
3290
  return [4 /*yield*/, response.json()];
3058
3291
  case 2:
3059
- data = _e.sent();
3292
+ data = _f.sent();
3060
3293
  return [2 /*return*/, data];
3061
3294
  }
3062
3295
  });
@@ -3069,35 +3302,38 @@
3069
3302
  this.formsList = e.formsList;
3070
3303
  };
3071
3304
  KwikIDFormsBuilderComponent.prototype.handleOnClickSetActiveForm = function (selectedFormKey) {
3072
- var _a, _b, _c, _d;
3305
+ var _a, _b, _c, _d, _e;
3073
3306
  return __awaiter(this, void 0, void 0, function () {
3074
- var activeFormConfig, formConfig, formConfigFromUrl, url, formConfigFromPath, formConfigFromUrl, url, formConfigFromPath;
3075
- return __generator(this, function (_e) {
3076
- switch (_e.label) {
3307
+ var activeFormConfig, formConfig, storageConfig, cachedFormConfig, formConfigFromUrl, url, formConfigFromPath, formConfigFromUrl, url, formConfigFromPath;
3308
+ return __generator(this, function (_f) {
3309
+ switch (_f.label) {
3077
3310
  case 0:
3078
3311
  this.toggleLoader(true);
3079
3312
  activeFormConfig = this.formsList.find(function (form) {
3080
3313
  return form.key === selectedFormKey;
3081
3314
  });
3082
- if (!kwikidToolkit.getObjectFromLocalStorage(activeFormConfig.key)) return [3 /*break*/, 1];
3083
- formConfig = kwikidToolkit.getObjectFromLocalStorage(activeFormConfig.key);
3315
+ this.reduxData = Object.assign({}, ((_a = this.reduxData) !== null && _a !== void 0 ? _a : {}));
3316
+ storageConfig = resolveFormsStorageConfig(this.userConfig);
3317
+ cachedFormConfig = resolveFormsStorageObject(activeFormConfig.key, this.reduxData, storageConfig);
3318
+ if (!cachedFormConfig) return [3 /*break*/, 1];
3319
+ formConfig = cachedFormConfig;
3084
3320
  return [3 /*break*/, 14];
3085
3321
  case 1:
3086
3322
  if (!kwikidToolkit.checkObjectKeyExists(activeFormConfig, "props")) return [3 /*break*/, 7];
3087
3323
  if (!kwikidToolkit.checkObjectKeyExists(activeFormConfig.props, "url")) return [3 /*break*/, 3];
3088
3324
  return [4 /*yield*/, this.fetchFormConfig(activeFormConfig.props.url)];
3089
3325
  case 2:
3090
- formConfigFromUrl = _e.sent();
3326
+ formConfigFromUrl = _f.sent();
3091
3327
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromUrl);
3092
3328
  return [3 /*break*/, 6];
3093
3329
  case 3:
3094
3330
  if (!(kwikidToolkit.checkObjectKeyExists(activeFormConfig.props, "path") &&
3095
3331
  kwikidToolkit.checkObjectKeyExists(this.userConfig, "backend") &&
3096
3332
  kwikidToolkit.checkObjectKeyExists(this.userConfig.backend, "CONFIG_BASE_URL"))) return [3 /*break*/, 5];
3097
- url = "" + ((_b = (_a = this.userConfig) === null || _a === void 0 ? void 0 : _a.backend) === null || _b === void 0 ? void 0 : _b.CONFIG_BASE_URL) + activeFormConfig.props.path;
3333
+ url = "" + ((_c = (_b = this.userConfig) === null || _b === void 0 ? void 0 : _b.backend) === null || _c === void 0 ? void 0 : _c.CONFIG_BASE_URL) + activeFormConfig.props.path;
3098
3334
  return [4 /*yield*/, this.fetchFormConfig(url)];
3099
3335
  case 4:
3100
- formConfigFromPath = _e.sent();
3336
+ formConfigFromPath = _f.sent();
3101
3337
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromPath);
3102
3338
  return [3 /*break*/, 6];
3103
3339
  case 5:
@@ -3107,24 +3343,24 @@
3107
3343
  else {
3108
3344
  console.error("No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!");
3109
3345
  }
3110
- _e.label = 6;
3346
+ _f.label = 6;
3111
3347
  case 6: return [3 /*break*/, 14];
3112
3348
  case 7:
3113
3349
  if (!kwikidToolkit.checkObjectKeyExists(activeFormConfig, "formContent")) return [3 /*break*/, 13];
3114
3350
  if (!kwikidToolkit.checkObjectKeyExists(activeFormConfig.formContent, "url")) return [3 /*break*/, 9];
3115
3351
  return [4 /*yield*/, this.fetchFormConfig(activeFormConfig.formContent.url)];
3116
3352
  case 8:
3117
- formConfigFromUrl = _e.sent();
3353
+ formConfigFromUrl = _f.sent();
3118
3354
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromUrl);
3119
3355
  return [3 /*break*/, 12];
3120
3356
  case 9:
3121
3357
  if (!(kwikidToolkit.checkObjectKeyExists(activeFormConfig.formContent, "path") &&
3122
3358
  kwikidToolkit.checkObjectKeyExists(this.userConfig, "backend") &&
3123
3359
  kwikidToolkit.checkObjectKeyExists(this.userConfig.backend, "CONFIG_BASE_URL"))) return [3 /*break*/, 11];
3124
- url = "" + ((_d = (_c = this.userConfig) === null || _c === void 0 ? void 0 : _c.backend) === null || _d === void 0 ? void 0 : _d.CONFIG_BASE_URL) + activeFormConfig.props.path;
3360
+ url = "" + ((_e = (_d = this.userConfig) === null || _d === void 0 ? void 0 : _d.backend) === null || _e === void 0 ? void 0 : _e.CONFIG_BASE_URL) + activeFormConfig.props.path;
3125
3361
  return [4 /*yield*/, this.fetchFormConfig(url)];
3126
3362
  case 10:
3127
- formConfigFromPath = _e.sent();
3363
+ formConfigFromPath = _f.sent();
3128
3364
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromPath);
3129
3365
  return [3 /*break*/, 12];
3130
3366
  case 11:
@@ -3134,7 +3370,7 @@
3134
3370
  else {
3135
3371
  console.error("No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!");
3136
3372
  }
3137
- _e.label = 12;
3373
+ _f.label = 12;
3138
3374
  case 12: return [3 /*break*/, 14];
3139
3375
  case 13:
3140
3376
  if (kwikidToolkit.checkObjectKeyExists(activeFormConfig, "fields")) {
@@ -3143,7 +3379,7 @@
3143
3379
  else {
3144
3380
  console.error("No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!");
3145
3381
  }
3146
- _e.label = 14;
3382
+ _f.label = 14;
3147
3383
  case 14:
3148
3384
  this.activeFormConfig = Object.assign(Object.assign({}, activeFormConfig), formConfig);
3149
3385
  this.toggleLoader(false);
@@ -3178,7 +3414,7 @@
3178
3414
  return KwikIDFormsBuilderComponent;
3179
3415
  }());
3180
3416
  /** @nocollapse */ KwikIDFormsBuilderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDFormsBuilderComponent, deps: [{ token: i3__namespace.KwikUILoaderService }], target: i0__namespace.ɵɵFactoryTarget.Component });
3181
- /** @nocollapse */ KwikIDFormsBuilderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormsBuilderComponent, selector: "kwikid-forms-builder", inputs: { userConfig: "userConfig" }, ngImport: i0__namespace, template: "<div class=\"container\">\n <kwikid-builder-forms-list\n [activeFormConfig]=\"this.activeFormConfig\"\n [formsList]=\"this.formsList\"\n (getFormsList)=\"this.handleGetFormsList($event)\"\n (onClickSetActiveForm)=\"this.handleOnClickSetActiveForm($event)\"\n ></kwikid-builder-forms-list>\n <kwikid-builder-form-editor\n [activeFormConfig]=\"activeFormConfig\"\n (onClickSaveActiveFormConfig)=\"\n this.handleOnClickSaveActiveFormConfig($event)\n \"\n ></kwikid-builder-form-editor>\n</div>\n\n<kwikui-loader></kwikui-loader>\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}input[type=text],input[type=number]{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;appearance:auto!important}input[type=checkbox]{appearance:auto!important;width:1rem;height:1rem}select{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}textarea{overflow-wrap:anywhere;resize:none;unicode-bidi:embed;white-space:pre-wrap}button{display:inline-block;padding:8px 12px;background-color:#007bff;color:#fff;text-decoration:none;border-radius:4px;border:none;cursor:pointer}button:hover{background-color:#0069d9}button:active{background-color:#0056b3}button:focus{outline:none}button.secondary{padding:7px 11px;border:1px solid #007bff;background-color:#fff;color:#007bff}button.secondary:hover{background-color:#b7daff}button.secondary:active{background-color:#b7daff}button.secondary:focus{outline:none}.field-container{display:flex}.field-container label{color:gray}.field-container.checkbox{flex-direction:row;align-items:center;justify-content:center;padding:8px 12px;margin:auto}.field-container.options,.field-container.number,.field-container.text{flex-direction:column}.disclaimer{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:center;color:#121212;width:100%;height:100%}.disclaimer>*:not(:last-child){margin-bottom:1.5rem}.disclaimer .icon{width:3rem;height:3rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}.disclaimer.no-form-selected h1{transform:scaleX(-1)}.disclaimer h1{font-size:5rem;font-weight:100}.disclaimer p{font-size:1rem}\n", ":host{all:unset;position:relative;width:100%;height:100%}.container{width:100%;height:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:stretch;padding:1rem}.container>*:not(:last-child){margin-right:1rem}\n"], components: [{ type: KwikIDBuilderFormsListComponent, selector: "kwikid-builder-forms-list", inputs: ["activeFormConfig", "formsList"], outputs: ["onClickSetActiveForm", "getFormsList"] }, { type: KwikIDBuilderFormEditorComponent, selector: "kwikid-builder-form-editor", inputs: ["activeFormConfig"], outputs: ["onClickSaveActiveFormConfig"] }, { type: i3__namespace.KwikUILoaderComponent, selector: "kwikui-loader" }] });
3417
+ /** @nocollapse */ KwikIDFormsBuilderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormsBuilderComponent, selector: "kwikid-forms-builder", inputs: { userConfig: "userConfig", reduxData: "reduxData" }, ngImport: i0__namespace, template: "<div class=\"container\">\n <kwikid-builder-forms-list\n [activeFormConfig]=\"this.activeFormConfig\"\n [formsList]=\"this.formsList\"\n (getFormsList)=\"this.handleGetFormsList($event)\"\n (onClickSetActiveForm)=\"this.handleOnClickSetActiveForm($event)\"\n ></kwikid-builder-forms-list>\n <kwikid-builder-form-editor\n [activeFormConfig]=\"activeFormConfig\"\n (onClickSaveActiveFormConfig)=\"\n this.handleOnClickSaveActiveFormConfig($event)\n \"\n ></kwikid-builder-form-editor>\n</div>\n\n<kwikui-loader></kwikui-loader>\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}input[type=text],input[type=number]{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;appearance:auto!important}input[type=checkbox]{appearance:auto!important;width:1rem;height:1rem}select{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}textarea{overflow-wrap:anywhere;resize:none;unicode-bidi:embed;white-space:pre-wrap}button{display:inline-block;padding:8px 12px;background-color:#007bff;color:#fff;text-decoration:none;border-radius:4px;border:none;cursor:pointer}button:hover{background-color:#0069d9}button:active{background-color:#0056b3}button:focus{outline:none}button.secondary{padding:7px 11px;border:1px solid #007bff;background-color:#fff;color:#007bff}button.secondary:hover{background-color:#b7daff}button.secondary:active{background-color:#b7daff}button.secondary:focus{outline:none}.field-container{display:flex}.field-container label{color:gray}.field-container.checkbox{flex-direction:row;align-items:center;justify-content:center;padding:8px 12px;margin:auto}.field-container.options,.field-container.number,.field-container.text{flex-direction:column}.disclaimer{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:center;color:#121212;width:100%;height:100%}.disclaimer>*:not(:last-child){margin-bottom:1.5rem}.disclaimer .icon{width:3rem;height:3rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}.disclaimer.no-form-selected h1{transform:scaleX(-1)}.disclaimer h1{font-size:5rem;font-weight:100}.disclaimer p{font-size:1rem}\n", ":host{all:unset;position:relative;width:100%;height:100%}.container{width:100%;height:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:stretch;padding:1rem}.container>*:not(:last-child){margin-right:1rem}\n"], components: [{ type: KwikIDBuilderFormsListComponent, selector: "kwikid-builder-forms-list", inputs: ["activeFormConfig", "formsList"], outputs: ["onClickSetActiveForm", "getFormsList"] }, { type: KwikIDBuilderFormEditorComponent, selector: "kwikid-builder-form-editor", inputs: ["activeFormConfig"], outputs: ["onClickSaveActiveFormConfig"] }, { type: i3__namespace.KwikUILoaderComponent, selector: "kwikui-loader" }] });
3182
3418
  __decorate([
3183
3419
  kwikidToolkit.logMethod
3184
3420
  ], KwikIDFormsBuilderComponent.prototype, "fetchFormConfig", null);
@@ -3203,6 +3439,8 @@
3203
3439
  }]
3204
3440
  }], ctorParameters: function () { return [{ type: i3__namespace.KwikUILoaderService }]; }, propDecorators: { userConfig: [{
3205
3441
  type: i0.Input
3442
+ }], reduxData: [{
3443
+ type: i0.Input
3206
3444
  }], fetchFormConfig: [], handleGetFormsList: [], handleOnClickSetActiveForm: [], handleOnClickSaveActiveFormConfig: [], toggleLoader: [] } });
3207
3445
 
3208
3446
  /* eslint-disable no-unused-vars */
@@ -3365,7 +3603,18 @@
3365
3603
  var KwikIDFormViewApiService = /** @class */ (function () {
3366
3604
  function KwikIDFormViewApiService() {
3367
3605
  this.bytecode = [0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38];
3606
+ this.reduxData = {};
3607
+ this.userConfig = undefined;
3368
3608
  }
3609
+ KwikIDFormViewApiService.prototype.setStorageContext = function (reduxData, userConfig) {
3610
+ if (reduxData === void 0) { reduxData = {}; }
3611
+ this.reduxData = reduxData !== null && reduxData !== void 0 ? reduxData : {};
3612
+ this.userConfig = userConfig;
3613
+ };
3614
+ /** Fresh config from host utilityFlags / formsStorage on every resolve. */
3615
+ KwikIDFormViewApiService.prototype.getStorageConfig = function () {
3616
+ return resolveFormsStorageConfig(this.userConfig);
3617
+ };
3369
3618
  // Function to derive logic from data
3370
3619
  KwikIDFormViewApiService.prototype.dataDerivativeLogic = function (data) {
3371
3620
  var e_1, _c;
@@ -3409,8 +3658,7 @@
3409
3658
  if (isVerifySignature) {
3410
3659
  headerData.headers.xrid = uuid.v4();
3411
3660
  }
3412
- // Retrieve session ID from local storage and add it to headers
3413
- var sessionId = localStorage.getItem("session_id");
3661
+ var sessionId = resolveFormsStorageString("session_id", this.reduxData, this.getStorageConfig());
3414
3662
  if (sessionId) {
3415
3663
  headerData.headers.ses = sessionId;
3416
3664
  }
@@ -5043,6 +5291,7 @@
5043
5291
  this.renderer = renderer;
5044
5292
  this.isMobileView = false;
5045
5293
  this.popupFormCallback = undefined;
5294
+ this.reduxData = {};
5046
5295
  this.getLogs = new i0.EventEmitter();
5047
5296
  this.getUnsavedDataState = new i0.EventEmitter();
5048
5297
  this.onActionShowPopupForm = new i0.EventEmitter();
@@ -5125,6 +5374,9 @@
5125
5374
  };
5126
5375
  KwikIDFormViewComponent.prototype.ngOnInit = function () {
5127
5376
  var _this = this;
5377
+ var _a;
5378
+ this.reduxData = (_a = this.reduxData) !== null && _a !== void 0 ? _a : {};
5379
+ this.syncApiStorageContext();
5128
5380
  (function () { return __awaiter(_this, void 0, void 0, function () {
5129
5381
  var res;
5130
5382
  var _this = this;
@@ -5156,19 +5408,24 @@
5156
5408
  KwikIDFormViewComponent.prototype.ngOnChanges = function (changes) {
5157
5409
  var _13, _14, _15, _16;
5158
5410
  var _this = this;
5159
- var _a, _b, _c, _d;
5411
+ var _a, _b, _c, _d, _e;
5160
5412
  var verifyChange = function (key) {
5161
5413
  return kwikidToolkit.checkObjectKeyExists(changes, key) && !changes[key].firstChange;
5162
5414
  };
5163
5415
  if (verifyChange("extraData")) {
5164
5416
  this.extraData = changes.extraData.currentValue;
5165
5417
  }
5166
- if (verifyChange("userConfig")) {
5418
+ if (kwikidToolkit.checkObjectKeyExists(changes, "userConfig")) {
5167
5419
  this.userConfig = changes.userConfig.currentValue;
5420
+ this.syncApiStorageContext();
5168
5421
  }
5169
5422
  if (verifyChange("stepConfig")) {
5170
5423
  this.stepConfig = changes.stepConfig.currentValue;
5171
5424
  }
5425
+ if (kwikidToolkit.checkObjectKeyExists(changes, "reduxData")) {
5426
+ this.reduxData = (_a = changes.reduxData.currentValue) !== null && _a !== void 0 ? _a : {};
5427
+ this.syncApiStorageContext();
5428
+ }
5172
5429
  if (verifyChange("formData")) {
5173
5430
  if (kwikidToolkit.checkObjectKeyExists(changes.formData.currentValue, "data") &&
5174
5431
  kwikidToolkit.checkObjectKeyExists(changes.formData.currentValue, "extendedData")) {
@@ -5205,7 +5462,7 @@
5205
5462
  if (verifyChange("apiCallResponse")) {
5206
5463
  this.apiCallResponse = changes.apiCallResponse.currentValue;
5207
5464
  var field_1 = getFormFieldByKey(this.formFields, this.apiCallResponse.key);
5208
- var response = (_a = this.apiCallResponse) === null || _a === void 0 ? void 0 : _a.response;
5465
+ var response = (_b = this.apiCallResponse) === null || _b === void 0 ? void 0 : _b.response;
5209
5466
  switch (field_1.type) {
5210
5467
  case EFieldType.FILE:
5211
5468
  if (response) {
@@ -5219,7 +5476,7 @@
5219
5476
  this.updateFiles(updatedFile, "NORMAL", this.apiCallResponse.key);
5220
5477
  }
5221
5478
  else {
5222
- var updatedFile = kwikidToolkit.getObjectDeepCopy(Object.assign({ id: uuid.v4() }, (_c = (_b = this.apiCallResponse) === null || _b === void 0 ? void 0 : _b.payload) === null || _c === void 0 ? void 0 : _c.metadata));
5479
+ var updatedFile = kwikidToolkit.getObjectDeepCopy(Object.assign({ id: uuid.v4() }, (_d = (_c = this.apiCallResponse) === null || _c === void 0 ? void 0 : _c.payload) === null || _d === void 0 ? void 0 : _d.metadata));
5223
5480
  this.triggerLogs(ELogEventType$1.FORM__API_RESPONSE_UPLOAD_FILE, {
5224
5481
  api_key: this.apiCallResponse.key,
5225
5482
  field_key: this.apiCallResponse.key,
@@ -5266,6 +5523,7 @@
5266
5523
  FIELD_CONFIG: field_1,
5267
5524
  FORM_FIELDS: this.formFields,
5268
5525
  FORM_DATA: this.formData,
5526
+ REDUX_DATA: this.reduxData,
5269
5527
  CAMERA_DATA: this.cameraData,
5270
5528
  TASK_DATA: this.taskData,
5271
5529
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5335,6 +5593,7 @@
5335
5593
  FIELD_CONFIG: field_1,
5336
5594
  FORM_FIELDS: this.formFields,
5337
5595
  FORM_DATA: this.formData,
5596
+ REDUX_DATA: this.reduxData,
5338
5597
  CAMERA_DATA: this.cameraData,
5339
5598
  TASK_DATA: this.taskData,
5340
5599
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5399,6 +5658,7 @@
5399
5658
  API_RESPONSE: response,
5400
5659
  FORM_FIELDS: this.formFields,
5401
5660
  FORM_DATA: this.formData,
5661
+ REDUX_DATA: this.reduxData,
5402
5662
  CAMERA_DATA: this.cameraData,
5403
5663
  TASK_DATA: this.taskData,
5404
5664
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5424,6 +5684,7 @@
5424
5684
  FIELD_CONFIG: field_1,
5425
5685
  FORM_FIELDS: this.formFields,
5426
5686
  FORM_DATA: this.formData,
5687
+ REDUX_DATA: this.reduxData,
5427
5688
  CAMERA_DATA: this.cameraData,
5428
5689
  TASK_DATA: this.taskData,
5429
5690
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5468,6 +5729,7 @@
5468
5729
  API_RESPONSE: {},
5469
5730
  FORM_FIELDS: this.formFields,
5470
5731
  FORM_DATA: this.formData,
5732
+ REDUX_DATA: this.reduxData,
5471
5733
  CAMERA_DATA: this.cameraData,
5472
5734
  TASK_DATA: this.taskData,
5473
5735
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5497,7 +5759,7 @@
5497
5759
  if (verifyChange("buttonClickResponse")) {
5498
5760
  this.buttonClickResponse = changes.buttonClickResponse.currentValue;
5499
5761
  if (kwikidToolkit.checkObjectKeyExists(this.buttonClickResponse, "key")) {
5500
- var field_2 = getFormFieldByKey(this.formFields, (_d = this.buttonClickResponse) === null || _d === void 0 ? void 0 : _d.key);
5762
+ var field_2 = getFormFieldByKey(this.formFields, (_e = this.buttonClickResponse) === null || _e === void 0 ? void 0 : _e.key);
5501
5763
  if (kwikidToolkit.checkObjectKeyExists(this.buttonClickResponse, "default")) {
5502
5764
  field_2.default = kwikidToolkit.getObjectDeepCopy(this.buttonClickResponse.default);
5503
5765
  delete this.buttonClickResponse.default;
@@ -5518,6 +5780,7 @@
5518
5780
  FIELD_CONFIG: field_2,
5519
5781
  FORM_FIELDS: this.formFields,
5520
5782
  FORM_DATA: this.formData,
5783
+ REDUX_DATA: this.reduxData,
5521
5784
  CAMERA_DATA: this.cameraData,
5522
5785
  TASK_DATA: this.taskData,
5523
5786
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5566,16 +5829,28 @@
5566
5829
  KwikIDFormViewComponent.prototype.triggerLogs = function (eventType, logs) {
5567
5830
  this.getLogs.emit(formatEventLogs$2(eventType, this.stepConfig, this.formConfig, kwikidToolkit.getObjectDeepCopy(logs)));
5568
5831
  };
5832
+ KwikIDFormViewComponent.prototype.syncApiStorageContext = function () {
5833
+ var _a;
5834
+ this.formViewApiService.setStorageContext((_a = this.reduxData) !== null && _a !== void 0 ? _a : {}, this.userConfig);
5835
+ };
5836
+ KwikIDFormViewComponent.prototype.createConverter = function () {
5837
+ var _a;
5838
+ return new Converter({
5839
+ reduxData: (_a = this.reduxData) !== null && _a !== void 0 ? _a : {},
5840
+ userConfig: this.userConfig
5841
+ });
5842
+ };
5569
5843
  KwikIDFormViewComponent.prototype.initFormConfig = function (formConfig) {
5570
5844
  return __awaiter(this, void 0, void 0, function () {
5571
- var _13, _14, preTask, task, e_1_1, _15, _loop_1, this_1, _16, _17, field, _18, _19, field, ruleEngine, e_2_1;
5845
+ var converter, _13, _14, preTask, task, e_1_1, _15, _loop_1, this_1, _16, _17, field, _18, _19, field, ruleEngine, e_2_1;
5572
5846
  var e_1, _20, e_3, _21, e_2, _22;
5573
5847
  var _this = this;
5574
5848
  return __generator(this, function (_23) {
5575
5849
  switch (_23.label) {
5576
5850
  case 0:
5577
- formConfig = new Converter().convertFormConfig(formConfig);
5578
- formConfig = new Converter().updateFormConfigProperties(formConfig);
5851
+ converter = this.createConverter();
5852
+ formConfig = converter.convertFormConfig(formConfig);
5853
+ formConfig = converter.updateFormConfigProperties(formConfig);
5579
5854
  this.setFormFieldsFromFormConfig(formConfig);
5580
5855
  this.setFormFieldGroupsFromFormConfig(formConfig);
5581
5856
  this.setFormDataFromAllFormsData();
@@ -5598,6 +5873,7 @@
5598
5873
  FORM_CONFIG: this.formConfig,
5599
5874
  FORM_FIELDS: this.formFields,
5600
5875
  FORM_DATA: this.formData,
5876
+ REDUX_DATA: this.reduxData,
5601
5877
  CAMERA_DATA: this.cameraData,
5602
5878
  TASK_DATA: this.taskData,
5603
5879
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5655,6 +5931,7 @@
5655
5931
  return [4 /*yield*/, this.formViewService.createFormGroup(this.formFields, {
5656
5932
  FORM_CONFIG: this.formConfig,
5657
5933
  FORM_DATA: this.formData,
5934
+ REDUX_DATA: this.reduxData,
5658
5935
  CAMERA_DATA: this.cameraData,
5659
5936
  TASK_DATA: this.taskData,
5660
5937
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5741,6 +6018,7 @@
5741
6018
  FIELD_CONFIG: field,
5742
6019
  FORM_FIELDS: this.formFields,
5743
6020
  FORM_DATA: this.formData,
6021
+ REDUX_DATA: this.reduxData,
5744
6022
  CAMERA_DATA: this.cameraData,
5745
6023
  TASK_DATA: this.taskData,
5746
6024
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5816,6 +6094,7 @@
5816
6094
  rulesMapping = new kwikidToolkit.Rule(childFieldGroupConfig.rules, {
5817
6095
  FIELD_CONFIG: parentField,
5818
6096
  FORM_DATA: this.formData,
6097
+ REDUX_DATA: this.reduxData,
5819
6098
  CAMERA_DATA: this.cameraData,
5820
6099
  TASK_DATA: this.taskData,
5821
6100
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5836,6 +6115,7 @@
5836
6115
  FIELD_CONFIG: parentField,
5837
6116
  FORM_FIELDS: this.formFields,
5838
6117
  FORM_DATA: this.formData,
6118
+ REDUX_DATA: this.reduxData,
5839
6119
  CAMERA_DATA: this.cameraData,
5840
6120
  TASK_DATA: this.taskData,
5841
6121
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5892,6 +6172,7 @@
5892
6172
  rulesMapping = new kwikidToolkit.Rule(connectedFieldConfig.rules, {
5893
6173
  FIELD_CONFIG: connectedField,
5894
6174
  FORM_DATA: this.formData,
6175
+ REDUX_DATA: this.reduxData,
5895
6176
  CAMERA_DATA: this.cameraData,
5896
6177
  TASK_DATA: this.taskData,
5897
6178
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5912,6 +6193,7 @@
5912
6193
  FORM_FIELDS: this.formFields,
5913
6194
  FIELD_CONFIG: connectedField,
5914
6195
  FORM_DATA: this.formData,
6196
+ REDUX_DATA: this.reduxData,
5915
6197
  CAMERA_DATA: this.cameraData,
5916
6198
  TASK_DATA: this.taskData,
5917
6199
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -6191,6 +6473,7 @@
6191
6473
  FIELD_CONFIG: field_3,
6192
6474
  FORM_FIELDS: this.formFields,
6193
6475
  FORM_DATA: this.formData,
6476
+ REDUX_DATA: this.reduxData,
6194
6477
  CAMERA_DATA: this.cameraData,
6195
6478
  TASK_DATA: this.taskData,
6196
6479
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -6258,6 +6541,7 @@
6258
6541
  FORM_FIELDS: this.formFields,
6259
6542
  FIELD_CONFIG: field,
6260
6543
  FORM_DATA: this.formData,
6544
+ REDUX_DATA: this.reduxData,
6261
6545
  CAMERA_DATA: this.cameraData,
6262
6546
  TASK_DATA: this.taskData,
6263
6547
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -6348,6 +6632,7 @@
6348
6632
  FIELD_CONFIG: field,
6349
6633
  FORM_FIELDS: this.formFields,
6350
6634
  FORM_DATA: this.formData,
6635
+ REDUX_DATA: this.reduxData,
6351
6636
  CAMERA_DATA: this.cameraData,
6352
6637
  TASK_DATA: this.taskData,
6353
6638
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -6548,6 +6833,7 @@
6548
6833
  FIELD_CONFIG: field,
6549
6834
  FORM_FIELDS: this.formFields,
6550
6835
  FORM_DATA: this.formData,
6836
+ REDUX_DATA: this.reduxData,
6551
6837
  CAMERA_DATA: this.cameraData,
6552
6838
  TASK_DATA: this.taskData,
6553
6839
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -6650,6 +6936,7 @@
6650
6936
  FIELD_CONFIG: field,
6651
6937
  FORM_FIELDS: this.formFields,
6652
6938
  FORM_DATA: this.formData,
6939
+ REDUX_DATA: this.reduxData,
6653
6940
  CAMERA_DATA: this.cameraData,
6654
6941
  TASK_DATA: this.taskData,
6655
6942
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -6701,6 +6988,7 @@
6701
6988
  FIELD_CONFIG: field,
6702
6989
  FORM_FIELDS: this.formFields,
6703
6990
  FORM_DATA: this.formData,
6991
+ REDUX_DATA: this.reduxData,
6704
6992
  CAMERA_DATA: this.cameraData,
6705
6993
  TASK_DATA: this.taskData,
6706
6994
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -6923,6 +7211,7 @@
6923
7211
  FIELD_CONFIG: field,
6924
7212
  FORM_FIELDS: this.formFields,
6925
7213
  FORM_DATA: this.formData,
7214
+ REDUX_DATA: this.reduxData,
6926
7215
  CAMERA_DATA: this.cameraData,
6927
7216
  TASK_DATA: this.taskData,
6928
7217
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -6971,6 +7260,7 @@
6971
7260
  FIELD_CONFIG: field,
6972
7261
  FORM_FIELDS: this.formFields,
6973
7262
  FORM_DATA: this.formData,
7263
+ REDUX_DATA: this.reduxData,
6974
7264
  CAMERA_DATA: this.cameraData,
6975
7265
  TASK_DATA: this.taskData,
6976
7266
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -7033,6 +7323,7 @@
7033
7323
  FIELD_CONFIG: resetField,
7034
7324
  FORM_FIELDS: this.formFields,
7035
7325
  FORM_DATA: this.formData,
7326
+ REDUX_DATA: this.reduxData,
7036
7327
  CAMERA_DATA: this.cameraData,
7037
7328
  TASK_DATA: this.taskData,
7038
7329
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -7102,6 +7393,7 @@
7102
7393
  FIELD_CONFIG: resetField,
7103
7394
  FORM_FIELDS: this.formFields,
7104
7395
  FORM_DATA: this.formData,
7396
+ REDUX_DATA: this.reduxData,
7105
7397
  CAMERA_DATA: this.cameraData,
7106
7398
  TASK_DATA: this.taskData,
7107
7399
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -7183,6 +7475,7 @@
7183
7475
  API_CONFIG: api,
7184
7476
  FORM_FIELDS: this.formFields,
7185
7477
  FORM_DATA: this.formData,
7478
+ REDUX_DATA: this.reduxData,
7186
7479
  CAMERA_DATA: this.cameraData,
7187
7480
  TASK_DATA: this.taskData,
7188
7481
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -7204,6 +7497,7 @@
7204
7497
  API_RESPONSE: api.response,
7205
7498
  FORM_FIELDS: this.formFields,
7206
7499
  FORM_DATA: this.formData,
7500
+ REDUX_DATA: this.reduxData,
7207
7501
  CAMERA_DATA: this.cameraData,
7208
7502
  TASK_DATA: this.taskData,
7209
7503
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -7235,6 +7529,7 @@
7235
7529
  API_CONFIG: api,
7236
7530
  FORM_FIELDS: this.formFields,
7237
7531
  FORM_DATA: this.formData,
7532
+ REDUX_DATA: this.reduxData,
7238
7533
  CAMERA_DATA: this.cameraData,
7239
7534
  TASK_DATA: this.taskData,
7240
7535
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -7248,6 +7543,7 @@
7248
7543
  API_CONFIG: api,
7249
7544
  FORM_FIELDS: this.formFields,
7250
7545
  FORM_DATA: this.formData,
7546
+ REDUX_DATA: this.reduxData,
7251
7547
  CAMERA_DATA: this.cameraData,
7252
7548
  TASK_DATA: this.taskData,
7253
7549
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -7430,6 +7726,7 @@
7430
7726
  API_CONFIG: {},
7431
7727
  FORM_FIELDS: this.formFields,
7432
7728
  FORM_DATA: this.formData,
7729
+ REDUX_DATA: this.reduxData,
7433
7730
  CAMERA_DATA: this.cameraData,
7434
7731
  TASK_DATA: this.taskData,
7435
7732
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -7550,6 +7847,7 @@
7550
7847
  FIELD_CONFIG: field,
7551
7848
  FORM_FIELDS: this.formFields,
7552
7849
  FORM_DATA: this.formData,
7850
+ REDUX_DATA: this.reduxData,
7553
7851
  CAMERA_DATA: this.cameraData,
7554
7852
  TASK_DATA: this.taskData,
7555
7853
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -7640,6 +7938,7 @@
7640
7938
  FORM_CONFIG: this.formConfig,
7641
7939
  FORM_FIELDS: this.formFields,
7642
7940
  FORM_DATA: this.formData,
7941
+ REDUX_DATA: this.reduxData,
7643
7942
  CAMERA_DATA: this.cameraData,
7644
7943
  TASK_DATA: this.taskData,
7645
7944
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -8087,6 +8386,7 @@
8087
8386
  FIELD_CONFIG: field,
8088
8387
  FORM_FIELDS: this.formFields,
8089
8388
  FORM_DATA: this.formData,
8389
+ REDUX_DATA: this.reduxData,
8090
8390
  CAMERA_DATA: this.cameraData,
8091
8391
  TASK_DATA: this.taskData,
8092
8392
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -8498,6 +8798,7 @@
8498
8798
  API_CONFIG: multipleApiConfig,
8499
8799
  FORM_FIELDS: this.formFields,
8500
8800
  FORM_DATA: this.formData,
8801
+ REDUX_DATA: this.reduxData,
8501
8802
  CAMERA_DATA: this.cameraData,
8502
8803
  TASK_DATA: this.taskData,
8503
8804
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -8782,7 +9083,7 @@
8782
9083
  });
8783
9084
  };
8784
9085
  KwikIDFormViewComponent.prototype.takeAction = function (action, object) {
8785
- var _a, _b, _c, _d, _e, _f;
9086
+ var _a, _b, _c, _d, _e, _f, _g, _h;
8786
9087
  return __awaiter(this, void 0, void 0, function () {
8787
9088
  var _13, fieldErrorShowSource, fieldErrorShowSourceValue, fieldErrorHideSource, fieldErrorHideSourceValue, redirectToUrlSource, redirectToUrlSourceValue, previewErrorShowSource, previewErrorShowSourceValue, fieldHtmlMessageSource, fieldHtmlMessageSourceValue;
8788
9089
  return __generator(this, function (_14) {
@@ -8874,7 +9175,7 @@
8874
9175
  action = kwikidToolkit.setValueToObjectPath(action, "props.message.message", fieldErrorShowSourceValue);
8875
9176
  _14.label = 10;
8876
9177
  case 10:
8877
- action.props.message.message = updateLanguage(action.props.message.message, getLanguage());
9178
+ action.props.message.message = updateLanguage(action.props.message.message, getLanguage((_a = this.reduxData) !== null && _a !== void 0 ? _a : {}, this.userConfig));
8878
9179
  this.fieldErrorShow(action.props.fieldKey, action.props.message);
8879
9180
  return [3 /*break*/, 75];
8880
9181
  case 11:
@@ -9012,7 +9313,7 @@
9012
9313
  this.showErrorPreview(action.props);
9013
9314
  return [3 /*break*/, 75];
9014
9315
  case 60:
9015
- this.showPopupForm(action.props.popupFormKey, (_b = (_a = action.props) === null || _a === void 0 ? void 0 : _a.popupType) !== null && _b !== void 0 ? _b : "DIALOG");
9316
+ this.showPopupForm(action.props.popupFormKey, (_c = (_b = action.props) === null || _b === void 0 ? void 0 : _b.popupType) !== null && _c !== void 0 ? _c : "DIALOG");
9016
9317
  return [3 /*break*/, 75];
9017
9318
  case 61:
9018
9319
  this.waitingForChanges = false;
@@ -9034,10 +9335,10 @@
9034
9335
  return [3 /*break*/, 75];
9035
9336
  case 67:
9036
9337
  this.dialogShow({
9037
- html: (_c = action.props) === null || _c === void 0 ? void 0 : _c.html,
9038
- label: (_d = action.props) === null || _d === void 0 ? void 0 : _d.label,
9039
- size: (_e = action.props) === null || _e === void 0 ? void 0 : _e.size,
9040
- button: (_f = action.props) === null || _f === void 0 ? void 0 : _f.button
9338
+ html: (_d = action.props) === null || _d === void 0 ? void 0 : _d.html,
9339
+ label: (_e = action.props) === null || _e === void 0 ? void 0 : _e.label,
9340
+ size: (_f = action.props) === null || _f === void 0 ? void 0 : _f.size,
9341
+ button: (_g = action.props) === null || _g === void 0 ? void 0 : _g.button
9041
9342
  });
9042
9343
  return [3 /*break*/, 75];
9043
9344
  case 68:
@@ -9065,7 +9366,7 @@
9065
9366
  action = kwikidToolkit.setValueToObjectPath(action, "props.message.message", fieldHtmlMessageSourceValue);
9066
9367
  _14.label = 73;
9067
9368
  case 73:
9068
- action.props.message.message = updateLanguage(action.props.message.message, getLanguage());
9369
+ action.props.message.message = updateLanguage(action.props.message.message, getLanguage((_h = this.reduxData) !== null && _h !== void 0 ? _h : {}, this.userConfig));
9069
9370
  this.setHtml(action.props.fieldKey, action.props.message);
9070
9371
  return [3 /*break*/, 75];
9071
9372
  case 74: return [3 /*break*/, 75];
@@ -9077,7 +9378,7 @@
9077
9378
  return KwikIDFormViewComponent;
9078
9379
  }());
9079
9380
  /** @nocollapse */ KwikIDFormViewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDFormViewComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: KwikIDFormViewService }, { token: KwikIDFormViewApiService }, { token: i6.TuiPushService }, { token: i5.TuiAlertService }, { token: i7.TuiPreviewDialogService }, { token: i5.TuiDialogService }, { token: i3__namespace.KwikUILoaderService }, { token: i4__namespace.KwikIDCameraRecordService }, { token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.Renderer2 }], target: i0__namespace.ɵɵFactoryTarget.Component });
9080
- /** @nocollapse */ KwikIDFormViewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: { allFormsData: "allFormsData", extraData: "extraData", apiCallResponse: "apiCallResponse", buttonClickResponse: "buttonClickResponse", formConfig: "formConfig", formData: "formData", isMobileView: "isMobileView", popupFormCallback: "popupFormCallback", userConfig: "userConfig", stepConfig: "stepConfig" }, outputs: { getLogs: "getLogs", getUnsavedDataState: "getUnsavedDataState", onActionShowPopupForm: "onActionShowPopupForm", onClickApiCall: "onClickApiCall", onClickViewFile: "onClickViewFile", onClickFormFieldButton: "onClickFormFieldButton", onClickGoBack: "onClickGoBack", onClickSaveForm: "onClickSaveForm", onClickViewForms: "onClickViewForms" }, providers: [KwikIDFormViewService, KwikIDFormViewApiService], viewQueries: [{ propertyName: "formFieldContainerRef", first: true, predicate: ["formFieldContainerRef"], descendants: true }, { propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }, { propertyName: "preview", first: true, predicate: ["preview"], descendants: true }, { propertyName: "formFieldsRef", predicate: ["formFieldsRef"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div\n class=\"kwikid-form-container\"\n *ngIf=\"!loading\"\n>\n <div\n id=\"uf-form-fields-header-container\"\n *ngIf=\"\n !formConfig.properties?.header?.title?.hidden ||\n !formConfig.properties?.header?.logo?.hidden ||\n !formConfig.properties?.header?.steps?.hidden ||\n !formConfig.properties?.header?.backButton?.hidden\n \"\n >\n <img\n id=\"uf-header-logo\"\n *ngIf=\"!formConfig.properties?.header?.logo?.hidden && isMobileView\"\n [src]=\"formConfig.properties?.header?.logo?.src\"\n [alt]=\"formConfig.properties?.header?.logo?.alt\"\n [style]=\"\n formConfig.properties?.header?.logo?.styles ?? '' | styleSanitizer\n \"\n />\n <div id=\"uf-form-fields-header-main\">\n <div id=\"uf-form-fields-header-left\">\n <kwikui-button\n *ngIf=\"\n !formConfig.properties?.header.backButton.hidden && isMobileView\n \"\n [disabled]=\"backButton.disabled\"\n [showLoader]=\"backButton.showLoader\"\n appearance=\"mono\"\n icon=\"tuiIconArrowLeft\"\n shape=\"rounded\"\n (onClick)=\"\n handleOnClickGoBack(\n $event,\n formConfig.properties?.header.backButton.mode\n )\n \"\n ></kwikui-button>\n </div>\n <div id=\"uf-form-fields-header-right\">\n <div\n id=\"uf-form-fields-title\"\n *ngIf=\"!formConfig.properties?.header.title.hidden\"\n >{{ formConfig.properties?.header.title.label }}</div\n >\n <div\n id=\"uf-form-fields-steps\"\n *ngIf=\"!formConfig.properties?.header.steps.hidden\"\n >\n Step {{ formConfig.sequenceNo }} of {{ formConfig.formsListLength }}\n </div>\n </div>\n </div>\n <hr\n *ngIf=\"\n !formConfig.properties?.header.title.hidden ||\n !formConfig.properties?.header.steps.hidden ||\n !formConfig.properties?.header.backButton.hidden\n \"\n />\n </div>\n <form\n #formFieldContainerRef\n class=\"kwikid-form show\"\n [style]=\"formConfig.properties?.main?.styles ?? '' | styleSanitizer\"\n [formGroup]=\"formGroup\"\n >\n <ng-container\n *ngFor=\"\n let field of formFields;\n let i = index;\n trackBy: getUniqueIdentifier\n \"\n >\n <ng-container [ngSwitch]=\"field.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'html'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <div [innerHtml]=\"field.html | kwikuiSafeHtml\"></div>\n </div>\n </ng-container>\n <!-- Form Title -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div\n #formFieldsRef\n class=\"title\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n [class.hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <div>\n {{ field.label }}\n </div>\n <kwikui-button\n *ngIf=\"field?.reset\"\n appearance=\"whiteblock\"\n size=\"s\"\n [label]=\"field?.properties?.resetButtonLabel ?? 'Reset'\"\n (onClick)=\"handleOnClickResetFormFields($event, field)\"\n ></kwikui-button>\n </div>\n </ng-container>\n <!-- Button -->\n <ng-container *ngSwitchCase=\"'button'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button\n [appearance]=\"field?.properties?.appearance ?? 'primary'\"\n [class]=\"field?.properties?.class\"\n [disabled]=\"field?.disabled\"\n [icon]=\"field?.properties?.icon\"\n [iconRight]=\"field?.properties?.iconRight\"\n [id]=\"field?.key\"\n [label]=\"field?.label\"\n [shape]=\"field?.properties?.shape\"\n [showLoader]=\"field?.properties?.loading ?? false\"\n [size]=\"field?.properties?.size\"\n [styles]=\"field?.properties?.styles\"\n [type]=\"'button'\"\n (onClick)=\"handleOnClickFormFieldButton(field)\"\n ></kwikui-button>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Text -->\n <ng-container *ngSwitchCase=\"'text'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [isShowLabelOutside]=\"field?.properties?.isShowLabelOutside\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [type]=\"'text'\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Currency -->\n <ng-container *ngSwitchCase=\"'currency'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-currency\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [currencyType]=\"field?.properties?.currencyType\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n [value]=\"formGroup.controls[field.key].value\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-currency>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Email -->\n <ng-container *ngSwitchCase=\"'email'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-email\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [domains]=\"field?.properties?.domains\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-email>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Password -->\n <ng-container *ngSwitchCase=\"'password'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-password\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [hintContent]=\"field?.properties?.hintContent\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [isShowLabelOutside]=\"field?.properties?.isShowLabelOutside\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-password>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Textarea -->\n <ng-container *ngSwitchCase=\"'textarea'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-textarea\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-textarea>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Checkbox -->\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-checkbox\n [contentAlign]=\"field?.properties?.contentAlign ?? 'left'\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.properties?.placeholder\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size ?? 'l'\"\n [validators]=\"field?.validators\"\n [variant]=\"field?.properties?.variant ?? 'block'\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-checkbox>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Number -->\n <ng-container *ngSwitchCase=\"'number'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-number\n [decimal]=\"field?.properties?.decimal\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [isShowLabelOutside]=\"field?.properties?.isShowLabelOutside\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix ?? ''\"\n [precision]=\"field?.properties?.precision\"\n [prefix]=\"field?.properties?.prefix ?? ''\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-number>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Date -->\n <ng-container *ngSwitchCase=\"'date'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-date\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [isShowLabelOutside]=\"field?.properties?.isShowLabelOutside\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [maxCalculatedFromToday]=\"\n field?.properties?.maxCalculatedFromToday\n \"\n [min]=\"field?.properties?.min\"\n [minCalculatedFromToday]=\"\n field?.properties?.minCalculatedFromToday\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-date>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Time -->\n <ng-container *ngSwitchCase=\"'time'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-time\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [isShowLabelOutside]=\"field?.properties?.isShowLabelOutside\"\n [items]=\"field?.properties?.items\"\n [label]=\"field?.label\"\n [mode]=\"field?.properties?.mode\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-time>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Phone -->\n <ng-container *ngSwitchCase=\"'phone'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-phone\n [countryCode]=\"field?.properties?.countryCode\"\n [disabled]=\"field?.disabled\"\n [isShowLabelOutside]=\"field?.properties?.isShowLabelOutside\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [phoneMaskAfterCountryCode]=\"\n field?.properties?.phoneMaskAfterCountryCode\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [removeCountryCodeFromValue]=\"\n field?.properties?.removeCountryCodeFromValue\n \"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-phone>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Radio -->\n <ng-container *ngSwitchCase=\"'radio'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto; padding: 0px 0.5rem\"\n >\n <kwikui-input-radio\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [items]=\"field?.options\"\n [label]=\"field?.label\"\n [orientation]=\"field?.properties?.orientation\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-radio>\n </label>\n <ng-template #labelTemplate>\n <p\n class=\"tui-space_bottom-2\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\">*</span>\n </b>\n </p>\n </ng-template>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Dropdown -->\n <ng-container *ngSwitchCase=\"'select'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-select\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [isShowLabelOutside]=\"field?.properties?.isShowLabelOutside\"\n [label]=\"field?.label\"\n [options]=\"field.options\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [searchable]=\"field?.properties?.searchable\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-select>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Slider -->\n <ng-container *ngSwitchCase=\"'slider'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-slider\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [isShowLabelOutside]=\"field?.properties?.isShowLabelOutside\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [quantum]=\"field?.properties?.quantum\"\n [size]=\"field?.properties?.size\"\n [steps]=\"field?.properties?.steps\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-slider>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- API Call -->\n <ng-container *ngSwitchCase=\"'api'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-api-call\n [apiStatus]=\"field?.api?.status?.value\"\n [apiTimer]=\"field?.api?.timer\"\n [class]=\"field?.class\"\n [disabled]=\"field?.disabled\"\n [id]=\"field.key\"\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\n [showLoader]=\"field?.disabled === 'loading'\"\n [size]=\"field?.properties?.size\"\n [styles]=\"\n field?.properties?.styles\n ? field?.properties?.styles\n : 'width: fit-content'\n \"\n (onClick)=\"handleOnClickApiCall($event)\"\n (onApiTimerStop)=\"handleOnApiTimerStop($event)\"\n ></kwikui-button-api-call>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Live Location -->\n <ng-container *ngSwitchCase=\"'live-location'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-live-location\n [class]=\"field?.class\"\n [disabled]=\"field?.disabled\"\n [id]=\"field.key\"\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\n [liveLocationStatus]=\"field?.api?.status?.value\"\n [shape]=\"field?.properties?.shape\"\n [isShowLatLongCaptureTimestamp]=\"\n field?.properties?.isShowLatLongCaptureTimestamp\n \"\n [showLoader]=\"field?.disabled\"\n [size]=\"field?.properties?.size\"\n styles=\"width: fit-content\"\n (onClick)=\"handleOnClickLiveLocation($event)\"\n (onLocationPermission)=\"handleOnLocationPermission($event)\"\n ></kwikui-button-live-location>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Mobile OTP -->\n <ng-container *ngSwitchCase=\"'otp'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-otp\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [mask]=\"field?.properties?.mask\"\n [mode]=\"field?.properties?.mode\"\n [otpLength]=\"field?.properties?.otpLength\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-otp>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Aadhaar Number -->\n <ng-container *ngSwitchCase=\"'aadhaar-number'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-aadhaar\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [mask]=\"field?.properties?.mask\"\n [placeholder]=\"field?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-aadhaar>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Preview Image -->\n <ng-container *ngSwitchCase=\"'image'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-image\n [altText]=\"field?.properties?.altText\"\n [class]=\"field?.properties?.class\"\n [html]=\"field?.properties?.html\"\n [id]=\"field.key\"\n [imageSrc]=\"formGroup.controls[field.key].value ?? ''\"\n [imageType]=\"field?.properties?.imageType\"\n [loadingType]=\"field?.properties?.loadingType\"\n [styles]=\"field?.properties?.styles\"\n ></kwikui-image>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- File Upload -->\n <ng-container *ngSwitchCase=\"'file'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto\"\n >\n <kwikui-input-files\n [accept]=\"field?.properties?.accept\"\n [class]=\"field?.properties?.class\"\n [disabled]=\"field?.disabled\"\n [files]=\"files[field.key]\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field?.key\"\n [label]=\"field?.properties?.label\"\n [link]=\"field?.properties?.link\"\n [maxFileSize]=\"field?.properties?.maxFileSize\"\n [multiple]=\"field?.properties?.multiple\"\n [setFileTypesToForm]=\"['NORMAL']\"\n [styles]=\"field?.properties?.styles\"\n [validators]=\"field?.validators\"\n [showViewButton]=\"field?.properties?.showViewButton\"\n (getKeyValue)=\"handleGetKeyValueFile($event)\"\n (getRemovedFile)=\"handleRemovedFile($event)\"\n (getViewButtonClick)=\"handleViewButtonClick($event, field)\"\n ></kwikui-input-files>\n </label>\n <ng-template #labelTemplate>\n <p\n style=\"padding: 0px 0.25rem; margin-bottom: 0.25rem\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\">*</span>\n </b>\n </p>\n </ng-template>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Camera Capture -->\n <ng-container *ngSwitchCase=\"'capture'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n *ngIf=\"\n field?.label !== '' &&\n field?.label !== undefined &&\n field?.label !== null\n \"\n style=\"min-height: auto\"\n >\n <p\n *ngIf=\"field?.label !== ''\"\n style=\"padding: 0px 0.25rem; margin-bottom: 0.5rem\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\">*</span>\n </b>\n </p>\n </label>\n <kwikui-input-camera\n [buttonText]=\"field?.properties?.buttonText\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [mediaFiles]=\"\n mediaFiles[field.key] | filterImageUrlOrBase64FromObject\n \"\n [properties]=\"field?.properties\"\n [showMediaFiles]=\"field?.properties?.showMediaFiles\"\n [type]=\"'capture'\"\n [validators]=\"field?.validators\"\n (onClick)=\"handleOnClickInputCamera($event, field)\"\n (getRemovedFile)=\"handleOnClickGetRemovedMediaFile($event)\"\n ></kwikui-input-camera>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Camera Record -->\n <ng-container *ngSwitchCase=\"'record'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n *ngIf=\"\n field?.label !== '' &&\n field?.label !== undefined &&\n field?.label !== null\n \"\n style=\"min-height: auto\"\n >\n <p\n *ngIf=\"field?.label !== ''\"\n style=\"padding: 0px 0.25rem; margin-bottom: 0.5rem\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\">*</span>\n </b>\n </p>\n </label>\n <kwikui-input-camera\n [buttonText]=\"field?.properties?.buttonText\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [mediaFiles]=\"\n mediaFiles[field.key] | filterVideoUrlOrBase64FromObject\n \"\n [properties]=\"field?.properties\"\n [showMediaFiles]=\"field?.properties?.showMediaFiles\"\n [type]=\"'record'\"\n [validators]=\"field?.validators\"\n (onClick)=\"handleOnClickInputCamera($event, field)\"\n (getRemovedFile)=\"handleOnClickGetRemovedMediaFile($event)\"\n ></kwikui-input-camera>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Star Rating -->\n <ng-container *ngSwitchCase=\"'star-rating'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto; padding: 0px 0.5rem\"\n >\n <kwikui-star-rating\n [color]=\"field?.properties?.color\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [iconMarked]=\"field?.properties?.iconMarked\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-star-rating>\n </label>\n <ng-template #labelTemplate>\n <p>\n <b\n >{{ field?.properties?.placeholder }}\n <span *ngIf=\"field.validators?.required\">*</span></b\n >\n </p>\n </ng-template>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </form>\n <div\n class=\"kwikid-form-buttons\"\n *ngIf=\"\n !formConfig.properties.footer.viewFormsButton.hidden ||\n !formConfig.properties.footer.saveButton.hidden\n \"\n >\n <kwikui-button\n *ngIf=\"\n !formConfig.properties.footer.viewFormsButton.hidden && isMobileView\n \"\n [appearance]=\"'secondary'\"\n [disabled]=\"viewFormsButton.disabled\"\n [label]=\"formConfig.properties.footer.viewFormsButton.label\"\n [showLoader]=\"viewFormsButton.showLoader\"\n [styles]=\"formConfig.properties.footer.viewFormsButton.styles\"\n (onClick)=\"handleOnClickViewForms($event)\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"!formConfig.properties.footer.saveButton.hidden\"\n [disabled]=\"saveFormButton.disabled\"\n [label]=\"formConfig.properties.footer.saveButton.label\"\n [showLoader]=\"saveFormButton.showLoader\"\n [styles]=\"formConfig.properties.footer.saveButton.styles\"\n (onClick)=\"handleOnClickSaveForm($event)\"\n ></kwikui-button>\n </div>\n</div>\n<div\n class=\"kwikid-form-container-loading\"\n *ngIf=\"loading\"\n>\n <div\n *ngFor=\"let item of [].constructor(7); let i = index\"\n class=\"large-wrapper tui-skeleton tui-skeleton_rounded\"\n >\n </div>\n</div>\n\n<kwikui-loader></kwikui-loader>\n\n<tui-push\n id=\"field-error-notification\"\n *tuiPush=\"showErrorNotification\"\n heading=\"Missing/Incorrect Fields!\"\n type=\"Error\"\n (close)=\"toggleErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n\n<tui-push\n id=\"permission-error-notification\"\n *tuiPush=\"showPermissionErrorNotification\"\n heading=\"Please provide required permissions!\"\n type=\"Error\"\n (close)=\"togglePermissionErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n\n<ng-template\n #preview\n let-preview\n>\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n class=\"preview-container\"\n >\n <tui-preview-title *ngIf=\"previewProperties.title !== ''\">{{\n previewProperties.title\n }}</tui-preview-title>\n\n <ng-container *ngIf=\"!previewProperties.unavailable\">\n <div\n *ngIf=\"previewProperties?.html?.before !== ''\"\n class=\"preview-html preview-html-before\"\n [style]=\"previewProperties?.html?.beforeStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.before | kwikuiSafeHtml\"\n ></div>\n\n <!-- Content within the iframe -->\n <div\n class=\"preview-iframe-content\"\n [style]=\"\n previewProperties?.iframe?.containerStyles ?? '' | styleSanitizer\n \"\n *ngIf=\"previewProperties.iframe.src !== ''\"\n >\n <!-- Your HTML content here -->\n <iframe\n [src]=\"previewProperties.iframe.src | kwikuiSafeUrl\"\n frameborder=\"0\"\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen\n [title]=\"previewProperties.iframe.title\"\n class=\"preview-iframe\"\n scrolling=\"auto\"\n ></iframe>\n </div>\n\n <div\n *ngIf=\"previewProperties?.html?.after !== ''\"\n class=\"preview-html preview-html-after\"\n [style]=\"previewProperties?.html?.afterStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.after | kwikuiSafeHtml\"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"previewProperties.unavailable\">\n <div class=\"preview-unavailable\">\n <tui-svg\n src=\"tuiIconFileLarge\"\n class=\"t-icon\"\n ></tui-svg>\n <div>Preview unavailable</div>\n </div>\n </ng-container>\n\n <button\n tuiIconButton\n tuiPreviewAction\n icon=\"tuiIconCloseLarge\"\n title=\"Close\"\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n</ng-template>\n\n<ng-template\n #dialog\n let-dialog\n>\n <div class=\"preview-container\">\n <ng-container *ngIf=\"!previewProperties.unavailable\">\n <div\n *ngIf=\"previewProperties?.html?.before !== ''\"\n class=\"preview-html preview-html-before\"\n [style]=\"previewProperties?.html?.beforeStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.before | kwikuiSafeHtml\"\n ></div>\n\n <!-- Content within the iframe -->\n <div\n class=\"preview-iframe-content\"\n [style]=\"\n previewProperties?.iframe?.containerStyles ?? '' | styleSanitizer\n \"\n *ngIf=\"previewProperties.iframe.src !== ''\"\n >\n <!-- Your HTML content here -->\n <iframe\n [src]=\"previewProperties.iframe.src | kwikuiSafeUrl\"\n frameborder=\"0\"\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen\n [title]=\"previewProperties.iframe.title\"\n class=\"preview-iframe\"\n scrolling=\"auto\"\n ></iframe>\n </div>\n\n <div\n *ngIf=\"previewProperties?.html?.after !== ''\"\n class=\"preview-html preview-html-after\"\n [style]=\"previewProperties?.html?.afterStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.after | kwikuiSafeHtml\"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"previewProperties.unavailable\">\n <div class=\"preview-unavailable\">\n <tui-svg\n src=\"tuiIconFileLarge\"\n class=\"t-icon\"\n ></tui-svg>\n <div>Preview unavailable</div>\n </div>\n </ng-container>\n </div>\n</ng-template>\n\n<div\n id=\"kwikid-camera-container\"\n *ngIf=\"isShowCamera\"\n>\n <div\n id=\"kwikid-camera-wrapper\"\n [class.fullscreen]=\"isShowCameraFullscreen\"\n >\n <kwikid-camera\n [type]=\"activeCameraType\"\n [data]=\"activeCameraData\"\n [image]=\"activeCameraImage\"\n [video]=\"activeCameraVideo\"\n [config]=\"activeCameraConfig?.cameraConfig\"\n (getImage)=\"handleGetCameraMedia($event, 'CAPTURE')\"\n (getVideo)=\"handleGetCameraMedia($event, 'RECORD')\"\n (onClickBack)=\"handleOnClickCameraBack($event)\"\n (onClickClose)=\"handleOnClickCameraClose($event)\"\n (onClickSave)=\"handleOnClickSaveCameraMedia($event, activeCameraType)\"\n >\n <ng-container\n *ngIf=\"activeCameraType === 'CAPTURE'\"\n slot=\"capture-header\"\n >\n <div class=\"capture-header-container\">\n <div class=\"capture-header-left\"> </div>\n <div class=\"capture-header-center\">\n <kwikui-button\n *ngIf=\"activeCameraConfig?.cameraConfig?.header?.title !== ''\"\n appearance=\"whiteblock\"\n [label]=\"activeCameraConfig?.cameraConfig?.header?.title\"\n shape=\"rounded\"\n size=\"s\"\n ></kwikui-button>\n </div>\n <div class=\"capture-header-right\">\n <kwikui-button\n *ngIf=\"activeCameraConfig?.cameraConfig?.header?.isExpand\"\n id=\"kwikid-camera-header-enlarge-button\"\n appearance=\"whiteblock\"\n [icon]=\"\n isShowCameraFullscreen ? 'tuiIconMinimize2' : 'tuiIconMaximize2'\n \"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"isShowCameraFullscreen = !isShowCameraFullscreen\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"activeCameraConfig?.cameraConfig?.header?.isClose\"\n id=\"kwikid-camera-header-close-button\"\n appearance=\"whiteblock\"\n icon=\"tuiIconCloseLarge\"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"handleOnClickCameraClose($event)\"\n ></kwikui-button>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"activeCameraType === 'RECORD'\"\n slot=\"record-header\"\n >\n <div class=\"record-header-container\">\n <div class=\"record-header-row row-1\">\n <div class=\"record-header-left\">\n <kwikui-button\n *ngIf=\"\n activeCameraConfig?.cameraConfig?.header?.isBack &&\n activeCameraRecordingState == 'NONE'\n \"\n appearance=\"whiteblock\"\n icon=\"tuiIconArrowLeft\"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"handleOnClickCameraClose($event)\"\n ></kwikui-button>\n </div>\n <div class=\"record-header-center\">\n <kwikui-button\n *ngIf=\"activeCameraConfig?.cameraConfig?.header?.title !== ''\"\n appearance=\"whiteblock\"\n [label]=\"activeCameraConfig?.cameraConfig?.header?.title\"\n shape=\"rounded\"\n size=\"s\"\n ></kwikui-button>\n </div>\n <div class=\"record-header-right\">\n <kwikui-button\n *ngIf=\"activeCameraConfig?.cameraConfig?.header?.isExpand\"\n id=\"kwikid-camera-header-enlarge-button\"\n appearance=\"whiteblock\"\n [icon]=\"\n isShowCameraFullscreen\n ? 'tuiIconMinimize2'\n : 'tuiIconMaximize2'\n \"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"isShowCameraFullscreen = !isShowCameraFullscreen\"\n ></kwikui-button>\n </div>\n </div>\n <div class=\"record-header-row row-2\">\n <div\n id=\"blinking-dot-container\"\n [class.recording]=\"activeCameraRecordingState == 'RECORDING'\"\n [class.paused]=\"activeCameraRecordingState == 'PAUSED'\"\n [class.recorded]=\"\n activeCameraRecordingState == 'NONE' ||\n activeCameraRecordingState === 'RECORDED'\n \"\n >\n <div\n *ngIf=\"activeCameraRecordingState == 'RECORDING'\"\n class=\"dot recording blink\"\n >\n </div>\n <div\n *ngIf=\"activeCameraRecordingState === 'PAUSED'\"\n class=\"dot paused\"\n >\n </div>\n <div\n *ngIf=\"\n activeCameraRecordingState == 'NONE' ||\n activeCameraRecordingState === 'RECORDED'\n \"\n class=\"dot recorded\"\n >\n </div>\n <div>\n &nbsp;{{ activeCameraRecordingTime | formatTimer }}\n <ng-container\n *ngIf=\"\n activeCameraConfig?.cameraConfig?.others\n ?.maxRecordingTimeInSeconds\n \"\n >\n /\n {{\n activeCameraConfig?.cameraConfig?.others\n ?.maxRecordingTimeInSeconds | formatTimer\n }}\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </kwikid-camera>\n </div>\n</div>\n", styles: [".kwikid-form-container{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center}.kwikid-form.show{width:100%;height:100%;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch;scroll-behavior:smooth}.kwikid-form.show>*:not(:last-child){margin-bottom:1rem}.kwikid-form-buttons{width:100%;bottom:0px;padding:1rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}.kwikid-form-buttons>*:not(:last-child){margin-right:1rem}.kwikid-form-buttons *{flex-grow:1}#uf-form-fields-header-container{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:flex-start;padding:1rem 1rem 0}#uf-form-fields-header-container>*:not(:last-child){margin-bottom:.5rem}#uf-form-fields-header-container #uf-header-logo{width:-moz-fit-content;width:fit-content;height:50px}#uf-form-fields-header-container #uf-form-fields-header-main{display:flex;flex-direction:row;align-content:center;justify-content:flex-start;align-items:center;width:100%}#uf-form-fields-header-container #uf-form-fields-header-main>*:not(:last-child){margin-right:.25rem}#uf-form-fields-header-container #uf-form-fields-header-main #uf-form-fields-header-right{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:flex-start}#uf-form-fields-header-container #uf-form-fields-header-main #uf-form-fields-header-right>*{margin-bottom:.5rem}#uf-form-fields-header-container hr{width:100%}#uf-form-fields-title{color:#000;font-size:1.75em;font-weight:bold}#uf-form-fields-steps{color:var(--color-on-secondary-container);font-size:1rem}.title{border-left:.25rem solid var(--tui-primary);padding:.75rem;font-size:1.4em;font-weight:bold;background-color:var(--tui-secondary);display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center}.title>*:not(:last-child){margin-right:.5rem}.title:not(:first-child){margin-top:.5rem}.title.hidden{display:none}.large-wrapper{width:100%;height:60px}.large-wrapper:first-child{margin-bottom:auto}.large-wrapper:last-child{margin-top:auto}.kwikid-form-container-loading{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;padding:1rem}.kwikid-form-container-loading>* :not(:last-child){margin-bottom:1rem}#field-error-notification,#permission-error-notification{background-color:var(--tui-error-fill);color:#fff!important}#field-error-notification .t-top,#permission-error-notification .t-top{color:#fff!important}#field-error-notification .t-close,#permission-error-notification .t-close{color:#fff!important}.preview-container{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;align-content:center;height:calc(100vh - 3rem)}@media only screen and (min-width: 768px){.preview-container{height:calc(100vh - 10rem);width:calc(100vw - 10rem)}}.preview-container>*:not(:last-child){margin-bottom:1rem}.preview-container .preview-html{flex-grow:1}.preview-container .preview-iframe-content{height:100%;flex-grow:1}.preview-container .preview-iframe-content .preview-iframe{width:100%;height:100%}.preview-container .preview-unavailable{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:center;color:#fff;font-size:1.2rem;top:50%;left:50%;width:100%;height:100vh}.preview-container .preview-unavailable>*:not(:last-child){margin-bottom:1rem}#kwikid-camera-container{width:100%;height:100%;position:fixed;top:50%;left:50%;background-color:#0000008f;transform:translate(-50%,-50%);z-index:100}#kwikid-camera-container #kwikid-camera-wrapper{width:min(80%);height:max(85%);box-shadow:#0000008f 0 22px 70px 4px;overflow:hidden;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:1rem;background-color:#000;transition:5s linear ease}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container{display:flex;width:100%;max-width:100%;padding:0}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container .capture-header-left{flex:1;text-align:left}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container .capture-header-center{flex:1;width:100%;min-width:max-content;text-align:center;margin:auto}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container .capture-header-right{flex:1;text-align:right;display:flex;justify-content:flex-end;grid-gap:1rem;gap:1rem}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container{display:flex;width:100%;max-width:100%;padding:0;color:#fff;flex-direction:column;justify-content:flex-start;align-items:stretch}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:1rem}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1 .record-header-left{flex:1;display:flex;justify-content:flex-start;grid-gap:1rem;gap:1rem;text-align:left}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1 .record-header-center{flex:1;width:100%;min-width:max-content;text-align:center;margin:auto}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1 .record-header-right{flex:1;text-align:right;display:flex;justify-content:flex-end;grid-gap:1rem;gap:1rem}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2{display:flex;flex-direction:row;justify-content:center;align-items:center}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;grid-gap:.25rem;gap:.25rem;padding:.35rem .6rem;width:-moz-fit-content;width:fit-content;border-radius:2rem;background-color:#f5f5f5}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container.recording{color:red;font-weight:bold}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container.paused{color:#525252;font-weight:bold}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container.recorded{color:#000;font-weight:bold}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot{display:inline-block;width:.75rem;height:.75rem;border-radius:100%}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.recording{background-color:red;box-shadow:0 0 5px -1px red}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.paused{background-color:#525252;box-shadow:0 0 5px -1px #000}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.recorded{background-color:#000;box-shadow:0 0 5px -1px #000}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.blink{animation:blinker 1s cubic-bezier(.5,0,1,1) infinite alternate}@keyframes blinker{0%{opacity:1}to{opacity:0}}#kwikid-camera-container #kwikid-camera-wrapper.fullscreen{width:100%;height:100%;border-radius:0;transition:5s linear ease}@media only screen and (max-width: 600px){#kwikid-camera-container #kwikid-camera-wrapper{width:100%;height:100%;border-radius:0;transition:5s linear ease}#kwikid-camera-container #kwikid-camera-wrapper #kwikid-camera-header-enlarge-button{display:none}}\n", "::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: i3__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: i3__namespace.KwikUIMessagesComponent, selector: "kwikui-messages", inputs: ["id", "messages"] }, { type: i3__namespace.KwikUIInputComponent, selector: "kwikui-input", inputs: ["case", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "isShowLabelOutside", "label", "placeholder", "postfix", "prefix", "properties", "size", "type", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIInputCurrencyComponent, selector: "kwikui-input-currency", inputs: ["currencyType", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "validators", "value"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIInputEmailComponent, selector: "kwikui-input-email", inputs: ["case", "disabled", "domains", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIInputPasswordComponent, selector: "kwikui-input-password", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "isShowLabelOutside", "label", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUITextareaComponent, selector: "kwikui-textarea", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "isShowLabelOutside", "label", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUICheckboxComponent, selector: "kwikui-checkbox", inputs: ["contentAlign", "disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "placeholder", "properties", "size", "validators", "variant"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIInputNumberComponent, selector: "kwikui-input-number", inputs: ["decimal", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "isShowLabelOutside", "label", "max", "min", "placeholder", "postfix", "precision", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIInputDateComponent, selector: "kwikui-input-date", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "isShowLabelOutside", "label", "max", "maxCalculatedFromToday", "min", "minCalculatedFromToday", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIInputTimeComponent, selector: "kwikui-input-time", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "items", "invalid", "isShowLabelOutside", "label", "mode", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIInputPhoneComponent, selector: "kwikui-input-phone", inputs: ["countryCode", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "isShowLabelOutside", "label", "phoneMaskAfterCountryCode", "placeholder", "postfix", "prefix", "properties", "removeCountryCodeFromValue", "size", "validators"], outputs: ["getKeyValue"] }, { type: i5__namespace.TuiLabelComponent, selector: "label[tuiLabel]", inputs: ["tuiLabel", "context"] }, { type: i3__namespace.KwikUIInputRadioComponent, selector: "kwikui-input-radio", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "items", "label", "orientation", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIInputSelectComponent, selector: "kwikui-input-select", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "isShowLabelOutside", "label", "options", "placeholder", "properties", "searchable", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIInputSliderComponent, selector: "kwikui-input-slider", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "isShowLabelOutside", "label", "max", "min", "placeholder", "postfix", "prefix", "properties", "quantum", "size", "steps", "type", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIButtonApiCallComponent, selector: "kwikui-button-api-call", inputs: ["apiTimer", "apiStatus", "class", "disabled", "id", "label", "shape", "showLoader", "size", "styles"], outputs: ["onClick", "onApiTimerStop"] }, { type: i3__namespace.KwikUIButtonLiveLocationComponent, selector: "kwikui-button-live-location", inputs: ["liveLocationStatus", "class", "disabled", "id", "label", "shape", "showLoader", "size", "styles", "isShowLatLongCaptureTimestamp"], outputs: ["onClick", "onLocationPermission"] }, { type: i3__namespace.KwikUIInputOtpComponent, selector: "kwikui-input-otp", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "mask", "mode", "otpLength", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIInputAadhaarComponent, selector: "kwikui-input-aadhaar", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "mask", "placeholder", "properties", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIImageComponent, selector: "kwikui-image", inputs: ["altText", "class", "html", "id", "imageSrc", "imageType", "loadingType", "styles"], outputs: ["onClick"] }, { type: i3__namespace.KwikUIInputFilesComponent, selector: "kwikui-input-files", inputs: ["accept", "class", "disabled", "files", "formControl", "formControlName", "icon", "id", "label", "link", "maxFileSize", "multiple", "setFileTypesToForm", "showAddedFiles", "size", "styles", "validators", "variant", "showViewButton"], outputs: ["getKeyValue", "getRemovedFile", "getViewButtonClick"] }, { type: i4__namespace.KwikUIInputCameraComponent, selector: "kwikui-input-camera", inputs: ["buttonText", "disabled", "focus", "formControl", "formControlName", "icon", "id", "invalid", "mediaFiles", "properties", "showMediaFiles", "size", "type", "validators"], outputs: ["onClick", "getRemovedFile"] }, { type: i3__namespace.KwikUIStarRatingComponent, selector: "kwikui-star-rating", inputs: ["color", "disabled", "focus", "formControl", "formControlName", "icon", "iconMarked", "id", "invalid", "label", "max", "min", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUILoaderComponent, selector: "kwikui-loader" }, { type: i6__namespace.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "lines", "timestamp"], outputs: ["close"] }, { type: i5__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i7__namespace.TuiPreviewComponent, selector: "tui-preview", inputs: ["zoomable", "rotatable"] }, { type: i7__namespace.TuiPreviewTitleComponent, selector: "tui-preview-title" }, { type: i5__namespace.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i4__namespace.KwikIDCameraComponent, selector: "kwikid-camera", inputs: ["type", "config", "data", "image", "video"], outputs: ["getImage", "onClickSave", "getVideo"] }], directives: [{ type: i3__namespace$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3__namespace$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3__namespace$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3__namespace$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3__namespace$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3__namespace$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i6__namespace.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i6__namespace.TuiPushDirective, selector: "tui-push" }, { type: i7__namespace.TuiPreviewActionDirective, selector: "[tuiPreviewAction]" }], pipes: { "styleSanitizer": StyleSanitizerPipe, "kwikuiSafeHtml": i3__namespace.KwikUISafeHtmlPipe, "filterImageUrlOrBase64FromObject": FilterImageUrlOrBase64FromObjectPipe, "filterVideoUrlOrBase64FromObject": FilterVideoUrlOrBase64FromObjectPipe, "kwikuiSafeUrl": i3__namespace.KwikUISafeUrlPipe, "formatTimer": TimerPipe } });
9381
+ /** @nocollapse */ KwikIDFormViewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: { allFormsData: "allFormsData", extraData: "extraData", apiCallResponse: "apiCallResponse", buttonClickResponse: "buttonClickResponse", formConfig: "formConfig", formData: "formData", isMobileView: "isMobileView", popupFormCallback: "popupFormCallback", userConfig: "userConfig", stepConfig: "stepConfig", reduxData: "reduxData" }, outputs: { getLogs: "getLogs", getUnsavedDataState: "getUnsavedDataState", onActionShowPopupForm: "onActionShowPopupForm", onClickApiCall: "onClickApiCall", onClickViewFile: "onClickViewFile", onClickFormFieldButton: "onClickFormFieldButton", onClickGoBack: "onClickGoBack", onClickSaveForm: "onClickSaveForm", onClickViewForms: "onClickViewForms" }, providers: [KwikIDFormViewService, KwikIDFormViewApiService], viewQueries: [{ propertyName: "formFieldContainerRef", first: true, predicate: ["formFieldContainerRef"], descendants: true }, { propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }, { propertyName: "preview", first: true, predicate: ["preview"], descendants: true }, { propertyName: "formFieldsRef", predicate: ["formFieldsRef"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div\n class=\"kwikid-form-container\"\n *ngIf=\"!loading\"\n>\n <div\n id=\"uf-form-fields-header-container\"\n *ngIf=\"\n !formConfig.properties?.header?.title?.hidden ||\n !formConfig.properties?.header?.logo?.hidden ||\n !formConfig.properties?.header?.steps?.hidden ||\n !formConfig.properties?.header?.backButton?.hidden\n \"\n >\n <img\n id=\"uf-header-logo\"\n *ngIf=\"!formConfig.properties?.header?.logo?.hidden && isMobileView\"\n [src]=\"formConfig.properties?.header?.logo?.src\"\n [alt]=\"formConfig.properties?.header?.logo?.alt\"\n [style]=\"\n formConfig.properties?.header?.logo?.styles ?? '' | styleSanitizer\n \"\n />\n <div id=\"uf-form-fields-header-main\">\n <div id=\"uf-form-fields-header-left\">\n <kwikui-button\n *ngIf=\"\n !formConfig.properties?.header.backButton.hidden && isMobileView\n \"\n [disabled]=\"backButton.disabled\"\n [showLoader]=\"backButton.showLoader\"\n appearance=\"mono\"\n icon=\"tuiIconArrowLeft\"\n shape=\"rounded\"\n (onClick)=\"\n handleOnClickGoBack(\n $event,\n formConfig.properties?.header.backButton.mode\n )\n \"\n ></kwikui-button>\n </div>\n <div id=\"uf-form-fields-header-right\">\n <div\n id=\"uf-form-fields-title\"\n *ngIf=\"!formConfig.properties?.header.title.hidden\"\n >{{ formConfig.properties?.header.title.label }}</div\n >\n <div\n id=\"uf-form-fields-steps\"\n *ngIf=\"!formConfig.properties?.header.steps.hidden\"\n >\n Step {{ formConfig.sequenceNo }} of {{ formConfig.formsListLength }}\n </div>\n </div>\n </div>\n <hr\n *ngIf=\"\n !formConfig.properties?.header.title.hidden ||\n !formConfig.properties?.header.steps.hidden ||\n !formConfig.properties?.header.backButton.hidden\n \"\n />\n </div>\n <form\n #formFieldContainerRef\n class=\"kwikid-form show\"\n [style]=\"formConfig.properties?.main?.styles ?? '' | styleSanitizer\"\n [formGroup]=\"formGroup\"\n >\n <ng-container\n *ngFor=\"\n let field of formFields;\n let i = index;\n trackBy: getUniqueIdentifier\n \"\n >\n <ng-container [ngSwitch]=\"field.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'html'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <div [innerHtml]=\"field.html | kwikuiSafeHtml\"></div>\n </div>\n </ng-container>\n <!-- Form Title -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div\n #formFieldsRef\n class=\"title\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n [class.hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <div>\n {{ field.label }}\n </div>\n <kwikui-button\n *ngIf=\"field?.reset\"\n appearance=\"whiteblock\"\n size=\"s\"\n [label]=\"field?.properties?.resetButtonLabel ?? 'Reset'\"\n (onClick)=\"handleOnClickResetFormFields($event, field)\"\n ></kwikui-button>\n </div>\n </ng-container>\n <!-- Button -->\n <ng-container *ngSwitchCase=\"'button'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button\n [appearance]=\"field?.properties?.appearance ?? 'primary'\"\n [class]=\"field?.properties?.class\"\n [disabled]=\"field?.disabled\"\n [icon]=\"field?.properties?.icon\"\n [iconRight]=\"field?.properties?.iconRight\"\n [id]=\"field?.key\"\n [label]=\"field?.label\"\n [shape]=\"field?.properties?.shape\"\n [showLoader]=\"field?.properties?.loading ?? false\"\n [size]=\"field?.properties?.size\"\n [styles]=\"field?.properties?.styles\"\n [type]=\"'button'\"\n (onClick)=\"handleOnClickFormFieldButton(field)\"\n ></kwikui-button>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Text -->\n <ng-container *ngSwitchCase=\"'text'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [isShowLabelOutside]=\"field?.properties?.isShowLabelOutside\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [type]=\"'text'\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Currency -->\n <ng-container *ngSwitchCase=\"'currency'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-currency\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [currencyType]=\"field?.properties?.currencyType\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n [value]=\"formGroup.controls[field.key].value\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-currency>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Email -->\n <ng-container *ngSwitchCase=\"'email'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-email\n [case]=\"field?.properties?.case\"\n [disabled]=\"field?.disabled\"\n [domains]=\"field?.properties?.domains\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-email>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Password -->\n <ng-container *ngSwitchCase=\"'password'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-password\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [hintContent]=\"field?.properties?.hintContent\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [isShowLabelOutside]=\"field?.properties?.isShowLabelOutside\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-password>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Textarea -->\n <ng-container *ngSwitchCase=\"'textarea'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-textarea\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-textarea>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Checkbox -->\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-checkbox\n [contentAlign]=\"field?.properties?.contentAlign ?? 'left'\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.properties?.placeholder\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size ?? 'l'\"\n [validators]=\"field?.validators\"\n [variant]=\"field?.properties?.variant ?? 'block'\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-checkbox>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Number -->\n <ng-container *ngSwitchCase=\"'number'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-number\n [decimal]=\"field?.properties?.decimal\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [isShowLabelOutside]=\"field?.properties?.isShowLabelOutside\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix ?? ''\"\n [precision]=\"field?.properties?.precision\"\n [prefix]=\"field?.properties?.prefix ?? ''\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-number>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Date -->\n <ng-container *ngSwitchCase=\"'date'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-date\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [isShowLabelOutside]=\"field?.properties?.isShowLabelOutside\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [maxCalculatedFromToday]=\"\n field?.properties?.maxCalculatedFromToday\n \"\n [min]=\"field?.properties?.min\"\n [minCalculatedFromToday]=\"\n field?.properties?.minCalculatedFromToday\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-date>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Time -->\n <ng-container *ngSwitchCase=\"'time'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-time\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [isShowLabelOutside]=\"field?.properties?.isShowLabelOutside\"\n [items]=\"field?.properties?.items\"\n [label]=\"field?.label\"\n [mode]=\"field?.properties?.mode\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-time>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Phone -->\n <ng-container *ngSwitchCase=\"'phone'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-phone\n [countryCode]=\"field?.properties?.countryCode\"\n [disabled]=\"field?.disabled\"\n [isShowLabelOutside]=\"field?.properties?.isShowLabelOutside\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [phoneMaskAfterCountryCode]=\"\n field?.properties?.phoneMaskAfterCountryCode\n \"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [removeCountryCodeFromValue]=\"\n field?.properties?.removeCountryCodeFromValue\n \"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-phone>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Radio -->\n <ng-container *ngSwitchCase=\"'radio'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto; padding: 0px 0.5rem\"\n >\n <kwikui-input-radio\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [items]=\"field?.options\"\n [label]=\"field?.label\"\n [orientation]=\"field?.properties?.orientation\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-radio>\n </label>\n <ng-template #labelTemplate>\n <p\n class=\"tui-space_bottom-2\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\">*</span>\n </b>\n </p>\n </ng-template>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Dropdown -->\n <ng-container *ngSwitchCase=\"'select'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-select\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [isShowLabelOutside]=\"field?.properties?.isShowLabelOutside\"\n [label]=\"field?.label\"\n [options]=\"field.options\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [searchable]=\"field?.properties?.searchable\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-select>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Input Slider -->\n <ng-container *ngSwitchCase=\"'slider'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-slider\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [isShowLabelOutside]=\"field?.properties?.isShowLabelOutside\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [postfix]=\"field?.properties?.postfix\"\n [prefix]=\"field?.properties?.prefix\"\n [properties]=\"field?.properties\"\n [quantum]=\"field?.properties?.quantum\"\n [size]=\"field?.properties?.size\"\n [steps]=\"field?.properties?.steps\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-slider>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- API Call -->\n <ng-container *ngSwitchCase=\"'api'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-api-call\n [apiStatus]=\"field?.api?.status?.value\"\n [apiTimer]=\"field?.api?.timer\"\n [class]=\"field?.class\"\n [disabled]=\"field?.disabled\"\n [id]=\"field.key\"\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\n [showLoader]=\"field?.disabled === 'loading'\"\n [size]=\"field?.properties?.size\"\n [styles]=\"\n field?.properties?.styles\n ? field?.properties?.styles\n : 'width: fit-content'\n \"\n (onClick)=\"handleOnClickApiCall($event)\"\n (onApiTimerStop)=\"handleOnApiTimerStop($event)\"\n ></kwikui-button-api-call>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Live Location -->\n <ng-container *ngSwitchCase=\"'live-location'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-button-live-location\n [class]=\"field?.class\"\n [disabled]=\"field?.disabled\"\n [id]=\"field.key\"\n [label]=\"field?.api?.status?.labels[field?.api?.status?.value]\"\n [liveLocationStatus]=\"field?.api?.status?.value\"\n [shape]=\"field?.properties?.shape\"\n [isShowLatLongCaptureTimestamp]=\"\n field?.properties?.isShowLatLongCaptureTimestamp\n \"\n [showLoader]=\"field?.disabled\"\n [size]=\"field?.properties?.size\"\n styles=\"width: fit-content\"\n (onClick)=\"handleOnClickLiveLocation($event)\"\n (onLocationPermission)=\"handleOnLocationPermission($event)\"\n ></kwikui-button-live-location>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Mobile OTP -->\n <ng-container *ngSwitchCase=\"'otp'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-otp\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [mask]=\"field?.properties?.mask\"\n [mode]=\"field?.properties?.mode\"\n [otpLength]=\"field?.properties?.otpLength\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-otp>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Aadhaar Number -->\n <ng-container *ngSwitchCase=\"'aadhaar-number'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-input-aadhaar\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [mask]=\"field?.properties?.mask\"\n [placeholder]=\"field?.placeholder\"\n [properties]=\"field?.properties\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-input-aadhaar>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Preview Image -->\n <ng-container *ngSwitchCase=\"'image'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <kwikui-image\n [altText]=\"field?.properties?.altText\"\n [class]=\"field?.properties?.class\"\n [html]=\"field?.properties?.html\"\n [id]=\"field.key\"\n [imageSrc]=\"formGroup.controls[field.key].value ?? ''\"\n [imageType]=\"field?.properties?.imageType\"\n [loadingType]=\"field?.properties?.loadingType\"\n [styles]=\"field?.properties?.styles\"\n ></kwikui-image>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- File Upload -->\n <ng-container *ngSwitchCase=\"'file'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto\"\n >\n <kwikui-input-files\n [accept]=\"field?.properties?.accept\"\n [class]=\"field?.properties?.class\"\n [disabled]=\"field?.disabled\"\n [files]=\"files[field.key]\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [id]=\"field?.key\"\n [label]=\"field?.properties?.label\"\n [link]=\"field?.properties?.link\"\n [maxFileSize]=\"field?.properties?.maxFileSize\"\n [multiple]=\"field?.properties?.multiple\"\n [setFileTypesToForm]=\"['NORMAL']\"\n [styles]=\"field?.properties?.styles\"\n [validators]=\"field?.validators\"\n [showViewButton]=\"field?.properties?.showViewButton\"\n (getKeyValue)=\"handleGetKeyValueFile($event)\"\n (getRemovedFile)=\"handleRemovedFile($event)\"\n (getViewButtonClick)=\"handleViewButtonClick($event, field)\"\n ></kwikui-input-files>\n </label>\n <ng-template #labelTemplate>\n <p\n style=\"padding: 0px 0.25rem; margin-bottom: 0.25rem\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\">*</span>\n </b>\n </p>\n </ng-template>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Camera Capture -->\n <ng-container *ngSwitchCase=\"'capture'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n *ngIf=\"\n field?.label !== '' &&\n field?.label !== undefined &&\n field?.label !== null\n \"\n style=\"min-height: auto\"\n >\n <p\n *ngIf=\"field?.label !== ''\"\n style=\"padding: 0px 0.25rem; margin-bottom: 0.5rem\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\">*</span>\n </b>\n </p>\n </label>\n <kwikui-input-camera\n [buttonText]=\"field?.properties?.buttonText\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [mediaFiles]=\"\n mediaFiles[field.key] | filterImageUrlOrBase64FromObject\n \"\n [properties]=\"field?.properties\"\n [showMediaFiles]=\"field?.properties?.showMediaFiles\"\n [type]=\"'capture'\"\n [validators]=\"field?.validators\"\n (onClick)=\"handleOnClickInputCamera($event, field)\"\n (getRemovedFile)=\"handleOnClickGetRemovedMediaFile($event)\"\n ></kwikui-input-camera>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Camera Record -->\n <ng-container *ngSwitchCase=\"'record'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n *ngIf=\"\n field?.label !== '' &&\n field?.label !== undefined &&\n field?.label !== null\n \"\n style=\"min-height: auto\"\n >\n <p\n *ngIf=\"field?.label !== ''\"\n style=\"padding: 0px 0.25rem; margin-bottom: 0.5rem\"\n [hidden]=\"field?.hidden\"\n id=\"field_{{ field.key }}\"\n >\n <b>\n {{ field.label }}\n <span *ngIf=\"field.validators?.required\">*</span>\n </b>\n </p>\n </label>\n <kwikui-input-camera\n [buttonText]=\"field?.properties?.buttonText\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [mediaFiles]=\"\n mediaFiles[field.key] | filterVideoUrlOrBase64FromObject\n \"\n [properties]=\"field?.properties\"\n [showMediaFiles]=\"field?.properties?.showMediaFiles\"\n [type]=\"'record'\"\n [validators]=\"field?.validators\"\n (onClick)=\"handleOnClickInputCamera($event, field)\"\n (getRemovedFile)=\"handleOnClickGetRemovedMediaFile($event)\"\n ></kwikui-input-camera>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n <!-- Star Rating -->\n <ng-container *ngSwitchCase=\"'star-rating'\">\n <div\n #formFieldsRef\n [hidden]=\"field?.hidden\"\n [style]=\"field?.properties?.containerStyles ?? '' | styleSanitizer\"\n id=\"field_{{ field.key }}\"\n >\n <label\n [tuiLabel]=\"labelTemplate\"\n style=\"min-height: auto; padding: 0px 0.5rem\"\n >\n <kwikui-star-rating\n [color]=\"field?.properties?.color\"\n [disabled]=\"field?.disabled\"\n [focus]=\"field?.focus\"\n [formControl]=\"formGroup.controls[field.key]\"\n [formControlName]=\"field.key\"\n [icon]=\"field?.properties?.icon\"\n [iconMarked]=\"field?.properties?.iconMarked\"\n [id]=\"field.key\"\n [invalid]=\"field?.invalid\"\n [label]=\"field?.label\"\n [max]=\"field?.properties?.max\"\n [min]=\"field?.properties?.min\"\n [placeholder]=\"field?.properties?.placeholder\"\n [properties]=\"field?.properties\"\n [size]=\"field?.properties?.size\"\n [validators]=\"field?.validators\"\n (getKeyValue)=\"handleGetKeyValue($event)\"\n ></kwikui-star-rating>\n </label>\n <ng-template #labelTemplate>\n <p>\n <b\n >{{ field?.properties?.placeholder }}\n <span *ngIf=\"field.validators?.required\">*</span></b\n >\n </p>\n </ng-template>\n <kwikui-messages\n [messages]=\"field.messages\"\n [id]=\"field.key\"\n ></kwikui-messages>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </form>\n <div\n class=\"kwikid-form-buttons\"\n *ngIf=\"\n !formConfig.properties.footer.viewFormsButton.hidden ||\n !formConfig.properties.footer.saveButton.hidden\n \"\n >\n <kwikui-button\n *ngIf=\"\n !formConfig.properties.footer.viewFormsButton.hidden && isMobileView\n \"\n [appearance]=\"'secondary'\"\n [disabled]=\"viewFormsButton.disabled\"\n [label]=\"formConfig.properties.footer.viewFormsButton.label\"\n [showLoader]=\"viewFormsButton.showLoader\"\n [styles]=\"formConfig.properties.footer.viewFormsButton.styles\"\n (onClick)=\"handleOnClickViewForms($event)\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"!formConfig.properties.footer.saveButton.hidden\"\n [disabled]=\"saveFormButton.disabled\"\n [label]=\"formConfig.properties.footer.saveButton.label\"\n [showLoader]=\"saveFormButton.showLoader\"\n [styles]=\"formConfig.properties.footer.saveButton.styles\"\n (onClick)=\"handleOnClickSaveForm($event)\"\n ></kwikui-button>\n </div>\n</div>\n<div\n class=\"kwikid-form-container-loading\"\n *ngIf=\"loading\"\n>\n <div\n *ngFor=\"let item of [].constructor(7); let i = index\"\n class=\"large-wrapper tui-skeleton tui-skeleton_rounded\"\n >\n </div>\n</div>\n\n<kwikui-loader></kwikui-loader>\n\n<tui-push\n id=\"field-error-notification\"\n *tuiPush=\"showErrorNotification\"\n heading=\"Missing/Incorrect Fields!\"\n type=\"Error\"\n (close)=\"toggleErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n\n<tui-push\n id=\"permission-error-notification\"\n *tuiPush=\"showPermissionErrorNotification\"\n heading=\"Please provide required permissions!\"\n type=\"Error\"\n (close)=\"togglePermissionErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n\n<ng-template\n #preview\n let-preview\n>\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n class=\"preview-container\"\n >\n <tui-preview-title *ngIf=\"previewProperties.title !== ''\">{{\n previewProperties.title\n }}</tui-preview-title>\n\n <ng-container *ngIf=\"!previewProperties.unavailable\">\n <div\n *ngIf=\"previewProperties?.html?.before !== ''\"\n class=\"preview-html preview-html-before\"\n [style]=\"previewProperties?.html?.beforeStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.before | kwikuiSafeHtml\"\n ></div>\n\n <!-- Content within the iframe -->\n <div\n class=\"preview-iframe-content\"\n [style]=\"\n previewProperties?.iframe?.containerStyles ?? '' | styleSanitizer\n \"\n *ngIf=\"previewProperties.iframe.src !== ''\"\n >\n <!-- Your HTML content here -->\n <iframe\n [src]=\"previewProperties.iframe.src | kwikuiSafeUrl\"\n frameborder=\"0\"\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen\n [title]=\"previewProperties.iframe.title\"\n class=\"preview-iframe\"\n scrolling=\"auto\"\n ></iframe>\n </div>\n\n <div\n *ngIf=\"previewProperties?.html?.after !== ''\"\n class=\"preview-html preview-html-after\"\n [style]=\"previewProperties?.html?.afterStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.after | kwikuiSafeHtml\"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"previewProperties.unavailable\">\n <div class=\"preview-unavailable\">\n <tui-svg\n src=\"tuiIconFileLarge\"\n class=\"t-icon\"\n ></tui-svg>\n <div>Preview unavailable</div>\n </div>\n </ng-container>\n\n <button\n tuiIconButton\n tuiPreviewAction\n icon=\"tuiIconCloseLarge\"\n title=\"Close\"\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n</ng-template>\n\n<ng-template\n #dialog\n let-dialog\n>\n <div class=\"preview-container\">\n <ng-container *ngIf=\"!previewProperties.unavailable\">\n <div\n *ngIf=\"previewProperties?.html?.before !== ''\"\n class=\"preview-html preview-html-before\"\n [style]=\"previewProperties?.html?.beforeStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.before | kwikuiSafeHtml\"\n ></div>\n\n <!-- Content within the iframe -->\n <div\n class=\"preview-iframe-content\"\n [style]=\"\n previewProperties?.iframe?.containerStyles ?? '' | styleSanitizer\n \"\n *ngIf=\"previewProperties.iframe.src !== ''\"\n >\n <!-- Your HTML content here -->\n <iframe\n [src]=\"previewProperties.iframe.src | kwikuiSafeUrl\"\n frameborder=\"0\"\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen\n [title]=\"previewProperties.iframe.title\"\n class=\"preview-iframe\"\n scrolling=\"auto\"\n ></iframe>\n </div>\n\n <div\n *ngIf=\"previewProperties?.html?.after !== ''\"\n class=\"preview-html preview-html-after\"\n [style]=\"previewProperties?.html?.afterStyles ?? '' | styleSanitizer\"\n [innerHtml]=\"previewProperties.html.after | kwikuiSafeHtml\"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"previewProperties.unavailable\">\n <div class=\"preview-unavailable\">\n <tui-svg\n src=\"tuiIconFileLarge\"\n class=\"t-icon\"\n ></tui-svg>\n <div>Preview unavailable</div>\n </div>\n </ng-container>\n </div>\n</ng-template>\n\n<div\n id=\"kwikid-camera-container\"\n *ngIf=\"isShowCamera\"\n>\n <div\n id=\"kwikid-camera-wrapper\"\n [class.fullscreen]=\"isShowCameraFullscreen\"\n >\n <kwikid-camera\n [type]=\"activeCameraType\"\n [data]=\"activeCameraData\"\n [image]=\"activeCameraImage\"\n [video]=\"activeCameraVideo\"\n [config]=\"activeCameraConfig?.cameraConfig\"\n (getImage)=\"handleGetCameraMedia($event, 'CAPTURE')\"\n (getVideo)=\"handleGetCameraMedia($event, 'RECORD')\"\n (onClickBack)=\"handleOnClickCameraBack($event)\"\n (onClickClose)=\"handleOnClickCameraClose($event)\"\n (onClickSave)=\"handleOnClickSaveCameraMedia($event, activeCameraType)\"\n >\n <ng-container\n *ngIf=\"activeCameraType === 'CAPTURE'\"\n slot=\"capture-header\"\n >\n <div class=\"capture-header-container\">\n <div class=\"capture-header-left\"> </div>\n <div class=\"capture-header-center\">\n <kwikui-button\n *ngIf=\"activeCameraConfig?.cameraConfig?.header?.title !== ''\"\n appearance=\"whiteblock\"\n [label]=\"activeCameraConfig?.cameraConfig?.header?.title\"\n shape=\"rounded\"\n size=\"s\"\n ></kwikui-button>\n </div>\n <div class=\"capture-header-right\">\n <kwikui-button\n *ngIf=\"activeCameraConfig?.cameraConfig?.header?.isExpand\"\n id=\"kwikid-camera-header-enlarge-button\"\n appearance=\"whiteblock\"\n [icon]=\"\n isShowCameraFullscreen ? 'tuiIconMinimize2' : 'tuiIconMaximize2'\n \"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"isShowCameraFullscreen = !isShowCameraFullscreen\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"activeCameraConfig?.cameraConfig?.header?.isClose\"\n id=\"kwikid-camera-header-close-button\"\n appearance=\"whiteblock\"\n icon=\"tuiIconCloseLarge\"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"handleOnClickCameraClose($event)\"\n ></kwikui-button>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"activeCameraType === 'RECORD'\"\n slot=\"record-header\"\n >\n <div class=\"record-header-container\">\n <div class=\"record-header-row row-1\">\n <div class=\"record-header-left\">\n <kwikui-button\n *ngIf=\"\n activeCameraConfig?.cameraConfig?.header?.isBack &&\n activeCameraRecordingState == 'NONE'\n \"\n appearance=\"whiteblock\"\n icon=\"tuiIconArrowLeft\"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"handleOnClickCameraClose($event)\"\n ></kwikui-button>\n </div>\n <div class=\"record-header-center\">\n <kwikui-button\n *ngIf=\"activeCameraConfig?.cameraConfig?.header?.title !== ''\"\n appearance=\"whiteblock\"\n [label]=\"activeCameraConfig?.cameraConfig?.header?.title\"\n shape=\"rounded\"\n size=\"s\"\n ></kwikui-button>\n </div>\n <div class=\"record-header-right\">\n <kwikui-button\n *ngIf=\"activeCameraConfig?.cameraConfig?.header?.isExpand\"\n id=\"kwikid-camera-header-enlarge-button\"\n appearance=\"whiteblock\"\n [icon]=\"\n isShowCameraFullscreen\n ? 'tuiIconMinimize2'\n : 'tuiIconMaximize2'\n \"\n shape=\"rounded\"\n size=\"s\"\n (click)=\"isShowCameraFullscreen = !isShowCameraFullscreen\"\n ></kwikui-button>\n </div>\n </div>\n <div class=\"record-header-row row-2\">\n <div\n id=\"blinking-dot-container\"\n [class.recording]=\"activeCameraRecordingState == 'RECORDING'\"\n [class.paused]=\"activeCameraRecordingState == 'PAUSED'\"\n [class.recorded]=\"\n activeCameraRecordingState == 'NONE' ||\n activeCameraRecordingState === 'RECORDED'\n \"\n >\n <div\n *ngIf=\"activeCameraRecordingState == 'RECORDING'\"\n class=\"dot recording blink\"\n >\n </div>\n <div\n *ngIf=\"activeCameraRecordingState === 'PAUSED'\"\n class=\"dot paused\"\n >\n </div>\n <div\n *ngIf=\"\n activeCameraRecordingState == 'NONE' ||\n activeCameraRecordingState === 'RECORDED'\n \"\n class=\"dot recorded\"\n >\n </div>\n <div>\n &nbsp;{{ activeCameraRecordingTime | formatTimer }}\n <ng-container\n *ngIf=\"\n activeCameraConfig?.cameraConfig?.others\n ?.maxRecordingTimeInSeconds\n \"\n >\n /\n {{\n activeCameraConfig?.cameraConfig?.others\n ?.maxRecordingTimeInSeconds | formatTimer\n }}\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </kwikid-camera>\n </div>\n</div>\n", styles: [".kwikid-form-container{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center}.kwikid-form.show{width:100%;height:100%;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch;scroll-behavior:smooth}.kwikid-form.show>*:not(:last-child){margin-bottom:1rem}.kwikid-form-buttons{width:100%;bottom:0px;padding:1rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}.kwikid-form-buttons>*:not(:last-child){margin-right:1rem}.kwikid-form-buttons *{flex-grow:1}#uf-form-fields-header-container{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:flex-start;padding:1rem 1rem 0}#uf-form-fields-header-container>*:not(:last-child){margin-bottom:.5rem}#uf-form-fields-header-container #uf-header-logo{width:-moz-fit-content;width:fit-content;height:50px}#uf-form-fields-header-container #uf-form-fields-header-main{display:flex;flex-direction:row;align-content:center;justify-content:flex-start;align-items:center;width:100%}#uf-form-fields-header-container #uf-form-fields-header-main>*:not(:last-child){margin-right:.25rem}#uf-form-fields-header-container #uf-form-fields-header-main #uf-form-fields-header-right{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:flex-start}#uf-form-fields-header-container #uf-form-fields-header-main #uf-form-fields-header-right>*{margin-bottom:.5rem}#uf-form-fields-header-container hr{width:100%}#uf-form-fields-title{color:#000;font-size:1.75em;font-weight:bold}#uf-form-fields-steps{color:var(--color-on-secondary-container);font-size:1rem}.title{border-left:.25rem solid var(--tui-primary);padding:.75rem;font-size:1.4em;font-weight:bold;background-color:var(--tui-secondary);display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center}.title>*:not(:last-child){margin-right:.5rem}.title:not(:first-child){margin-top:.5rem}.title.hidden{display:none}.large-wrapper{width:100%;height:60px}.large-wrapper:first-child{margin-bottom:auto}.large-wrapper:last-child{margin-top:auto}.kwikid-form-container-loading{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;padding:1rem}.kwikid-form-container-loading>* :not(:last-child){margin-bottom:1rem}#field-error-notification,#permission-error-notification{background-color:var(--tui-error-fill);color:#fff!important}#field-error-notification .t-top,#permission-error-notification .t-top{color:#fff!important}#field-error-notification .t-close,#permission-error-notification .t-close{color:#fff!important}.preview-container{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;align-content:center;height:calc(100vh - 3rem)}@media only screen and (min-width: 768px){.preview-container{height:calc(100vh - 10rem);width:calc(100vw - 10rem)}}.preview-container>*:not(:last-child){margin-bottom:1rem}.preview-container .preview-html{flex-grow:1}.preview-container .preview-iframe-content{height:100%;flex-grow:1}.preview-container .preview-iframe-content .preview-iframe{width:100%;height:100%}.preview-container .preview-unavailable{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:center;color:#fff;font-size:1.2rem;top:50%;left:50%;width:100%;height:100vh}.preview-container .preview-unavailable>*:not(:last-child){margin-bottom:1rem}#kwikid-camera-container{width:100%;height:100%;position:fixed;top:50%;left:50%;background-color:#0000008f;transform:translate(-50%,-50%);z-index:100}#kwikid-camera-container #kwikid-camera-wrapper{width:min(80%);height:max(85%);box-shadow:#0000008f 0 22px 70px 4px;overflow:hidden;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:1rem;background-color:#000;transition:5s linear ease}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container{display:flex;width:100%;max-width:100%;padding:0}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container .capture-header-left{flex:1;text-align:left}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container .capture-header-center{flex:1;width:100%;min-width:max-content;text-align:center;margin:auto}#kwikid-camera-container #kwikid-camera-wrapper .capture-header-container .capture-header-right{flex:1;text-align:right;display:flex;justify-content:flex-end;grid-gap:1rem;gap:1rem}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container{display:flex;width:100%;max-width:100%;padding:0;color:#fff;flex-direction:column;justify-content:flex-start;align-items:stretch}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:1rem}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1 .record-header-left{flex:1;display:flex;justify-content:flex-start;grid-gap:1rem;gap:1rem;text-align:left}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1 .record-header-center{flex:1;width:100%;min-width:max-content;text-align:center;margin:auto}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-1 .record-header-right{flex:1;text-align:right;display:flex;justify-content:flex-end;grid-gap:1rem;gap:1rem}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2{display:flex;flex-direction:row;justify-content:center;align-items:center}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;grid-gap:.25rem;gap:.25rem;padding:.35rem .6rem;width:-moz-fit-content;width:fit-content;border-radius:2rem;background-color:#f5f5f5}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container.recording{color:red;font-weight:bold}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container.paused{color:#525252;font-weight:bold}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container.recorded{color:#000;font-weight:bold}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot{display:inline-block;width:.75rem;height:.75rem;border-radius:100%}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.recording{background-color:red;box-shadow:0 0 5px -1px red}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.paused{background-color:#525252;box-shadow:0 0 5px -1px #000}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.recorded{background-color:#000;box-shadow:0 0 5px -1px #000}#kwikid-camera-container #kwikid-camera-wrapper .record-header-container .record-header-row.row-2 #blinking-dot-container .dot.blink{animation:blinker 1s cubic-bezier(.5,0,1,1) infinite alternate}@keyframes blinker{0%{opacity:1}to{opacity:0}}#kwikid-camera-container #kwikid-camera-wrapper.fullscreen{width:100%;height:100%;border-radius:0;transition:5s linear ease}@media only screen and (max-width: 600px){#kwikid-camera-container #kwikid-camera-wrapper{width:100%;height:100%;border-radius:0;transition:5s linear ease}#kwikid-camera-container #kwikid-camera-wrapper #kwikid-camera-header-enlarge-button{display:none}}\n", "::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: i3__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: i3__namespace.KwikUIMessagesComponent, selector: "kwikui-messages", inputs: ["id", "messages"] }, { type: i3__namespace.KwikUIInputComponent, selector: "kwikui-input", inputs: ["case", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "isShowLabelOutside", "label", "placeholder", "postfix", "prefix", "properties", "size", "type", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIInputCurrencyComponent, selector: "kwikui-input-currency", inputs: ["currencyType", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "validators", "value"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIInputEmailComponent, selector: "kwikui-input-email", inputs: ["case", "disabled", "domains", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIInputPasswordComponent, selector: "kwikui-input-password", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "isShowLabelOutside", "label", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUITextareaComponent, selector: "kwikui-textarea", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "isShowLabelOutside", "label", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUICheckboxComponent, selector: "kwikui-checkbox", inputs: ["contentAlign", "disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "placeholder", "properties", "size", "validators", "variant"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIInputNumberComponent, selector: "kwikui-input-number", inputs: ["decimal", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "isShowLabelOutside", "label", "max", "min", "placeholder", "postfix", "precision", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIInputDateComponent, selector: "kwikui-input-date", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "isShowLabelOutside", "label", "max", "maxCalculatedFromToday", "min", "minCalculatedFromToday", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIInputTimeComponent, selector: "kwikui-input-time", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "items", "invalid", "isShowLabelOutside", "label", "mode", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIInputPhoneComponent, selector: "kwikui-input-phone", inputs: ["countryCode", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "isShowLabelOutside", "label", "phoneMaskAfterCountryCode", "placeholder", "postfix", "prefix", "properties", "removeCountryCodeFromValue", "size", "validators"], outputs: ["getKeyValue"] }, { type: i5__namespace.TuiLabelComponent, selector: "label[tuiLabel]", inputs: ["tuiLabel", "context"] }, { type: i3__namespace.KwikUIInputRadioComponent, selector: "kwikui-input-radio", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "items", "label", "orientation", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIInputSelectComponent, selector: "kwikui-input-select", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "isShowLabelOutside", "label", "options", "placeholder", "properties", "searchable", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIInputSliderComponent, selector: "kwikui-input-slider", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "isShowLabelOutside", "label", "max", "min", "placeholder", "postfix", "prefix", "properties", "quantum", "size", "steps", "type", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIButtonApiCallComponent, selector: "kwikui-button-api-call", inputs: ["apiTimer", "apiStatus", "class", "disabled", "id", "label", "shape", "showLoader", "size", "styles"], outputs: ["onClick", "onApiTimerStop"] }, { type: i3__namespace.KwikUIButtonLiveLocationComponent, selector: "kwikui-button-live-location", inputs: ["liveLocationStatus", "class", "disabled", "id", "label", "shape", "showLoader", "size", "styles", "isShowLatLongCaptureTimestamp"], outputs: ["onClick", "onLocationPermission"] }, { type: i3__namespace.KwikUIInputOtpComponent, selector: "kwikui-input-otp", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "mask", "mode", "otpLength", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIInputAadhaarComponent, selector: "kwikui-input-aadhaar", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "label", "mask", "placeholder", "properties", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUIImageComponent, selector: "kwikui-image", inputs: ["altText", "class", "html", "id", "imageSrc", "imageType", "loadingType", "styles"], outputs: ["onClick"] }, { type: i3__namespace.KwikUIInputFilesComponent, selector: "kwikui-input-files", inputs: ["accept", "class", "disabled", "files", "formControl", "formControlName", "icon", "id", "label", "link", "maxFileSize", "multiple", "setFileTypesToForm", "showAddedFiles", "size", "styles", "validators", "variant", "showViewButton"], outputs: ["getKeyValue", "getRemovedFile", "getViewButtonClick"] }, { type: i4__namespace.KwikUIInputCameraComponent, selector: "kwikui-input-camera", inputs: ["buttonText", "disabled", "focus", "formControl", "formControlName", "icon", "id", "invalid", "mediaFiles", "properties", "showMediaFiles", "size", "type", "validators"], outputs: ["onClick", "getRemovedFile"] }, { type: i3__namespace.KwikUIStarRatingComponent, selector: "kwikui-star-rating", inputs: ["color", "disabled", "focus", "formControl", "formControlName", "icon", "iconMarked", "id", "invalid", "label", "max", "min", "placeholder", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUILoaderComponent, selector: "kwikui-loader" }, { type: i6__namespace.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "lines", "timestamp"], outputs: ["close"] }, { type: i5__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i7__namespace.TuiPreviewComponent, selector: "tui-preview", inputs: ["zoomable", "rotatable"] }, { type: i7__namespace.TuiPreviewTitleComponent, selector: "tui-preview-title" }, { type: i5__namespace.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i4__namespace.KwikIDCameraComponent, selector: "kwikid-camera", inputs: ["type", "config", "data", "image", "video"], outputs: ["getImage", "onClickSave", "getVideo"] }], directives: [{ type: i3__namespace$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3__namespace$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3__namespace$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3__namespace$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3__namespace$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3__namespace$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i6__namespace.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i6__namespace.TuiPushDirective, selector: "tui-push" }, { type: i7__namespace.TuiPreviewActionDirective, selector: "[tuiPreviewAction]" }], pipes: { "styleSanitizer": StyleSanitizerPipe, "kwikuiSafeHtml": i3__namespace.KwikUISafeHtmlPipe, "filterImageUrlOrBase64FromObject": FilterImageUrlOrBase64FromObjectPipe, "filterVideoUrlOrBase64FromObject": FilterVideoUrlOrBase64FromObjectPipe, "kwikuiSafeUrl": i3__namespace.KwikUISafeUrlPipe, "formatTimer": TimerPipe } });
9081
9382
  __decorate([
9082
9383
  kwikidToolkit.logMethod
9083
9384
  ], KwikIDFormViewComponent.prototype, "resetCamera", null);
@@ -9093,6 +9394,9 @@
9093
9394
  __decorate([
9094
9395
  kwikidToolkit.logMethod
9095
9396
  ], KwikIDFormViewComponent.prototype, "triggerLogs", null);
9397
+ __decorate([
9398
+ kwikidToolkit.logMethod
9399
+ ], KwikIDFormViewComponent.prototype, "syncApiStorageContext", null);
9096
9400
  __decorate([
9097
9401
  kwikidToolkit.logMethod
9098
9402
  ], KwikIDFormViewComponent.prototype, "initFormConfig", null);
@@ -9408,6 +9712,8 @@
9408
9712
  type: i0.Input
9409
9713
  }], stepConfig: [{
9410
9714
  type: i0.Input
9715
+ }], reduxData: [{
9716
+ type: i0.Input
9411
9717
  }], getLogs: [{
9412
9718
  type: i0.Output
9413
9719
  }], getUnsavedDataState: [{
@@ -9426,7 +9732,7 @@
9426
9732
  type: i0.Output
9427
9733
  }], onClickViewForms: [{
9428
9734
  type: i0.Output
9429
- }], resetCamera: [], ngOnInit: [], ngOnChanges: [], ngOnDestroy: [], triggerLogs: [], initFormConfig: [], setFormFieldsFromFormConfig: [], setFormFieldGroupsFromFormConfig: [], setFormDataFromAllFormsData: [], handleConnectedElementFieldGroupActions: [], handleConnectedElementFieldGroup: [], handleConnectedElementFieldActions: [], handleConnectedElementFields: [], handleConnectedElements: [], handleRemovedFile: [], handleViewButtonClick: [], handleGetKeyValueFile: [], handleOnClickGetRemovedMediaFile: [], handleOnClickInputCamera: [], setCameraMedia: [], handleGetCameraMedia: [], handleOnClickSaveCameraMedia: [], handleOnClickCameraBack: [], handleOnClickCameraClose: [], updateFiles: [], uploadFile: [], handleOnClickFormFieldButton: [], handleOnLocationPermission: [], handleOnClickLiveLocation: [], handleGetKeyValue: [], handleOnClickResetFormFields: [], handleFieldApiCall: [], handleApiCall: [], executeApiCall: [], isValidRequestHeadersAndBody: [], handleOnClickApiCall: [], handleOnClickGoBack: [], handleOnClickViewForms: [], handleOnClickSaveForm: [], handleOnApiTimerStop: [], handleOnScrollToField: [], toggleErrorNotification: [], togglePermissionErrorNotification: [], fieldHide: [], fieldGroupHide: [], fieldShow: [], fieldGroupShow: [], fieldDisable: [], fieldGroupDisable: [], fieldEnable: [], fieldGroupEnable: [], fieldReset: [], fieldGroupReset: [], fieldHideApiLoader: [], fieldShowApiLoader: [], setHtml: [], fieldErrorShow: [], fieldErrorHide: [], fieldMessageShow: [], fieldMessageHide: [], removeKeyFromObjectPath: [], setValue: [], setFieldDefaultValue: [], setApiStatus: [], setApiHeaderValue: [], setApiHeaderValidity: [], setApiBodyValue: [], setApiBodyValidity: [], setFieldValidity: [], setDropdownOptions: [], apiCall: [], fieldApiCall: [], fieldMultipleApiCalls: [], fieldMultipleApiCallsEnd: [], taskApiCall: [], taskMultipleApiCalls: [], taskMultipleApiCallsEnd: [], dialogShow: [], dialogHide: [], redirectToUrl: [], patchFieldControlValue: [], setFieldControlValue: [], patchFormGroup: [], isFieldValid: [], isFieldEnabled: [], getFormGroupRawValues: [], showPreview: [], showErrorPreview: [], showPopupForm: [], alertShow: [], takeActionOnFieldGroup: [], takeAction: [] } });
9735
+ }], resetCamera: [], ngOnInit: [], ngOnChanges: [], ngOnDestroy: [], triggerLogs: [], syncApiStorageContext: [], initFormConfig: [], setFormFieldsFromFormConfig: [], setFormFieldGroupsFromFormConfig: [], setFormDataFromAllFormsData: [], handleConnectedElementFieldGroupActions: [], handleConnectedElementFieldGroup: [], handleConnectedElementFieldActions: [], handleConnectedElementFields: [], handleConnectedElements: [], handleRemovedFile: [], handleViewButtonClick: [], handleGetKeyValueFile: [], handleOnClickGetRemovedMediaFile: [], handleOnClickInputCamera: [], setCameraMedia: [], handleGetCameraMedia: [], handleOnClickSaveCameraMedia: [], handleOnClickCameraBack: [], handleOnClickCameraClose: [], updateFiles: [], uploadFile: [], handleOnClickFormFieldButton: [], handleOnLocationPermission: [], handleOnClickLiveLocation: [], handleGetKeyValue: [], handleOnClickResetFormFields: [], handleFieldApiCall: [], handleApiCall: [], executeApiCall: [], isValidRequestHeadersAndBody: [], handleOnClickApiCall: [], handleOnClickGoBack: [], handleOnClickViewForms: [], handleOnClickSaveForm: [], handleOnApiTimerStop: [], handleOnScrollToField: [], toggleErrorNotification: [], togglePermissionErrorNotification: [], fieldHide: [], fieldGroupHide: [], fieldShow: [], fieldGroupShow: [], fieldDisable: [], fieldGroupDisable: [], fieldEnable: [], fieldGroupEnable: [], fieldReset: [], fieldGroupReset: [], fieldHideApiLoader: [], fieldShowApiLoader: [], setHtml: [], fieldErrorShow: [], fieldErrorHide: [], fieldMessageShow: [], fieldMessageHide: [], removeKeyFromObjectPath: [], setValue: [], setFieldDefaultValue: [], setApiStatus: [], setApiHeaderValue: [], setApiHeaderValidity: [], setApiBodyValue: [], setApiBodyValidity: [], setFieldValidity: [], setDropdownOptions: [], apiCall: [], fieldApiCall: [], fieldMultipleApiCalls: [], fieldMultipleApiCallsEnd: [], taskApiCall: [], taskMultipleApiCalls: [], taskMultipleApiCallsEnd: [], dialogShow: [], dialogHide: [], redirectToUrl: [], patchFieldControlValue: [], setFieldControlValue: [], patchFormGroup: [], isFieldValid: [], isFieldEnabled: [], getFormGroupRawValues: [], showPreview: [], showErrorPreview: [], showPopupForm: [], alertShow: [], takeActionOnFieldGroup: [], takeAction: [] } });
9430
9736
 
9431
9737
  /* eslint-disable no-unused-vars */
9432
9738
  var EFormType;
@@ -9469,6 +9775,7 @@
9469
9775
  this.stepConfig = {};
9470
9776
  this.activeFormConfig = {};
9471
9777
  this.formsList = [];
9778
+ this.reduxData = {};
9472
9779
  this.formsListCompleted = [];
9473
9780
  this.isMobileView = false;
9474
9781
  this.isUnsavedData = false;
@@ -9485,9 +9792,10 @@
9485
9792
  this.selectedForm = selectedForm;
9486
9793
  };
9487
9794
  KwikIDFormsListComponent.prototype.ngOnInit = function () {
9488
- var _a, _b;
9795
+ var _a, _b, _c;
9796
+ this.reduxData = (_a = this.reduxData) !== null && _a !== void 0 ? _a : {};
9489
9797
  this.loading = true;
9490
- this.setSelectedForm((_b = (_a = this.activeFormConfig) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : "");
9798
+ this.setSelectedForm((_c = (_b = this.activeFormConfig) === null || _b === void 0 ? void 0 : _b.key) !== null && _c !== void 0 ? _c : "");
9491
9799
  this.stepConfig = this.formatStepConfig(this.stepConfig);
9492
9800
  this.triggerLogs(ELogEventType$2.FORM__STEP_CONFIG_LOAD_SUCCESS, {});
9493
9801
  this.formsList = this.filterHiddenForms(this.formsList);
@@ -9498,7 +9806,7 @@
9498
9806
  this.loading = false;
9499
9807
  };
9500
9808
  KwikIDFormsListComponent.prototype.ngOnChanges = function (changes) {
9501
- var _a, _b;
9809
+ var _a, _b, _c;
9502
9810
  var verifyChange = function (key) {
9503
9811
  return kwikidToolkit.checkObjectKeyExists(changes, key) && !changes[key].firstChange;
9504
9812
  };
@@ -9506,7 +9814,7 @@
9506
9814
  this.showFormFields = changes.showFormFields.currentValue;
9507
9815
  }
9508
9816
  if (verifyChange("stepConfig")) {
9509
- this.stepConfig = changes.stepConfig.currentValue;
9817
+ this.stepConfig = this.formatStepConfig(changes.stepConfig.currentValue);
9510
9818
  }
9511
9819
  if (verifyChange("isUnsavedData")) {
9512
9820
  this.isUnsavedData = changes.isUnsavedData.currentValue;
@@ -9527,11 +9835,22 @@
9527
9835
  this.activeFormConfig = changes.activeFormConfig.currentValue;
9528
9836
  this.setSelectedForm((_b = (_a = this.activeFormConfig) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : "");
9529
9837
  }
9838
+ if (kwikidToolkit.checkObjectKeyExists(changes, "reduxData")) {
9839
+ this.reduxData = (_c = changes.reduxData.currentValue) !== null && _c !== void 0 ? _c : {};
9840
+ }
9841
+ if (kwikidToolkit.checkObjectKeyExists(changes, "userConfig")) {
9842
+ this.userConfig = changes.userConfig.currentValue;
9843
+ }
9530
9844
  };
9531
9845
  KwikIDFormsListComponent.prototype.triggerLogs = function (eventType, logs) {
9532
9846
  this.getLogs.emit(formatEventLogs$1(eventType, this.stepConfig, logs));
9533
9847
  };
9534
9848
  KwikIDFormsListComponent.prototype.formatStepConfig = function (stepConfig) {
9849
+ var _a;
9850
+ stepConfig =
9851
+ stepConfig && typeof stepConfig === "object"
9852
+ ? kwikidToolkit.getObjectDeepCopy(stepConfig)
9853
+ : stepConfig;
9535
9854
  var stepConfigProperties = {
9536
9855
  formListProperties: {
9537
9856
  footer: {
@@ -9553,7 +9872,7 @@
9553
9872
  stepConfig = kwikidToolkit.setValueToObjectPath(stepConfig, "props", stepConfigProperties);
9554
9873
  }
9555
9874
  stepConfig.props.formListProperties.footer.submitFormButton.label =
9556
- updateLanguage(stepConfig.props.formListProperties.footer.submitFormButton.label, getLanguage());
9875
+ updateLanguage(stepConfig.props.formListProperties.footer.submitFormButton.label, getLanguage((_a = this.reduxData) !== null && _a !== void 0 ? _a : {}, this.userConfig));
9557
9876
  return stepConfig;
9558
9877
  };
9559
9878
  KwikIDFormsListComponent.prototype.filterHiddenForms = function (formsList) {
@@ -9565,13 +9884,15 @@
9565
9884
  });
9566
9885
  };
9567
9886
  KwikIDFormsListComponent.prototype.setFormTitles = function (formsList) {
9887
+ var _this = this;
9568
9888
  return formsList
9569
9889
  .map(function (form) {
9890
+ var _a;
9570
9891
  if (form.type === EFormType.HTML) {
9571
9892
  return form; // No modification, just return
9572
9893
  }
9573
9894
  if (kwikidToolkit.checkObjectPathExists(form, "props.title")) {
9574
- form.props.title = updateLanguage(form.props.title, getLanguage());
9895
+ form.props.title = updateLanguage(form.props.title, getLanguage((_a = _this.reduxData) !== null && _a !== void 0 ? _a : {}, _this.userConfig));
9575
9896
  }
9576
9897
  return form; // Return the form regardless of modification
9577
9898
  })
@@ -9643,7 +9964,7 @@
9643
9964
  return KwikIDFormsListComponent;
9644
9965
  }());
9645
9966
  /** @nocollapse */ KwikIDFormsListComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDFormsListComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
9646
- /** @nocollapse */ KwikIDFormsListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: { showFormFields: "showFormFields", userConfig: "userConfig", stepConfig: "stepConfig", activeFormConfig: "activeFormConfig", formsList: "formsList", formsListCompleted: "formsListCompleted", isMobileView: "isMobileView", isUnsavedData: "isUnsavedData" }, outputs: { getLogs: "getLogs", onClickSetActiveForm: "onClickSetActiveForm", onClickHideFormsList: "onClickHideFormsList", onClickSubmitForms: "onClickSubmitForms" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div\n id=\"sidebar-container\"\n *ngIf=\"!loading\"\n>\n <div id=\"sidebar\">\n <div ngClass=\"kwikid-form-header\">\n <div id=\"uf-header\">\n <div id=\"uf-header-logo-container\">\n <img\n id=\"uf-header-logo\"\n src=\"{{ this.userConfig.theme.clientLogo }}\"\n [ngClass]=\"'large-icon'\"\n />\n </div>\n </div>\n <hr />\n </div>\n <div id=\"uf-progress\">\n <div id=\"uf-progress-steps\">\n {{ this.formsListCompleted.length }} / {{ this.formsListLength }} Steps\n Completed\n </div>\n <kwikui-progress-segmented\n [max]=\"this.formsListLength\"\n size=\"m\"\n [value]=\"this.formsListCompleted.length\"\n ></kwikui-progress-segmented>\n </div>\n <div id=\"uf-sections-container\">\n <ng-container *ngFor=\"let form of formsList; let i = index\">\n <ng-container [ngSwitch]=\"form.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'HTML'\">\n <div [innerHtml]=\"form.props.htmlContent | kwikuiSafeHtml\"></div>\n </ng-container>\n <!-- Type FORM -->\n <ng-container *ngSwitchCase=\"'FORM'\">\n <ng-container\n [ngTemplateOutlet]=\"FORM_BUTTON\"\n [ngTemplateOutletContext]=\"{\n form: form,\n activeFormConfig: activeFormConfig\n }\"\n >\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n <div id=\"submit-sidebar-btn-container\">\n <kwikui-button\n *ngIf=\"\n !stepConfig.props.formListProperties.footer.submitFormButton.hidden\n \"\n label=\"{{\n stepConfig.props.formListProperties.footer.submitFormButton.label\n }}\"\n type=\"submit\"\n styles=\"width: 100%\"\n (onClick)=\"handleOnSubmitForms($event)\"\n ></kwikui-button>\n </div>\n </div>\n</div>\n\n<ng-template\n #FORM_BUTTON\n let-form=\"form\"\n let-activeFormConfig=\"activeFormConfig\"\n>\n <div\n [class]=\"'uf-section-item'\"\n [class.completed]=\"form.status === 'completed' && !form.disabled\"\n [class.edit]=\"form.status === 'editable' && !form.disabled\"\n [class.locked]=\"form.status === 'locked' && form.disabled\"\n [class.active]=\"\n activeFormConfig !== undefined && form.key === activeFormConfig.key\n \"\n (click)=\"\n form.status === 'locked' && form.disabled\n ? undefined\n : handleOnClickSetActiveForm(form.key)\n \"\n >\n <div class=\"uf-form-section-card-title\">\n {{ form.props.title }}&nbsp;<span *ngIf=\"form?.required\">*</span>\n </div>\n <div class=\"uf-form-section-card-status\">\n <div\n *ngIf=\"form.status === 'completed' && !form.disabled\"\n class=\"uf-form-section-card-status-img completed\"\n >\n <tui-svg src=\"tuiIconCheckLarge\"></tui-svg>\n </div>\n <div\n *ngIf=\"form.status !== 'completed' && !form.disabled\"\n class=\"uf-form-section-card-status-img edit\"\n >\n <tui-svg src=\"tuiIconEdit\"></tui-svg>\n </div>\n <div\n *ngIf=\"form.status !== 'completed' && form.disabled\"\n class=\"uf-form-section-card-status-img locked\"\n >\n <tui-svg src=\"tuiIconLock\"></tui-svg>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: ["#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;cursor:pointer;box-shadow:0 1px 3px -1px var(--tui-base-05);border-radius:.5rem;background-color:var(--tui-base-02);position:relative}.uf-section-item>*:not(:last-child){margin-right:1rem}.uf-section-item:hover{box-shadow:0 1px 3px -1px var(--tui-base-08)}#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}#submit-sidebar-btn-container>*:not(:last-child){margin-right:1rem}#submit-sidebar-btn-container *{flex-grow:1}#uf-sections-container{display:flex;flex-direction:column;height:100%;padding:1rem;overflow-y:auto}#uf-sections-container>*:not(:last-child){margin-bottom:1rem}.uf-form-section-card{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;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-form-section-card>*:not(:last-child){margin-right:.5rem}.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-status{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-status .uf-form-section-card-status-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-status-img.completed{background-color:var(--tui-success-fill);padding:.25rem;border-radius:50%;color:#fff}.uf-form-section-card-status-img.edit{background-color:var(--tui-error-fill);padding:.25rem;border-radius:50%;color:#fff}.uf-form-section-card-status-img.locked{background-color:var(--tui-neutral-fill);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}#uf-progress>*:not(:last-child){margin-bottom:.5rem}#uf-progress-steps{font-size:1em;text-align:right;color:#3d3d3d}.uf-form-section-card-title{font-size:1em;font-weight:bold;color:#000}@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;padding:10px 20px;width:100%;max-width:calc(400px + 50vw + 2rem);margin:0 auto;height:70px;z-index:1}#uf-header>*:not(:last-child){margin-right:1rem}#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}#uf-header #uf-header-title-container>*:not(:last-child){margin-bottom:.5rem}#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", "::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: i3__namespace.KwikUIProgressSegmentedComponent, selector: "kwikui-progress-segmented", inputs: ["colors", "id", "max", "size", "value"] }, { type: i3__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: i5__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i3__namespace$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3__namespace$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3__namespace$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "kwikuiSafeHtml": i3__namespace.KwikUISafeHtmlPipe } });
9967
+ /** @nocollapse */ KwikIDFormsListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: { showFormFields: "showFormFields", userConfig: "userConfig", stepConfig: "stepConfig", activeFormConfig: "activeFormConfig", formsList: "formsList", reduxData: "reduxData", formsListCompleted: "formsListCompleted", isMobileView: "isMobileView", isUnsavedData: "isUnsavedData" }, outputs: { getLogs: "getLogs", onClickSetActiveForm: "onClickSetActiveForm", onClickHideFormsList: "onClickHideFormsList", onClickSubmitForms: "onClickSubmitForms" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div\n id=\"sidebar-container\"\n *ngIf=\"!loading\"\n>\n <div id=\"sidebar\">\n <div ngClass=\"kwikid-form-header\">\n <div id=\"uf-header\">\n <div id=\"uf-header-logo-container\">\n <img\n id=\"uf-header-logo\"\n src=\"{{ this.userConfig.theme.clientLogo }}\"\n [ngClass]=\"'large-icon'\"\n />\n </div>\n </div>\n <hr />\n </div>\n <div id=\"uf-progress\">\n <div id=\"uf-progress-steps\">\n {{ this.formsListCompleted.length }} / {{ this.formsListLength }} Steps\n Completed\n </div>\n <kwikui-progress-segmented\n [max]=\"this.formsListLength\"\n size=\"m\"\n [value]=\"this.formsListCompleted.length\"\n ></kwikui-progress-segmented>\n </div>\n <div id=\"uf-sections-container\">\n <ng-container *ngFor=\"let form of formsList; let i = index\">\n <ng-container [ngSwitch]=\"form.type\">\n <!-- HTML Content -->\n <ng-container *ngSwitchCase=\"'HTML'\">\n <div [innerHtml]=\"form.props.htmlContent | kwikuiSafeHtml\"></div>\n </ng-container>\n <!-- Type FORM -->\n <ng-container *ngSwitchCase=\"'FORM'\">\n <ng-container\n [ngTemplateOutlet]=\"FORM_BUTTON\"\n [ngTemplateOutletContext]=\"{\n form: form,\n activeFormConfig: activeFormConfig\n }\"\n >\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n <div id=\"submit-sidebar-btn-container\">\n <kwikui-button\n *ngIf=\"\n !stepConfig.props.formListProperties.footer.submitFormButton.hidden\n \"\n label=\"{{\n stepConfig.props.formListProperties.footer.submitFormButton.label\n }}\"\n type=\"submit\"\n styles=\"width: 100%\"\n (onClick)=\"handleOnSubmitForms($event)\"\n ></kwikui-button>\n </div>\n </div>\n</div>\n\n<ng-template\n #FORM_BUTTON\n let-form=\"form\"\n let-activeFormConfig=\"activeFormConfig\"\n>\n <div\n [class]=\"'uf-section-item'\"\n [class.completed]=\"form.status === 'completed' && !form.disabled\"\n [class.edit]=\"form.status === 'editable' && !form.disabled\"\n [class.locked]=\"form.status === 'locked' && form.disabled\"\n [class.active]=\"\n activeFormConfig !== undefined && form.key === activeFormConfig.key\n \"\n (click)=\"\n form.status === 'locked' && form.disabled\n ? undefined\n : handleOnClickSetActiveForm(form.key)\n \"\n >\n <div class=\"uf-form-section-card-title\">\n {{ form.props.title }}&nbsp;<span *ngIf=\"form?.required\">*</span>\n </div>\n <div class=\"uf-form-section-card-status\">\n <div\n *ngIf=\"form.status === 'completed' && !form.disabled\"\n class=\"uf-form-section-card-status-img completed\"\n >\n <tui-svg src=\"tuiIconCheckLarge\"></tui-svg>\n </div>\n <div\n *ngIf=\"form.status !== 'completed' && !form.disabled\"\n class=\"uf-form-section-card-status-img edit\"\n >\n <tui-svg src=\"tuiIconEdit\"></tui-svg>\n </div>\n <div\n *ngIf=\"form.status !== 'completed' && form.disabled\"\n class=\"uf-form-section-card-status-img locked\"\n >\n <tui-svg src=\"tuiIconLock\"></tui-svg>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: ["#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;cursor:pointer;box-shadow:0 1px 3px -1px var(--tui-base-05);border-radius:.5rem;background-color:var(--tui-base-02);position:relative}.uf-section-item>*:not(:last-child){margin-right:1rem}.uf-section-item:hover{box-shadow:0 1px 3px -1px var(--tui-base-08)}#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}#submit-sidebar-btn-container>*:not(:last-child){margin-right:1rem}#submit-sidebar-btn-container *{flex-grow:1}#uf-sections-container{display:flex;flex-direction:column;height:100%;padding:1rem;overflow-y:auto}#uf-sections-container>*:not(:last-child){margin-bottom:1rem}.uf-form-section-card{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;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-form-section-card>*:not(:last-child){margin-right:.5rem}.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-status{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-status .uf-form-section-card-status-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-status-img.completed{background-color:var(--tui-success-fill);padding:.25rem;border-radius:50%;color:#fff}.uf-form-section-card-status-img.edit{background-color:var(--tui-error-fill);padding:.25rem;border-radius:50%;color:#fff}.uf-form-section-card-status-img.locked{background-color:var(--tui-neutral-fill);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}#uf-progress>*:not(:last-child){margin-bottom:.5rem}#uf-progress-steps{font-size:1em;text-align:right;color:#3d3d3d}.uf-form-section-card-title{font-size:1em;font-weight:bold;color:#000}@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;padding:10px 20px;width:100%;max-width:calc(400px + 50vw + 2rem);margin:0 auto;height:70px;z-index:1}#uf-header>*:not(:last-child){margin-right:1rem}#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}#uf-header #uf-header-title-container>*:not(:last-child){margin-bottom:.5rem}#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", "::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: i3__namespace.KwikUIProgressSegmentedComponent, selector: "kwikui-progress-segmented", inputs: ["colors", "id", "max", "size", "value"] }, { type: i3__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: i5__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i3__namespace$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3__namespace$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3__namespace$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "kwikuiSafeHtml": i3__namespace.KwikUISafeHtmlPipe } });
9647
9968
  __decorate([
9648
9969
  kwikidToolkit.logMethod
9649
9970
  ], KwikIDFormsListComponent.prototype, "ngOnChanges", null);
@@ -9688,6 +10009,8 @@
9688
10009
  type: i0.Input
9689
10010
  }], formsList: [{
9690
10011
  type: i0.Input
10012
+ }], reduxData: [{
10013
+ type: i0.Input
9691
10014
  }], formsListCompleted: [{
9692
10015
  type: i0.Input
9693
10016
  }], isMobileView: [{
@@ -9747,6 +10070,7 @@
9747
10070
  this.formsData = {};
9748
10071
  this.extraData = {};
9749
10072
  this.activeFormData = {};
10073
+ this.reduxData = {};
9750
10074
  this.apiCallResponse = {};
9751
10075
  this.buttonClickResponse = {};
9752
10076
  this.onClickSubmit = new i0.EventEmitter();
@@ -9812,16 +10136,17 @@
9812
10136
  this.showErrorNotification = show;
9813
10137
  };
9814
10138
  KwikIDFormsRendererComponent.prototype.ngOnInit = function () {
9815
- var _a, _b, _c;
10139
+ var _a, _b, _c, _d, _e, _f;
10140
+ this.reduxData = (_a = this.reduxData) !== null && _a !== void 0 ? _a : {};
9816
10141
  this.toggleLoader(true);
9817
10142
  this.loading = true;
9818
- var formStepKey = (_c = (_b = (_a = this.stepConfig) === null || _a === void 0 ? void 0 : _a.form) === null || _b === void 0 ? void 0 : _b.key) !== null && _c !== void 0 ? _c : undefined;
10143
+ var formStepKey = (_f = (_d = (_c = (_b = this.stepConfig) === null || _b === void 0 ? void 0 : _b.form) === null || _c === void 0 ? void 0 : _c.key) !== null && _d !== void 0 ? _d : (_e = this.stepConfig) === null || _e === void 0 ? void 0 : _e.stepKey) !== null && _f !== void 0 ? _f : undefined;
9819
10144
  if (formStepKey !== undefined &&
9820
10145
  kwikidToolkit.checkObjectKeyExists(this.userConfig.userFormFields, formStepKey)) {
9821
- this.formsList = this.userConfig.userFormFields[formStepKey];
10146
+ this.formsList = kwikidToolkit.getObjectDeepCopy(this.userConfig.userFormFields[formStepKey]);
9822
10147
  }
9823
10148
  else if (Array.isArray(this.userConfig.userFormFields)) {
9824
- this.formsList = this.userConfig.userFormFields;
10149
+ this.formsList = kwikidToolkit.getObjectDeepCopy(this.userConfig.userFormFields);
9825
10150
  }
9826
10151
  else {
9827
10152
  throw new Error("userFormFields doesn't have a form defined with key: " + formStepKey);
@@ -9830,6 +10155,7 @@
9830
10155
  this.toggleLoader(false);
9831
10156
  };
9832
10157
  KwikIDFormsRendererComponent.prototype.ngOnChanges = function (changes) {
10158
+ var _a;
9833
10159
  var verifyChange = function (prop) {
9834
10160
  return kwikidToolkit.checkObjectKeyExists(changes, prop) && !changes[prop].firstChange;
9835
10161
  };
@@ -9856,6 +10182,9 @@
9856
10182
  this.buttonClickResponse = changes.buttonClickResponse.currentValue;
9857
10183
  this.toggleLoader(false);
9858
10184
  }
10185
+ if (kwikidToolkit.checkObjectKeyExists(changes, "reduxData")) {
10186
+ this.reduxData = (_a = changes.reduxData.currentValue) !== null && _a !== void 0 ? _a : {};
10187
+ }
9859
10188
  };
9860
10189
  KwikIDFormsRendererComponent.prototype.triggerLogs = function (eventType, logs) {
9861
10190
  this.getLogs.emit(formatEventLogs(eventType, this.stepConfig, logs));
@@ -9874,14 +10203,14 @@
9874
10203
  KwikIDFormsRendererComponent.prototype.fetchFormConfig = function (url) {
9875
10204
  return __awaiter(this, void 0, void 0, function () {
9876
10205
  var response, data;
9877
- return __generator(this, function (_o) {
9878
- switch (_o.label) {
10206
+ return __generator(this, function (_p) {
10207
+ switch (_p.label) {
9879
10208
  case 0: return [4 /*yield*/, fetch(url, { method: "GET" })];
9880
10209
  case 1:
9881
- response = _o.sent();
10210
+ response = _p.sent();
9882
10211
  return [4 /*yield*/, response.json()];
9883
10212
  case 2:
9884
- data = _o.sent();
10213
+ data = _p.sent();
9885
10214
  return [2 /*return*/, data];
9886
10215
  }
9887
10216
  });
@@ -9889,14 +10218,14 @@
9889
10218
  };
9890
10219
  KwikIDFormsRendererComponent.prototype.initializeForms = function (eventType) {
9891
10220
  return __awaiter(this, void 0, void 0, function () {
9892
- return __generator(this, function (_o) {
9893
- switch (_o.label) {
10221
+ return __generator(this, function (_p) {
10222
+ switch (_p.label) {
9894
10223
  case 0:
9895
10224
  this.toggleLoader(true);
9896
10225
  this.allFormsData = this.formsData;
9897
10226
  return [4 /*yield*/, this.updateFormsList()];
9898
10227
  case 1:
9899
- _o.sent();
10228
+ _p.sent();
9900
10229
  if (!(eventType === "ON_CHANGE" &&
9901
10230
  this.findFormsListLength(this.formsList) === 1)) return [3 /*break*/, 2];
9902
10231
  this.handleOnClickSubmitForms(null);
@@ -9908,22 +10237,22 @@
9908
10237
  if (!(this.activeFormConfig.type !== EFormType.HTML)) return [3 /*break*/, 4];
9909
10238
  return [4 /*yield*/, this.handleOnClickSetActiveForm(this.activeFormConfig.key, undefined)];
9910
10239
  case 3:
9911
- _o.sent();
9912
- _o.label = 4;
10240
+ _p.sent();
10241
+ _p.label = 4;
9913
10242
  case 4: return [3 /*break*/, 7];
9914
10243
  case 5: return [4 /*yield*/, this.handleOnClickSetActiveForm(this.activeFormConfig.key, undefined)];
9915
10244
  case 6:
9916
- _o.sent();
9917
- _o.label = 7;
10245
+ _p.sent();
10246
+ _p.label = 7;
9918
10247
  case 7: return [3 /*break*/, 9];
9919
10248
  case 8:
9920
10249
  this.showForm = false;
9921
10250
  this.showFormFields = false;
9922
- _o.label = 9;
10251
+ _p.label = 9;
9923
10252
  case 9:
9924
10253
  this.loading = false;
9925
10254
  this.toggleLoader(false);
9926
- _o.label = 10;
10255
+ _p.label = 10;
9927
10256
  case 10: return [2 /*return*/];
9928
10257
  }
9929
10258
  });
@@ -10011,7 +10340,7 @@
10011
10340
  * @returns any[]
10012
10341
  */
10013
10342
  KwikIDFormsRendererComponent.prototype.assignSequenceNoToForm = function (formsList) {
10014
- var e_1, _o;
10343
+ var e_1, _p;
10015
10344
  var sequenceNo = 1;
10016
10345
  try {
10017
10346
  for (var formsList_1 = __values(formsList), formsList_1_1 = formsList_1.next(); !formsList_1_1.done; formsList_1_1 = formsList_1.next()) {
@@ -10030,7 +10359,7 @@
10030
10359
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
10031
10360
  finally {
10032
10361
  try {
10033
- if (formsList_1_1 && !formsList_1_1.done && (_o = formsList_1.return)) _o.call(formsList_1);
10362
+ if (formsList_1_1 && !formsList_1_1.done && (_p = formsList_1.return)) _p.call(formsList_1);
10034
10363
  }
10035
10364
  finally { if (e_1) throw e_1.error; }
10036
10365
  }
@@ -10050,7 +10379,7 @@
10050
10379
  * @returns any[]
10051
10380
  */
10052
10381
  KwikIDFormsRendererComponent.prototype.markFormInFormsListAsCompleted = function (formsList, formsListCompleted) {
10053
- var e_2, _o;
10382
+ var e_2, _p;
10054
10383
  try {
10055
10384
  for (var formsList_2 = __values(formsList), formsList_2_1 = formsList_2.next(); !formsList_2_1.done; formsList_2_1 = formsList_2.next()) {
10056
10385
  var form = formsList_2_1.value;
@@ -10083,7 +10412,7 @@
10083
10412
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
10084
10413
  finally {
10085
10414
  try {
10086
- if (formsList_2_1 && !formsList_2_1.done && (_o = formsList_2.return)) _o.call(formsList_2);
10415
+ if (formsList_2_1 && !formsList_2_1.done && (_p = formsList_2.return)) _p.call(formsList_2);
10087
10416
  }
10088
10417
  finally { if (e_2) throw e_2.error; }
10089
10418
  }
@@ -10096,7 +10425,7 @@
10096
10425
  * @returns any[]
10097
10426
  */
10098
10427
  KwikIDFormsRendererComponent.prototype.markFormInFormsListAsDisabled = function (formsList, formsListCompleted) {
10099
- var e_3, _o;
10428
+ var e_3, _p;
10100
10429
  try {
10101
10430
  for (var formsList_3 = __values(formsList), formsList_3_1 = formsList_3.next(); !formsList_3_1.done; formsList_3_1 = formsList_3.next()) {
10102
10431
  var form = formsList_3_1.value;
@@ -10127,14 +10456,14 @@
10127
10456
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
10128
10457
  finally {
10129
10458
  try {
10130
- if (formsList_3_1 && !formsList_3_1.done && (_o = formsList_3.return)) _o.call(formsList_3);
10459
+ if (formsList_3_1 && !formsList_3_1.done && (_p = formsList_3.return)) _p.call(formsList_3);
10131
10460
  }
10132
10461
  finally { if (e_3) throw e_3.error; }
10133
10462
  }
10134
10463
  return formsList;
10135
10464
  };
10136
10465
  KwikIDFormsRendererComponent.prototype.filterAllFormsData = function (allFormsData, formsList) {
10137
- var e_4, _o, _p;
10466
+ var e_4, _p, _q;
10138
10467
  var currentUserFormAllFormsData = {};
10139
10468
  try {
10140
10469
  for (var formsList_4 = __values(formsList), formsList_4_1 = formsList_4.next(); !formsList_4_1.done; formsList_4_1 = formsList_4.next()) {
@@ -10143,7 +10472,7 @@
10143
10472
  !form.hidden &&
10144
10473
  form.type !== EFormType.HTML) {
10145
10474
  if (kwikidToolkit.checkObjectKeyExists(allFormsData, form.key)) {
10146
- currentUserFormAllFormsData = Object.assign(Object.assign({}, currentUserFormAllFormsData), (_p = {}, _p[form.key] = allFormsData[form.key], _p));
10475
+ currentUserFormAllFormsData = Object.assign(Object.assign({}, currentUserFormAllFormsData), (_q = {}, _q[form.key] = allFormsData[form.key], _q));
10147
10476
  }
10148
10477
  }
10149
10478
  }
@@ -10151,14 +10480,14 @@
10151
10480
  catch (e_4_1) { e_4 = { error: e_4_1 }; }
10152
10481
  finally {
10153
10482
  try {
10154
- if (formsList_4_1 && !formsList_4_1.done && (_o = formsList_4.return)) _o.call(formsList_4);
10483
+ if (formsList_4_1 && !formsList_4_1.done && (_p = formsList_4.return)) _p.call(formsList_4);
10155
10484
  }
10156
10485
  finally { if (e_4) throw e_4.error; }
10157
10486
  }
10158
10487
  return currentUserFormAllFormsData;
10159
10488
  };
10160
10489
  KwikIDFormsRendererComponent.prototype.checkIfFormsStatusCompleted = function (formsList, formsListCompleted) {
10161
- var e_5, _o;
10490
+ var e_5, _p;
10162
10491
  var allFormsCompleted = true;
10163
10492
  try {
10164
10493
  for (var formsList_5 = __values(formsList), formsList_5_1 = formsList_5.next(); !formsList_5_1.done; formsList_5_1 = formsList_5.next()) {
@@ -10176,7 +10505,7 @@
10176
10505
  catch (e_5_1) { e_5 = { error: e_5_1 }; }
10177
10506
  finally {
10178
10507
  try {
10179
- if (formsList_5_1 && !formsList_5_1.done && (_o = formsList_5.return)) _o.call(formsList_5);
10508
+ if (formsList_5_1 && !formsList_5_1.done && (_p = formsList_5.return)) _p.call(formsList_5);
10180
10509
  }
10181
10510
  finally { if (e_5) throw e_5.error; }
10182
10511
  }
@@ -10193,34 +10522,34 @@
10193
10522
  };
10194
10523
  KwikIDFormsRendererComponent.prototype.updateFormsList = function () {
10195
10524
  return __awaiter(this, void 0, void 0, function () {
10196
- var _o, _p, form, _q, triggers, rules, actions, rulesMapping, actions_1, actions_1_1, action, conditionEvaluation, actions_2, e_6_1, e_7_1, currentUserFormAllFormsData;
10197
- var e_7, _r, e_6, _s;
10198
- return __generator(this, function (_t) {
10199
- switch (_t.label) {
10525
+ var _p, _q, form, _r, triggers, rules, actions, rulesMapping, actions_1, actions_1_1, action, conditionEvaluation, actions_2, e_6_1, e_7_1, currentUserFormAllFormsData;
10526
+ var e_7, _s, e_6, _t;
10527
+ return __generator(this, function (_u) {
10528
+ switch (_u.label) {
10200
10529
  case 0:
10201
10530
  this.formsList = this.convertFormListConfig(this.formsList);
10202
- _t.label = 1;
10531
+ _u.label = 1;
10203
10532
  case 1:
10204
- _t.trys.push([1, 14, 15, 16]);
10205
- _o = __values(this.formsList), _p = _o.next();
10206
- _t.label = 2;
10533
+ _u.trys.push([1, 14, 15, 16]);
10534
+ _p = __values(this.formsList), _q = _p.next();
10535
+ _u.label = 2;
10207
10536
  case 2:
10208
- if (!!_p.done) return [3 /*break*/, 13];
10209
- form = _p.value;
10537
+ if (!!_q.done) return [3 /*break*/, 13];
10538
+ form = _q.value;
10210
10539
  if (!(kwikidToolkit.checkObjectKeyExists(form, "default") &&
10211
10540
  kwikidToolkit.isNotEmptyValue(form.default))) return [3 /*break*/, 11];
10212
- _q = form.default, triggers = _q.triggers, rules = _q.rules, actions = _q.actions;
10541
+ _r = form.default, triggers = _r.triggers, rules = _r.rules, actions = _r.actions;
10213
10542
  rulesMapping = new kwikidToolkit.Rule(rules, {
10214
10543
  USER_CONFIG: this.userConfig,
10215
10544
  FORMS_LIST: this.formsList,
10216
10545
  ALL_FORMS_DATA: this.allFormsData,
10217
10546
  EXTRA_DATA: this.extraData
10218
10547
  }).mapping();
10219
- _t.label = 3;
10548
+ _u.label = 3;
10220
10549
  case 3:
10221
- _t.trys.push([3, 8, 9, 10]);
10550
+ _u.trys.push([3, 8, 9, 10]);
10222
10551
  actions_1 = (e_6 = void 0, __values(actions)), actions_1_1 = actions_1.next();
10223
- _t.label = 4;
10552
+ _u.label = 4;
10224
10553
  case 4:
10225
10554
  if (!!actions_1_1.done) return [3 /*break*/, 7];
10226
10555
  action = actions_1_1.value;
@@ -10233,19 +10562,19 @@
10233
10562
  }, this.takeAction.bind(this));
10234
10563
  return [4 /*yield*/, actions_2.execute()];
10235
10564
  case 5:
10236
- _t.sent();
10237
- _t.label = 6;
10565
+ _u.sent();
10566
+ _u.label = 6;
10238
10567
  case 6:
10239
10568
  actions_1_1 = actions_1.next();
10240
10569
  return [3 /*break*/, 4];
10241
10570
  case 7: return [3 /*break*/, 10];
10242
10571
  case 8:
10243
- e_6_1 = _t.sent();
10572
+ e_6_1 = _u.sent();
10244
10573
  e_6 = { error: e_6_1 };
10245
10574
  return [3 /*break*/, 10];
10246
10575
  case 9:
10247
10576
  try {
10248
- if (actions_1_1 && !actions_1_1.done && (_s = actions_1.return)) _s.call(actions_1);
10577
+ if (actions_1_1 && !actions_1_1.done && (_t = actions_1.return)) _t.call(actions_1);
10249
10578
  }
10250
10579
  finally { if (e_6) throw e_6.error; }
10251
10580
  return [7 /*endfinally*/];
@@ -10254,18 +10583,18 @@
10254
10583
  if (!kwikidToolkit.checkObjectKeyExists(form, "hidden")) {
10255
10584
  form.hidden = false;
10256
10585
  }
10257
- _t.label = 12;
10586
+ _u.label = 12;
10258
10587
  case 12:
10259
- _p = _o.next();
10588
+ _q = _p.next();
10260
10589
  return [3 /*break*/, 2];
10261
10590
  case 13: return [3 /*break*/, 16];
10262
10591
  case 14:
10263
- e_7_1 = _t.sent();
10592
+ e_7_1 = _u.sent();
10264
10593
  e_7 = { error: e_7_1 };
10265
10594
  return [3 /*break*/, 16];
10266
10595
  case 15:
10267
10596
  try {
10268
- if (_p && !_p.done && (_r = _o.return)) _r.call(_o);
10597
+ if (_q && !_q.done && (_s = _p.return)) _s.call(_p);
10269
10598
  }
10270
10599
  finally { if (e_7) throw e_7.error; }
10271
10600
  return [7 /*endfinally*/];
@@ -10314,12 +10643,12 @@
10314
10643
  };
10315
10644
  KwikIDFormsRendererComponent.prototype.takeAction = function (action, object) {
10316
10645
  return __awaiter(this, void 0, void 0, function () {
10317
- var _o, sources, sourceValue;
10318
- return __generator(this, function (_p) {
10319
- switch (_p.label) {
10646
+ var _p, sources, sourceValue;
10647
+ return __generator(this, function (_q) {
10648
+ switch (_q.label) {
10320
10649
  case 0:
10321
- _o = action.key;
10322
- switch (_o) {
10650
+ _p = action.key;
10651
+ switch (_p) {
10323
10652
  case ERendererActionKey.FORM_HIDE: return [3 /*break*/, 1];
10324
10653
  case ERendererActionKey.FORM_SHOW: return [3 /*break*/, 2];
10325
10654
  case EActionKey.SET_VALUE: return [3 /*break*/, 3];
@@ -10339,7 +10668,7 @@
10339
10668
  });
10340
10669
  return [4 /*yield*/, sources.getValueFromSource(action.props.value.source)];
10341
10670
  case 4:
10342
- sourceValue = _p.sent();
10671
+ sourceValue = _q.sent();
10343
10672
  sources.setValueToSource(action.props.value.destination, sourceValue);
10344
10673
  this.userConfig = sources.object.USER_CONFIG;
10345
10674
  this.formsData = sources.object.ALL_FORMS_DATA;
@@ -10370,11 +10699,11 @@
10370
10699
  * @param selectedForm string
10371
10700
  */
10372
10701
  KwikIDFormsRendererComponent.prototype.handleOnClickSetActiveForm = function (selectedForm, triggerType) {
10373
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
10702
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
10374
10703
  return __awaiter(this, void 0, void 0, function () {
10375
10704
  var activeFormConfig, formConfig, formConfigFromUrl, url, formConfigFromPath, formConfigFromUrl, url, formConfigFromPath;
10376
- return __generator(this, function (_o) {
10377
- switch (_o.label) {
10705
+ return __generator(this, function (_p) {
10706
+ switch (_p.label) {
10378
10707
  case 0:
10379
10708
  this.showForm = false;
10380
10709
  this.toggleLoader(true);
@@ -10382,22 +10711,25 @@
10382
10711
  activeFormConfig = this.formsList.find(function (form) {
10383
10712
  return form.key === selectedForm;
10384
10713
  });
10385
- activeFormConfig = new Converter().updateFormConfigProperties(activeFormConfig);
10714
+ activeFormConfig = new Converter({
10715
+ reduxData: (_a = this.reduxData) !== null && _a !== void 0 ? _a : {},
10716
+ userConfig: this.userConfig
10717
+ }).updateFormConfigProperties(activeFormConfig);
10386
10718
  if (!kwikidToolkit.checkObjectKeyExists(activeFormConfig, "props")) return [3 /*break*/, 6];
10387
10719
  if (!kwikidToolkit.checkObjectKeyExists(activeFormConfig.props, "url")) return [3 /*break*/, 2];
10388
10720
  return [4 /*yield*/, this.fetchFormConfig(activeFormConfig.props.url)];
10389
10721
  case 1:
10390
- formConfigFromUrl = _o.sent();
10722
+ formConfigFromUrl = _p.sent();
10391
10723
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromUrl);
10392
10724
  return [3 /*break*/, 5];
10393
10725
  case 2:
10394
10726
  if (!(kwikidToolkit.checkObjectKeyExists(activeFormConfig.props, "path") &&
10395
10727
  kwikidToolkit.checkObjectKeyExists(this.userConfig, "backend") &&
10396
10728
  kwikidToolkit.checkObjectKeyExists(this.userConfig.backend, "CONFIG_BASE_URL"))) return [3 /*break*/, 4];
10397
- url = "" + ((_b = (_a = this.userConfig) === null || _a === void 0 ? void 0 : _a.backend) === null || _b === void 0 ? void 0 : _b.CONFIG_BASE_URL) + activeFormConfig.props.path;
10729
+ url = "" + ((_c = (_b = this.userConfig) === null || _b === void 0 ? void 0 : _b.backend) === null || _c === void 0 ? void 0 : _c.CONFIG_BASE_URL) + activeFormConfig.props.path;
10398
10730
  return [4 /*yield*/, this.fetchFormConfig(url)];
10399
10731
  case 3:
10400
- formConfigFromPath = _o.sent();
10732
+ formConfigFromPath = _p.sent();
10401
10733
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromPath);
10402
10734
  return [3 /*break*/, 5];
10403
10735
  case 4:
@@ -10413,23 +10745,23 @@
10413
10745
  else {
10414
10746
  console.error("No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!");
10415
10747
  }
10416
- _o.label = 5;
10748
+ _p.label = 5;
10417
10749
  case 5: return [3 /*break*/, 11];
10418
10750
  case 6:
10419
10751
  if (!kwikidToolkit.checkObjectKeyExists(activeFormConfig.formContent, "url")) return [3 /*break*/, 8];
10420
10752
  return [4 /*yield*/, this.fetchFormConfig(activeFormConfig.formContent.url)];
10421
10753
  case 7:
10422
- formConfigFromUrl = _o.sent();
10754
+ formConfigFromUrl = _p.sent();
10423
10755
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromUrl);
10424
10756
  return [3 /*break*/, 11];
10425
10757
  case 8:
10426
10758
  if (!(kwikidToolkit.checkObjectKeyExists(activeFormConfig.formContent, "path") &&
10427
10759
  kwikidToolkit.checkObjectKeyExists(this.userConfig, "backend") &&
10428
10760
  kwikidToolkit.checkObjectKeyExists(this.userConfig.backend, "CONFIG_BASE_URL"))) return [3 /*break*/, 10];
10429
- url = "" + ((_d = (_c = this.userConfig) === null || _c === void 0 ? void 0 : _c.backend) === null || _d === void 0 ? void 0 : _d.CONFIG_BASE_URL) + activeFormConfig.props.path;
10761
+ url = "" + ((_e = (_d = this.userConfig) === null || _d === void 0 ? void 0 : _d.backend) === null || _e === void 0 ? void 0 : _e.CONFIG_BASE_URL) + activeFormConfig.props.path;
10430
10762
  return [4 /*yield*/, this.fetchFormConfig(url)];
10431
10763
  case 9:
10432
- formConfigFromPath = _o.sent();
10764
+ formConfigFromPath = _p.sent();
10433
10765
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromPath);
10434
10766
  return [3 /*break*/, 11];
10435
10767
  case 10:
@@ -10439,7 +10771,7 @@
10439
10771
  else {
10440
10772
  console.error("No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!");
10441
10773
  }
10442
- _o.label = 11;
10774
+ _p.label = 11;
10443
10775
  case 11:
10444
10776
  formConfig = new Converter().updateFormConfigFromUserConfig(formConfig, this.userConfig);
10445
10777
  formConfig = new Converter().updateFormConfigMiscellaneous(formConfig, {
@@ -10450,13 +10782,13 @@
10450
10782
  case "BUTTON_CLICK":
10451
10783
  this.triggerLogs(ELogEventType.FORM__FORM_OPEN_BUTTON_CLICK, {
10452
10784
  form_key: this.activeFormConfig.key,
10453
- form_title: (_f = (_e = this.activeFormConfig) === null || _e === void 0 ? void 0 : _e.title) !== null && _f !== void 0 ? _f : (_h = (_g = this.activeFormConfig) === null || _g === void 0 ? void 0 : _g.props) === null || _h === void 0 ? void 0 : _h.title
10785
+ form_title: (_g = (_f = this.activeFormConfig) === null || _f === void 0 ? void 0 : _f.title) !== null && _g !== void 0 ? _g : (_j = (_h = this.activeFormConfig) === null || _h === void 0 ? void 0 : _h.props) === null || _j === void 0 ? void 0 : _j.title
10454
10786
  });
10455
10787
  break;
10456
10788
  default:
10457
10789
  this.triggerLogs(ELogEventType.FORM__FORM_OPEN_AUTO, {
10458
10790
  form_key: this.activeFormConfig.key,
10459
- form_title: (_k = (_j = this.activeFormConfig) === null || _j === void 0 ? void 0 : _j.title) !== null && _k !== void 0 ? _k : (_m = (_l = this.activeFormConfig) === null || _l === void 0 ? void 0 : _l.props) === null || _m === void 0 ? void 0 : _m.title
10791
+ form_title: (_l = (_k = this.activeFormConfig) === null || _k === void 0 ? void 0 : _k.title) !== null && _l !== void 0 ? _l : (_o = (_m = this.activeFormConfig) === null || _m === void 0 ? void 0 : _m.props) === null || _o === void 0 ? void 0 : _o.title
10460
10792
  });
10461
10793
  break;
10462
10794
  }
@@ -10492,12 +10824,12 @@
10492
10824
  this.onClickFormFieldButton.emit(e);
10493
10825
  };
10494
10826
  KwikIDFormsRendererComponent.prototype.handleOnActionShowPopupForm = function (e, content) {
10495
- var _o;
10827
+ var _p;
10496
10828
  var _this = this;
10497
10829
  var _a;
10498
10830
  if (kwikidToolkit.checkObjectKeyExists(e, "activeFormData") &&
10499
10831
  kwikidToolkit.checkObjectKeyExists(e, "popupFormConfig")) {
10500
- var popupFormData = (_o = {}, _o[this.activeFormConfig.key] = e.activeFormData, _o);
10832
+ var popupFormData = (_p = {}, _p[this.activeFormConfig.key] = e.activeFormData, _p);
10501
10833
  this.activePopupFormData = kwikidToolkit.mergeObjects(this.allFormsData, popupFormData);
10502
10834
  this.popupFormConfig = e.popupFormConfig;
10503
10835
  var popupType = (_a = e === null || e === void 0 ? void 0 : e.popupType) !== null && _a !== void 0 ? _a : "DIALOG";
@@ -10577,18 +10909,18 @@
10577
10909
  * @param e any
10578
10910
  */
10579
10911
  KwikIDFormsRendererComponent.prototype.handleOnClickSaveForm = function (e, eventType, context) {
10580
- var _o;
10912
+ var _p;
10581
10913
  switch (eventType) {
10582
10914
  case "FORM":
10583
10915
  this.isUnsavedData = false;
10584
10916
  this.toggleLoader(true);
10585
- this.getFormData.emit((_o = {},
10586
- _o[this.activeFormConfig.key] = {
10917
+ this.getFormData.emit((_p = {},
10918
+ _p[this.activeFormConfig.key] = {
10587
10919
  formConfig: e.formConfig,
10588
10920
  data: e.data,
10589
10921
  extendedData: e.extendedData
10590
10922
  },
10591
- _o));
10923
+ _p));
10592
10924
  break;
10593
10925
  case "POPUP_FORM":
10594
10926
  this.previewDialogRef.next(e);
@@ -10672,9 +11004,9 @@
10672
11004
  var _a, _b;
10673
11005
  return __awaiter(this, void 0, void 0, function () {
10674
11006
  var formsList, firstFormWithError, formsList_6, formsList_6_1, form;
10675
- var e_8, _o;
11007
+ var e_8, _p;
10676
11008
  var _this = this;
10677
- return __generator(this, function (_p) {
11009
+ return __generator(this, function (_q) {
10678
11010
  formsList = JSON.parse(JSON.stringify(this.formsList));
10679
11011
  firstFormWithError = "";
10680
11012
  try {
@@ -10698,7 +11030,7 @@
10698
11030
  catch (e_8_1) { e_8 = { error: e_8_1 }; }
10699
11031
  finally {
10700
11032
  try {
10701
- if (formsList_6_1 && !formsList_6_1.done && (_o = formsList_6.return)) _o.call(formsList_6);
11033
+ if (formsList_6_1 && !formsList_6_1.done && (_p = formsList_6.return)) _p.call(formsList_6);
10702
11034
  }
10703
11035
  finally { if (e_8) throw e_8.error; }
10704
11036
  }
@@ -10744,7 +11076,7 @@
10744
11076
  return KwikIDFormsRendererComponent;
10745
11077
  }());
10746
11078
  /** @nocollapse */ KwikIDFormsRendererComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDFormsRendererComponent, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }, { token: i7.TuiPreviewDialogService }, { token: i3__namespace.KwikUILoaderService }, { token: i5.TuiDialogService }], target: i0__namespace.ɵɵFactoryTarget.Component });
10747
- /** @nocollapse */ KwikIDFormsRendererComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormsRendererComponent, selector: "kwikid-forms-renderer", inputs: { stepConfig: "stepConfig", userConfig: "userConfig", formsData: "formsData", extraData: "extraData", activeFormData: "activeFormData", apiCallResponse: "apiCallResponse", buttonClickResponse: "buttonClickResponse" }, outputs: { onClickSubmit: "onClickSubmit", getFormData: "getFormData", onClickApiCall: "onClickApiCall", onClickViewFile: "onClickViewFile", getLogs: "getLogs", onClickFormFieldButton: "onClickFormFieldButton" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, viewQueries: [{ propertyName: "preview", first: true, predicate: ["preview"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div ngClass=\"kwikid-renderer\">\n <div\n ngClass=\"kwikid-layout-container\"\n *ngIf=\"!loading\"\n >\n <div\n ngClass=\"kwikid-sections-container\"\n *ngIf=\"showFormSections\"\n class=\"active\"\n [class.active]=\"showFormSections\"\n [class.mobile]=\"isMobileView\"\n >\n <kwikid-forms-list\n [showFormFields]=\"this.showFormFields\"\n [activeFormConfig]=\"this.activeFormConfig\"\n [userConfig]=\"this.userConfig\"\n [formsList]=\"this.formsList\"\n [stepConfig]=\"this.stepConfig\"\n [isUnsavedData]=\"this.isUnsavedData\"\n [formsListCompleted]=\"this.formsListCompleted\"\n [isMobileView]=\"this.isMobileView\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSetActiveForm)=\"\n this.handleOnClickSetActiveForm($event, 'BUTTON_CLICK')\n \"\n (onClickSubmitForms)=\"this.handleOnClickSubmitForms($event)\"\n ></kwikid-forms-list>\n </div>\n <div\n ngClass=\"kwikid-forms-container\"\n *ngIf=\"\n this.showForm &&\n this.showFormFields &&\n this.activeFormConfig !== undefined\n \"\n [class.active]=\"showFormFields\"\n [class.mobile]=\"isMobileView\"\n [@panelInOut]\n >\n <kwikid-form-view\n *ngIf=\"this.activeFormConfig.type === 'FORM'\"\n [formConfig]=\"this.activeFormConfig\"\n [allFormsData]=\"this.allFormsData\"\n [extraData]=\"extraData\"\n [isMobileView]=\"this.isMobileView\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [popupFormCallback]=\"this.popupFormCallback\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getUnsavedDataState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (onClickViewFile)=\"handleOnClickViewFile($event)\"\n (onActionShowPopupForm)=\"\n this.handleOnActionShowPopupForm($event, content)\n \"\n (onClickGoBack)=\"this.handleOnClickGoBack($event)\"\n (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'FORM', undefined)\n \"\n ></kwikid-form-view>\n </div>\n </div>\n</div>\n\n<kwikui-loader></kwikui-loader>\n\n<tui-push\n id=\"error-notification\"\n *tuiPush=\"showErrorNotification\"\n heading=\"Please complete the required Forms!\"\n type=\"Error\"\n (close)=\"toggleErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n<ng-template\n #preview\n let-preview\n>\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n class=\"preview-container\"\n *ngIf=\"popupFormConfig\"\n >\n <tui-preview-title *ngIf=\"previewProperties.title !== ''\">{{\n previewProperties.title\n }}</tui-preview-title>\n\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formData]=\"activePopupFormData\"\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"allFormsData\"\n [extraData]=\"extraData\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [isMobileView]=\"this.isMobileView\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getSavedState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'POPUP_FORM', undefined)\n \"\n ></kwikid-form-view>\n </div>\n\n <button\n tuiIconButton\n tuiPreviewAction\n icon=\"tuiIconCloseLarge\"\n title=\"Close\"\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n</ng-template>\n<ng-template\n #content\n let-context\n>\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formData]=\"activePopupFormData\"\n [formConfig]=\"popupFormConfig\"\n [extraData]=\"extraData\"\n [allFormsData]=\"allFormsData\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [isMobileView]=\"this.isMobileView\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getSavedState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'POPUP_FORM', context)\n \"\n ></kwikid-form-view>\n </div>\n</ng-template>\n", styles: [":host{position:relative;height:100%}.kwikid-root{width:100%;height:100%}.kwikid-renderer{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;width:100%;height:100%}.kwikid-layout-container{display:flex;flex-direction:row;padding:0 1rem;height:100%;justify-content:center;align-items:stretch;background:var(--tui-secondary-active);position:relative}.kwikid-sections-container{display:block;width:100%;max-width:400px;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);margin:auto 1rem auto 0;box-shadow:0 0 12px -8px var(--tui-secondary)}.kwikid-sections-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s;height:100%;border-radius:0;max-width:unset}.kwikid-forms-container{display:block;width:100%;max-width:min(50%,600px);margin:auto 0;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);box-shadow:0 0 12px -8px var(--tui-primary)}.kwikid-forms-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s;height:100%;border-radius:0;max-width:unset}@media screen and (max-width: 600px){.kwikid-layout-container{padding:0;background:transparent}.kwikid-sections-container{position:absolute;max-width:100%;bottom:-10000px;left:-10000px;opacity:0;padding:0;visibility:hidden}.kwikid-sections-container.active{visibility:visible}.kwikid-sections-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container{display:none;max-width:100%;height:100%;padding:0;border-radius:0;box-shadow:none}.kwikid-forms-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container.active{display:block}}#error-notification{background-color:var(--tui-error-fill);color:#fff!important}#error-notification .t-top{color:#fff!important}#error-notification .t-close{color:#fff!important}.preview-container{display:flex!important;flex-grow:1!important;flex-direction:column!important;align-content:center!important;justify-content:space-between!important;align-items:stretch!important}.preview-container .preview-iframe{width:100vw;height:100vh}.preview-container .preview-unavailable{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:center;color:#fff;font-size:1.2rem;top:50%;left:50%;width:100%;height:100vh}.preview-container .preview-unavailable>*:not(:last-child){margin-bottom:1rem}.kwikid-form-view-popup-container{border-radius:1rem;background:var(--tui-base-01)}\n", "::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: ["showFormFields", "userConfig", "stepConfig", "activeFormConfig", "formsList", "formsListCompleted", "isMobileView", "isUnsavedData"], outputs: ["getLogs", "onClickSetActiveForm", "onClickHideFormsList", "onClickSubmitForms"] }, { type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: ["allFormsData", "extraData", "apiCallResponse", "buttonClickResponse", "formConfig", "formData", "isMobileView", "popupFormCallback", "userConfig", "stepConfig"], outputs: ["getLogs", "getUnsavedDataState", "onActionShowPopupForm", "onClickApiCall", "onClickViewFile", "onClickFormFieldButton", "onClickGoBack", "onClickSaveForm", "onClickViewForms"] }, { type: i3__namespace.KwikUILoaderComponent, selector: "kwikui-loader" }, { type: i6__namespace.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "lines", "timestamp"], outputs: ["close"] }, { type: i5__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i7__namespace.TuiPreviewComponent, selector: "tui-preview", inputs: ["zoomable", "rotatable"] }, { type: i7__namespace.TuiPreviewTitleComponent, selector: "tui-preview-title" }, { type: i5__namespace.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i3__namespace$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i6__namespace.TuiPushDirective, selector: "tui-push" }, { type: i7__namespace.TuiPreviewActionDirective, selector: "[tuiPreviewAction]" }], animations: [
11079
+ /** @nocollapse */ KwikIDFormsRendererComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormsRendererComponent, selector: "kwikid-forms-renderer", inputs: { stepConfig: "stepConfig", userConfig: "userConfig", formsData: "formsData", extraData: "extraData", activeFormData: "activeFormData", reduxData: "reduxData", apiCallResponse: "apiCallResponse", buttonClickResponse: "buttonClickResponse" }, outputs: { onClickSubmit: "onClickSubmit", getFormData: "getFormData", onClickApiCall: "onClickApiCall", onClickViewFile: "onClickViewFile", getLogs: "getLogs", onClickFormFieldButton: "onClickFormFieldButton" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, viewQueries: [{ propertyName: "preview", first: true, predicate: ["preview"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div ngClass=\"kwikid-renderer\">\n <div\n ngClass=\"kwikid-layout-container\"\n *ngIf=\"!loading\"\n >\n <div\n ngClass=\"kwikid-sections-container\"\n *ngIf=\"showFormSections\"\n class=\"active\"\n [class.active]=\"showFormSections\"\n [class.mobile]=\"isMobileView\"\n >\n <kwikid-forms-list\n [showFormFields]=\"this.showFormFields\"\n [activeFormConfig]=\"this.activeFormConfig\"\n [userConfig]=\"this.userConfig\"\n [reduxData]=\"this.reduxData\"\n [formsList]=\"this.formsList\"\n [stepConfig]=\"this.stepConfig\"\n [isUnsavedData]=\"this.isUnsavedData\"\n [formsListCompleted]=\"this.formsListCompleted\"\n [isMobileView]=\"this.isMobileView\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSetActiveForm)=\"\n this.handleOnClickSetActiveForm($event, 'BUTTON_CLICK')\n \"\n (onClickSubmitForms)=\"this.handleOnClickSubmitForms($event)\"\n ></kwikid-forms-list>\n </div>\n <div\n ngClass=\"kwikid-forms-container\"\n *ngIf=\"\n this.showForm &&\n this.showFormFields &&\n this.activeFormConfig !== undefined\n \"\n [class.active]=\"showFormFields\"\n [class.mobile]=\"isMobileView\"\n [@panelInOut]\n >\n <kwikid-form-view\n *ngIf=\"this.activeFormConfig.type === 'FORM'\"\n [formConfig]=\"this.activeFormConfig\"\n [allFormsData]=\"this.allFormsData\"\n [extraData]=\"extraData\"\n [reduxData]=\"this.reduxData\"\n [isMobileView]=\"this.isMobileView\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [popupFormCallback]=\"this.popupFormCallback\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getUnsavedDataState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (onClickViewFile)=\"handleOnClickViewFile($event)\"\n (onActionShowPopupForm)=\"\n this.handleOnActionShowPopupForm($event, content)\n \"\n (onClickGoBack)=\"this.handleOnClickGoBack($event)\"\n (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'FORM', undefined)\n \"\n ></kwikid-form-view>\n </div>\n </div>\n</div>\n\n<kwikui-loader></kwikui-loader>\n\n<tui-push\n id=\"error-notification\"\n *tuiPush=\"showErrorNotification\"\n heading=\"Please complete the required Forms!\"\n type=\"Error\"\n (close)=\"toggleErrorNotification(false)\"\n>\n <tui-svg\n src=\"tuiIconXCircle\"\n style=\"color: #fff !important\"\n >\n </tui-svg>\n</tui-push>\n<ng-template\n #preview\n let-preview\n>\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n class=\"preview-container\"\n *ngIf=\"popupFormConfig\"\n >\n <tui-preview-title *ngIf=\"previewProperties.title !== ''\">{{\n previewProperties.title\n }}</tui-preview-title>\n\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formData]=\"activePopupFormData\"\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"allFormsData\"\n [extraData]=\"extraData\"\n [reduxData]=\"this.reduxData\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [isMobileView]=\"this.isMobileView\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getSavedState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'POPUP_FORM', undefined)\n \"\n ></kwikid-form-view>\n </div>\n\n <button\n tuiIconButton\n tuiPreviewAction\n icon=\"tuiIconCloseLarge\"\n title=\"Close\"\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n</ng-template>\n<ng-template\n #content\n let-context\n>\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formData]=\"activePopupFormData\"\n [formConfig]=\"popupFormConfig\"\n [extraData]=\"extraData\"\n [allFormsData]=\"allFormsData\"\n [reduxData]=\"this.reduxData\"\n [userConfig]=\"this.userConfig\"\n [stepConfig]=\"this.stepConfig\"\n [isMobileView]=\"this.isMobileView\"\n [apiCallResponse]=\"this.apiCallResponse\"\n [buttonClickResponse]=\"this.buttonClickResponse\"\n (onClickFormFieldButton)=\"handleOnClickFormFieldButton($event)\"\n (getSavedState)=\"handleGetUnsavedState($event)\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (getLogs)=\"handleGetLogs($event)\"\n (onClickSaveForm)=\"\n this.handleOnClickSaveForm($event, 'POPUP_FORM', context)\n \"\n ></kwikid-form-view>\n </div>\n</ng-template>\n", styles: [":host{position:relative;height:100%}.kwikid-root{width:100%;height:100%}.kwikid-renderer{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;width:100%;height:100%}.kwikid-layout-container{display:flex;flex-direction:row;padding:0 1rem;height:100%;justify-content:center;align-items:stretch;background:var(--tui-secondary-active);position:relative}.kwikid-sections-container{display:block;width:100%;max-width:400px;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);margin:auto 1rem auto 0;box-shadow:0 0 12px -8px var(--tui-secondary)}.kwikid-sections-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s;height:100%;border-radius:0;max-width:unset}.kwikid-forms-container{display:block;width:100%;max-width:min(50%,600px);margin:auto 0;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);box-shadow:0 0 12px -8px var(--tui-primary)}.kwikid-forms-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s;height:100%;border-radius:0;max-width:unset}@media screen and (max-width: 600px){.kwikid-layout-container{padding:0;background:transparent}.kwikid-sections-container{position:absolute;max-width:100%;bottom:-10000px;left:-10000px;opacity:0;padding:0;visibility:hidden}.kwikid-sections-container.active{visibility:visible}.kwikid-sections-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container{display:none;max-width:100%;height:100%;padding:0;border-radius:0;box-shadow:none}.kwikid-forms-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container.active{display:block}}#error-notification{background-color:var(--tui-error-fill);color:#fff!important}#error-notification .t-top{color:#fff!important}#error-notification .t-close{color:#fff!important}.preview-container{display:flex!important;flex-grow:1!important;flex-direction:column!important;align-content:center!important;justify-content:space-between!important;align-items:stretch!important}.preview-container .preview-iframe{width:100vw;height:100vh}.preview-container .preview-unavailable{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:center;color:#fff;font-size:1.2rem;top:50%;left:50%;width:100%;height:100vh}.preview-container .preview-unavailable>*:not(:last-child){margin-bottom:1rem}.kwikid-form-view-popup-container{border-radius:1rem;background:var(--tui-base-01)}\n", "::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: ["showFormFields", "userConfig", "stepConfig", "activeFormConfig", "formsList", "reduxData", "formsListCompleted", "isMobileView", "isUnsavedData"], outputs: ["getLogs", "onClickSetActiveForm", "onClickHideFormsList", "onClickSubmitForms"] }, { type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: ["allFormsData", "extraData", "apiCallResponse", "buttonClickResponse", "formConfig", "formData", "isMobileView", "popupFormCallback", "userConfig", "stepConfig", "reduxData"], outputs: ["getLogs", "getUnsavedDataState", "onActionShowPopupForm", "onClickApiCall", "onClickViewFile", "onClickFormFieldButton", "onClickGoBack", "onClickSaveForm", "onClickViewForms"] }, { type: i3__namespace.KwikUILoaderComponent, selector: "kwikui-loader" }, { type: i6__namespace.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "lines", "timestamp"], outputs: ["close"] }, { type: i5__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i7__namespace.TuiPreviewComponent, selector: "tui-preview", inputs: ["zoomable", "rotatable"] }, { type: i7__namespace.TuiPreviewTitleComponent, selector: "tui-preview-title" }, { type: i5__namespace.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i3__namespace$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.TuiPushAlertDirective, selector: "[tuiPush]", inputs: ["tuiPush"] }, { type: i6__namespace.TuiPushDirective, selector: "tui-push" }, { type: i7__namespace.TuiPreviewActionDirective, selector: "[tuiPreviewAction]" }], animations: [
10748
11080
  animations.trigger("panelInOut", [
10749
11081
  animations.transition(":enter", [
10750
11082
  animations.style({ transform: "translateY(100%)" }),
@@ -10869,6 +11201,8 @@
10869
11201
  type: i0.Input
10870
11202
  }], activeFormData: [{
10871
11203
  type: i0.Input
11204
+ }], reduxData: [{
11205
+ type: i0.Input
10872
11206
  }], apiCallResponse: [{
10873
11207
  type: i0.Input
10874
11208
  }], buttonClickResponse: [{