@nvs-dynamic-form/react-core 2.1.0 → 2.3.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 (209) hide show
  1. package/dist/cjs/nvs-dynamic-form/_style.css +14 -0
  2. package/dist/cjs/nvs-dynamic-form/_template.js +1 -1
  3. package/dist/cjs/nvs-dynamic-form/_template.js.map +1 -1
  4. package/dist/cjs/nvs-dynamic-form/_type.d.ts +3 -2
  5. package/dist/cjs/nvs-dynamic-form/{elements → components}/arrayField/_template.js +32 -4
  6. package/dist/cjs/nvs-dynamic-form/components/arrayField/_template.js.map +1 -0
  7. package/dist/{esm/nvs-dynamic-form/elements → cjs/nvs-dynamic-form/components}/arrayField/_type.d.ts +2 -1
  8. package/dist/cjs/nvs-dynamic-form/components/arrayField/_type.js.map +1 -0
  9. package/dist/cjs/nvs-dynamic-form/components/arrayField/index.js.map +1 -0
  10. package/dist/cjs/nvs-dynamic-form/components/button/_template.js.map +1 -0
  11. package/dist/cjs/nvs-dynamic-form/components/button/_type.js.map +1 -0
  12. package/dist/cjs/nvs-dynamic-form/components/button/index.js.map +1 -0
  13. package/dist/cjs/nvs-dynamic-form/components/container/_template.js.map +1 -0
  14. package/dist/cjs/nvs-dynamic-form/components/container/_type.js.map +1 -0
  15. package/dist/cjs/nvs-dynamic-form/components/container/index.js.map +1 -0
  16. package/dist/cjs/nvs-dynamic-form/components/field/_template.js.map +1 -0
  17. package/dist/cjs/nvs-dynamic-form/components/field/_type.js.map +1 -0
  18. package/dist/cjs/nvs-dynamic-form/components/field/index.js.map +1 -0
  19. package/dist/cjs/nvs-dynamic-form/components/groupField/_template.js.map +1 -0
  20. package/dist/cjs/nvs-dynamic-form/components/groupField/_type.js.map +1 -0
  21. package/dist/cjs/nvs-dynamic-form/components/groupField/index.js.map +1 -0
  22. package/dist/cjs/nvs-dynamic-form/components/list/_template.d.ts +3 -0
  23. package/dist/cjs/nvs-dynamic-form/components/list/_template.js +18 -0
  24. package/dist/cjs/nvs-dynamic-form/components/list/_template.js.map +1 -0
  25. package/dist/cjs/nvs-dynamic-form/components/list/_type.d.ts +4 -0
  26. package/dist/cjs/nvs-dynamic-form/components/list/_type.js +3 -0
  27. package/dist/cjs/nvs-dynamic-form/components/list/_type.js.map +1 -0
  28. package/dist/cjs/nvs-dynamic-form/components/list/index.d.ts +0 -0
  29. package/dist/cjs/nvs-dynamic-form/components/list/index.js +2 -0
  30. package/dist/cjs/nvs-dynamic-form/components/list/index.js.map +1 -0
  31. package/dist/cjs/nvs-dynamic-form/formikForm/_template.js +3 -3
  32. package/dist/cjs/nvs-dynamic-form/formikForm/_template.js.map +1 -1
  33. package/dist/cjs/nvs-dynamic-form/services/generateFormContentUtils.d.ts +5 -3
  34. package/dist/cjs/nvs-dynamic-form/services/generateFormContentUtils.js +7 -6
  35. package/dist/cjs/nvs-dynamic-form/services/generateFormContentUtils.js.map +1 -1
  36. package/dist/cjs/types/array-field-action-button.type.d.ts +1 -0
  37. package/dist/cjs/types/array-field-action-button.type.js +1 -0
  38. package/dist/cjs/types/array-field-action-button.type.js.map +1 -1
  39. package/dist/cjs/types/array-field.type.d.ts +5 -0
  40. package/dist/cjs/types/array-field.type.js +27 -0
  41. package/dist/cjs/types/array-field.type.js.map +1 -1
  42. package/dist/cjs/types/index.d.ts +1 -0
  43. package/dist/cjs/types/index.js +1 -0
  44. package/dist/cjs/types/index.js.map +1 -1
  45. package/dist/cjs/types/label-options.type.d.ts +4 -0
  46. package/dist/cjs/types/label-options.type.js +10 -0
  47. package/dist/cjs/types/label-options.type.js.map +1 -0
  48. package/dist/esm/nvs-dynamic-form/_style.css +14 -0
  49. package/dist/esm/nvs-dynamic-form/_template.js +1 -1
  50. package/dist/esm/nvs-dynamic-form/_template.js.map +1 -1
  51. package/dist/esm/nvs-dynamic-form/_type.d.ts +3 -2
  52. package/dist/esm/nvs-dynamic-form/{elements → components}/arrayField/_template.js +33 -5
  53. package/dist/esm/nvs-dynamic-form/components/arrayField/_template.js.map +1 -0
  54. package/dist/{cjs/nvs-dynamic-form/elements → esm/nvs-dynamic-form/components}/arrayField/_type.d.ts +2 -1
  55. package/dist/esm/nvs-dynamic-form/components/arrayField/_type.js.map +1 -0
  56. package/dist/esm/nvs-dynamic-form/components/arrayField/index.js.map +1 -0
  57. package/dist/esm/nvs-dynamic-form/components/button/_template.js.map +1 -0
  58. package/dist/esm/nvs-dynamic-form/components/button/_type.js.map +1 -0
  59. package/dist/esm/nvs-dynamic-form/components/button/index.js.map +1 -0
  60. package/dist/esm/nvs-dynamic-form/components/container/_template.js.map +1 -0
  61. package/dist/esm/nvs-dynamic-form/components/container/_type.js.map +1 -0
  62. package/dist/esm/nvs-dynamic-form/components/container/index.js.map +1 -0
  63. package/dist/esm/nvs-dynamic-form/components/field/_template.js.map +1 -0
  64. package/dist/esm/nvs-dynamic-form/components/field/_type.js.map +1 -0
  65. package/dist/esm/nvs-dynamic-form/components/field/index.js.map +1 -0
  66. package/dist/esm/nvs-dynamic-form/components/groupField/_template.js.map +1 -0
  67. package/dist/esm/nvs-dynamic-form/components/groupField/_type.js.map +1 -0
  68. package/dist/esm/nvs-dynamic-form/components/groupField/index.js.map +1 -0
  69. package/dist/esm/nvs-dynamic-form/components/list/_template.d.ts +3 -0
  70. package/dist/esm/nvs-dynamic-form/components/list/_template.js +11 -0
  71. package/dist/esm/nvs-dynamic-form/components/list/_template.js.map +1 -0
  72. package/dist/esm/nvs-dynamic-form/components/list/_type.d.ts +4 -0
  73. package/dist/esm/nvs-dynamic-form/components/list/_type.js +2 -0
  74. package/dist/esm/nvs-dynamic-form/components/list/_type.js.map +1 -0
  75. package/dist/esm/nvs-dynamic-form/components/list/index.d.ts +0 -0
  76. package/dist/esm/nvs-dynamic-form/components/list/index.js +2 -0
  77. package/dist/esm/nvs-dynamic-form/components/list/index.js.map +1 -0
  78. package/dist/esm/nvs-dynamic-form/formikForm/_template.js +3 -3
  79. package/dist/esm/nvs-dynamic-form/formikForm/_template.js.map +1 -1
  80. package/dist/esm/nvs-dynamic-form/services/generateFormContentUtils.d.ts +5 -3
  81. package/dist/esm/nvs-dynamic-form/services/generateFormContentUtils.js +7 -6
  82. package/dist/esm/nvs-dynamic-form/services/generateFormContentUtils.js.map +1 -1
  83. package/dist/esm/types/array-field-action-button.type.d.ts +1 -0
  84. package/dist/esm/types/array-field-action-button.type.js +1 -0
  85. package/dist/esm/types/array-field-action-button.type.js.map +1 -1
  86. package/dist/esm/types/array-field.type.d.ts +5 -0
  87. package/dist/esm/types/array-field.type.js +4 -0
  88. package/dist/esm/types/array-field.type.js.map +1 -1
  89. package/dist/esm/types/index.d.ts +1 -0
  90. package/dist/esm/types/index.js +1 -0
  91. package/dist/esm/types/index.js.map +1 -1
  92. package/dist/esm/types/label-options.type.d.ts +4 -0
  93. package/dist/esm/types/label-options.type.js +6 -0
  94. package/dist/esm/types/label-options.type.js.map +1 -0
  95. package/lib/nvs-dynamic-form/_stories.tsx +2 -7
  96. package/lib/nvs-dynamic-form/_style.css +14 -0
  97. package/lib/nvs-dynamic-form/_template.tsx +1 -1
  98. package/lib/nvs-dynamic-form/_type.tsx +3 -1
  99. package/lib/nvs-dynamic-form/{elements → components}/arrayField/_template.tsx +52 -8
  100. package/lib/nvs-dynamic-form/{elements → components}/arrayField/_type.tsx +2 -0
  101. package/lib/nvs-dynamic-form/components/list/_template.tsx +22 -0
  102. package/lib/nvs-dynamic-form/components/list/_type.tsx +4 -0
  103. package/lib/nvs-dynamic-form/components/list/index.tsx +0 -0
  104. package/lib/nvs-dynamic-form/formikForm/_template.tsx +5 -4
  105. package/lib/nvs-dynamic-form/services/generateFormContentUtils.tsx +11 -5
  106. package/lib/types/array-field-action-button.type.tsx +2 -0
  107. package/lib/types/array-field.type.tsx +9 -0
  108. package/lib/types/index.tsx +1 -0
  109. package/lib/types/label-options.type.tsx +7 -0
  110. package/package.json +1 -1
  111. package/dist/cjs/nvs-dynamic-form/elements/arrayField/_template.js.map +0 -1
  112. package/dist/cjs/nvs-dynamic-form/elements/arrayField/_type.js.map +0 -1
  113. package/dist/cjs/nvs-dynamic-form/elements/arrayField/index.js.map +0 -1
  114. package/dist/cjs/nvs-dynamic-form/elements/button/_template.js.map +0 -1
  115. package/dist/cjs/nvs-dynamic-form/elements/button/_type.js.map +0 -1
  116. package/dist/cjs/nvs-dynamic-form/elements/button/index.js.map +0 -1
  117. package/dist/cjs/nvs-dynamic-form/elements/container/_template.js.map +0 -1
  118. package/dist/cjs/nvs-dynamic-form/elements/container/_type.js.map +0 -1
  119. package/dist/cjs/nvs-dynamic-form/elements/container/index.js.map +0 -1
  120. package/dist/cjs/nvs-dynamic-form/elements/field/_template.js.map +0 -1
  121. package/dist/cjs/nvs-dynamic-form/elements/field/_type.js.map +0 -1
  122. package/dist/cjs/nvs-dynamic-form/elements/field/index.js.map +0 -1
  123. package/dist/cjs/nvs-dynamic-form/elements/groupField/_template.js.map +0 -1
  124. package/dist/cjs/nvs-dynamic-form/elements/groupField/_type.js.map +0 -1
  125. package/dist/cjs/nvs-dynamic-form/elements/groupField/index.js.map +0 -1
  126. package/dist/esm/nvs-dynamic-form/elements/arrayField/_template.js.map +0 -1
  127. package/dist/esm/nvs-dynamic-form/elements/arrayField/_type.js.map +0 -1
  128. package/dist/esm/nvs-dynamic-form/elements/arrayField/index.js.map +0 -1
  129. package/dist/esm/nvs-dynamic-form/elements/button/_template.js.map +0 -1
  130. package/dist/esm/nvs-dynamic-form/elements/button/_type.js.map +0 -1
  131. package/dist/esm/nvs-dynamic-form/elements/button/index.js.map +0 -1
  132. package/dist/esm/nvs-dynamic-form/elements/container/_template.js.map +0 -1
  133. package/dist/esm/nvs-dynamic-form/elements/container/_type.js.map +0 -1
  134. package/dist/esm/nvs-dynamic-form/elements/container/index.js.map +0 -1
  135. package/dist/esm/nvs-dynamic-form/elements/field/_template.js.map +0 -1
  136. package/dist/esm/nvs-dynamic-form/elements/field/_type.js.map +0 -1
  137. package/dist/esm/nvs-dynamic-form/elements/field/index.js.map +0 -1
  138. package/dist/esm/nvs-dynamic-form/elements/groupField/_template.js.map +0 -1
  139. package/dist/esm/nvs-dynamic-form/elements/groupField/_type.js.map +0 -1
  140. package/dist/esm/nvs-dynamic-form/elements/groupField/index.js.map +0 -1
  141. /package/dist/cjs/nvs-dynamic-form/{elements → components}/arrayField/_template.d.ts +0 -0
  142. /package/dist/cjs/nvs-dynamic-form/{elements → components}/arrayField/_type.js +0 -0
  143. /package/dist/cjs/nvs-dynamic-form/{elements → components}/arrayField/index.d.ts +0 -0
  144. /package/dist/cjs/nvs-dynamic-form/{elements → components}/arrayField/index.js +0 -0
  145. /package/dist/cjs/nvs-dynamic-form/{elements → components}/button/_template.d.ts +0 -0
  146. /package/dist/cjs/nvs-dynamic-form/{elements → components}/button/_template.js +0 -0
  147. /package/dist/cjs/nvs-dynamic-form/{elements → components}/button/_type.d.ts +0 -0
  148. /package/dist/cjs/nvs-dynamic-form/{elements → components}/button/_type.js +0 -0
  149. /package/dist/cjs/nvs-dynamic-form/{elements → components}/button/index.d.ts +0 -0
  150. /package/dist/cjs/nvs-dynamic-form/{elements → components}/button/index.js +0 -0
  151. /package/dist/cjs/nvs-dynamic-form/{elements → components}/container/_template.d.ts +0 -0
  152. /package/dist/cjs/nvs-dynamic-form/{elements → components}/container/_template.js +0 -0
  153. /package/dist/cjs/nvs-dynamic-form/{elements → components}/container/_type.d.ts +0 -0
  154. /package/dist/cjs/nvs-dynamic-form/{elements → components}/container/_type.js +0 -0
  155. /package/dist/cjs/nvs-dynamic-form/{elements → components}/container/index.d.ts +0 -0
  156. /package/dist/cjs/nvs-dynamic-form/{elements → components}/container/index.js +0 -0
  157. /package/dist/cjs/nvs-dynamic-form/{elements → components}/field/_template.d.ts +0 -0
  158. /package/dist/cjs/nvs-dynamic-form/{elements → components}/field/_template.js +0 -0
  159. /package/dist/cjs/nvs-dynamic-form/{elements → components}/field/_type.d.ts +0 -0
  160. /package/dist/cjs/nvs-dynamic-form/{elements → components}/field/_type.js +0 -0
  161. /package/dist/cjs/nvs-dynamic-form/{elements → components}/field/index.d.ts +0 -0
  162. /package/dist/cjs/nvs-dynamic-form/{elements → components}/field/index.js +0 -0
  163. /package/dist/cjs/nvs-dynamic-form/{elements → components}/groupField/_template.d.ts +0 -0
  164. /package/dist/cjs/nvs-dynamic-form/{elements → components}/groupField/_template.js +0 -0
  165. /package/dist/cjs/nvs-dynamic-form/{elements → components}/groupField/_type.d.ts +0 -0
  166. /package/dist/cjs/nvs-dynamic-form/{elements → components}/groupField/_type.js +0 -0
  167. /package/dist/cjs/nvs-dynamic-form/{elements → components}/groupField/index.d.ts +0 -0
  168. /package/dist/cjs/nvs-dynamic-form/{elements → components}/groupField/index.js +0 -0
  169. /package/dist/esm/nvs-dynamic-form/{elements → components}/arrayField/_template.d.ts +0 -0
  170. /package/dist/esm/nvs-dynamic-form/{elements → components}/arrayField/_type.js +0 -0
  171. /package/dist/esm/nvs-dynamic-form/{elements → components}/arrayField/index.d.ts +0 -0
  172. /package/dist/esm/nvs-dynamic-form/{elements → components}/arrayField/index.js +0 -0
  173. /package/dist/esm/nvs-dynamic-form/{elements → components}/button/_template.d.ts +0 -0
  174. /package/dist/esm/nvs-dynamic-form/{elements → components}/button/_template.js +0 -0
  175. /package/dist/esm/nvs-dynamic-form/{elements → components}/button/_type.d.ts +0 -0
  176. /package/dist/esm/nvs-dynamic-form/{elements → components}/button/_type.js +0 -0
  177. /package/dist/esm/nvs-dynamic-form/{elements → components}/button/index.d.ts +0 -0
  178. /package/dist/esm/nvs-dynamic-form/{elements → components}/button/index.js +0 -0
  179. /package/dist/esm/nvs-dynamic-form/{elements → components}/container/_template.d.ts +0 -0
  180. /package/dist/esm/nvs-dynamic-form/{elements → components}/container/_template.js +0 -0
  181. /package/dist/esm/nvs-dynamic-form/{elements → components}/container/_type.d.ts +0 -0
  182. /package/dist/esm/nvs-dynamic-form/{elements → components}/container/_type.js +0 -0
  183. /package/dist/esm/nvs-dynamic-form/{elements → components}/container/index.d.ts +0 -0
  184. /package/dist/esm/nvs-dynamic-form/{elements → components}/container/index.js +0 -0
  185. /package/dist/esm/nvs-dynamic-form/{elements → components}/field/_template.d.ts +0 -0
  186. /package/dist/esm/nvs-dynamic-form/{elements → components}/field/_template.js +0 -0
  187. /package/dist/esm/nvs-dynamic-form/{elements → components}/field/_type.d.ts +0 -0
  188. /package/dist/esm/nvs-dynamic-form/{elements → components}/field/_type.js +0 -0
  189. /package/dist/esm/nvs-dynamic-form/{elements → components}/field/index.d.ts +0 -0
  190. /package/dist/esm/nvs-dynamic-form/{elements → components}/field/index.js +0 -0
  191. /package/dist/esm/nvs-dynamic-form/{elements → components}/groupField/_template.d.ts +0 -0
  192. /package/dist/esm/nvs-dynamic-form/{elements → components}/groupField/_template.js +0 -0
  193. /package/dist/esm/nvs-dynamic-form/{elements → components}/groupField/_type.d.ts +0 -0
  194. /package/dist/esm/nvs-dynamic-form/{elements → components}/groupField/_type.js +0 -0
  195. /package/dist/esm/nvs-dynamic-form/{elements → components}/groupField/index.d.ts +0 -0
  196. /package/dist/esm/nvs-dynamic-form/{elements → components}/groupField/index.js +0 -0
  197. /package/lib/nvs-dynamic-form/{elements → components}/arrayField/index.tsx +0 -0
  198. /package/lib/nvs-dynamic-form/{elements → components}/button/_template.tsx +0 -0
  199. /package/lib/nvs-dynamic-form/{elements → components}/button/_type.tsx +0 -0
  200. /package/lib/nvs-dynamic-form/{elements → components}/button/index.tsx +0 -0
  201. /package/lib/nvs-dynamic-form/{elements → components}/container/_template.tsx +0 -0
  202. /package/lib/nvs-dynamic-form/{elements → components}/container/_type.tsx +0 -0
  203. /package/lib/nvs-dynamic-form/{elements → components}/container/index.tsx +0 -0
  204. /package/lib/nvs-dynamic-form/{elements → components}/field/_template.tsx +0 -0
  205. /package/lib/nvs-dynamic-form/{elements → components}/field/_type.tsx +0 -0
  206. /package/lib/nvs-dynamic-form/{elements → components}/field/index.tsx +0 -0
  207. /package/lib/nvs-dynamic-form/{elements → components}/groupField/_template.tsx +0 -0
  208. /package/lib/nvs-dynamic-form/{elements → components}/groupField/_type.tsx +0 -0
  209. /package/lib/nvs-dynamic-form/{elements → components}/groupField/index.tsx +0 -0
