kwikid-forms 0.6.50 → 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.
Files changed (25) hide show
  1. package/bundles/kwikid-forms.umd.js +480 -136
  2. package/bundles/kwikid-forms.umd.js.map +1 -1
  3. package/esm2015/lib/builder/builder.component.js +19 -9
  4. package/esm2015/lib/renderer/config-converter/config-converter.constants.js +13 -3
  5. package/esm2015/lib/renderer/config-converter/config-converter.helper.js +6 -4
  6. package/esm2015/lib/renderer/config-converter/config-converter.js +14 -3
  7. package/esm2015/lib/renderer/form-view/definitions/form-view.fields.definition.js +1 -1
  8. package/esm2015/lib/renderer/form-view/form-view.api.service.js +13 -3
  9. package/esm2015/lib/renderer/form-view/form-view.component.js +76 -18
  10. package/esm2015/lib/renderer/forms-list/forms-list.component.js +25 -9
  11. package/esm2015/lib/renderer/helpers/forms-storage.helper.js +194 -0
  12. package/esm2015/lib/renderer/renderer.component.js +23 -12
  13. package/fesm2015/kwikid-forms.js +370 -52
  14. package/fesm2015/kwikid-forms.js.map +1 -1
  15. package/lib/builder/builder.component.d.ts +2 -1
  16. package/lib/renderer/config-converter/config-converter.constants.d.ts +10 -0
  17. package/lib/renderer/config-converter/config-converter.d.ts +7 -0
  18. package/lib/renderer/config-converter/config-converter.helper.d.ts +1 -1
  19. package/lib/renderer/form-view/definitions/form-view.fields.definition.d.ts +7 -0
  20. package/lib/renderer/form-view/form-view.api.service.d.ts +5 -0
  21. package/lib/renderer/form-view/form-view.component.d.ts +4 -1
  22. package/lib/renderer/forms-list/forms-list.component.d.ts +2 -1
  23. package/lib/renderer/helpers/forms-storage.helper.d.ts +46 -0
  24. package/lib/renderer/renderer.component.d.ts +2 -1
  25. package/package.json +9 -5
@@ -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")) {
@@ -746,6 +963,7 @@
746
963
  containerStyles: "",
747
964
  icon: "",
748
965
  iconRight: "",
966
+ isShowLabelOutside: false,
749
967
  loading: false,
750
968
  shape: null,
751
969
  size: "m",
@@ -772,6 +990,7 @@
772
990
  password: {
773
991
  containerStyles: "",
774
992
  hintContent: "",
993
+ isShowLabelOutside: false,
775
994
  postfix: "",
776
995
  prefix: ""
777
996
  },
