@nvs-dynamic-form/react-core 2.3.1 → 2.4.1

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 (83) hide show
  1. package/dist/cjs/nvs-dynamic-form/_template.js +4 -17
  2. package/dist/cjs/nvs-dynamic-form/_template.js.map +1 -1
  3. package/dist/cjs/nvs-dynamic-form/components/arrayField/_template.js +24 -25
  4. package/dist/cjs/nvs-dynamic-form/components/arrayField/_template.js.map +1 -1
  5. package/dist/cjs/nvs-dynamic-form/components/elements/_template.d.ts +16 -0
  6. package/dist/cjs/nvs-dynamic-form/components/elements/_template.js +62 -0
  7. package/dist/cjs/nvs-dynamic-form/components/elements/_template.js.map +1 -0
  8. package/dist/cjs/nvs-dynamic-form/components/elements/index.d.ts +1 -0
  9. package/dist/cjs/nvs-dynamic-form/components/elements/index.js +18 -0
  10. package/dist/cjs/nvs-dynamic-form/components/elements/index.js.map +1 -0
  11. package/dist/cjs/nvs-dynamic-form/components/formBuilder/_template.d.ts +20 -0
  12. package/dist/cjs/nvs-dynamic-form/components/formBuilder/_template.js +84 -0
  13. package/dist/cjs/nvs-dynamic-form/components/formBuilder/_template.js.map +1 -0
  14. package/dist/cjs/nvs-dynamic-form/components/formBuilder/index.d.ts +1 -0
  15. package/dist/cjs/nvs-dynamic-form/components/formBuilder/index.js +18 -0
  16. package/dist/cjs/nvs-dynamic-form/components/formBuilder/index.js.map +1 -0
  17. package/dist/cjs/nvs-dynamic-form/components/groupField/_template.d.ts +2 -1
  18. package/dist/cjs/nvs-dynamic-form/components/groupField/_template.js +33 -17
  19. package/dist/cjs/nvs-dynamic-form/components/groupField/_template.js.map +1 -1
  20. package/dist/cjs/nvs-dynamic-form/components/groupField/_type.d.ts +1 -0
  21. package/dist/cjs/types/array-field.type.d.ts +4 -2
  22. package/dist/cjs/types/array-field.type.js +2 -0
  23. package/dist/cjs/types/array-field.type.js.map +1 -1
  24. package/dist/cjs/types/group-field.type.d.ts +5 -5
  25. package/dist/cjs/types/group-field.type.js +2 -0
  26. package/dist/cjs/types/group-field.type.js.map +1 -1
  27. package/dist/esm/nvs-dynamic-form/_template.js +4 -17
  28. package/dist/esm/nvs-dynamic-form/_template.js.map +1 -1
  29. package/dist/esm/nvs-dynamic-form/components/arrayField/_template.js +25 -26
  30. package/dist/esm/nvs-dynamic-form/components/arrayField/_template.js.map +1 -1
  31. package/dist/esm/nvs-dynamic-form/components/elements/_template.d.ts +16 -0
  32. package/dist/esm/nvs-dynamic-form/components/elements/_template.js +35 -0
  33. package/dist/esm/nvs-dynamic-form/components/elements/_template.js.map +1 -0
  34. package/dist/esm/nvs-dynamic-form/components/elements/index.d.ts +1 -0
  35. package/dist/esm/nvs-dynamic-form/components/elements/index.js +2 -0
  36. package/dist/esm/nvs-dynamic-form/components/elements/index.js.map +1 -0
  37. package/dist/esm/nvs-dynamic-form/components/formBuilder/_template.d.ts +20 -0
  38. package/dist/esm/nvs-dynamic-form/components/formBuilder/_template.js +57 -0
  39. package/dist/esm/nvs-dynamic-form/components/formBuilder/_template.js.map +1 -0
  40. package/dist/esm/nvs-dynamic-form/components/formBuilder/index.d.ts +1 -0
  41. package/dist/esm/nvs-dynamic-form/components/formBuilder/index.js +2 -0
  42. package/dist/esm/nvs-dynamic-form/components/formBuilder/index.js.map +1 -0
  43. package/dist/esm/nvs-dynamic-form/components/groupField/_template.d.ts +2 -1
  44. package/dist/esm/nvs-dynamic-form/components/groupField/_template.js +10 -17
  45. package/dist/esm/nvs-dynamic-form/components/groupField/_template.js.map +1 -1
  46. package/dist/esm/nvs-dynamic-form/components/groupField/_type.d.ts +1 -0
  47. package/dist/esm/types/array-field.type.d.ts +4 -2
  48. package/dist/esm/types/array-field.type.js +2 -0
  49. package/dist/esm/types/array-field.type.js.map +1 -1
  50. package/dist/esm/types/group-field.type.d.ts +5 -5
  51. package/dist/esm/types/group-field.type.js +2 -0
  52. package/dist/esm/types/group-field.type.js.map +1 -1
  53. package/lib/nvs-dynamic-form/_template.tsx +21 -18
  54. package/lib/nvs-dynamic-form/components/arrayField/_template.tsx +50 -39
  55. package/lib/nvs-dynamic-form/components/elements/_template.tsx +94 -0
  56. package/lib/nvs-dynamic-form/components/elements/index.tsx +1 -0
  57. package/lib/nvs-dynamic-form/components/formBuilder/_template.tsx +149 -0
  58. package/lib/nvs-dynamic-form/components/formBuilder/index.tsx +1 -0
  59. package/lib/nvs-dynamic-form/components/groupField/_template.tsx +33 -13
  60. package/lib/nvs-dynamic-form/components/groupField/_type.tsx +1 -0
  61. package/lib/nvs-dynamic-form/stories/components/button.tsx +17 -0
  62. package/lib/nvs-dynamic-form/stories/components/container.tsx +14 -0
  63. package/lib/nvs-dynamic-form/stories/components/index.tsx +3 -0
  64. package/lib/nvs-dynamic-form/stories/components/textboxElement.tsx +20 -0
  65. package/lib/nvs-dynamic-form/stories/fields/arrayField/basicExample.stories.tsx +87 -0
  66. package/lib/nvs-dynamic-form/stories/fields/arrayField/groupField.stories.tsx +102 -0
  67. package/lib/nvs-dynamic-form/stories/fields/arrayField/nested.stories.tsx +137 -0
  68. package/lib/nvs-dynamic-form/stories/fields/basicExample.stories.tsx +66 -0
  69. package/lib/nvs-dynamic-form/stories/fields/groupField/arrayFields.stories.tsx +113 -0
  70. package/lib/nvs-dynamic-form/stories/fields/groupField/basicExample.stories.tsx +86 -0
  71. package/lib/nvs-dynamic-form/stories/fields/groupField/container.stories.tsx +112 -0
  72. package/lib/nvs-dynamic-form/stories/fields/groupField/nested.stories.tsx +103 -0
  73. package/lib/types/array-field.type.tsx +6 -2
  74. package/lib/types/group-field.type.tsx +7 -3
  75. package/package.json +1 -1
  76. package/dist/cjs/nvs-dynamic-form/services/generateFormContentUtils.d.ts +0 -46
  77. package/dist/cjs/nvs-dynamic-form/services/generateFormContentUtils.js +0 -97
  78. package/dist/cjs/nvs-dynamic-form/services/generateFormContentUtils.js.map +0 -1
  79. package/dist/esm/nvs-dynamic-form/services/generateFormContentUtils.d.ts +0 -46
  80. package/dist/esm/nvs-dynamic-form/services/generateFormContentUtils.js +0 -90
  81. package/dist/esm/nvs-dynamic-form/services/generateFormContentUtils.js.map +0 -1
  82. package/lib/nvs-dynamic-form/_stories.tsx +0 -349
  83. package/lib/nvs-dynamic-form/services/generateFormContentUtils.tsx +0 -196