@@ -1,11 +1,13 @@
1
1
  import * as lodash from "lodash";
2
- import { ArrayFieldAddButton, ArrayFieldRemoveButton } from "../../../types";
3
- import React, { useState } from "react";
2
+ import { ArrayFieldAddButton, ArrayFieldRemoveButton, LabelOptions, } from "../../../types";
4
3
  import { FieldArray } from "formik";
4
+ import React, { useState } from "react";
5
5
  import { GenerateFormContentUtils } from "../../services/generateFormContentUtils";
6
- export const ArrayField = ({ field: arrayField, formElements, containerComponent, containerVisible, useContainersOutsideGroup, useGroupContainer, buttonComponent: ButtonComponent, addButtonDefaultOptions, removeButtonDefaultOptions, }) => {
6
+ import { List } from "../list/_template";
7
+ export const ArrayField = ({ field: arrayField, formElements, containerComponent, containerVisible, useContainersOutsideGroup, useGroupContainer, buttonComponent: ButtonComponent, addButtonDefaultOptions, removeButtonDefaultOptions, labelDefaultOptions, }) => {
7
8
  const [addButtonOptions] = useState(new ArrayFieldAddButton(lodash.merge(addButtonDefaultOptions ?? {}, arrayField.addButtonOptions ?? {})));
8
9
  const [removeButtonOptions] = useState(new ArrayFieldRemoveButton(lodash.merge(removeButtonDefaultOptions ?? {}, arrayField.removeButtonOptions ?? {})));
10
+ const [labelOptions] = useState(new LabelOptions(lodash.merge(labelDefaultOptions ?? {}, arrayField.labelOptions ?? {})));
9
11
  const generateFormContentUtils = new GenerateFormContentUtils({
10
12
  containerComponent,
11
13
  formElements,
@@ -45,7 +47,8 @@ export const ArrayField = ({ field: arrayField, formElements, containerComponent
45
47
  const createFieldArrayContent = (onRemoveItem, index) => {
46
48
  return (React.createElement("div", { className: `df-array-field remove-button-${removeButtonOptions.position}`, key: index },
47
49
  createArrayFields(index),
48
- createArrayItemRemoveButton(() => onRemoveItem(index))));
50
+ removeButtonOptions.visible &&
51
+ createArrayItemRemoveButton(() => onRemoveItem(index))));
49
52
  };
50
53
  const createAddButton = (onAddItem) => {
51
54
  return (React.createElement("div", { className: "df-array-field-add-button" },
@@ -54,8 +57,33 @@ export const ArrayField = ({ field: arrayField, formElements, containerComponent
54
57
  const createArrayItemAddButton = (onAddItem) => {
55
58
  return generateFormContentUtils.createContentContainer(createAddButton(onAddItem));
56
59
  };
60
+ 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)));
63
+ };
64
+ const checkFieldArrayMaxSize = (length) => {
65
+ const maxSize = arrayField
66
+ .validate.describe()
67
+ .tests.find((test) => test.name === "max")?.params.max;
68
+ return maxSize && length < maxSize;
69
+ };
70
+ const getArrayFieldErrorMessage = (form) => {
71
+ let error = form.errors[arrayField.id];
72
+ if (lodash.isArray(error))
73
+ error = error.at(0);
74
+ if (!lodash.isString(error))
75
+ error = undefined;
76
+ return error;
77
+ };
78
+ const createErrorList = (form) => {
79
+ const error = getArrayFieldErrorMessage(form);
80
+ return error && React.createElement(List, { items: [error] });
81
+ };
57
82
  return (React.createElement(FieldArray, { name: arrayField.id }, ({ push, remove, form }) => (React.createElement(React.Fragment, null,
83
+ arrayField.label && createArrayFieldLabel(),
58
84
  form.values[arrayField.id]?.map((_, index) => createFieldArrayContent(remove, index)),
59
- createArrayItemAddButton(push)))));
85
+ checkFieldArrayMaxSize(form.values[arrayField.id].length) &&
86
+ createArrayItemAddButton(push),
87
+ createErrorList(form)))));
60
88
  };