@@ -782,6 +1001,7 @@
782
1001
  number: {
783
1002
  containerStyles: "",
784
1003
  decimal: "never",
1004
+ isShowLabelOutside: false,
785
1005
  max: Infinity,
786
1006
  min: -Infinity,
787
1007
  placeholder: "",
@@ -792,6 +1012,7 @@
792
1012
  phone: {
793
1013
  containerStyles: "",
794
1014
  countryCode: "+91",
1015
+ isShowLabelOutside: false,
795
1016
  phoneMaskAfterCountryCode: "####-######",
796
1017
  placeholder: "",
797
1018
  postfix: "",
@@ -805,7 +1026,8 @@
805
1026
  containerStyles: ""
806
1027
  },
807
1028
  textarea: {
808
- containerStyles: ""
1029
+ containerStyles: "",
1030
+ isShowLabelOutside: false,
809
1031
  },
810
1032
  title: {
811
1033
  containerStyles: ""
@@ -823,6 +1045,7 @@
823
1045
  },
824
1046
  date: {
825
1047
  containerStyles: "",
1048
+ isShowLabelOutside: false,
826
1049
  maxCalculatedFromToday: {
827
1050
  year: 0,
828
1051
  month: 0,
@@ -840,6 +1063,7 @@
840
1063
  time: {
841
1064
  containerStyles: "",
842
1065
  items: undefined,
1066
+ isShowLabelOutside: false,
843
1067
  mode: "HH:MM",
844
1068
  placeholder: "",
845
1069
  postfix: "",
@@ -852,6 +1076,7 @@
852
1076
  },
853
1077
  slider: {
854
1078
  containerStyles: "",
1079
+ isShowLabelOutside: false,
855
1080
  max: 100,
856
1081
  min: 0,
857
1082
  postfix: "",
@@ -976,11 +1201,13 @@
976
1201
  },
977
1202
  select: {
978
1203
  containerStyles: "",
1204
+ isShowLabelOutside: false,
979
1205
  searchable: true
980
1206
  },
981
1207
  "dropdown-with-search": {
982
1208
  searchable: true,
983
- containerStyles: ""
1209
+ containerStyles: "",
1210
+ isShowLabelOutside: false,
984
1211
  },
985
1212
  "star-rating": {
986
1213
  color: "var(--tui-primary)",
@@ -1426,14 +1653,22 @@
1426
1653
  }
1427
1654
  return object;
1428
1655
  };
1429
- var getLanguage = function () {
1430
- var _a, _b, _c, _d, _e, _f;
1431
- 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");
1432
1661
  };
1433
1662
 
1434
1663
  var Converter = /** @class */ (function () {
1435
- function Converter() {
1664
+ function Converter(context) {
1665
+ if (context === void 0) { context = {}; }
1666
+ this.context = context;
1436
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
+ };
1437
1672
  Converter.prototype.updateFormConfigMiscellaneous = function (formConfig, args) {
1438
1673
  if (kwikidToolkit.checkObjectKeyExists(args, "formsListLength")) {
1439
1674
  formConfig = kwikidToolkit.setValueToObjectPath(formConfig, "formsListLength", args.formsListLength);
@@ -1452,6 +1687,10 @@
1452
1687
  };
1453
1688
  Converter.prototype.updateFormConfigProperties = function (formConfig) {
1454
1689
  var _a, _b;
1690
+ formConfig =
1691
+ formConfig && typeof formConfig === "object"
1692
+ ? kwikidToolkit.getObjectDeepCopy(formConfig)
1693
+ : formConfig;
1455
1694
  var formViewProperties = {
1456
1695
  header: {
1457
1696
  logo: {
@@ -1499,7 +1738,7 @@
1499
1738
  else {
1500
1739
  formConfig.properties = formViewProperties;
1501
1740
  }
1502
- var language = getLanguage();
1741
+ var language = this.resolveLanguage();
1503
1742
  if (kwikidToolkit.checkObjectPathExists(formConfig, "properties.header.title.label")) {
1504
1743
  formConfig.properties.header.title.label = updateLanguage(formConfig.properties.header.title.label, language);
1505
1744
  }
@@ -2196,7 +2435,7 @@
2196
2435
  try {
2197
2436
  for (var fields_1 = __values(fields), fields_1_1 = fields_1.next(); !fields_1_1.done; fields_1_1 = fields_1.next()) {
2198
2437
  var field = fields_1_1.value;
2199
- field = updateFieldLanguage(field, getLanguage());
2438
+ field = updateFieldLanguage(field, this.resolveLanguage());
2200
2439
  field = formatOnFieldType(field);
2201
2440
  field = updateFieldDisability(field);
2202
2441
  field = updateFieldGroupKey(field);
@@ -3020,11 +3259,15 @@
3020
3259
  function KwikIDFormsBuilderComponent(loaderService) {
3021
3260
  this.loaderService = loaderService;
3022
3261
  this.userConfig = {};
3262
+ this.reduxData = {};
3023
3263
  this.formsList = [];
3024
3264
  this.activeFormConfig = undefined;
3025
3265
  }
3026
3266
  KwikIDFormsBuilderComponent.prototype.ngOnInit = function () {
3027
- 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);
3028
3271
  if (kwikidToolkit.isNotEmptyValue(formStepKey) &&
3029
3272
  kwikidToolkit.checkObjectKeyExists(this.userConfig.userFormFields, formStepKey)) {
3030
3273
  this.formsList = convertFormListConfig(this.userConfig.userFormFields[formStepKey]);
@@ -3039,14 +3282,14 @@
3039
3282
  KwikIDFormsBuilderComponent.prototype.fetchFormConfig = function (url) {
3040
3283
  return __awaiter(this, void 0, void 0, function () {
3041
3284
  var response, data;
3042
- return __generator(this, function (_e) {
3043
- switch (_e.label) {
3285
+ return __generator(this, function (_f) {
3286
+ switch (_f.label) {
3044
3287
  case 0: return [4 /*yield*/, fetch(url, { method: "GET" })];
3045
3288
  case 1:
3046
- response = _e.sent();
3289
+ response = _f.sent();
3047
3290
  return [4 /*yield*/, response.json()];
3048
3291
  case 2:
3049
- data = _e.sent();
3292
+ data = _f.sent();
3050
3293
  return [2 /*return*/, data];
3051
3294
  }
3052
3295
  });
@@ -3059,35 +3302,38 @@
3059
3302
  this.formsList = e.formsList;
3060
3303
  };
3061
3304
  KwikIDFormsBuilderComponent.prototype.handleOnClickSetActiveForm = function (selectedFormKey) {
3062
- var _a, _b, _c, _d;
3305
+ var _a, _b, _c, _d, _e;
3063
3306
  return __awaiter(this, void 0, void 0, function () {
3064
- var activeFormConfig, formConfig, formConfigFromUrl, url, formConfigFromPath, formConfigFromUrl, url, formConfigFromPath;
3065
- return __generator(this, function (_e) {
3066
- 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) {
3067
3310
  case 0:
3068
3311
  this.toggleLoader(true);
3069
3312
  activeFormConfig = this.formsList.find(function (form) {
3070
3313
  return form.key === selectedFormKey;
3071
3314
  });
3072
- if (!kwikidToolkit.getObjectFromLocalStorage(activeFormConfig.key)) return [3 /*break*/, 1];
3073
- 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;
3074
3320
  return [3 /*break*/, 14];
3075
3321
  case 1:
3076
3322
  if (!kwikidToolkit.checkObjectKeyExists(activeFormConfig, "props")) return [3 /*break*/, 7];
3077
3323
  if (!kwikidToolkit.checkObjectKeyExists(activeFormConfig.props, "url")) return [3 /*break*/, 3];
3078
3324
  return [4 /*yield*/, this.fetchFormConfig(activeFormConfig.props.url)];
3079
3325
  case 2:
3080
- formConfigFromUrl = _e.sent();
3326
+ formConfigFromUrl = _f.sent();
3081
3327
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromUrl);
3082
3328
  return [3 /*break*/, 6];
3083
3329
  case 3:
3084
3330
  if (!(kwikidToolkit.checkObjectKeyExists(activeFormConfig.props, "path") &&
3085
3331
  kwikidToolkit.checkObjectKeyExists(this.userConfig, "backend") &&
3086
3332
  kwikidToolkit.checkObjectKeyExists(this.userConfig.backend, "CONFIG_BASE_URL"))) return [3 /*break*/, 5];
3087
- 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;
3088
3334
  return [4 /*yield*/, this.fetchFormConfig(url)];
3089
3335
  case 4:
3090
- formConfigFromPath = _e.sent();
3336
+ formConfigFromPath = _f.sent();
3091
3337
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromPath);
3092
3338
  return [3 /*break*/, 6];
3093
3339
  case 5:
@@ -3097,24 +3343,24 @@
3097
3343
  else {
3098
3344
  console.error("No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!");
3099
3345
  }
3100
- _e.label = 6;
3346
+ _f.label = 6;
3101
3347
  case 6: return [3 /*break*/, 14];
3102
3348
  case 7:
3103
3349
  if (!kwikidToolkit.checkObjectKeyExists(activeFormConfig, "formContent")) return [3 /*break*/, 13];
3104
3350
  if (!kwikidToolkit.checkObjectKeyExists(activeFormConfig.formContent, "url")) return [3 /*break*/, 9];
3105
3351
  return [4 /*yield*/, this.fetchFormConfig(activeFormConfig.formContent.url)];
3106
3352
  case 8:
3107
- formConfigFromUrl = _e.sent();
3353
+ formConfigFromUrl = _f.sent();
3108
3354
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromUrl);
3109
3355
  return [3 /*break*/, 12];
3110
3356
  case 9:
3111
3357
  if (!(kwikidToolkit.checkObjectKeyExists(activeFormConfig.formContent, "path") &&
3112
3358
  kwikidToolkit.checkObjectKeyExists(this.userConfig, "backend") &&
3113
3359
  kwikidToolkit.checkObjectKeyExists(this.userConfig.backend, "CONFIG_BASE_URL"))) return [3 /*break*/, 11];
3114
- 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;
3115
3361
  return [4 /*yield*/, this.fetchFormConfig(url)];
3116
3362
  case 10:
3117
- formConfigFromPath = _e.sent();
3363
+ formConfigFromPath = _f.sent();
3118
3364
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromPath);
3119
3365
  return [3 /*break*/, 12];
3120
3366
  case 11:
@@ -3124,7 +3370,7 @@
3124
3370
  else {
3125
3371
  console.error("No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!");
3126
3372
  }
3127
- _e.label = 12;
3373
+ _f.label = 12;
3128
3374
  case 12: return [3 /*break*/, 14];
3129
3375
  case 13:
3130
3376
  if (kwikidToolkit.checkObjectKeyExists(activeFormConfig, "fields")) {
@@ -3133,7 +3379,7 @@
3133
3379
  else {
3134
3380
  console.error("No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!");
3135
3381
  }
3136
- _e.label = 14;
3382
+ _f.label = 14;
3137
3383
  case 14:
3138
3384
  this.activeFormConfig = Object.assign(Object.assign({}, activeFormConfig), formConfig);
3139
3385
  this.toggleLoader(false);
@@ -3168,7 +3414,7 @@
3168
3414
  return KwikIDFormsBuilderComponent;
3169
3415
  }());
3170
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 });
3171
- /** @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" }] });
3172
3418
  __decorate([
3173
3419
  kwikidToolkit.logMethod
3174
3420
  ], KwikIDFormsBuilderComponent.prototype, "fetchFormConfig", null);
@@ -3193,6 +3439,8 @@
3193
3439
  }]
3194
3440
  }], ctorParameters: function () { return [{ type: i3__namespace.KwikUILoaderService }]; }, propDecorators: { userConfig: [{
3195
3441
  type: i0.Input
3442
+ }], reduxData: [{
3443
+ type: i0.Input
3196
3444
  }], fetchFormConfig: [], handleGetFormsList: [], handleOnClickSetActiveForm: [], handleOnClickSaveActiveFormConfig: [], toggleLoader: [] } });
3197
3445
 
3198
3446
  /* eslint-disable no-unused-vars */
@@ -3355,7 +3603,18 @@
3355
3603
  var KwikIDFormViewApiService = /** @class */ (function () {
3356
3604
  function KwikIDFormViewApiService() {
3357
3605
  this.bytecode = [0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38];
3606
+ this.reduxData = {};
3607
+ this.userConfig = undefined;
3358
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
+ };
3359
3618
  // Function to derive logic from data
3360
3619
  KwikIDFormViewApiService.prototype.dataDerivativeLogic = function (data) {
3361
3620
  var e_1, _c;
@@ -3399,8 +3658,7 @@
3399
3658
  if (isVerifySignature) {
3400
3659
  headerData.headers.xrid = uuid.v4();
3401
3660
  }
3402
- // Retrieve session ID from local storage and add it to headers
3403
- var sessionId = localStorage.getItem("session_id");
3661
+ var sessionId = resolveFormsStorageString("session_id", this.reduxData, this.getStorageConfig());
3404
3662
  if (sessionId) {
3405
3663
  headerData.headers.ses = sessionId;
3406
3664
  }
@@ -5033,6 +5291,7 @@
5033
5291
  this.renderer = renderer;
5034
5292
  this.isMobileView = false;
5035
5293
  this.popupFormCallback = undefined;
5294
+ this.reduxData = {};
5036
5295
  this.getLogs = new i0.EventEmitter();
5037
5296
  this.getUnsavedDataState = new i0.EventEmitter();
5038
5297
  this.onActionShowPopupForm = new i0.EventEmitter();
@@ -5115,6 +5374,9 @@
5115
5374
  };
5116
5375
  KwikIDFormViewComponent.prototype.ngOnInit = function () {
5117
5376
  var _this = this;
5377
+ var _a;
5378
+ this.reduxData = (_a = this.reduxData) !== null && _a !== void 0 ? _a : {};
5379
+ this.syncApiStorageContext();
5118
5380
  (function () { return __awaiter(_this, void 0, void 0, function () {
5119
5381
  var res;
5120
5382
  var _this = this;
@@ -5146,19 +5408,24 @@
5146
5408
  KwikIDFormViewComponent.prototype.ngOnChanges = function (changes) {
5147
5409
  var _13, _14, _15, _16;
5148
5410
  var _this = this;
5149
- var _a, _b, _c, _d;
5411
+ var _a, _b, _c, _d, _e;
5150
5412
  var verifyChange = function (key) {
5151
5413
  return kwikidToolkit.checkObjectKeyExists(changes, key) && !changes[key].firstChange;
5152
5414
  };
5153
5415
  if (verifyChange("extraData")) {
5154
5416
  this.extraData = changes.extraData.currentValue;
5155
5417
  }
5156
- if (verifyChange("userConfig")) {
5418
+ if (kwikidToolkit.checkObjectKeyExists(changes, "userConfig")) {
5157
5419
  this.userConfig = changes.userConfig.currentValue;
5420
+ this.syncApiStorageContext();
5158
5421
  }
5159
5422
  if (verifyChange("stepConfig")) {
5160
5423
  this.stepConfig = changes.stepConfig.currentValue;
5161
5424
  }
5425
+ if (kwikidToolkit.checkObjectKeyExists(changes, "reduxData")) {
5426
+ this.reduxData = (_a = changes.reduxData.currentValue) !== null && _a !== void 0 ? _a : {};
5427
+ this.syncApiStorageContext();
5428
+ }
5162
5429
  if (verifyChange("formData")) {
5163
5430
  if (kwikidToolkit.checkObjectKeyExists(changes.formData.currentValue, "data") &&
5164
5431
  kwikidToolkit.checkObjectKeyExists(changes.formData.currentValue, "extendedData")) {
@@ -5195,7 +5462,7 @@
5195
5462
  if (verifyChange("apiCallResponse")) {
5196
5463
  this.apiCallResponse = changes.apiCallResponse.currentValue;
5197
5464
  var field_1 = getFormFieldByKey(this.formFields, this.apiCallResponse.key);
5198
- 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;
5199
5466
  switch (field_1.type) {
5200
5467
  case EFieldType.FILE:
5201
5468
  if (response) {
@@ -5209,7 +5476,7 @@
5209
5476
  this.updateFiles(updatedFile, "NORMAL", this.apiCallResponse.key);
5210
5477
  }
5211
5478
  else {
5212
- 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));
5213
5480
  this.triggerLogs(ELogEventType$1.FORM__API_RESPONSE_UPLOAD_FILE, {
5214
5481
  api_key: this.apiCallResponse.key,
5215
5482
  field_key: this.apiCallResponse.key,
@@ -5256,6 +5523,7 @@
5256
5523
  FIELD_CONFIG: field_1,
5257
5524
  FORM_FIELDS: this.formFields,
5258
5525
  FORM_DATA: this.formData,
5526
+ REDUX_DATA: this.reduxData,
5259
5527
  CAMERA_DATA: this.cameraData,
5260
5528
  TASK_DATA: this.taskData,
5261
5529
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5325,6 +5593,7 @@
5325
5593
  FIELD_CONFIG: field_1,
5326
5594
  FORM_FIELDS: this.formFields,
5327
5595
  FORM_DATA: this.formData,
5596
+ REDUX_DATA: this.reduxData,
5328
5597
  CAMERA_DATA: this.cameraData,
5329
5598
  TASK_DATA: this.taskData,
5330
5599
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5389,6 +5658,7 @@
5389
5658
  API_RESPONSE: response,
5390
5659
  FORM_FIELDS: this.formFields,
5391
5660
  FORM_DATA: this.formData,
5661
+ REDUX_DATA: this.reduxData,
5392
5662
  CAMERA_DATA: this.cameraData,
5393
5663
  TASK_DATA: this.taskData,
5394
5664
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5414,6 +5684,7 @@
5414
5684
  FIELD_CONFIG: field_1,
5415
5685
  FORM_FIELDS: this.formFields,
5416
5686
  FORM_DATA: this.formData,
5687
+ REDUX_DATA: this.reduxData,
5417
5688
  CAMERA_DATA: this.cameraData,
5418
5689
  TASK_DATA: this.taskData,
5419
5690
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5458,6 +5729,7 @@
5458
5729
  API_RESPONSE: {},
5459
5730
  FORM_FIELDS: this.formFields,
5460
5731
  FORM_DATA: this.formData,
5732
+ REDUX_DATA: this.reduxData,
5461
5733
  CAMERA_DATA: this.cameraData,
5462
5734
  TASK_DATA: this.taskData,
5463
5735
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5487,7 +5759,7 @@
5487
5759
  if (verifyChange("buttonClickResponse")) {
5488
5760
  this.buttonClickResponse = changes.buttonClickResponse.currentValue;
5489
5761
  if (kwikidToolkit.checkObjectKeyExists(this.buttonClickResponse, "key")) {
5490
- 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);
5491
5763
  if (kwikidToolkit.checkObjectKeyExists(this.buttonClickResponse, "default")) {
5492
5764
  field_2.default = kwikidToolkit.getObjectDeepCopy(this.buttonClickResponse.default);
5493
5765
  delete this.buttonClickResponse.default;
@@ -5508,6 +5780,7 @@
5508
5780
  FIELD_CONFIG: field_2,
5509
5781
  FORM_FIELDS: this.formFields,
5510
5782
  FORM_DATA: this.formData,
5783
+ REDUX_DATA: this.reduxData,
5511
5784
  CAMERA_DATA: this.cameraData,
5512
5785
  TASK_DATA: this.taskData,
5513
5786
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5556,16 +5829,28 @@
5556
5829
  KwikIDFormViewComponent.prototype.triggerLogs = function (eventType, logs) {
5557
5830
  this.getLogs.emit(formatEventLogs$2(eventType, this.stepConfig, this.formConfig, kwikidToolkit.getObjectDeepCopy(logs)));
5558
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
+ };
5559
5843
  KwikIDFormViewComponent.prototype.initFormConfig = function (formConfig) {
5560
5844
  return __awaiter(this, void 0, void 0, function () {
5561
- 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;
5562
5846
  var e_1, _20, e_3, _21, e_2, _22;
5563
5847
  var _this = this;
5564
5848
  return __generator(this, function (_23) {
5565
5849
  switch (_23.label) {
5566
5850
  case 0:
5567
- formConfig = new Converter().convertFormConfig(formConfig);
5568
- formConfig = new Converter().updateFormConfigProperties(formConfig);
5851
+ converter = this.createConverter();
5852
+ formConfig = converter.convertFormConfig(formConfig);
5853
+ formConfig = converter.updateFormConfigProperties(formConfig);
5569
5854
  this.setFormFieldsFromFormConfig(formConfig);
5570
5855
  this.setFormFieldGroupsFromFormConfig(formConfig);
5571
5856
  this.setFormDataFromAllFormsData();
@@ -5588,6 +5873,7 @@
5588
5873
  FORM_CONFIG: this.formConfig,
5589
5874
  FORM_FIELDS: this.formFields,
5590
5875
  FORM_DATA: this.formData,
5876
+ REDUX_DATA: this.reduxData,
5591
5877
  CAMERA_DATA: this.cameraData,
5592
5878
  TASK_DATA: this.taskData,
5593
5879
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5645,6 +5931,7 @@
5645
5931
  return [4 /*yield*/, this.formViewService.createFormGroup(this.formFields, {
5646
5932
  FORM_CONFIG: this.formConfig,
5647
5933
  FORM_DATA: this.formData,
5934
+ REDUX_DATA: this.reduxData,
5648
5935
  CAMERA_DATA: this.cameraData,
5649
5936
  TASK_DATA: this.taskData,
5650
5937
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5731,6 +6018,7 @@
5731
6018
  FIELD_CONFIG: field,
5732
6019
  FORM_FIELDS: this.formFields,
5733
6020
  FORM_DATA: this.formData,
6021
+ REDUX_DATA: this.reduxData,
5734
6022
  CAMERA_DATA: this.cameraData,
5735
6023
  TASK_DATA: this.taskData,
5736
6024
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5806,6 +6094,7 @@
5806
6094
  rulesMapping = new kwikidToolkit.Rule(childFieldGroupConfig.rules, {
5807
6095
  FIELD_CONFIG: parentField,
5808
6096
  FORM_DATA: this.formData,
6097
+ REDUX_DATA: this.reduxData,
5809
6098
  CAMERA_DATA: this.cameraData,
5810
6099
  TASK_DATA: this.taskData,
5811
6100
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5826,6 +6115,7 @@
5826
6115
  FIELD_CONFIG: parentField,
5827
6116
  FORM_FIELDS: this.formFields,
5828
6117
  FORM_DATA: this.formData,
6118
+ REDUX_DATA: this.reduxData,
5829
6119
  CAMERA_DATA: this.cameraData,
5830
6120
  TASK_DATA: this.taskData,
5831
6121
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5882,6 +6172,7 @@
5882
6172
  rulesMapping = new kwikidToolkit.Rule(connectedFieldConfig.rules, {
5883
6173
  FIELD_CONFIG: connectedField,
5884
6174
  FORM_DATA: this.formData,
6175
+ REDUX_DATA: this.reduxData,
5885
6176
  CAMERA_DATA: this.cameraData,
5886
6177
  TASK_DATA: this.taskData,
5887
6178
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -5902,6 +6193,7 @@
5902
6193
  FORM_FIELDS: this.formFields,
5903
6194
  FIELD_CONFIG: connectedField,
5904
6195
  FORM_DATA: this.formData,
6196
+ REDUX_DATA: this.reduxData,
5905
6197
  CAMERA_DATA: this.cameraData,
5906
6198
  TASK_DATA: this.taskData,
5907
6199
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -6181,6 +6473,7 @@
6181
6473
  FIELD_CONFIG: field_3,
6182
6474
  FORM_FIELDS: this.formFields,
6183
6475
  FORM_DATA: this.formData,
6476
+ REDUX_DATA: this.reduxData,
6184
6477
  CAMERA_DATA: this.cameraData,
6185
6478
  TASK_DATA: this.taskData,
6186
6479
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -6248,6 +6541,7 @@
6248
6541
  FORM_FIELDS: this.formFields,
6249
6542
  FIELD_CONFIG: field,
6250
6543
  FORM_DATA: this.formData,
6544
+ REDUX_DATA: this.reduxData,
6251
6545
  CAMERA_DATA: this.cameraData,
6252
6546
  TASK_DATA: this.taskData,
6253
6547
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -6338,6 +6632,7 @@
6338
6632
  FIELD_CONFIG: field,
6339
6633
  FORM_FIELDS: this.formFields,
6340
6634
  FORM_DATA: this.formData,
6635
+ REDUX_DATA: this.reduxData,
6341
6636
  CAMERA_DATA: this.cameraData,
6342
6637
  TASK_DATA: this.taskData,
6343
6638
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -6538,6 +6833,7 @@
6538
6833
  FIELD_CONFIG: field,
6539
6834
  FORM_FIELDS: this.formFields,
6540
6835
  FORM_DATA: this.formData,
6836
+ REDUX_DATA: this.reduxData,
6541
6837
  CAMERA_DATA: this.cameraData,
6542
6838
  TASK_DATA: this.taskData,
6543
6839
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -6640,6 +6936,7 @@
6640
6936
  FIELD_CONFIG: field,
6641
6937
  FORM_FIELDS: this.formFields,
6642
6938
  FORM_DATA: this.formData,
6939
+ REDUX_DATA: this.reduxData,
6643
6940
  CAMERA_DATA: this.cameraData,
6644
6941
  TASK_DATA: this.taskData,
6645
6942
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -6691,6 +6988,7 @@
6691
6988
  FIELD_CONFIG: field,
6692
6989
  FORM_FIELDS: this.formFields,
6693
6990
  FORM_DATA: this.formData,
6991
+ REDUX_DATA: this.reduxData,
6694
6992
  CAMERA_DATA: this.cameraData,
6695
6993
  TASK_DATA: this.taskData,
6696
6994
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -6913,6 +7211,7 @@
6913
7211
  FIELD_CONFIG: field,
6914
7212
  FORM_FIELDS: this.formFields,
6915
7213
  FORM_DATA: this.formData,
7214
+ REDUX_DATA: this.reduxData,
6916
7215
  CAMERA_DATA: this.cameraData,
6917
7216
  TASK_DATA: this.taskData,
6918
7217
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -6961,6 +7260,7 @@
6961
7260
  FIELD_CONFIG: field,
6962
7261
  FORM_FIELDS: this.formFields,
6963
7262
  FORM_DATA: this.formData,
7263
+ REDUX_DATA: this.reduxData,
6964
7264
  CAMERA_DATA: this.cameraData,
6965
7265
  TASK_DATA: this.taskData,
6966
7266
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -7023,6 +7323,7 @@
7023
7323
  FIELD_CONFIG: resetField,
7024
7324
  FORM_FIELDS: this.formFields,
7025
7325
  FORM_DATA: this.formData,
7326
+ REDUX_DATA: this.reduxData,
7026
7327
  CAMERA_DATA: this.cameraData,
7027
7328
  TASK_DATA: this.taskData,
7028
7329
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -7092,6 +7393,7 @@
7092
7393
  FIELD_CONFIG: resetField,
7093
7394
  FORM_FIELDS: this.formFields,
7094
7395
  FORM_DATA: this.formData,
7396
+ REDUX_DATA: this.reduxData,
7095
7397
  CAMERA_DATA: this.cameraData,
7096
7398
  TASK_DATA: this.taskData,
7097
7399
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -7173,6 +7475,7 @@
7173
7475
  API_CONFIG: api,
7174
7476
  FORM_FIELDS: this.formFields,
7175
7477
  FORM_DATA: this.formData,
7478
+ REDUX_DATA: this.reduxData,
7176
7479
  CAMERA_DATA: this.cameraData,
7177
7480
  TASK_DATA: this.taskData,
7178
7481
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -7194,6 +7497,7 @@
7194
7497
  API_RESPONSE: api.response,
7195
7498
  FORM_FIELDS: this.formFields,
7196
7499
  FORM_DATA: this.formData,
7500
+ REDUX_DATA: this.reduxData,
7197
7501
  CAMERA_DATA: this.cameraData,
7198
7502
  TASK_DATA: this.taskData,
7199
7503
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -7225,6 +7529,7 @@
7225
7529
  API_CONFIG: api,
7226
7530
  FORM_FIELDS: this.formFields,
7227
7531
  FORM_DATA: this.formData,
7532
+ REDUX_DATA: this.reduxData,
7228
7533
  CAMERA_DATA: this.cameraData,
7229
7534
  TASK_DATA: this.taskData,
7230
7535
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -7238,6 +7543,7 @@
7238
7543
  API_CONFIG: api,
7239
7544
  FORM_FIELDS: this.formFields,
7240
7545
  FORM_DATA: this.formData,
7546
+ REDUX_DATA: this.reduxData,
7241
7547
  CAMERA_DATA: this.cameraData,
7242
7548
  TASK_DATA: this.taskData,
7243
7549
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -7420,6 +7726,7 @@
7420
7726
  API_CONFIG: {},
7421
7727
  FORM_FIELDS: this.formFields,
7422
7728
  FORM_DATA: this.formData,
7729
+ REDUX_DATA: this.reduxData,
7423
7730
  CAMERA_DATA: this.cameraData,
7424
7731
  TASK_DATA: this.taskData,
7425
7732
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -7540,6 +7847,7 @@
7540
7847
  FIELD_CONFIG: field,
7541
7848
  FORM_FIELDS: this.formFields,
7542
7849
  FORM_DATA: this.formData,
7850
+ REDUX_DATA: this.reduxData,
7543
7851
  CAMERA_DATA: this.cameraData,
7544
7852
  TASK_DATA: this.taskData,
7545
7853
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -7630,6 +7938,7 @@
7630
7938
  FORM_CONFIG: this.formConfig,
7631
7939
  FORM_FIELDS: this.formFields,
7632
7940
  FORM_DATA: this.formData,
7941
+ REDUX_DATA: this.reduxData,
7633
7942
  CAMERA_DATA: this.cameraData,
7634
7943
  TASK_DATA: this.taskData,
7635
7944
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -8077,6 +8386,7 @@
8077
8386
  FIELD_CONFIG: field,
8078
8387
  FORM_FIELDS: this.formFields,
8079
8388
  FORM_DATA: this.formData,
8389
+ REDUX_DATA: this.reduxData,
8080
8390
  CAMERA_DATA: this.cameraData,
8081
8391
  TASK_DATA: this.taskData,
8082
8392
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -8488,6 +8798,7 @@
8488
8798
  API_CONFIG: multipleApiConfig,
8489
8799
  FORM_FIELDS: this.formFields,
8490
8800
  FORM_DATA: this.formData,
8801
+ REDUX_DATA: this.reduxData,
8491
8802
  CAMERA_DATA: this.cameraData,
8492
8803
  TASK_DATA: this.taskData,
8493
8804
  PREVIOUS_FORM_DATA: this.previousFormData,
@@ -8772,7 +9083,7 @@
8772
9083
  });
8773
9084
  };
8774
9085
  KwikIDFormViewComponent.prototype.takeAction = function (action, object) {
8775
- var _a, _b, _c, _d, _e, _f;
9086
+ var _a, _b, _c, _d, _e, _f, _g, _h;
8776
9087
  return __awaiter(this, void 0, void 0, function () {
8777
9088
  var _13, fieldErrorShowSource, fieldErrorShowSourceValue, fieldErrorHideSource, fieldErrorHideSourceValue, redirectToUrlSource, redirectToUrlSourceValue, previewErrorShowSource, previewErrorShowSourceValue, fieldHtmlMessageSource, fieldHtmlMessageSourceValue;
8778
9089
  return __generator(this, function (_14) {
@@ -8864,7 +9175,7 @@
8864
9175
  action = kwikidToolkit.setValueToObjectPath(action, "props.message.message", fieldErrorShowSourceValue);
8865
9176
  _14.label = 10;
8866
9177
  case 10:
8867
- 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));
8868
9179
  this.fieldErrorShow(action.props.fieldKey, action.props.message);
8869
9180
  return [3 /*break*/, 75];
8870
9181
  case 11:
@@ -9002,7 +9313,7 @@
9002
9313
  this.showErrorPreview(action.props);
9003
9314
  return [3 /*break*/, 75];
9004
9315
  case 60:
9005
- 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");
9006
9317
  return [3 /*break*/, 75];
9007
9318
  case 61:
9008
9319
  this.waitingForChanges = false;
@@ -9024,10 +9335,10 @@
9024
9335
  return [3 /*break*/, 75];
9025
9336
  case 67:
9026
9337
  this.dialogShow({
9027
- html: (_c = action.props) === null || _c === void 0 ? void 0 : _c.html,
9028
- label: (_d = action.props) === null || _d === void 0 ? void 0 : _d.label,
9029
- size: (_e = action.props) === null || _e === void 0 ? void 0 : _e.size,
9030
- 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
9031
9342
  });
9032
9343
  return [3 /*break*/, 75];
9033
9344
  case 68:
@@ -9055,7 +9366,7 @@
9055
9366
  action = kwikidToolkit.setValueToObjectPath(action, "props.message.message", fieldHtmlMessageSourceValue);
9056
9367
  _14.label = 73;
9057
9368
  case 73:
9058
- 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));
9059
9370
  this.setHtml(action.props.fieldKey, action.props.message);
9060
9371
  return [3 /*break*/, 75];
9061
9372
  case 74: return [3 /*break*/, 75];
@@ -9067,7 +9378,7 @@
9067
9378
  return KwikIDFormViewComponent;
9068
9379
  }());
9069
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 });
9070
- /** @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 [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 [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 [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 [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 [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 [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 [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 [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", "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", "label", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i3__namespace.KwikUITextareaComponent, selector: "kwikui-textarea", inputs: ["disabled", "focus", "formControl", "formControlName", "id", "invalid", "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", "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", "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", "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", "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", "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", "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 } });
9071
9382
  __decorate([
9072
9383
  kwikidToolkit.logMethod
9073
9384
  ], KwikIDFormViewComponent.prototype, "resetCamera", null);
@@ -9083,6 +9394,9 @@
9083
9394
  __decorate([
9084
9395
  kwikidToolkit.logMethod
9085
9396
  ], KwikIDFormViewComponent.prototype, "triggerLogs", null);
9397
+ __decorate([
9398
+ kwikidToolkit.logMethod
9399
+ ], KwikIDFormViewComponent.prototype, "syncApiStorageContext", null);
9086
9400
  __decorate([
9087
9401
  kwikidToolkit.logMethod
9088
9402
  ], KwikIDFormViewComponent.prototype, "initFormConfig", null);
@@ -9398,6 +9712,8 @@
9398
9712
  type: i0.Input
9399
9713
  }], stepConfig: [{
9400
9714
  type: i0.Input
9715
+ }], reduxData: [{
9716
+ type: i0.Input
9401
9717
  }], getLogs: [{
9402
9718
  type: i0.Output
9403
9719
  }], getUnsavedDataState: [{
@@ -9416,7 +9732,7 @@
9416
9732
  type: i0.Output
9417
9733
  }], onClickViewForms: [{
9418
9734
  type: i0.Output
9419
- }], 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: [] } });
9420
9736
 
9421
9737
  /* eslint-disable no-unused-vars */
9422
9738
  var EFormType;
@@ -9459,6 +9775,7 @@
9459
9775
  this.stepConfig = {};
9460
9776
  this.activeFormConfig = {};
9461
9777
  this.formsList = [];
9778
+ this.reduxData = {};
9462
9779
  this.formsListCompleted = [];
9463
9780
  this.isMobileView = false;
9464
9781
  this.isUnsavedData = false;
@@ -9475,9 +9792,10 @@
9475
9792
  this.selectedForm = selectedForm;
9476
9793
  };
9477
9794
  KwikIDFormsListComponent.prototype.ngOnInit = function () {
9478
- var _a, _b;
9795
+ var _a, _b, _c;
9796
+ this.reduxData = (_a = this.reduxData) !== null && _a !== void 0 ? _a : {};
9479
9797
  this.loading = true;
9480
- 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 : "");
9481
9799
  this.stepConfig = this.formatStepConfig(this.stepConfig);
9482
9800
  this.triggerLogs(ELogEventType$2.FORM__STEP_CONFIG_LOAD_SUCCESS, {});
9483
9801
  this.formsList = this.filterHiddenForms(this.formsList);
@@ -9488,7 +9806,7 @@
9488
9806
  this.loading = false;
9489
9807
  };
9490
9808
  KwikIDFormsListComponent.prototype.ngOnChanges = function (changes) {
9491
- var _a, _b;
9809
+ var _a, _b, _c;
9492
9810
  var verifyChange = function (key) {
9493
9811
  return kwikidToolkit.checkObjectKeyExists(changes, key) && !changes[key].firstChange;
9494
9812
  };
@@ -9496,7 +9814,7 @@
9496
9814
  this.showFormFields = changes.showFormFields.currentValue;
9497
9815
  }
9498
9816
  if (verifyChange("stepConfig")) {
9499
- this.stepConfig = changes.stepConfig.currentValue;
9817
+ this.stepConfig = this.formatStepConfig(changes.stepConfig.currentValue);
9500
9818
  }
9501
9819
  if (verifyChange("isUnsavedData")) {
9502
9820
  this.isUnsavedData = changes.isUnsavedData.currentValue;
@@ -9517,11 +9835,22 @@
9517
9835
  this.activeFormConfig = changes.activeFormConfig.currentValue;
9518
9836
  this.setSelectedForm((_b = (_a = this.activeFormConfig) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : "");
9519
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
+ }
9520
9844
  };
9521
9845
  KwikIDFormsListComponent.prototype.triggerLogs = function (eventType, logs) {
9522
9846
  this.getLogs.emit(formatEventLogs$1(eventType, this.stepConfig, logs));
9523
9847
  };
9524
9848
  KwikIDFormsListComponent.prototype.formatStepConfig = function (stepConfig) {
9849
+ var _a;
9850
+ stepConfig =
9851
+ stepConfig && typeof stepConfig === "object"
9852
+ ? kwikidToolkit.getObjectDeepCopy(stepConfig)
9853
+ : stepConfig;
9525
9854
  var stepConfigProperties = {
9526
9855
  formListProperties: {
9527
9856
  footer: {
@@ -9543,7 +9872,7 @@
9543
9872
  stepConfig = kwikidToolkit.setValueToObjectPath(stepConfig, "props", stepConfigProperties);
9544
9873
  }
9545
9874
  stepConfig.props.formListProperties.footer.submitFormButton.label =
9546
- 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));
9547
9876
  return stepConfig;
9548
9877
  };
9549
9878
  KwikIDFormsListComponent.prototype.filterHiddenForms = function (formsList) {
@@ -9555,13 +9884,15 @@
9555
9884
  });
9556
9885
  };
9557
9886
  KwikIDFormsListComponent.prototype.setFormTitles = function (formsList) {
9887
+ var _this = this;
9558
9888
  return formsList
9559
9889
  .map(function (form) {
9890
+ var _a;
9560
9891
  if (form.type === EFormType.HTML) {
9561
9892
  return form; // No modification, just return
9562
9893
  }
9563
9894
  if (kwikidToolkit.checkObjectPathExists(form, "props.title")) {
9564
- 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));
9565
9896
  }
9566
9897
  return form; // Return the form regardless of modification
9567
9898
  })
@@ -9633,7 +9964,7 @@
9633
9964
  return KwikIDFormsListComponent;
9634
9965
  }());
9635
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 });
9636
- /** @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 } });
9637
9968
  __decorate([
9638
9969
  kwikidToolkit.logMethod
9639
9970
  ], KwikIDFormsListComponent.prototype, "ngOnChanges", null);
@@ -9678,6 +10009,8 @@
9678
10009
  type: i0.Input
9679
10010
  }], formsList: [{
9680
10011
  type: i0.Input
10012
+ }], reduxData: [{
10013
+ type: i0.Input
9681
10014
  }], formsListCompleted: [{
9682
10015
  type: i0.Input
9683
10016
  }], isMobileView: [{
@@ -9737,6 +10070,7 @@
9737
10070
  this.formsData = {};
9738
10071
  this.extraData = {};
9739
10072
  this.activeFormData = {};
10073
+ this.reduxData = {};
9740
10074
  this.apiCallResponse = {};
9741
10075
  this.buttonClickResponse = {};
9742
10076
  this.onClickSubmit = new i0.EventEmitter();
@@ -9802,16 +10136,17 @@
9802
10136
  this.showErrorNotification = show;
9803
10137
  };
9804
10138
  KwikIDFormsRendererComponent.prototype.ngOnInit = function () {
9805
- var _a, _b, _c;
10139
+ var _a, _b, _c, _d, _e, _f;
10140
+ this.reduxData = (_a = this.reduxData) !== null && _a !== void 0 ? _a : {};
9806
10141
  this.toggleLoader(true);
9807
10142
  this.loading = true;
9808
- 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;
9809
10144
  if (formStepKey !== undefined &&
9810
10145
  kwikidToolkit.checkObjectKeyExists(this.userConfig.userFormFields, formStepKey)) {
9811
- this.formsList = this.userConfig.userFormFields[formStepKey];
10146
+ this.formsList = kwikidToolkit.getObjectDeepCopy(this.userConfig.userFormFields[formStepKey]);
9812
10147
  }
9813
10148
  else if (Array.isArray(this.userConfig.userFormFields)) {
9814
- this.formsList = this.userConfig.userFormFields;
10149
+ this.formsList = kwikidToolkit.getObjectDeepCopy(this.userConfig.userFormFields);
9815
10150
  }
9816
10151
  else {
9817
10152
  throw new Error("userFormFields doesn't have a form defined with key: " + formStepKey);
@@ -9820,6 +10155,7 @@
9820
10155
  this.toggleLoader(false);
9821
10156
  };
9822
10157
  KwikIDFormsRendererComponent.prototype.ngOnChanges = function (changes) {
10158
+ var _a;
9823
10159
  var verifyChange = function (prop) {
9824
10160
  return kwikidToolkit.checkObjectKeyExists(changes, prop) && !changes[prop].firstChange;
9825
10161
  };
@@ -9846,6 +10182,9 @@
9846
10182
  this.buttonClickResponse = changes.buttonClickResponse.currentValue;
9847
10183
  this.toggleLoader(false);
9848
10184
  }
10185
+ if (kwikidToolkit.checkObjectKeyExists(changes, "reduxData")) {
10186
+ this.reduxData = (_a = changes.reduxData.currentValue) !== null && _a !== void 0 ? _a : {};
10187
+ }
9849
10188
  };
9850
10189
  KwikIDFormsRendererComponent.prototype.triggerLogs = function (eventType, logs) {
9851
10190
  this.getLogs.emit(formatEventLogs(eventType, this.stepConfig, logs));
@@ -9864,14 +10203,14 @@
9864
10203
  KwikIDFormsRendererComponent.prototype.fetchFormConfig = function (url) {
9865
10204
  return __awaiter(this, void 0, void 0, function () {
9866
10205
  var response, data;
9867
- return __generator(this, function (_o) {
9868
- switch (_o.label) {
10206
+ return __generator(this, function (_p) {
10207
+ switch (_p.label) {
9869
10208
  case 0: return [4 /*yield*/, fetch(url, { method: "GET" })];
9870
10209
  case 1:
9871
- response = _o.sent();
10210
+ response = _p.sent();
9872
10211
  return [4 /*yield*/, response.json()];
9873
10212
  case 2:
9874
- data = _o.sent();
10213
+ data = _p.sent();
9875
10214
  return [2 /*return*/, data];
9876
10215
  }
9877
10216
  });
@@ -9879,14 +10218,14 @@
9879
10218
  };
9880
10219
  KwikIDFormsRendererComponent.prototype.initializeForms = function (eventType) {
9881
10220
  return __awaiter(this, void 0, void 0, function () {
9882
- return __generator(this, function (_o) {
9883
- switch (_o.label) {
10221
+ return __generator(this, function (_p) {
10222
+ switch (_p.label) {
9884
10223
  case 0:
9885
10224
  this.toggleLoader(true);
9886
10225
  this.allFormsData = this.formsData;
9887
10226
  return [4 /*yield*/, this.updateFormsList()];
9888
10227
  case 1:
9889
- _o.sent();
10228
+ _p.sent();
9890
10229
  if (!(eventType === "ON_CHANGE" &&
9891
10230
  this.findFormsListLength(this.formsList) === 1)) return [3 /*break*/, 2];
9892
10231
  this.handleOnClickSubmitForms(null);
@@ -9898,22 +10237,22 @@
9898
10237
  if (!(this.activeFormConfig.type !== EFormType.HTML)) return [3 /*break*/, 4];
9899
10238
  return [4 /*yield*/, this.handleOnClickSetActiveForm(this.activeFormConfig.key, undefined)];
9900
10239
  case 3:
9901
- _o.sent();
9902
- _o.label = 4;
10240
+ _p.sent();
10241
+ _p.label = 4;
9903
10242
  case 4: return [3 /*break*/, 7];
9904
10243
  case 5: return [4 /*yield*/, this.handleOnClickSetActiveForm(this.activeFormConfig.key, undefined)];
9905
10244
  case 6:
9906
- _o.sent();
9907
- _o.label = 7;
10245
+ _p.sent();
10246
+ _p.label = 7;
9908
10247
  case 7: return [3 /*break*/, 9];
9909
10248
  case 8:
9910
10249
  this.showForm = false;
9911
10250
  this.showFormFields = false;
9912
- _o.label = 9;
10251
+ _p.label = 9;
9913
10252
  case 9:
9914
10253
  this.loading = false;
9915
10254
  this.toggleLoader(false);
9916
- _o.label = 10;
10255
+ _p.label = 10;
9917
10256
  case 10: return [2 /*return*/];
9918
10257
  }
9919
10258
  });
@@ -10001,7 +10340,7 @@
10001
10340
  * @returns any[]
10002
10341
  */
10003
10342
  KwikIDFormsRendererComponent.prototype.assignSequenceNoToForm = function (formsList) {
10004
- var e_1, _o;
10343
+ var e_1, _p;
10005
10344
  var sequenceNo = 1;
10006
10345
  try {
10007
10346
  for (var formsList_1 = __values(formsList), formsList_1_1 = formsList_1.next(); !formsList_1_1.done; formsList_1_1 = formsList_1.next()) {
@@ -10020,7 +10359,7 @@
10020
10359
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
10021
10360
  finally {
10022
10361
  try {
10023
- 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);
10024
10363
  }
10025
10364
  finally { if (e_1) throw e_1.error; }
10026
10365
  }
@@ -10040,7 +10379,7 @@
10040
10379
  * @returns any[]
10041
10380
  */
10042
10381
  KwikIDFormsRendererComponent.prototype.markFormInFormsListAsCompleted = function (formsList, formsListCompleted) {
10043
- var e_2, _o;
10382
+ var e_2, _p;
10044
10383
  try {
10045
10384
  for (var formsList_2 = __values(formsList), formsList_2_1 = formsList_2.next(); !formsList_2_1.done; formsList_2_1 = formsList_2.next()) {
10046
10385
  var form = formsList_2_1.value;
@@ -10073,7 +10412,7 @@
10073
10412
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
10074
10413
  finally {
10075
10414
  try {
10076
- 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);
10077
10416
  }
10078
10417
  finally { if (e_2) throw e_2.error; }
10079
10418
  }
@@ -10086,7 +10425,7 @@
10086
10425
  * @returns any[]
10087
10426
  */
10088
10427
  KwikIDFormsRendererComponent.prototype.markFormInFormsListAsDisabled = function (formsList, formsListCompleted) {
10089
- var e_3, _o;
10428
+ var e_3, _p;
10090
10429
  try {
10091
10430
  for (var formsList_3 = __values(formsList), formsList_3_1 = formsList_3.next(); !formsList_3_1.done; formsList_3_1 = formsList_3.next()) {
10092
10431
  var form = formsList_3_1.value;
@@ -10117,14 +10456,14 @@
10117
10456
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
10118
10457
  finally {
10119
10458
  try {
10120
- 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);
10121
10460
  }
10122
10461
  finally { if (e_3) throw e_3.error; }
10123
10462
  }
10124
10463
  return formsList;
10125
10464
  };
10126
10465
  KwikIDFormsRendererComponent.prototype.filterAllFormsData = function (allFormsData, formsList) {
10127
- var e_4, _o, _p;
10466
+ var e_4, _p, _q;
10128
10467
  var currentUserFormAllFormsData = {};
10129
10468
  try {
10130
10469
  for (var formsList_4 = __values(formsList), formsList_4_1 = formsList_4.next(); !formsList_4_1.done; formsList_4_1 = formsList_4.next()) {
@@ -10133,7 +10472,7 @@
10133
10472
  !form.hidden &&
10134
10473
  form.type !== EFormType.HTML) {
10135
10474
  if (kwikidToolkit.checkObjectKeyExists(allFormsData, form.key)) {
10136
- 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));
10137
10476
  }
10138
10477
  }
10139
10478
  }
@@ -10141,14 +10480,14 @@
10141
10480
  catch (e_4_1) { e_4 = { error: e_4_1 }; }
10142
10481
  finally {
10143
10482
  try {
10144
- 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);
10145
10484
  }
10146
10485
  finally { if (e_4) throw e_4.error; }
10147
10486
  }
10148
10487
  return currentUserFormAllFormsData;
10149
10488
  };
10150
10489
  KwikIDFormsRendererComponent.prototype.checkIfFormsStatusCompleted = function (formsList, formsListCompleted) {
10151
- var e_5, _o;
10490
+ var e_5, _p;
10152
10491
  var allFormsCompleted = true;
10153
10492
  try {
10154
10493
  for (var formsList_5 = __values(formsList), formsList_5_1 = formsList_5.next(); !formsList_5_1.done; formsList_5_1 = formsList_5.next()) {
@@ -10166,7 +10505,7 @@
10166
10505
  catch (e_5_1) { e_5 = { error: e_5_1 }; }
10167
10506
  finally {
10168
10507
  try {
10169
- 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);
10170
10509
  }
10171
10510
  finally { if (e_5) throw e_5.error; }
10172
10511
  }
@@ -10183,34 +10522,34 @@
10183
10522
  };
10184
10523
  KwikIDFormsRendererComponent.prototype.updateFormsList = function () {
10185
10524
  return __awaiter(this, void 0, void 0, function () {
10186
- 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;
10187
- var e_7, _r, e_6, _s;
10188
- return __generator(this, function (_t) {
10189
- 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) {
10190
10529
  case 0:
10191
10530
  this.formsList = this.convertFormListConfig(this.formsList);
10192
- _t.label = 1;
10531
+ _u.label = 1;
10193
10532
  case 1:
10194
- _t.trys.push([1, 14, 15, 16]);
10195
- _o = __values(this.formsList), _p = _o.next();
10196
- _t.label = 2;
10533
+ _u.trys.push([1, 14, 15, 16]);
10534
+ _p = __values(this.formsList), _q = _p.next();
10535
+ _u.label = 2;
10197
10536
  case 2:
10198
- if (!!_p.done) return [3 /*break*/, 13];
10199
- form = _p.value;
10537
+ if (!!_q.done) return [3 /*break*/, 13];
10538
+ form = _q.value;
10200
10539
  if (!(kwikidToolkit.checkObjectKeyExists(form, "default") &&
10201
10540
  kwikidToolkit.isNotEmptyValue(form.default))) return [3 /*break*/, 11];
10202
- _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;
10203
10542
  rulesMapping = new kwikidToolkit.Rule(rules, {
10204
10543
  USER_CONFIG: this.userConfig,
10205
10544
  FORMS_LIST: this.formsList,
10206
10545
  ALL_FORMS_DATA: this.allFormsData,
10207
10546
  EXTRA_DATA: this.extraData
10208
10547
  }).mapping();
10209
- _t.label = 3;
10548
+ _u.label = 3;
10210
10549
  case 3:
10211
- _t.trys.push([3, 8, 9, 10]);
10550
+ _u.trys.push([3, 8, 9, 10]);
10212
10551
  actions_1 = (e_6 = void 0, __values(actions)), actions_1_1 = actions_1.next();
10213
- _t.label = 4;
10552
+ _u.label = 4;
10214
10553
  case 4:
10215
10554
  if (!!actions_1_1.done) return [3 /*break*/, 7];
10216
10555
  action = actions_1_1.value;
@@ -10223,19 +10562,19 @@
10223
10562
  }, this.takeAction.bind(this));
10224
10563
  return [4 /*yield*/, actions_2.execute()];
10225
10564
  case 5:
10226
- _t.sent();
10227
- _t.label = 6;
10565
+ _u.sent();
10566
+ _u.label = 6;
10228
10567
  case 6:
10229
10568
  actions_1_1 = actions_1.next();
10230
10569
  return [3 /*break*/, 4];
10231
10570
  case 7: return [3 /*break*/, 10];
10232
10571
  case 8:
10233
- e_6_1 = _t.sent();
10572
+ e_6_1 = _u.sent();
10234
10573
  e_6 = { error: e_6_1 };
10235
10574
  return [3 /*break*/, 10];
10236
10575
  case 9:
10237
10576
  try {
10238
- 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);
10239
10578
  }
10240
10579
  finally { if (e_6) throw e_6.error; }
10241
10580
  return [7 /*endfinally*/];
@@ -10244,18 +10583,18 @@
10244
10583
  if (!kwikidToolkit.checkObjectKeyExists(form, "hidden")) {
10245
10584
  form.hidden = false;
10246
10585
  }
10247
- _t.label = 12;
10586
+ _u.label = 12;
10248
10587
  case 12:
10249
- _p = _o.next();
10588
+ _q = _p.next();
10250
10589
  return [3 /*break*/, 2];
10251
10590
  case 13: return [3 /*break*/, 16];
10252
10591
  case 14:
10253
- e_7_1 = _t.sent();
10592
+ e_7_1 = _u.sent();
10254
10593
  e_7 = { error: e_7_1 };
10255
10594
  return [3 /*break*/, 16];
10256
10595
  case 15:
10257
10596
  try {
10258
- if (_p && !_p.done && (_r = _o.return)) _r.call(_o);
10597
+ if (_q && !_q.done && (_s = _p.return)) _s.call(_p);
10259
10598
  }
10260
10599
  finally { if (e_7) throw e_7.error; }
10261
10600
  return [7 /*endfinally*/];
@@ -10304,12 +10643,12 @@
10304
10643
  };
10305
10644
  KwikIDFormsRendererComponent.prototype.takeAction = function (action, object) {
10306
10645
  return __awaiter(this, void 0, void 0, function () {
10307
- var _o, sources, sourceValue;
10308
- return __generator(this, function (_p) {
10309
- switch (_p.label) {
10646
+ var _p, sources, sourceValue;
10647
+ return __generator(this, function (_q) {
10648
+ switch (_q.label) {
10310
10649
  case 0:
10311
- _o = action.key;
10312
- switch (_o) {
10650
+ _p = action.key;
10651
+ switch (_p) {
10313
10652
  case ERendererActionKey.FORM_HIDE: return [3 /*break*/, 1];
10314
10653
  case ERendererActionKey.FORM_SHOW: return [3 /*break*/, 2];
10315
10654
  case EActionKey.SET_VALUE: return [3 /*break*/, 3];
@@ -10329,7 +10668,7 @@
10329
10668
  });
10330
10669
  return [4 /*yield*/, sources.getValueFromSource(action.props.value.source)];
10331
10670
  case 4:
10332
- sourceValue = _p.sent();
10671
+ sourceValue = _q.sent();
10333
10672
  sources.setValueToSource(action.props.value.destination, sourceValue);
10334
10673
  this.userConfig = sources.object.USER_CONFIG;
10335
10674
  this.formsData = sources.object.ALL_FORMS_DATA;
@@ -10360,11 +10699,11 @@
10360
10699
  * @param selectedForm string
10361
10700
  */
10362
10701
  KwikIDFormsRendererComponent.prototype.handleOnClickSetActiveForm = function (selectedForm, triggerType) {
10363
- 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;
10364
10703
  return __awaiter(this, void 0, void 0, function () {
10365
10704
  var activeFormConfig, formConfig, formConfigFromUrl, url, formConfigFromPath, formConfigFromUrl, url, formConfigFromPath;
10366
- return __generator(this, function (_o) {
10367
- switch (_o.label) {
10705
+ return __generator(this, function (_p) {
10706
+ switch (_p.label) {
10368
10707
  case 0:
10369
10708
  this.showForm = false;
10370
10709
  this.toggleLoader(true);
@@ -10372,22 +10711,25 @@
10372
10711
  activeFormConfig = this.formsList.find(function (form) {
10373
10712
  return form.key === selectedForm;
10374
10713
  });
10375
- 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);
10376
10718
  if (!kwikidToolkit.checkObjectKeyExists(activeFormConfig, "props")) return [3 /*break*/, 6];
10377
10719
  if (!kwikidToolkit.checkObjectKeyExists(activeFormConfig.props, "url")) return [3 /*break*/, 2];
10378
10720
  return [4 /*yield*/, this.fetchFormConfig(activeFormConfig.props.url)];
10379
10721
  case 1:
10380
- formConfigFromUrl = _o.sent();
10722
+ formConfigFromUrl = _p.sent();
10381
10723
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromUrl);
10382
10724
  return [3 /*break*/, 5];
10383
10725
  case 2:
10384
10726
  if (!(kwikidToolkit.checkObjectKeyExists(activeFormConfig.props, "path") &&
10385
10727
  kwikidToolkit.checkObjectKeyExists(this.userConfig, "backend") &&
10386
10728
  kwikidToolkit.checkObjectKeyExists(this.userConfig.backend, "CONFIG_BASE_URL"))) return [3 /*break*/, 4];
10387
- 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;
10388
10730
  return [4 /*yield*/, this.fetchFormConfig(url)];
10389
10731
  case 3:
10390
- formConfigFromPath = _o.sent();
10732
+ formConfigFromPath = _p.sent();
10391
10733
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromPath);
10392
10734
  return [3 /*break*/, 5];
10393
10735
  case 4:
@@ -10403,23 +10745,23 @@
10403
10745
  else {
10404
10746
  console.error("No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!");
10405
10747
  }
10406
- _o.label = 5;
10748
+ _p.label = 5;
10407
10749
  case 5: return [3 /*break*/, 11];
10408
10750
  case 6:
10409
10751
  if (!kwikidToolkit.checkObjectKeyExists(activeFormConfig.formContent, "url")) return [3 /*break*/, 8];
10410
10752
  return [4 /*yield*/, this.fetchFormConfig(activeFormConfig.formContent.url)];
10411
10753
  case 7:
10412
- formConfigFromUrl = _o.sent();
10754
+ formConfigFromUrl = _p.sent();
10413
10755
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromUrl);
10414
10756
  return [3 /*break*/, 11];
10415
10757
  case 8:
10416
10758
  if (!(kwikidToolkit.checkObjectKeyExists(activeFormConfig.formContent, "path") &&
10417
10759
  kwikidToolkit.checkObjectKeyExists(this.userConfig, "backend") &&
10418
10760
  kwikidToolkit.checkObjectKeyExists(this.userConfig.backend, "CONFIG_BASE_URL"))) return [3 /*break*/, 10];
10419
- 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;
10420
10762
  return [4 /*yield*/, this.fetchFormConfig(url)];
10421
10763
  case 9:
10422
- formConfigFromPath = _o.sent();
10764
+ formConfigFromPath = _p.sent();
10423
10765
  formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromPath);
10424
10766
  return [3 /*break*/, 11];
10425
10767
  case 10:
@@ -10429,7 +10771,7 @@
10429
10771
  else {
10430
10772
  console.error("No Direct URL, No Path with Base URL, No fields key found in Active Form's Config!");
10431
10773
  }
10432
- _o.label = 11;
10774
+ _p.label = 11;
10433
10775
  case 11:
10434
10776
  formConfig = new Converter().updateFormConfigFromUserConfig(formConfig, this.userConfig);
10435
10777
  formConfig = new Converter().updateFormConfigMiscellaneous(formConfig, {
@@ -10440,13 +10782,13 @@
10440
10782
  case "BUTTON_CLICK":
10441
10783
  this.triggerLogs(ELogEventType.FORM__FORM_OPEN_BUTTON_CLICK, {
10442
10784
  form_key: this.activeFormConfig.key,
10443
- 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
10444
10786
  });
10445
10787
  break;
10446
10788
  default:
10447
10789
  this.triggerLogs(ELogEventType.FORM__FORM_OPEN_AUTO, {
10448
10790
  form_key: this.activeFormConfig.key,
10449
- 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
10450
10792
  });
10451
10793
  break;
10452
10794
  }
@@ -10482,12 +10824,12 @@
10482
10824
  this.onClickFormFieldButton.emit(e);
10483
10825
  };
10484
10826
  KwikIDFormsRendererComponent.prototype.handleOnActionShowPopupForm = function (e, content) {
10485
- var _o;
10827
+ var _p;
10486
10828
  var _this = this;
10487
10829
  var _a;
10488
10830
  if (kwikidToolkit.checkObjectKeyExists(e, "activeFormData") &&
10489
10831
  kwikidToolkit.checkObjectKeyExists(e, "popupFormConfig")) {
10490
- var popupFormData = (_o = {}, _o[this.activeFormConfig.key] = e.activeFormData, _o);
10832
+ var popupFormData = (_p = {}, _p[this.activeFormConfig.key] = e.activeFormData, _p);
10491
10833
  this.activePopupFormData = kwikidToolkit.mergeObjects(this.allFormsData, popupFormData);
10492
10834
  this.popupFormConfig = e.popupFormConfig;
10493
10835
  var popupType = (_a = e === null || e === void 0 ? void 0 : e.popupType) !== null && _a !== void 0 ? _a : "DIALOG";
@@ -10567,18 +10909,18 @@
10567
10909
  * @param e any
10568
10910
  */
10569
10911
  KwikIDFormsRendererComponent.prototype.handleOnClickSaveForm = function (e, eventType, context) {
10570
- var _o;
10912
+ var _p;
10571
10913
  switch (eventType) {
10572
10914
  case "FORM":
10573
10915
  this.isUnsavedData = false;
10574
10916
  this.toggleLoader(true);
10575
- this.getFormData.emit((_o = {},
10576
- _o[this.activeFormConfig.key] = {
10917
+ this.getFormData.emit((_p = {},
10918
+ _p[this.activeFormConfig.key] = {
10577
10919
  formConfig: e.formConfig,
10578
10920
  data: e.data,
10579
10921
  extendedData: e.extendedData
10580
10922
  },
10581
- _o));
10923
+ _p));
10582
10924
  break;
10583
10925
  case "POPUP_FORM":
10584
10926
  this.previewDialogRef.next(e);
@@ -10662,9 +11004,9 @@
10662
11004
  var _a, _b;
10663
11005
  return __awaiter(this, void 0, void 0, function () {
10664
11006
  var formsList, firstFormWithError, formsList_6, formsList_6_1, form;
10665
- var e_8, _o;
11007
+ var e_8, _p;
10666
11008
  var _this = this;
10667
- return __generator(this, function (_p) {
11009
+ return __generator(this, function (_q) {
10668
11010
  formsList = JSON.parse(JSON.stringify(this.formsList));
10669
11011
  firstFormWithError = "";
10670
11012
  try {
@@ -10688,7 +11030,7 @@
10688
11030
  catch (e_8_1) { e_8 = { error: e_8_1 }; }
10689
11031
  finally {
10690
11032
  try {
10691
- 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);
10692
11034
  }
10693
11035
  finally { if (e_8) throw e_8.error; }
10694
11036
  }
@@ -10734,7 +11076,7 @@
10734
11076
  return KwikIDFormsRendererComponent;
10735
11077
  }());
10736
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 });
10737
- /** @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: [
10738
11080
  animations.trigger("panelInOut", [
10739
11081
  animations.transition(":enter", [
10740
11082
  animations.style({ transform: "translateY(100%)" }),
@@ -10859,6 +11201,8 @@
10859
11201
  type: i0.Input
10860
11202
  }], activeFormData: [{
10861
11203
  type: i0.Input
11204
+ }], reduxData: [{
11205
+ type: i0.Input
10862
11206
  }], apiCallResponse: [{
10863
11207
  type: i0.Input
10864
11208
  }], buttonClickResponse: [{