@@ -1 +1 @@
1
- {"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../lib/nvs-dynamic-form/_template.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AACtB,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,QAAQ,EACR,YAAY,GAAG,EAAE,EACjB,MAAM,GAAG,EAAE,EACX,SAAS,EACT,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,GAAG,IAAI,EAC1B,iBAAiB,GAAG,0BAA0B,CAAC,KAAK,EACpD,uBAAuB,GAAG,0BAA0B,CAAC,WAAW,EAChE,oBAAoB,GAAG,0BAA0B,CAAC,QAAQ,EAC1D,0BAA0B,EAC1B,SAAS,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,0CAAG,QAAQ,CAAI,EAC7C,gBAAgB,GAAG,KAAK,EACxB,gBAAgB,GAAG,EAAE,EACrB,yBAAyB,GAAG,KAAK,EACjC,iBAAiB,GAAG,KAAK,EACzB,uBAAuB,EACvB,0BAA0B,GACV,EAAE,EAAE;IACpB,MAAM,wBAAwB,GAAG,IAAI,wBAAwB,CAAC;QAC5D,kBAAkB,EAAE,SAAS;QAC7B,YAAY;QACZ,yBAAyB;QACzB,iBAAiB;QACjB,gBAAgB;QAChB,MAAM;QACN,gBAAgB;QAChB,eAAe;QACf,iCAAiC,EAAE,uBAAuB;QAC1D,oCAAoC,EAAE,0BAA0B;KACjE,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,CACjB,oBAAC,UAAU,IAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;QACjE,wBAAwB,CAAC,iBAAiB,EAAE;QAC7C,oBAAC,MAAM,IACL,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,iBAAiB,EACxB,WAAW,EAAE,uBAAuB,EACpC,QAAQ,EAAE,oBAAoB,EAC9B,cAAc,EAAE,0BAA0B,GAC1C,CACS,CACd,CAAC;IAEF,OAAO,gBAAgB,IAAI,CAAC,yBAAyB;QACnD,CAAC,CAAC,wBAAwB,CAAC,eAAe,CAAC,UAAU,EAAE,gBAAgB,CAAC;QACxE,CAAC,CAAC,UAAU,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../lib/nvs-dynamic-form/_template.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AACtB,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,QAAQ,EACR,YAAY,GAAG,EAAE,EACjB,MAAM,GAAG,EAAE,EACX,SAAS,EACT,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,GAAG,IAAI,EAC1B,iBAAiB,GAAG,0BAA0B,CAAC,KAAK,EACpD,uBAAuB,GAAG,0BAA0B,CAAC,WAAW,EAChE,oBAAoB,GAAG,0BAA0B,CAAC,QAAQ,EAC1D,0BAA0B,EAC1B,SAAS,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,0CAAG,QAAQ,CAAI,EAC7C,gBAAgB,GAAG,KAAK,EACxB,gBAAgB,GAAG,EAAE,EACrB,yBAAyB,GAAG,KAAK,EACjC,iBAAiB,GAAG,KAAK,EACzB,uBAAuB,EACvB,0BAA0B,GACV,EAAE,EAAE;IACpB,MAAM,UAAU,GAAG,CACjB,oBAAC,UAAU,IAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;QAClE,oBAAC,WAAW,IACV,kBAAkB,EAAE,SAAS,EAC7B,YAAY,EAAE,YAAY,EAC1B,yBAAyB,EAAE,yBAAyB,EACpD,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,iCAAiC,EAAE,uBAAuB,EAC1D,oCAAoC,EAAE,0BAA0B,GAChE;QACF,oBAAC,MAAM,IACL,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,iBAAiB,EACxB,WAAW,EAAE,uBAAuB,EACpC,QAAQ,EAAE,oBAAoB,EAC9B,cAAc,EAAE,0BAA0B,GAC1C,CACS,CACd,CAAC;IAEF,OAAO,gBAAgB,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CACtD,oBAAC,SAAS,IAAC,kBAAkB,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,IAChE,UAAU,CACD,CACb,CAAC,CAAC,CAAC,CACF,UAAU,CACX,CAAC;AACJ,CAAC,CAAC"}
@@ -1,39 +1,35 @@
1
1
  import * as lodash from "lodash";