61
89
  //# sourceMappingURL=_template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/arrayField/_template.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ArrayField, ArrayFieldAddButton, ArrayFieldRemoveButton } from "../../../types";
1
+ import { ArrayField, ArrayFieldAddButton, ArrayFieldRemoveButton, LabelOptions } from "../../../types";
2
2
  import { IField } from "../field";
3
3
  export interface IArrayField extends IField {
4
4
  field: ArrayField;
@@ -9,4 +9,5 @@ export interface IArrayField extends IField {
9
9
  useGroupContainer: boolean;
10
10
  addButtonDefaultOptions?: ArrayFieldAddButton;
11
11
  removeButtonDefaultOptions?: ArrayFieldRemoveButton;
12
+ labelDefaultOptions?: LabelOptions;
12
13
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_type.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/arrayField/_type.tsx"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/arrayField/index.tsx"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/button/_template.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EACrB,eAAe,EAAE,eAAe,EAChC,OAAO,EACP,KAAK,EACL,QAAQ,GAAG,OAAO,EAClB,WAAW,EACX,cAAc,GACN,EAAE,EAAE;IACZ,MAAM,sBAAsB,GAAG,CAAC,QAAqC,EAAE,EAAE;QACvE,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,eAAe;SACxB,CAAC;QACF,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAClC,MAAM,aAAa,GAAG,CAAC,WAAW,CAAC,CAAC;QAEpC,WAAW,IAAI,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEhD,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,OAAO,OAAO,CAAC,CAAC,CAAC,CACf,6BACE,SAAS,EAAE,sBAAsB,cAAc,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QAE7E,6BAAK,SAAS,EAAE,WAAW,sBAAsB,CAAC,QAAQ,CAAC,EAAE;YAC3D,6BAAK,SAAS,EAAE,sBAAsB,EAAE;gBACtC,oBAAC,eAAe,QAAE,KAAK,CAAmB,CACtC,CACF,CACF,CACP,CAAC,CAAC,CAAC,CACF,yCAAK,CACN,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_type.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/button/_type.tsx"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/button/index.tsx"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/container/_template.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,kBAAkB,EAAE,eAAe,EACnC,OAAO,GAAG,EAAE,EACZ,QAAQ,GACG,EAAE,EAAE;IACf,OAAO,oBAAC,eAAe,OAAK,OAAO,IAAG,QAAQ,CAAmB,CAAC;AACpE,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_type.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/container/_type.tsx"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/container/index.tsx"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/field/_template.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAGvD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EACpB,YAAY,EACZ,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAC/D,EAAE,EAAE;IACX,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC;QAC5C,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,IAAI,EAAE,UAAU,CAAC,EAAE;KACpB,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAG,GAAW,EAAE;QACxC,MAAM,SAAS,GAAkB,EAAE,CAAC;QACpC,IAAI,OAAO,UAAU,IAAI,QAAQ;YAAE,SAAS,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC;aACtE,CAAC;YACJ,SAAS,CAAC,IAAI,CAAC,aAAa,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC;YACpD,IAAI,UAAU,EAAE,MAAM;gBAAE,SAAS,CAAC,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YAC1E,IAAI,UAAU,EAAE,MAAM;gBAAE,SAAS,CAAC,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,KAAmC,EAAE,EAAE;QAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACxB,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC5B,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,KAAiB,EAAE,EAAE;QAC1C,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,YAAY,CAAC,SAAU,CAAC,EAAE,SAAS,CAAC;IAClD,OAAO,KAAK,CAAC,CAAC,CAAC,CACb,6BAAK,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE;QACxD,oBAAC,KAAK,OACA,UAAU,KACV,WAAW,EACf,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAC1D,CACE,CACP,CAAC,CAAC,CAAC,CACF,yCAAK,CACN,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_type.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/field/_type.tsx"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/field/index.tsx"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
@@ -0,0 +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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_type.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/groupField/_type.tsx"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/groupField/index.tsx"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { IList } from "./_type";
2
+ import React from "react";
3
+ export declare const List: ({ items, color }: IList) => React.JSX.Element;
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ export const List = ({ items, color = "red" }) => {
3
+ const createItems = () => {
4
+ return items.map((item, index) => (React.createElement("li", { key: index, style: { color } }, item)));
5
+ };
6
+ return (React.createElement("div", { className: "nvs-container-fluid" },
7
+ React.createElement("div", { className: "nvs-row" },
8
+ React.createElement("div", { className: "nvs-col-12" },
9
+ React.createElement("ul", { className: "df-list" }, createItems())))));
10
+ };
11
+ //# sourceMappingURL=_template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/list/_template.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAS,EAAE,EAAE;IACtD,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAChC,4BAAI,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAC7B,IAAI,CACF,CACN,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACL,6BAAK,SAAS,EAAC,qBAAqB;QAClC,6BAAK,SAAS,EAAC,SAAS;YACtB,6BAAK,SAAS,EAAC,YAAY;gBACzB,4BAAI,SAAS,EAAC,SAAS,IAAE,WAAW,EAAE,CAAM,CACxC,CACF,CACF,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export interface IList {
2
+ items: Array<string>;
3
+ color?: string;
4
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=_type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_type.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/list/_type.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/components/list/index.tsx"],"names":[],"mappings":""}
@@ -24,7 +24,7 @@ export const FormikForm = ({ children, fields, onSubmit, formClass, }) => {
24
24
  if (field instanceof GroupField)
25
25
  validate = createValidateSchema(field.fields);
26
26
  else if (field instanceof ArrayField)
27
- validate = createArrayValidateSchema(field.fields);
27
+ validate = createArrayValidateSchema(field);
28
28
  else if (field?.validate)
29
29
  validate = field.validate;
30
30
  return validate;
@@ -38,8 +38,8 @@ export const FormikForm = ({ children, fields, onSubmit, formClass, }) => {
38
38
  }, {});
39
39
  return Yup.object(validationSchema);
40
40
  };
41
- const createArrayValidateSchema = (fields) => {
42
- return Yup.array().of(createValidateSchema(fields));
41
+ const createArrayValidateSchema = (arrayField) => {
42
+ return arrayField.validate.of(createValidateSchema(arrayField.fields));
43
43
  };
44
44
  const [defaultValues, setDefaultValues] = useState(getFieldsDefaultValues(fields));
45
45
  const [validateSchema, setValidateSchema] = useState(createValidateSchema(fields));
@@ -1 +1 @@
1
- {"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../../lib/nvs-dynamic-form/formikForm/_template.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../../lib/nvs-dynamic-form/formikForm/_template.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { ArrayFieldAddButton } from "../../types";
1
+ import { ArrayFieldAddButton, LabelOptions } from "../../types";
2
2
  import { FieldType } from "../_type";
3
- import { IFormElement } from "../elements/field";
3
+ import { IFormElement } from "../components/field";
4
4
  import React from "react";
5
5
  import { ReactNode } from "react";
6
6
  export declare class GenerateFormContentUtils {
@@ -14,7 +14,8 @@ export declare class GenerateFormContentUtils {
14
14
  private readonly buttonComponent?;
15
15
  private readonly fieldArrayAddButtonDefaultOptions;
16
16
  private readonly fieldArrayRemoveButtonDefaultOptions;
17
- constructor({ containerComponent, formElements, useContainersOutsideGroup, useGroupContainer, containerVisible, fields, containerOptions, buttonComponent, fieldArrayAddButtonDefaultOptions, fieldArrayRemoveButtonDefaultOptions, }: {
17
+ private readonly labelDefaultOptions;
18
+ constructor({ containerComponent, formElements, useContainersOutsideGroup, useGroupContainer, containerVisible, fields, containerOptions, buttonComponent, fieldArrayAddButtonDefaultOptions, fieldArrayRemoveButtonDefaultOptions, labelDefaultOptions, }: {
18
19
  containerComponent: React.FC<any>;
19
20
  formElements: IFormElement;
20
21
  useContainersOutsideGroup: boolean;
@@ -27,6 +28,7 @@ export declare class GenerateFormContentUtils {
27
28
  };
28
29
  fieldArrayAddButtonDefaultOptions?: ArrayFieldAddButton;
29
30
  fieldArrayRemoveButtonDefaultOptions?: ArrayFieldAddButton;
31
+ labelDefaultOptions?: LabelOptions;
30
32
  });
31
33
  createContainer(content: ReactNode, containerProps: object): React.JSX.Element;
32
34
  createFormContent(): React.JSX.Element;
@@ -1,11 +1,11 @@
1
1
  import { ArrayField, GroupField, } from "../../types";
2
- import { ArrayField as ArrayFieldElement } from "../elements/arrayField";
3
- import { Container } from "../elements/container";
4
- import { Field } from "../elements/field";
5
- import { GroupField as GroupFieldElement } from "../elements/groupField";
2
+ import { ArrayField as ArrayFieldElement } from "../components/arrayField";
3
+ import { Container } from "../components/container";
4
+ import { Field } from "../components/field";
5
+ import { GroupField as GroupFieldElement } from "../components/groupField";
6
6
  import React from "react";
7
7
  export class GenerateFormContentUtils {
8
- constructor({ containerComponent, formElements, useContainersOutsideGroup, useGroupContainer, containerVisible, fields, containerOptions, buttonComponent, fieldArrayAddButtonDefaultOptions, fieldArrayRemoveButtonDefaultOptions, }) {
8
+ constructor({ containerComponent, formElements, useContainersOutsideGroup, useGroupContainer, containerVisible, fields, containerOptions, buttonComponent, fieldArrayAddButtonDefaultOptions, fieldArrayRemoveButtonDefaultOptions, labelDefaultOptions, }) {
9
9
  this.containerComponent = containerComponent;
10
10
  this.formElements = formElements;
11
11
  this.useContainersOutsideGroup = useContainersOutsideGroup;
@@ -18,6 +18,7 @@ export class GenerateFormContentUtils {
18
18
  fieldArrayAddButtonDefaultOptions ?? {};
19
19
  this.fieldArrayRemoveButtonDefaultOptions =
20
20
  fieldArrayRemoveButtonDefaultOptions ?? {};
21
+ this.labelDefaultOptions = labelDefaultOptions ?? {};
21
22
  }
22
23
  createContainer(content, containerProps) {
23
24
  return (React.createElement(Container, { containerComponent: this.containerComponent, options: containerProps }, content));
@@ -74,7 +75,7 @@ export class GenerateFormContentUtils {
74
75
  return (React.createElement(GroupFieldElement, { key: field.id, formElements: this.formElements, field: field, containerComponent: this.containerComponent, useContainersOutsideGroup: this.useContainersOutsideGroup, useGroupContainer: this.useGroupContainer, containerVisible: this.containerVisible }));
75
76
  }
76
77
  createArrayFieldElement(field) {
77
- return (React.createElement(ArrayFieldElement, { key: field.id, formElements: this.formElements, field: field, containerComponent: this.containerComponent, useContainersOutsideGroup: this.useContainersOutsideGroup, useGroupContainer: this.useGroupContainer, containerVisible: this.containerVisible, buttonComponent: this.buttonComponent, addButtonDefaultOptions: this.fieldArrayAddButtonDefaultOptions, removeButtonDefaultOptions: this.fieldArrayRemoveButtonDefaultOptions }));
78
+ return (React.createElement(ArrayFieldElement, { key: field.id, formElements: this.formElements, field: field, containerComponent: this.containerComponent, useContainersOutsideGroup: this.useContainersOutsideGroup, useGroupContainer: this.useGroupContainer, containerVisible: this.containerVisible, buttonComponent: this.buttonComponent, addButtonDefaultOptions: this.fieldArrayAddButtonDefaultOptions, removeButtonDefaultOptions: this.fieldArrayRemoveButtonDefaultOptions, labelDefaultOptions: this.labelDefaultOptions }));
78
79
  }
79
80
  isSingleField(field) {
80
81
  return !(field instanceof GroupField &&
@@ -1 +1 @@
1
- {"version":3,"file":"generateFormContentUtils.js","sourceRoot":"","sources":["../../../../lib/nvs-dynamic-form/services/generateFormContentUtils.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateFormContentUtils.js","sourceRoot":"","sources":["../../../../lib/nvs-dynamic-form/services/generateFormContentUtils.tsx"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export declare class ArrayFieldButton {
7
7
  }
8
8
  export declare class ArrayFieldRemoveButton extends ArrayFieldButton {
9
9
  position?: "bottom" | "right";
10
+ visible?: boolean;
10
11
  constructor(options: ArrayFieldRemoveButton);
11
12
  }
12
13
  export declare class ArrayFieldAddButton extends ArrayFieldButton {
@@ -9,6 +9,7 @@ export class ArrayFieldRemoveButton extends ArrayFieldButton {
9
9
  options.label = options.label ?? "-";
10
10
  super(options);
11
11
  this.position = options.position ?? "right";
12
+ this.visible = options.visible ?? true;
12
13
  }
13
14
  }
14
15
  export class ArrayFieldAddButton extends ArrayFieldButton {
@@ -1 +1 @@
1
- {"version":3,"file":"array-field-action-button.type.js","sourceRoot":"","sources":["../../../lib/types/array-field-action-button.type.tsx"],"names":[],"mappings":"AAAA,MAAM,OAAO,gBAAgB;IAI3B,YAAY,OAAyB;QACnC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACvC,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,gBAAgB;IAG1D,YAAY,OAA+B;QACzC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC;IAC9C,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,gBAAgB;IACvD,YAAY,OAA+B;QACzC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF"}
1
+ {"version":3,"file":"array-field-action-button.type.js","sourceRoot":"","sources":["../../../lib/types/array-field-action-button.type.tsx"],"names":[],"mappings":"AAAA,MAAM,OAAO,gBAAgB;IAI3B,YAAY,OAAyB;QACnC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACvC,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,gBAAgB;IAI1D,YAAY,OAA+B;QACzC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;IACzC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,gBAAgB;IACvD,YAAY,OAA+B;QACzC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF"}
@@ -1,5 +1,7 @@
1
+ import * as Yup from "yup";
1
2
  import { ArrayFieldAddButton, ArrayFieldRemoveButton } from "./array-field-action-button.type";
2
3
  import { FieldBase } from "./field-base.type";
4
+ import { LabelOptions } from "./label-options.type";
3
5
  export declare class ArrayField<ValueType = {
4
6
  [key: string]: any;
5
7
  }> {
@@ -9,5 +11,8 @@ export declare class ArrayField<ValueType = {
9
11
  addButtonOptions?: ArrayFieldAddButton;
10
12
  removeButtonOptions?: ArrayFieldRemoveButton;
11
13
  defaultValues?: Array<ValueType>;
14
+ label?: string;
15
+ labelOptions?: LabelOptions;
16
+ validate?: Yup.ArraySchema<any, any>;
12
17
  constructor(options: ArrayField<ValueType>);
13
18
  }
@@ -1,3 +1,4 @@
1
+ import * as Yup from "yup";
1
2
  export class ArrayField {
2
3
  constructor(options) {
3
4
  this.fieldType = "fieldArray";
@@ -6,6 +7,9 @@ export class ArrayField {
6
7
  this.addButtonOptions = options.addButtonOptions ?? {};
7
8
  this.removeButtonOptions = options.removeButtonOptions ?? {};
8
9
  this.defaultValues = options.defaultValues ?? [];
10
+ this.label = options.label;
11
+ this.labelOptions = options.labelOptions ?? {};
12
+ this.validate = options.validate ?? Yup.array();
9
13
  }
10
14
  }
11
15
  //# 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":"AAOA,MAAM,OAAO,UAAU;IAQrB,YAAY,OAA8B;QAP1C,cAAS,GAAY,YAAY,CAAC;QAQhC,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;IACnD,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;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"}
@@ -5,3 +5,4 @@ export * from "./submit-button-default-options.type";
5
5
  export * from "./group-field.type";
6
6
  export * from "./array-field.type";
7
7
  export * from "./array-field-action-button.type";
8
+ export * from "./label-options.type";
@@ -5,4 +5,5 @@ export * from "./submit-button-default-options.type";
5
5
  export * from "./group-field.type";
6
6
  export * from "./array-field.type";
7
7
  export * from "./array-field-action-button.type";
8
+ export * from "./label-options.type";
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/types/index.tsx"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sCAAsC,CAAC;AACrD,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/types/index.tsx"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sCAAsC,CAAC;AACrD,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare class LabelOptions {
2
+ class?: string;
3
+ constructor(options: LabelOptions);
4
+ }
@@ -0,0 +1,6 @@
1
+ export class LabelOptions {
2
+ constructor(options) {
3
+ this.class = options.class ?? "";
4
+ }
5
+ }
6
+ //# sourceMappingURL=label-options.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label-options.type.js","sourceRoot":"","sources":["../../../lib/types/label-options.type.tsx"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAY;IAGvB,YAAY,OAAqB;QAC/B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IACnC,CAAC;CACF"}
@@ -298,18 +298,12 @@ export const FieldArray: { args: INvsDynamicForm; name: string } = {
298
298
  class: TextboxField,
299
299
  },
300
300
  },
301
- addButtonDefaultOptions: {
302
- label: "ismet",
303
- },
304
301
  fields: [
305
302
  new TextboxField({
306
303
  id: "firstName",
307
304
  placeholder: "Enter your first name",
308
305
  defaultValue: "ismet",
309
306
  validate: Yup.string().required(),
310
- onChange: (event) => {
311
- console.log((event as ChangeEvent<HTMLInputElement>).target.value);
312
- },
313
307
  screenSize: {
314
308
  desktop: 6,
315
309
  mobile: 6,
@@ -318,7 +312,6 @@ export const FieldArray: { args: INvsDynamicForm; name: string } = {
318
312
  new TextboxField({
319
313
  id: "lastName",
320
314
  placeholder: "Enter your last name",
321
- validate: Yup.string().required(),
322
315
  screenSize: {
323
316
  desktop: 6,
324
317
  mobile: 6,
@@ -326,6 +319,7 @@ export const FieldArray: { args: INvsDynamicForm; name: string } = {
326
319
  }),
327
320
  new ArrayField({
328
321
  id: "addresses",
322
+ label: "Addresses",
329
323
  addButtonOptions: {
330
324
  label: "Add Address",
331
325
  },
@@ -333,6 +327,7 @@ export const FieldArray: { args: INvsDynamicForm; name: string } = {
333
327
  { cityName: "İzmir", districtName: "Göztepe" },
334
328
  { cityName: "İstanbul", districtName: "Kadıköy" },
335
329
  ],
330
+ validate: Yup.array().min(2).max(3),
336
331
  fields: [
337
332
  new TextboxField({
338
333
  id: "cityName",
@@ -43,3 +43,17 @@
43
43
  width: 100%;
44
44
  padding: 0 4px;
45
45
  }
46
+
47
+ .df-array-field-label {
48
+ font-size: 16px;
49
+ font-weight: 500;
50
+ }
51
+
52
+ .df-list {
53
+ padding: 0 8px;
54
+ margin: 0;
55
+ box-sizing: border-box;
56
+ list-style: disc;
57
+ list-style-position: inside;
58
+ font-size: 14px;
59
+ }
@@ -1,7 +1,7 @@
1
1
  import "nvs-flexgrid";
2
2
  import "./_style.css";
3
3
 
4
- import { Button } from "./elements/button";
4
+ import { Button } from "./components/button";
5
5
  import { FormikForm } from "./formikForm";
6
6
  import { GenerateFormContentUtils } from "./services/generateFormContentUtils";
7
7
  import { INvsDynamicForm } from "./_type";
@@ -5,9 +5,10 @@ import {
5
5
  FieldBase,
6
6
  GroupField,
7
7
  ISubmitButtonDefaultOptions,
8
+ LabelOptions,
8
9
  } from "../types";
9
10
 
10
- import { IField } from "./elements/field";
11
+ import { IField } from "./components/field";
11
12
 
12
13
  export type FieldType = FieldBase<any> | GroupField | ArrayField<any>;
13
14
 
@@ -29,4 +30,5 @@ export interface INvsDynamicForm extends Omit<IField, "field"> {
29
30
  submitButtonContainerClass?: string;
30
31
  addButtonDefaultOptions?: ArrayFieldAddButton;
31
32
  removeButtonDefaultOptions?: ArrayFieldRemoveButton;
33
+ labelDefaultOptions?: LabelOptions;
32
34
  }
@@ -1,11 +1,16 @@
1
1
  import * as lodash from "lodash";
2
2
 
3
- import { ArrayFieldAddButton, ArrayFieldRemoveButton } from "../../../types";
3
+ import {
4
+ ArrayFieldAddButton,
5
+ ArrayFieldRemoveButton,
6
+ LabelOptions,
7
+ } from "../../../types";
8
+ import { FieldArray, FormikProps } from "formik";
4
9
  import React, { useState } from "react";
5
10
 
6
- import { FieldArray } from "formik";
7
11
  import { GenerateFormContentUtils } from "../../services/generateFormContentUtils";
8
12
  import { IArrayField } from "./_type";
13
+ import { List } from "../list/_template";
9
14
 
10
15
  export const ArrayField: React.FC<IArrayField> = ({
11
16
  field: arrayField,
@@ -17,6 +22,7 @@ export const ArrayField: React.FC<IArrayField> = ({
17
22
  buttonComponent: ButtonComponent,
18
23
  addButtonDefaultOptions,
19
24
  removeButtonDefaultOptions,
25
+ labelDefaultOptions,
20
26
  }: IArrayField) => {
21
27
  const [addButtonOptions] = useState(
22
28
  new ArrayFieldAddButton(
@@ -34,6 +40,11 @@ export const ArrayField: React.FC<IArrayField> = ({
34
40
  ),
35
41
  ),
36
42
  );
43
+ const [labelOptions] = useState(
44
+ new LabelOptions(
45
+ lodash.merge(labelDefaultOptions ?? {}, arrayField.labelOptions ?? {}),
46
+ ),
47
+ );
37
48
  const generateFormContentUtils = new GenerateFormContentUtils({
38
49
  containerComponent,
39
50
  formElements,
@@ -99,17 +110,15 @@ export const ArrayField: React.FC<IArrayField> = ({
99
110
  );
100
111
  };
101
112
 
102
- const createFieldArrayContent = (
103
- onRemoveItem: (index: number) => void,
104
- index: number,
105
- ) => {
113
+ const createFieldArrayContent = (onRemoveItem: Function, index: number) => {
106
114
  return (
107
115
  <div
108
116
  className={`df-array-field remove-button-${removeButtonOptions.position}`}
109
117
  key={index}
110
118
  >
111
119
  {createArrayFields(index)}
112
- {createArrayItemRemoveButton(() => onRemoveItem(index))}
120
+ {removeButtonOptions.visible &&
121
+ createArrayItemRemoveButton(() => onRemoveItem(index))}
113
122
  </div>
114
123
  );
115
124
  };
@@ -134,14 +143,49 @@ export const ArrayField: React.FC<IArrayField> = ({
134
143
  );
135
144
  };
136
145
 
146
+ const createArrayFieldLabel = () => {
147
+ return generateFormContentUtils.createContentContainer(
148
+ <div className="nvs-col-12">
149
+ <label className={`df-array-field-label ${labelOptions.class}`}>
150
+ {arrayField.label}
151
+ </label>
152
+ </div>,
153
+ );
154
+ };
155
+
156
+ const checkFieldArrayMaxSize = (length: number) => {
157
+ const maxSize = arrayField
158
+ .validate!.describe()
159
+ .tests.find((test) => test.name === "max")?.params!.max as number;
160
+
161
+ return maxSize && length < maxSize;
162
+ };
163
+
164
+ const getArrayFieldErrorMessage = (
165
+ form: FormikProps<any>,
166
+ ): string | undefined => {
167
+ let error = form.errors[arrayField.id];
168
+ if (lodash.isArray(error)) error = error.at(0);
169
+ if (!lodash.isString(error)) error = undefined;
170
+ return error;
171
+ };
172
+
173
+ const createErrorList = (form: FormikProps<any>) => {
174
+ const error = getArrayFieldErrorMessage(form);
175
+ return error && <List items={[error]} />;
176
+ };
177
+
137
178
  return (
138
179
  <FieldArray name={arrayField.id}>
139
180
  {({ push, remove, form }) => (
140
181
  <>
182
+ {arrayField.label && createArrayFieldLabel()}
141
183
  {form.values[arrayField.id]?.map((_: any, index: number) =>
142
184
  createFieldArrayContent(remove, index),
143
185
  )}
144
- {createArrayItemAddButton(push)}
186
+ {checkFieldArrayMaxSize(form.values[arrayField.id].length) &&
187
+ createArrayItemAddButton(push)}
188
+ {createErrorList(form)}
145
189
  </>
146
190
  )}
147
191
  </FieldArray>