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
@@ -4,6 +4,7 @@ import * as i0 from "@angular/core";
4
4
  export declare class KwikIDFormsBuilderComponent implements OnInit {
5
5
  loaderService: KwikUILoaderService;
6
6
  userConfig: any;
7
+ reduxData: any;
7
8
  formsList: any[];
8
9
  activeFormConfig: any;
9
10
  constructor(loaderService: KwikUILoaderService);
@@ -20,5 +21,5 @@ export declare class KwikIDFormsBuilderComponent implements OnInit {
20
21
  handleOnClickSaveActiveFormConfig(activeFormConfig: any): void;
21
22
  toggleLoader(loader: any): void;
22
23
  static ɵfac: i0.ɵɵFactoryDeclaration<KwikIDFormsBuilderComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<KwikIDFormsBuilderComponent, "kwikid-forms-builder", never, { "userConfig": "userConfig"; }, {}, never, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<KwikIDFormsBuilderComponent, "kwikid-forms-builder", never, { "userConfig": "userConfig"; "reduxData": "reduxData"; }, {}, never, never>;
24
25
  }
@@ -5,6 +5,7 @@ export declare const FIELD_PROPERTIES: {
5
5
  containerStyles: string;
6
6
  icon: string;
7
7
  iconRight: string;
8
+ isShowLabelOutside: boolean;
8
9
  loading: boolean;
9
10
  shape: any;
10
11
  size: string;
@@ -31,6 +32,7 @@ export declare const FIELD_PROPERTIES: {
31
32
  password: {
32
33
  containerStyles: string;
33
34
  hintContent: string;
35
+ isShowLabelOutside: boolean;
34
36
  postfix: string;
35
37
  prefix: string;
36
38
  };
@@ -41,6 +43,7 @@ export declare const FIELD_PROPERTIES: {
41
43
  number: {
42
44
  containerStyles: string;
43
45
  decimal: string;
46
+ isShowLabelOutside: boolean;
44
47
  max: number;
45
48
  min: number;
46
49
  placeholder: string;
@@ -51,6 +54,7 @@ export declare const FIELD_PROPERTIES: {
51
54
  phone: {
52
55
  containerStyles: string;
53
56
  countryCode: string;
57
+ isShowLabelOutside: boolean;
54
58
  phoneMaskAfterCountryCode: string;
55
59
  placeholder: string;
56
60
  postfix: string;
@@ -65,6 +69,7 @@ export declare const FIELD_PROPERTIES: {
65
69
  };
66
70
  textarea: {
67
71
  containerStyles: string;
72
+ isShowLabelOutside: boolean;
68
73
  };
69
74
  title: {
70
75
  containerStyles: string;
@@ -82,6 +87,7 @@ export declare const FIELD_PROPERTIES: {
82
87
  };
83
88
  date: {
84
89
  containerStyles: string;
90
+ isShowLabelOutside: boolean;
85
91
  maxCalculatedFromToday: {
86
92
  year: number;
87
93
  month: number;
@@ -99,6 +105,7 @@ export declare const FIELD_PROPERTIES: {
99
105
  time: {
100
106
  containerStyles: string;
101
107
  items: any;
108
+ isShowLabelOutside: boolean;
102
109
  mode: string;
103
110
  placeholder: string;
104
111
  postfix: string;
@@ -111,6 +118,7 @@ export declare const FIELD_PROPERTIES: {
111
118
  };
112
119
  slider: {
113
120
  containerStyles: string;
121
+ isShowLabelOutside: boolean;
114
122
  max: number;
115
123
  min: number;
116
124
  postfix: string;
@@ -235,11 +243,13 @@ export declare const FIELD_PROPERTIES: {
235
243
  };
236
244
  select: {
237
245
  containerStyles: string;
246
+ isShowLabelOutside: boolean;
238
247
  searchable: boolean;
239
248
  };
240
249
  "dropdown-with-search": {
241
250
  searchable: boolean;
242
251
  containerStyles: string;
252
+ isShowLabelOutside: boolean;
243
253
  };
244
254
  "star-rating": {
245
255
  color: string;
@@ -1,4 +1,11 @@
1
+ export interface ConverterContext {
2
+ reduxData?: Record<string, unknown>;
3
+ userConfig?: any;
4
+ }
1
5
  export declare class Converter {
6
+ private readonly context;
7
+ constructor(context?: ConverterContext);
8
+ private resolveLanguage;
2
9
  updateFormConfigMiscellaneous(formConfig: any, args: any): any;
3
10
  updateFormConfigFromUserConfig(formConfig: any, userConfig: any): any;
4
11
  updateFormConfigProperties(formConfig: any): any;
@@ -7,4 +7,4 @@ export declare const setFieldAsFormElement: (field: any, value: boolean) => any;
7
7
  export declare const getMinDate: (field: any) => any;
8
8
  export declare const getMaxDate: (field: any) => any;
9
9
  export declare const updateLanguage: (object: any, language: string) => any;
10
- export declare const getLanguage: () => string;
10
+ export declare const getLanguage: (reduxData?: Record<string, unknown>, userConfig?: any) => string;
@@ -81,11 +81,13 @@ export declare type TFieldEmailProperties = {
81
81
  readOnly: string;
82
82
  };
83
83
  export declare type TFieldPasswordProperties = {
84
+ isShowLabelOutside: boolean;
84
85
  placeholder: string;
85
86
  hintContent: string;
86
87
  readOnly: string;
87
88
  };
88
89
  export declare type TFieldTextareaProperties = {
90
+ isShowLabelOutside: boolean;
89
91
  placeholder: string;
90
92
  readOnly: string;
91
93
  };
@@ -96,6 +98,7 @@ export declare type TFieldCheckboxProperties = {
96
98
  placeholder: string;
97
99
  };
98
100
  export declare type TFieldNumberProperties = {
101
+ isShowLabelOutside: boolean;
99
102
  min: number;
100
103
  max: number;
101
104
  prefix: number;
@@ -106,6 +109,7 @@ export declare type TFieldNumberProperties = {
106
109
  readOnly: boolean;
107
110
  };
108
111
  export declare type TFieldDateProperties = {
112
+ isShowLabelOutside: boolean;
109
113
  placeholder: string;
110
114
  min: {
111
115
  year: number;
@@ -120,6 +124,7 @@ export declare type TFieldDateProperties = {
120
124
  readOnly: boolean;
121
125
  };
122
126
  export declare type TFieldPhoneProperties = {
127
+ isShowLabelOutside: boolean;
123
128
  countryCode: string;
124
129
  phoneMaskAfterCountryCode: string;
125
130
  removeCountryCodeFromValue: boolean;
@@ -137,6 +142,7 @@ export declare type TFieldPreviewImageProperties = {
137
142
  placeholder: string;
138
143
  };
139
144
  export declare type TFieldSliderProperties = {
145
+ isShowLabelOutside: boolean;
140
146
  min: number;
141
147
  max: number;
142
148
  step: number;
@@ -151,6 +157,7 @@ export declare type TFieldRadioProperties = {
151
157
  placeholder: string;
152
158
  };
153
159
  export declare type TFieldSelectProperties = {
160
+ isShowLabelOutside: boolean;
154
161
  placeholder: string;
155
162
  readOnly: boolean;
156
163
  };
@@ -1,6 +1,11 @@
1
1
  import { Observable } from "rxjs";
2
2
  export declare class KwikIDFormViewApiService {
3
3
  private bytecode;
4
+ private reduxData;
5
+ private userConfig;
6
+ setStorageContext(reduxData?: Record<string, unknown>, userConfig?: any): void;
7
+ /** Fresh config from host utilityFlags / formsStorage on every resolve. */
8
+ private getStorageConfig;
4
9
  dataDerivativeLogic(data: any): string;
5
10
  preProcessHeader(headerData: any, isVerifySignature: boolean): any;
6
11
  verifySignature(data: any, header: any, url: any, isVerifySignature: any): Promise<unknown>;
@@ -39,6 +39,7 @@ export declare class KwikIDFormViewComponent implements OnInit, OnChanges, OnDes
39
39
  popupFormCallback: any;
40
40
  userConfig: any;
41
41
  stepConfig: any;
42
+ reduxData: any;
42
43
  getLogs: EventEmitter<any>;
43
44
  getUnsavedDataState: EventEmitter<any>;
44
45
  onActionShowPopupForm: EventEmitter<any>;
@@ -94,6 +95,8 @@ export declare class KwikIDFormViewComponent implements OnInit, OnChanges, OnDes
94
95
  ngOnChanges(changes: SimpleChanges): void;
95
96
  ngOnDestroy(): void;
96
97
  triggerLogs(eventType: ELogEventType, logs: any): void;
98
+ private syncApiStorageContext;
99
+ private createConverter;
97
100
  initFormConfig(formConfig: any): Promise<boolean>;
98
101
  setFormFieldsFromFormConfig(formConfig: any): void;
99
102
  setFormFieldGroupsFromFormConfig(formConfig: any): void;
@@ -211,5 +214,5 @@ export declare class KwikIDFormViewComponent implements OnInit, OnChanges, OnDes
211
214
  takeActionOnFieldGroup(action: TAction, object: any): Promise<void>;
212
215
  takeAction(action: TAction, object: any): Promise<void>;
213
216
  static ɵfac: i0.ɵɵFactoryDeclaration<KwikIDFormViewComponent, never>;
214
- static ɵcmp: i0.ɵɵComponentDeclaration<KwikIDFormViewComponent, "kwikid-form-view", never, { "allFormsData": "allFormsData"; "extraData": "extraData"; "apiCallResponse": "apiCallResponse"; "buttonClickResponse": "buttonClickResponse"; "formConfig": "formConfig"; "formData": "formData"; "isMobileView": "isMobileView"; "popupFormCallback": "popupFormCallback"; "userConfig": "userConfig"; "stepConfig": "stepConfig"; }, { "getLogs": "getLogs"; "getUnsavedDataState": "getUnsavedDataState"; "onActionShowPopupForm": "onActionShowPopupForm"; "onClickApiCall": "onClickApiCall"; "onClickViewFile": "onClickViewFile"; "onClickFormFieldButton": "onClickFormFieldButton"; "onClickGoBack": "onClickGoBack"; "onClickSaveForm": "onClickSaveForm"; "onClickViewForms": "onClickViewForms"; }, never, never>;
217
+ static ɵcmp: i0.ɵɵComponentDeclaration<KwikIDFormViewComponent, "kwikid-form-view", never, { "allFormsData": "allFormsData"; "extraData": "extraData"; "apiCallResponse": "apiCallResponse"; "buttonClickResponse": "buttonClickResponse"; "formConfig": "formConfig"; "formData": "formData"; "isMobileView": "isMobileView"; "popupFormCallback": "popupFormCallback"; "userConfig": "userConfig"; "stepConfig": "stepConfig"; "reduxData": "reduxData"; }, { "getLogs": "getLogs"; "getUnsavedDataState": "getUnsavedDataState"; "onActionShowPopupForm": "onActionShowPopupForm"; "onClickApiCall": "onClickApiCall"; "onClickViewFile": "onClickViewFile"; "onClickFormFieldButton": "onClickFormFieldButton"; "onClickGoBack": "onClickGoBack"; "onClickSaveForm": "onClickSaveForm"; "onClickViewForms": "onClickViewForms"; }, never, never>;
215
218
  }
@@ -7,6 +7,7 @@ export declare class KwikIDFormsListComponent implements OnInit, OnChanges {
7
7
  stepConfig: any;
8
8
  activeFormConfig: any;
9
9
  formsList: any[];
10
+ reduxData: any;
10
11
  formsListCompleted: any[];
11
12
  isMobileView: boolean;
12
13
  isUnsavedData: boolean;
@@ -30,5 +31,5 @@ export declare class KwikIDFormsListComponent implements OnInit, OnChanges {
30
31
  handleOnClickSetActiveForm(selectedForm: string): void;
31
32
  handleOnSubmitForms(e: any): void;
32
33
  static ɵfac: i0.ɵɵFactoryDeclaration<KwikIDFormsListComponent, never>;
33
- static ɵcmp: i0.ɵɵComponentDeclaration<KwikIDFormsListComponent, "kwikid-forms-list", never, { "showFormFields": "showFormFields"; "userConfig": "userConfig"; "stepConfig": "stepConfig"; "activeFormConfig": "activeFormConfig"; "formsList": "formsList"; "formsListCompleted": "formsListCompleted"; "isMobileView": "isMobileView"; "isUnsavedData": "isUnsavedData"; }, { "getLogs": "getLogs"; "onClickSetActiveForm": "onClickSetActiveForm"; "onClickHideFormsList": "onClickHideFormsList"; "onClickSubmitForms": "onClickSubmitForms"; }, never, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<KwikIDFormsListComponent, "kwikid-forms-list", never, { "showFormFields": "showFormFields"; "userConfig": "userConfig"; "stepConfig": "stepConfig"; "activeFormConfig": "activeFormConfig"; "formsList": "formsList"; "reduxData": "reduxData"; "formsListCompleted": "formsListCompleted"; "isMobileView": "isMobileView"; "isUnsavedData": "isUnsavedData"; }, { "getLogs": "getLogs"; "onClickSetActiveForm": "onClickSetActiveForm"; "onClickHideFormsList": "onClickHideFormsList"; "onClickSubmitForms": "onClickSubmitForms"; }, never, never>;
34
35
  }
@@ -0,0 +1,46 @@
1
+ /** Where a configured key should be read from. */
2
+ export declare type FormsStorageSource = "reduxData" | "localStorage";
3
+ /**
4
+ * Default when utilityFlags.isEliminateBrowserStorage is not set (undefined).
5
+ * Legacy hosts keep localStorage; set the flag to true for reduxData-only reads.
6
+ */
7
+ export declare const DEFAULT_FORMS_ELIMINATE_BROWSER_STORAGE = false;
8
+ export interface FormsStorageKeyConfig {
9
+ /** Omit to use FormsStorageConfig.defaultSource (one source per client). */
10
+ source?: FormsStorageSource;
11
+ /** Storage key (defaults to the logical id passed to resolve). */
12
+ key?: string;
13
+ /** Try multiple keys in order (e.g. language). */
14
+ keys?: string[];
15
+ fallback?: string;
16
+ }
17
+ /**
18
+ * Host supplies via userConfig.formsStorage, or derived from utilityFlags.
19
+ * Per-key `source` is optional — falls back to defaultSource (same idea as toolkit
20
+ * BROWSER_STORAGE: { type, key } with a single type for the client).
21
+ * Example (eliminate mode — set via utilityFlags or defaultSource):
22
+ * {
23
+ * "defaultSource": "reduxData",
24
+ * "session_id": { "key": "session_id" },
25
+ * "language": { "keys": ["lng", "lang", "selectedLang"], "fallback": "en" },
26
+ * "formKey": { "key": "formKey" }
27
+ * }
28
+ */
29
+ export interface FormsStorageConfig {
30
+ defaultSource?: FormsStorageSource;
31
+ session_id?: FormsStorageKeyConfig;
32
+ language?: FormsStorageKeyConfig;
33
+ formKey?: FormsStorageKeyConfig;
34
+ [logicalKey: string]: FormsStorageKeyConfig | FormsStorageSource | undefined;
35
+ }
36
+ /** Legacy default: localStorage until host sets utilityFlags.isEliminateBrowserStorage. */
37
+ export declare const DEFAULT_FORMS_STORAGE_CONFIG: FormsStorageConfig;
38
+ /** Merge userConfig.formsStorage with defaults; map utilityFlags when present. */
39
+ export declare function resolveFormsStorageConfig(userConfig?: any): FormsStorageConfig;
40
+ /** Resolve a string value for a logical or explicit storage key. */
41
+ export declare function resolveFormsStorageString(logicalKey: string, reduxData?: Record<string, unknown>, config?: FormsStorageConfig): string | null;
42
+ /**
43
+ * Resolve a structured value (form config blob, eNachForm, etc.).
44
+ * Supports the same logical key / keys[] / key alias config as resolveFormsStorageString.
45
+ */
46
+ export declare function resolveFormsStorageObject(logicalKey: string, reduxData?: Record<string, unknown>, config?: FormsStorageConfig): any;
@@ -18,6 +18,7 @@ export declare class KwikIDFormsRendererComponent implements OnInit, OnChanges {
18
18
  formsData: any;
19
19
  extraData: any;
20
20
  activeFormData: any;
21
+ reduxData: any;
21
22
  apiCallResponse: any;
22
23
  buttonClickResponse: any;
23
24
  onClickSubmit: EventEmitter<any>;
@@ -138,5 +139,5 @@ export declare class KwikIDFormsRendererComponent implements OnInit, OnChanges {
138
139
  */
139
140
  handleResize(formsList: any[]): void;
140
141
  static ɵfac: i0.ɵɵFactoryDeclaration<KwikIDFormsRendererComponent, never>;
141
- static ɵcmp: i0.ɵɵComponentDeclaration<KwikIDFormsRendererComponent, "kwikid-forms-renderer", never, { "stepConfig": "stepConfig"; "userConfig": "userConfig"; "formsData": "formsData"; "extraData": "extraData"; "activeFormData": "activeFormData"; "apiCallResponse": "apiCallResponse"; "buttonClickResponse": "buttonClickResponse"; }, { "onClickSubmit": "onClickSubmit"; "getFormData": "getFormData"; "onClickApiCall": "onClickApiCall"; "onClickViewFile": "onClickViewFile"; "getLogs": "getLogs"; "onClickFormFieldButton": "onClickFormFieldButton"; }, never, never>;
142
+ static ɵcmp: i0.ɵɵComponentDeclaration<KwikIDFormsRendererComponent, "kwikid-forms-renderer", never, { "stepConfig": "stepConfig"; "userConfig": "userConfig"; "formsData": "formsData"; "extraData": "extraData"; "activeFormData": "activeFormData"; "reduxData": "reduxData"; "apiCallResponse": "apiCallResponse"; "buttonClickResponse": "buttonClickResponse"; }, { "onClickSubmit": "onClickSubmit"; "getFormData": "getFormData"; "onClickApiCall": "onClickApiCall"; "onClickViewFile": "onClickViewFile"; "getLogs": "getLogs"; "onClickFormFieldButton": "onClickFormFieldButton"; }, never, never>;
142
143
  }
package/package.json CHANGED
@@ -1,14 +1,18 @@
1
1
  {
2
2
  "name": "kwikid-forms",
3
- "version": "0.6.50",
3
+ "version": "0.7.0",
4
4
  "description": "KwikID's JSON Configuration based Forms Renderer and Builder",
5
5
  "author": {
6
6
  "name": "Baiju Dodhia"
7
7
  },
8
- "homepage": "https://bitbucket.org/team360noscope/kwikid-forms/",
8
+ "homepage": "https://github.com/kwikid-think360/kwikid-forms",
9
9
  "repository": {
10
10
  "type": "git",
11
- "url": "git+https://baijudodhia@bitbucket.org/team360noscope/kwikid-forms.git"
11
+ "url": "https://github.com/kwikid-think360/kwikid-forms.git"
12
+ },
13
+ "publishConfig": {
14
+ "access": "public",
15
+ "registry": "https://registry.npmjs.org/"
12
16
  },
13
17
  "keywords": [
14
18
  "KwikID",
@@ -25,7 +29,7 @@
25
29
  "jsonpath": "^1.1.1",
26
30
  "kwikid-camera": "0.0.24",
27
31
  "kwikid-toolkit": "^0.2.18",
28
- "kwikui": "^0.3.19",
32
+ "kwikui": "^0.3.31",
29
33
  "lodash": "^4.17.21",
30
34
  "tslib": "^2.2.0"
31
35
  },
@@ -36,4 +40,4 @@
36
40
  "fesm2015": "fesm2015/kwikid-forms.js",
37
41
  "typings": "kwikid-forms.d.ts",
38
42
  "sideEffects": false
39
- }
43
+ }