2
2
  import { ArrayFieldAddButton, ArrayFieldRemoveButton, LabelOptions, } from "../../../types";
3
3
  import { FieldArray } from "formik";
4
- import React, { useState } from "react";
5
- import { GenerateFormContentUtils } from "../../services/generateFormContentUtils";
4
+ import React, { useCallback, useState } from "react";
5
+ import { Elements } from "../elements";
6
6
  import { List } from "../list/_template";
7
7
  export const ArrayField = ({ field: arrayField, formElements, containerComponent, containerVisible, useContainersOutsideGroup, useGroupContainer, buttonComponent: ButtonComponent, addButtonDefaultOptions, removeButtonDefaultOptions, labelDefaultOptions, }) => {
8
+ const createArrayItem = useCallback((index) => {
9
+ return lodash.cloneDeep(arrayField.fields).map((field) => {
10
+ field.id = `${arrayField.id}[${index}].${field.id}`;
11
+ return field;
12
+ });
13
+ }, [arrayField.fields]);
8
14
  const [addButtonOptions] = useState(new ArrayFieldAddButton(lodash.merge(addButtonDefaultOptions ?? {}, arrayField.addButtonOptions ?? {})));
9
15
  const [removeButtonOptions] = useState(new ArrayFieldRemoveButton(lodash.merge(removeButtonDefaultOptions ?? {}, arrayField.removeButtonOptions ?? {})));
10
16
  const [labelOptions] = useState(new LabelOptions(lodash.merge(labelDefaultOptions ?? {}, arrayField.labelOptions ?? {})));
11
- const generateFormContentUtils = new GenerateFormContentUtils({
12
- containerComponent,
13
- formElements,
14
- useContainersOutsideGroup,
15
- useGroupContainer,
16
- containerVisible: containerVisible,
17
- fields: arrayField.fields,
18
- fieldArrayAddButtonDefaultOptions: addButtonDefaultOptions,
19
- fieldArrayRemoveButtonDefaultOptions: removeButtonDefaultOptions,
20
- });
21
- const createArrayItem = (name, index) => {
22
- return arrayField.fields.map((field) => ({
23
- ...field,
24
- id: `${name}[${index}].${field.id}`,
25
- }));
17
+ const ContentContainer = ({ children }) => {
18
+ return (React.createElement("div", { className: "nvs-container-fluid" },
19
+ React.createElement("div", { className: "nvs-row" }, children)));
26
20
  };
27
21
  const getDefaultItem = () => {
28
22
  return arrayField.fields.reduce((acc, field) => {
29
- acc[field.id] = field.defaultValue;
23
+ if ("defaultValue" in field)
24
+ acc[field.id] = field.defaultValue;
30
25
  return acc;
31
26
  }, {});
32
27
  };
33
28
  const createArrayFields = (index) => {
34
29
  return (React.createElement("div", { className: "df-array-field-content" },
35
30
  React.createElement("div", { className: "nvs-container-fluid" },
36
- React.createElement("div", { className: "nvs-row" }, generateFormContentUtils.createFormElements(createArrayItem(arrayField.id, index))))));
31
+ React.createElement("div", { className: "nvs-row" },
32
+ React.createElement(Elements, { fields: createArrayItem(index), formElements: formElements, containerComponent: containerComponent, useContainersOutsideGroup: useContainersOutsideGroup, useGroupContainer: useGroupContainer, containerVisible: containerVisible, buttonComponent: ButtonComponent, fieldArrayAddButtonDefaultOptions: addButtonDefaultOptions, fieldArrayRemoveButtonDefaultOptions: removeButtonDefaultOptions, labelDefaultOptions: labelDefaultOptions })))));
37
33
  };
38
34
  const createRemoveButton = (onRemoveItem) => {
39
35
  return (React.createElement("div", { className: "nvs-col-12" },
@@ -42,7 +38,8 @@ export const ArrayField = ({ field: arrayField, formElements, containerComponent
42
38
  }, type: "button", ...removeButtonOptions.options }, removeButtonOptions.label)));
43
39
  };
44
40
  const createArrayItemRemoveButton = (onRemoveItem) => {
45
- return (React.createElement("div", { className: "df-array-field-remove-button" }, generateFormContentUtils.createContentContainer(createRemoveButton(onRemoveItem))));
41
+ return (React.createElement("div", { className: "df-array-field-remove-button" },
42
+ React.createElement(ContentContainer, null, createRemoveButton(onRemoveItem))));
46
43
  };
47
44
  const createFieldArrayContent = (onRemoveItem, index) => {
48
45
  return (React.createElement("div", { className: `df-array-field remove-button-${removeButtonOptions.position}`, key: index },
@@ -55,11 +52,12 @@ export const ArrayField = ({ field: arrayField, formElements, containerComponent
55
52
  React.createElement(ButtonComponent, { onClick: () => onAddItem(getDefaultItem()), type: "button", ...addButtonOptions.options }, addButtonOptions.label)));
56
53
  };
57
54
  const createArrayItemAddButton = (onAddItem) => {
58
- return generateFormContentUtils.createContentContainer(createAddButton(onAddItem));
55
+ return React.createElement(ContentContainer, null, createAddButton(onAddItem));
59
56
  };
60
57
  const createArrayFieldLabel = () => {
61
- return generateFormContentUtils.createContentContainer(React.createElement("div", { className: "nvs-col-12" },
62
- React.createElement("label", { className: `df-array-field-label ${labelOptions.class}` }, arrayField.label)));
58
+ return (React.createElement(ContentContainer, null,
59
+ React.createElement("div", { className: "nvs-col-12" },
60
+ React.createElement("label", { className: `df-array-field-label ${labelOptions.class}` }, arrayField.label))));
63
61
  };
64
62
  const checkFieldArrayMaxSize = (length) => {
65
63
  const maxSize = arrayField
@@ -81,9 +79,10 @@ export const ArrayField = ({ field: arrayField, formElements, containerComponent
81
79
  };
82
80
  return (React.createElement(FieldArray, { name: arrayField.id }, ({ push, remove, form }) => (React.createElement(React.Fragment, null,
83
81
  arrayField.label && createArrayFieldLabel(),
84
- form.values[arrayField.id]?.map((_, index) => createFieldArrayContent(remove, index)),
85
- checkFieldArrayMaxSize(form.values[arrayField.id].length) &&
86
- createArrayItemAddButton(push),
82
+ lodash
83
+ .get(form.values, arrayField.id)
84
+ ?.map((_, index) => createFieldArrayContent(remove, index)),
85
+ checkFieldArrayMaxSize(lodash.get(form.values, arrayField.id)?.length) && createArrayItemAddButton(push),
87
86
  createErrorList(form)))));
88
87
  };
89
88
  //# sourceMappingURL=_template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/arrayField/_template.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/arrayField/_template.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { ArrayFieldAddButton, LabelOptions } from "../../../types";
2
+ import { IFormElement } from "../field";
3
+ import React from "react";
4
+ import { FieldType } from "../../_type";
5
+ export declare const Elements: ({ fields, formElements, containerComponent, useContainersOutsideGroup, useGroupContainer, containerVisible, buttonComponent, fieldArrayAddButtonDefaultOptions, fieldArrayRemoveButtonDefaultOptions, labelDefaultOptions, }: {
6
+ fields: Array<FieldType>;
7
+ formElements: IFormElement;
8
+ containerComponent: React.FC<any>;
9
+ useContainersOutsideGroup: boolean;
10
+ useGroupContainer: boolean;
11
+ containerVisible: boolean;
12
+ buttonComponent?: React.FC<any>;
13
+ fieldArrayAddButtonDefaultOptions?: ArrayFieldAddButton;
14
+ fieldArrayRemoveButtonDefaultOptions?: ArrayFieldAddButton;
15
+ labelDefaultOptions?: LabelOptions;
16
+ }) => React.JSX.Element | JSX.Element[];
@@ -0,0 +1,35 @@
1
+ import { ArrayField, GroupField, } from "../../../types";
2
+ import { Field } from "../field";
3
+ import React, { useEffect, useState } from "react";
4
+ import { ArrayField as ArrayFieldElement } from "../arrayField";
5
+ import { GroupField as GroupFieldElement } from "../groupField";
6
+ export const Elements = ({ fields, formElements, containerComponent, useContainersOutsideGroup, useGroupContainer, containerVisible, buttonComponent, fieldArrayAddButtonDefaultOptions = {}, fieldArrayRemoveButtonDefaultOptions = {}, labelDefaultOptions = {}, }) => {
7
+ const [fieldsElements, setFieldsElements] = useState([]);
8
+ const createFormElements = () => {
9
+ const fieldsElements = [];
10
+ for (const field of fields) {
11
+ if (field instanceof GroupField)
12
+ fieldsElements.push(createGroupFieldElement(field));
13
+ else if (field instanceof ArrayField)
14
+ fieldsElements.push(createArrayFieldElement(field));
15
+ else
16
+ fieldsElements.push(createSingleFieldElement(field));
17
+ }
18
+ return fieldsElements;
19
+ };
20
+ const createSingleFieldElement = (field) => {
21
+ return React.createElement(Field, { key: field.id, formElements: formElements, field: field });
22
+ };
23
+ const createGroupFieldElement = (field) => {
24
+ return (React.createElement(GroupFieldElement, { key: field.id, formElements: formElements, field: field, containerComponent: containerComponent, useContainersOutsideGroup: useContainersOutsideGroup, useGroupContainer: useGroupContainer, containerVisible: containerVisible, buttonComponent: buttonComponent }));
25
+ };
26
+ const createArrayFieldElement = (field) => {
27
+ return (React.createElement(ArrayFieldElement, { key: field.id, formElements: formElements, field: field, containerComponent: containerComponent, useContainersOutsideGroup: useContainersOutsideGroup, useGroupContainer: useGroupContainer, containerVisible: containerVisible, buttonComponent: buttonComponent, addButtonDefaultOptions: fieldArrayAddButtonDefaultOptions, removeButtonDefaultOptions: fieldArrayRemoveButtonDefaultOptions, labelDefaultOptions: labelDefaultOptions }));
28
+ };
29
+ useEffect(() => {
30
+ if (fields.length > 0)
31
+ setFieldsElements(createFormElements());
32
+ }, [fields]);
33
+ return fieldsElements.length > 0 ? fieldsElements : React.createElement(React.Fragment, null);
34
+ };
35
+ //# sourceMappingURL=_template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/elements/_template.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,UAAU,GAEX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,EAAgB,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGhE,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEhE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EACvB,MAAM,EACN,YAAY,EACZ,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iCAAiC,GAAG,EAAE,EACtC,oCAAoC,GAAG,EAAE,EACzC,mBAAmB,GAAG,EAAE,GAYzB,EAAE,EAAE;IACH,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAgB,EAAE,CAAC,CAAC;IAExE,MAAM,kBAAkB,GAAG,GAAkB,EAAE;QAC7C,MAAM,cAAc,GAAG,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,YAAY,UAAU;gBAC7B,cAAc,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;iBACjD,IAAI,KAAK,YAAY,UAAU;gBAClC,cAAc,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;;gBACjD,cAAc,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC,CAAC;IAEF,MAAM,wBAAwB,GAAG,CAAC,KAAyB,EAAE,EAAE;QAC7D,OAAO,oBAAC,KAAK,IAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;IAC5E,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,CAAC,KAAiB,EAAE,EAAE;QACpD,OAAO,CACL,oBAAC,iBAAiB,IAChB,GAAG,EAAE,KAAK,CAAC,EAAE,EACb,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,EACZ,kBAAkB,EAAE,kBAAkB,EACtC,yBAAyB,EAAE,yBAAyB,EACpD,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,eAAgB,GACjC,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,CAAC,KAAiB,EAAE,EAAE;QACpD,OAAO,CACL,oBAAC,iBAAiB,IAChB,GAAG,EAAE,KAAK,CAAC,EAAE,EACb,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,EACZ,kBAAkB,EAAE,kBAAkB,EACtC,yBAAyB,EAAE,yBAAyB,EACpD,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,eAAgB,EACjC,uBAAuB,EAAE,iCAAiC,EAC1D,0BAA0B,EAAE,oCAAoC,EAChE,mBAAmB,EAAE,mBAAmB,GACxC,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACjE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,yCAAK,CAAC;AAC5D,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./_template";
@@ -0,0 +1,2 @@
1
+ export * from "./_template";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/elements/index.tsx"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,20 @@
1
+ import React from "react";
2
+ import { LabelOptions } from "../../../types";
3
+ import { IFormElement } from "../field";
4
+ import { FieldType } from "../../_type";
5
+ import { ArrayFieldAddButton } from "../../../types";
6
+ export declare const FormBuilder: ({ containerComponent, formElements, useContainersOutsideGroup, useGroupContainer, containerVisible, fields, containerOptions, buttonComponent, fieldArrayAddButtonDefaultOptions, fieldArrayRemoveButtonDefaultOptions, labelDefaultOptions, }: {
7
+ containerComponent: React.FC<any>;
8
+ formElements: IFormElement;
9
+ useContainersOutsideGroup: boolean;
10
+ useGroupContainer: boolean;
11
+ containerVisible: boolean;
12
+ fields: Array<FieldType>;
13
+ buttonComponent?: React.FC<any>;
14
+ containerOptions?: {
15
+ [key: string]: any;
16
+ };
17
+ fieldArrayAddButtonDefaultOptions?: ArrayFieldAddButton;
18
+ fieldArrayRemoveButtonDefaultOptions?: ArrayFieldAddButton;
19
+ labelDefaultOptions?: LabelOptions;
20
+ }) => React.JSX.Element;
@@ -0,0 +1,57 @@
1
+ import React, { useEffect, useState } from "react";
2
+ import { ArrayField, GroupField } from "../../../types";
3
+ import { Container } from "../container";
4
+ import { Elements } from "../elements";
5
+ export const FormBuilder = ({ containerComponent, formElements, useContainersOutsideGroup, useGroupContainer, containerVisible, fields, containerOptions = {}, buttonComponent, fieldArrayAddButtonDefaultOptions, fieldArrayRemoveButtonDefaultOptions, labelDefaultOptions, }) => {
6
+ const [formContent, setFormContent] = useState();
7
+ const createFormContent = () => {
8
+ const singleFields = createSingleFieldsElements();
9
+ const groupFields = createGroupFieldsElements();
10
+ let formContent;
11
+ if (containerVisible && useContainersOutsideGroup && singleFields)
12
+ formContent = (React.createElement(React.Fragment, null,
13
+ createContainer(singleFields, containerOptions),
14
+ groupFields));
15
+ else
16
+ formContent = createFormGroup(React.createElement(React.Fragment, null,
17
+ singleFields,
18
+ groupFields));
19
+ return formContent;
20
+ };
21
+ const createContentContainer = (formElements) => {
22
+ return (React.createElement("div", { className: "nvs-container-fluid" },
23
+ React.createElement("div", { className: "nvs-row" }, formElements)));
24
+ };
25
+ const createSingleFieldsElements = () => {
26
+ const singleFields = getSingleFields();
27
+ return (singleFields.length > 0 &&
28
+ createContentContainer(React.createElement(Elements, { fields: singleFields, formElements: formElements, containerComponent: containerComponent, useContainersOutsideGroup: useContainersOutsideGroup, useGroupContainer: useGroupContainer, containerVisible: containerVisible, buttonComponent: buttonComponent, fieldArrayAddButtonDefaultOptions: fieldArrayAddButtonDefaultOptions, fieldArrayRemoveButtonDefaultOptions: fieldArrayRemoveButtonDefaultOptions, labelDefaultOptions: labelDefaultOptions })));
29
+ };
30
+ const createGroupFieldsElements = () => {
31
+ const groupFields = getGroupFields();
32
+ return (groupFields.length > 0 && (React.createElement(Elements, { fields: groupFields, formElements: formElements, containerComponent: containerComponent, useContainersOutsideGroup: useContainersOutsideGroup, useGroupContainer: useGroupContainer, containerVisible: containerVisible, buttonComponent: buttonComponent, fieldArrayAddButtonDefaultOptions: fieldArrayAddButtonDefaultOptions, fieldArrayRemoveButtonDefaultOptions: fieldArrayRemoveButtonDefaultOptions, labelDefaultOptions: labelDefaultOptions })));
33
+ };
34
+ const isSingleField = (field) => {
35
+ return !((field instanceof GroupField || field instanceof ArrayField) &&
36
+ field.containerVisible &&
37
+ useGroupContainer &&
38
+ containerVisible);
39
+ };
40
+ const getSingleFields = () => {
41
+ return fields.filter((field) => isSingleField(field));
42
+ };
43
+ const getGroupFields = () => {
44
+ return fields.filter((field) => !isSingleField(field));
45
+ };
46
+ const createContainer = (content, containerProps) => {
47
+ return (React.createElement(Container, { containerComponent: containerComponent, options: containerProps }, content));
48
+ };
49
+ const createFormGroup = (formContent) => {
50
+ return React.createElement("div", { className: "df-form-group" }, formContent);
51
+ };
52
+ useEffect(() => {
53
+ setFormContent(createFormContent());
54
+ }, [fields]);
55
+ return React.createElement(React.Fragment, null, formContent);
56
+ };
57
+ //# sourceMappingURL=_template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/formBuilder/_template.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from "./_template";
@@ -0,0 +1,2 @@
1
+ export * from "./_template";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/formBuilder/index.tsx"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -1,2 +1,3 @@
1
+ import React from "react";
1
2
  import { IGroupField } from "./_type";
2
- export declare const GroupField: ({ field: groupField, formElements, containerComponent, containerVisible, useContainersOutsideGroup, useGroupContainer, }: IGroupField) => import("react").JSX.Element | JSX.Element[];
3
+ export declare const GroupField: ({ field: groupField, formElements, containerComponent, containerVisible, useContainersOutsideGroup, useGroupContainer, buttonComponent, }: IGroupField) => React.JSX.Element;
@@ -1,22 +1,15 @@
1
- import { GenerateFormContentUtils } from "../../services/generateFormContentUtils";
2
- export const GroupField = ({ field: groupField, formElements, containerComponent, containerVisible, useContainersOutsideGroup, useGroupContainer, }) => {
3
- const generateFormContentUtils = new GenerateFormContentUtils({
4
- containerComponent,
5
- formElements,
6
- useContainersOutsideGroup,
7
- useGroupContainer,
8
- containerOptions: groupField.containerOptions,
9
- containerVisible: containerVisible && groupField.containerVisible,
10
- fields: groupField.fields.map((field) => {
11
- field.id = `${groupField.id}.${field.id}`;
12
- return field;
13
- }),
14
- });
1
+ import React, { useState } from "react";
2
+ import { Elements } from "../elements";
3
+ import { FormBuilder } from "../formBuilder";
4
+ export const GroupField = ({ field: groupField, formElements, containerComponent, containerVisible, useContainersOutsideGroup, useGroupContainer, buttonComponent, }) => {
5
+ const [fields, _] = useState(groupField.fields.map((field) => {
6
+ field.id = `${groupField.id}.${field.id}`;
7
+ return field;
8
+ }));
15
9
  const isContainerVisible = () => {
16
10
  return groupField.containerVisible && useGroupContainer && containerVisible;
17
11
  };
18
- return isContainerVisible()
19
- ? generateFormContentUtils.createFormContent()
20
- : generateFormContentUtils.createFormElements(groupField.fields);
12
+ return (fields &&
13
+ (isContainerVisible() ? (React.createElement(FormBuilder, { containerComponent: containerComponent, formElements: formElements, useContainersOutsideGroup: useContainersOutsideGroup, useGroupContainer: useGroupContainer, containerOptions: groupField.containerOptions, containerVisible: containerVisible, fields: fields, buttonComponent: buttonComponent })) : (React.createElement(Elements, { fields: fields, containerComponent: containerComponent, formElements: formElements, useContainersOutsideGroup: useContainersOutsideGroup, useGroupContainer: useGroupContainer, containerVisible: containerVisible, buttonComponent: buttonComponent }))));
21
14
  };
22
15
  //# sourceMappingURL=_template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/groupField/_template.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAGnF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,KAAK,EAAE,UAAU,EACjB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,iBAAiB,GACL,EAAE,EAAE;IAChB,MAAM,wBAAwB,GAAG,IAAI,wBAAwB,CAAC;QAC5D,kBAAkB;QAClB,YAAY;QACZ,yBAAyB;QACzB,iBAAiB;QACjB,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;QAC7C,gBAAgB,EAAE,gBAAgB,IAAI,UAAU,CAAC,gBAAiB;QAClE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,KAAK,CAAC,EAAE,GAAG,GAAG,UAAU,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,OAAO,UAAU,CAAC,gBAAgB,IAAI,iBAAiB,IAAI,gBAAgB,CAAC;IAC9E,CAAC,CAAC;IAEF,OAAO,kBAAkB,EAAE;QACzB,CAAC,CAAC,wBAAwB,CAAC,iBAAiB,EAAE;QAC9C,CAAC,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACrE,CAAC,CAAC"}
1
+ {"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/groupField/_template.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,KAAK,EAAE,UAAU,EACjB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,GACH,EAAE,EAAE;IAChB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,QAAQ,CAC1B,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9B,KAAK,CAAC,EAAE,GAAG,GAAG,UAAU,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,OAAO,UAAU,CAAC,gBAAgB,IAAI,iBAAiB,IAAI,gBAAgB,CAAC;IAC9E,CAAC,CAAC;IAEF,OAAO,CACL,MAAM;QACN,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CACtB,oBAAC,WAAW,IACV,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,EAAE,YAAY,EAC1B,yBAAyB,EAAE,yBAAyB,EACpD,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,EAC7C,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe,GAChC,CACH,CAAC,CAAC,CAAC,CACF,oBAAC,QAAQ,IACP,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,EAAE,YAAY,EAC1B,yBAAyB,EAAE,yBAAyB,EACpD,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,eAAe,GAChC,CACH,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -6,4 +6,5 @@ export interface IGroupField extends IField {
6
6
  containerVisible: boolean;
7
7
  useContainersOutsideGroup: boolean;
8
8
  useGroupContainer: boolean;
9
+ buttonComponent?: React.FC<any>;
9
10
  }
@@ -1,18 +1,20 @@
1
1
  import * as Yup from "yup";
2
2
  import { ArrayFieldAddButton, ArrayFieldRemoveButton } from "./array-field-action-button.type";
3
- import { FieldBase } from "./field-base.type";
3
+ import { FieldType } from "../nvs-dynamic-form";
4
4
  import { LabelOptions } from "./label-options.type";
5
5
  export declare class ArrayField<ValueType = {
6
6
  [key: string]: any;
7
7
  }> {
8
8
  fieldType?: string;
9
9
  id: string;
10
- fields: Array<FieldBase<any>>;
10
+ fields: Array<FieldType>;
11
11
  addButtonOptions?: ArrayFieldAddButton;
12
12
  removeButtonOptions?: ArrayFieldRemoveButton;
13
13
  defaultValues?: Array<ValueType>;
14
14
  label?: string;
15
15
  labelOptions?: LabelOptions;
16
16
  validate?: Yup.ArraySchema<any, any>;
17
+ containerVisible?: boolean;
18
+ containerOptions?: Record<string, any>;
17
19
  constructor(options: ArrayField<ValueType>);
18
20
  }
@@ -10,6 +10,8 @@ export class ArrayField {
10
10
  this.label = options.label;
11
11
  this.labelOptions = options.labelOptions ?? {};
12
12
  this.validate = options.validate ?? Yup.array();
13
+ this.containerVisible = options.containerVisible ?? false;
14
+ this.containerOptions = options.containerOptions ?? {};
13
15
  }
14
16
  }
15
17
  //# sourceMappingURL=array-field.type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"array-field.type.js","sourceRoot":"","sources":["../../../lib/types/array-field.type.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAU3B,MAAM,OAAO,UAAU;IAWrB,YAAY,OAA8B;QAV1C,cAAS,GAAY,YAAY,CAAC;QAWhC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACvD,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC;QAC7D,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;IAClD,CAAC;CACF"}
1
+ {"version":3,"file":"array-field.type.js","sourceRoot":"","sources":["../../../lib/types/array-field.type.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAU3B,MAAM,OAAO,UAAU;IAarB,YAAY,OAA8B;QAZ1C,cAAS,GAAY,YAAY,CAAC;QAahC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACvD,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC;QAC7D,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAChD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC;QAC1D,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;IACzD,CAAC;CACF"}
@@ -1,10 +1,10 @@
1
- import { FieldBase } from "./field-base.type";
1
+ import { FieldType } from "../nvs-dynamic-form";
2
2
  export declare class GroupField {
3
3
  id: string;
4
- fields: Array<FieldBase<unknown>>;
4
+ fields: Array<FieldType>;
5
5
  containerVisible?: boolean;
6
- containerOptions?: {
7
- [key: string]: any;
8
- };
6
+ containerOptions?: Record<string, any>;
7
+ useContainersOutsideGroup?: boolean;
8
+ useGroupContainer?: boolean;
9
9
  constructor(options: GroupField);
10
10
  }
@@ -3,6 +3,8 @@ export class GroupField {
3
3
  this.id = options.id;
4
4
  this.fields = options.fields ?? [];
5
5
  this.containerVisible = options.containerVisible ?? false;
6
+ this.useContainersOutsideGroup = options.useContainersOutsideGroup ?? false;
7
+ this.useGroupContainer = options.useGroupContainer ?? false;
6
8
  this.containerOptions = options.containerOptions ?? {};
7
9
  }
8
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"group-field.type.js","sourceRoot":"","sources":["../../../lib/types/group-field.type.tsx"],"names":[],"mappings":"AAEA,MAAM,OAAO,UAAU;IAMrB,YAAY,OAAmB;QAC7B,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC;QAC1D,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;IACzD,CAAC;CACF"}
1
+ {"version":3,"file":"group-field.type.js","sourceRoot":"","sources":["../../../lib/types/group-field.type.tsx"],"names":[],"mappings":"AAEA,MAAM,OAAO,UAAU;IAQrB,YAAY,OAAmB;QAC7B,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC;QAC1D,IAAI,CAAC,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,IAAI,KAAK,CAAC;QAC5E,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,KAAK,CAAC;QAC5D,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;IACzD,CAAC;CACF"}
@@ -3,9 +3,10 @@ import "./_style.css";
3
3
 
4
4
  import { Button } from "./components/button";
5
5
  import { FormikForm } from "./formikForm";
6
- import { GenerateFormContentUtils } from "./services/generateFormContentUtils";
7
6
  import { INvsDynamicForm } from "./_type";
8
7
  import React from "react";
8
+ import { FormBuilder } from "./components/formBuilder";
9
+ import { Container } from "./components/container";
9
10
 
10
11
  export const NvsDynamicForm = ({
11
12
  onSubmit,
@@ -27,22 +28,20 @@ export const NvsDynamicForm = ({
27
28
  addButtonDefaultOptions,
28
29
  removeButtonDefaultOptions,
29
30
  }: INvsDynamicForm) => {
30
- const generateFormContentUtils = new GenerateFormContentUtils({
31
- containerComponent: container,
32
- formElements,
33
- useContainersOutsideGroup,
34
- useGroupContainer,
35
- containerVisible,
36
- fields,
37
- containerOptions,
38
- buttonComponent,
39
- fieldArrayAddButtonDefaultOptions: addButtonDefaultOptions,
40
- fieldArrayRemoveButtonDefaultOptions: removeButtonDefaultOptions,
41
- });
42
-
43
31
  const formikForm = (
44
32
  <FormikForm onSubmit={onSubmit} fields={fields} formClass={formClass}>
45
- {generateFormContentUtils.createFormContent()}
33
+ <FormBuilder
34
+ containerComponent={container}
35
+ formElements={formElements}
36
+ useContainersOutsideGroup={useContainersOutsideGroup}
37
+ useGroupContainer={useGroupContainer}
38
+ containerVisible={containerVisible}
39
+ fields={fields}
40
+ buttonComponent={buttonComponent}
41
+ containerOptions={containerOptions}
42
+ fieldArrayAddButtonDefaultOptions={addButtonDefaultOptions}
43
+ fieldArrayRemoveButtonDefaultOptions={removeButtonDefaultOptions}
44
+ />
46
45
  <Button
47
46
  buttonComponent={buttonComponent}
48
47
  visible={submitButtonVisible}
@@ -54,7 +53,11 @@ export const NvsDynamicForm = ({
54
53
  </FormikForm>
55
54
  );
56
55
 
57
- return containerVisible && !useContainersOutsideGroup
58
- ? generateFormContentUtils.createContainer(formikForm, containerOptions)
59
- : formikForm;
56
+ return containerVisible && !useContainersOutsideGroup ? (
57
+ <Container containerComponent={container} options={containerOptions}>
58
+ {formikForm}
59
+ </Container>
60
+ ) : (
61
+ formikForm
62
+ );
60
63
  };