@kbgarcia8/react-dynamic-form 1.0.1 → 1.0.3

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.
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
2
  import type { DynamicFormProps } from "../../../type/propTypes";
3
- declare const DynamicForm: ({ fieldsets, legendText, isExpandable, id, formInputs, labelAndInputContainerClass, labelClass, inputClass, handleEditableInputEntryChange, handleAddingInputEntry, hasSubmit, hasCancel, hasDelete, hasEdit, submitText, handleSubmitForm, handleSubmit, cancelText, handleCancel, deleteText, handleDelete, editText, handleEdit, className, children }: React.PropsWithChildren<DynamicFormProps>) => import("react/jsx-runtime").JSX.Element;
3
+ declare const DynamicForm: <T extends null, K extends boolean = false, E extends boolean = false>({ fieldsets, legendText, isExpandable, id, formInputs, labelAndInputContainerClass, labelClass, inputClass, handleEditableInputEntryChange, handleAddingInputEntry, hasSubmit, hasCancel, hasDelete, hasEdit, submitText, handleSubmitForm, handleSubmit, cancelText, handleCancel, deleteText, handleDelete, editText, handleEdit, className, children }: React.PropsWithChildren<DynamicFormProps<T, K, E>>) => import("react/jsx-runtime").JSX.Element;
4
4
  export default DynamicForm;
5
5
  //# sourceMappingURL=DynamicForm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicForm.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/DynamicForm/DynamicForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAgB,gBAAgB,EAAgD,MAAM,yBAAyB,CAAC;AAE5H,QAAA,MAAM,WAAW,GAAI,2VA0BnB,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,4CA6I1C,CAAA;AAGD,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"DynamicForm.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/DynamicForm/DynamicForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAgB,gBAAgB,EAAgD,MAAM,yBAAyB,CAAC;AAE5H,QAAA,MAAM,WAAW,GAAI,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,OAAO,GAAG,KAAK,EAAE,CAAC,SAAS,OAAO,GAAG,KAAK,EAAE,2VA0BzF,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC,4CAmJlD,CAAA;AAGD,eAAe,WAAW,CAAC"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),v=require("react"),c=require("styled-components"),t={fonts:{secondary:"Raleway",tertiary:"Lato",fallback:"system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif"},fontWeight:{light:300,medium:500,bold:700,bolder:900},fontSize:{xsmall:"0.75rem"},spacing:{xxxsmall:"0.25rem",xxsmall:"0.375rem",xsmall:"0.5rem",small:"0.75rem",medium:"1.25rem"},borderRadius:{xsmall:"0.125rem",small:"0.25rem",xlarge:"2rem"},borderThickness:{thin:"0.0625rem",light:"0.125rem"}},Q=c.button`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),v=require("react"),c=require("styled-components"),t={fonts:{secondary:"Raleway",tertiary:"Lato",fallback:"system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif"},fontWeight:{light:300,medium:500,bold:700,bolder:900},fontSize:{xsmall:"0.75rem"},spacing:{xxxsmall:"0.25rem",xxsmall:"0.375rem",xsmall:"0.5rem",small:"0.75rem",medium:"1.25rem"},borderRadius:{xsmall:"0.125rem",small:"0.25rem",xlarge:"2rem"},borderThickness:{thin:"0.0625rem",light:"0.125rem"}},V=c.button`
2
2
  display: flex;
3
3
  align-items: center;
4
4
  justify-content: center;
@@ -24,28 +24,28 @@
24
24
  & .button-icon-text-space svg {
25
25
  max-width: 100%;
26
26
  }
27
- `,V=c.div`
27
+ `,X=c.div`
28
28
  width: 100%;
29
29
  display: flex;
30
30
  flex-direction: row;
31
31
  align-items: center;
32
32
  justify-content: center;
33
- `,X=c.img`
33
+ `,Y=c.img`
34
34
  maxwidth: 100%;
35
- `,Y=c.span`
35
+ `,Z=c.span`
36
36
  font-size: ${t.fontSize.xsmall};
37
37
  font-weight: ${t.fontWeight.medium};
38
38
  font-family: ${t.fonts.tertiary}, ${t.fonts.fallback};
39
39
  display: flex;
40
40
  align-items: center;
41
41
  justify-content: center;
42
- `,f=({onClick:n,id:o,buttonType:l,source:s,svg:r,alt:h="alt-button-icon",text:d="",className:i="",dataAttributes:b={}})=>e.jsx(Q,{onClick:n,id:o,type:l,className:i,...b,children:e.jsxs(V,{className:"button-icon-text-space",children:[s?e.jsx(X,{src:s,alt:h}):r||"",d&&e.jsx(Y,{id:o,children:d})]})}),Z=c.div`
42
+ `,g=({onClick:n,id:o,buttonType:i,source:s,svg:r,alt:d="alt-button-icon",text:m="",className:l="",dataAttributes:b={}})=>e.jsx(V,{onClick:n,id:o,type:i,className:l,...b,children:e.jsxs(X,{className:"button-icon-text-space",children:[s?e.jsx(Y,{src:s,alt:d}):r||"",m&&e.jsx(Z,{id:o,children:m})]})}),_=c.div`
43
43
  display: flex;
44
44
  flex-direction: column;
45
45
  align-items: left;
46
46
  width: 100%;
47
47
  margin-bottom: ${t.spacing.small};
48
- `,_=c.div`
48
+ `,I=c.div`
49
49
  display: flex;
50
50
  gap: ${t.spacing.xsmall};
51
51
  width: auto;
@@ -75,7 +75,7 @@
75
75
  align-items: center;
76
76
  `,ae=c.span`
77
77
  font-weight: ${t.fontWeight.light};
78
- `,P=({htmlFor:n,textLabel:o,additionalInfo:l,$labelFlexDirection:s,source:r,svg:h,className:d,children:i})=>e.jsxs(ee,{htmlFor:n,className:d,$labelFlexDirection:s,children:[(r||h)&&e.jsx(ne,{className:"label-icon-container",children:r?e.jsx("img",{src:r,alt:`${n}-label-icon`}):h||""}),e.jsx(te,{className:"main-label",children:o}),l&&e.jsx(ae,{className:"additional-info",children:l}),i]}),W=c.input`
78
+ `,P=({htmlFor:n,textLabel:o,additionalInfo:i,$labelFlexDirection:s,source:r,svg:d,className:m,children:l})=>e.jsxs(ee,{htmlFor:n,className:m,$labelFlexDirection:s,children:[(r||d)&&e.jsx(ne,{className:"label-icon-container",children:r?e.jsx("img",{src:r,alt:`${n}-label-icon`}):d||""}),e.jsx(te,{className:"main-label",children:o}),i&&e.jsx(ae,{className:"additional-info",children:i}),l]}),W=c.input`
79
79
  display: flex;
80
80
  place-content: center;
81
81
  font-family: ${t.fonts.secondary}, ${t.fonts.fallback};
@@ -105,17 +105,17 @@
105
105
  max-width: 100%;
106
106
  resize: none;
107
107
  overflow-y: auto;
108
- `,z=v.forwardRef((n,o)=>{const{type:l,id:s,onChange:r,isRequired:h,dataAttributes:d,disabled:i,className:b}=n;if(l==="textarea"){const{rows:j=5,cols:w=30,value:T,...D}=n;return e.jsx(oe,{id:s,onChange:r,value:T,rows:j,cols:w,...d,className:b,ref:o,disabled:i,required:h})}if(l==="radio"||l==="checkbox"){const{checked:j,...w}=n;return e.jsx(W,{ref:o,type:"checkbox",id:s,checked:j,onChange:r,disabled:i,className:b,...d})}const g=n,{value:y,pattern:u,placeholderText:p,...C}=g;return e.jsx(W,{id:s,name:s,placeholder:p,onChange:r,value:y,type:l,required:h,...d,className:b,ref:o,disabled:i,pattern:u})}),E=n=>{const{className:o,type:l,id:s,textLabel:r,additionalInfo:h,$labelFlexDirection:d,svg:i,labelClass:b,onChange:g,isRequired:y,dataAttributes:u,inputClass:p,ref:C,disabled:j,isEditable:w,editIcon:T,onClickEdit:D,deleteIcon:L,onClickDelete:B,idx:S,children:q}=n;return e.jsxs(Z,{className:`${o} ${s.replace("#","")}-label-input-container`,children:[l!=="radio"&&l!=="checkbox"&&e.jsx(P,{htmlFor:s,textLabel:r,additionalInfo:h,$labelFlexDirection:d,svg:i,className:b}),l!=="radio"&&l!=="checkbox"&&l==="textarea"&&(()=>{const{rows:k=5,cols:F=30,value:A,...a}=n;return e.jsx(z,{id:s,name:s,type:"textarea",isRequired:y,onChange:g,value:A,rows:k,cols:F,...u,className:p,ref:C,disabled:j})})(),l!=="radio"&&l!=="checkbox"&&l!=="textarea"&&(()=>{const k=n,{value:F,pattern:A,placeholderText:a,...$}=k;return e.jsx(z,{id:s,name:s,placeholderText:a,onChange:g,value:F,type:l,isRequired:y,...u,className:p,ref:C,disabled:j,pattern:A})})(),(l==="radio"||l==="checkbox")&&(()=>{const{checked:k,...F}=n;return e.jsxs(e.Fragment,{children:[e.jsx(z,{ref:C,type:"checkbox",name:s,id:s,isRequired:y,checked:k,onChange:g,disabled:j,className:p,...u}),e.jsx(P,{htmlFor:s,textLabel:r,additionalInfo:h,$labelFlexDirection:d,svg:i,className:b})]})})(),"// * Radio inputs usually have labels next to them",w&&e.jsxs(_,{className:"input-edit-buttons",children:[e.jsx(f,{id:`editable-${s}-edit-btn`,svg:T,buttonType:"button",onClick:D,className:`edit-radio-${S}`,dataAttributes:u}),e.jsx(f,{id:`editable-${s}-delete-btn`,svg:L,buttonType:"button",onClick:B,className:`delete-radio-${S}`,dataAttributes:u})]}),q]})},se=c.fieldset`
108
+ `,z=v.forwardRef((n,o)=>{const{type:i,id:s,onChange:r,isRequired:d,dataAttributes:m,disabled:l,className:b}=n;if(i==="textarea"){const{rows:j=5,cols:N=30,value:T,...A}=n;return e.jsx(oe,{id:s,onChange:r,value:T,rows:j,cols:N,...m,className:b,ref:o,disabled:l,required:d})}if(i==="radio"||i==="checkbox"){const{checked:j,...N}=n;return e.jsx(W,{ref:o,type:"checkbox",id:s,checked:j,onChange:r,disabled:l,className:b,...m})}const u=n,{value:y,pattern:f,placeholderText:p,...C}=u;return e.jsx(W,{id:s,name:s,placeholder:p,onChange:r,value:y,type:i,required:d,...m,className:b,ref:o,disabled:l,pattern:f})}),E=n=>{const{className:o,type:i,id:s,textLabel:r,additionalInfo:d,$labelFlexDirection:m,svg:l,labelClass:b,onChange:u,isRequired:y,dataAttributes:f,inputClass:p,ref:C,disabled:j,isEditable:N,editIcon:T,onClickEdit:A,deleteIcon:R,onClickDelete:B,idx:S,children:q}=n;return e.jsxs(_,{className:`${o} ${s.replace("#","")}-label-input-container`,children:[i!=="radio"&&i!=="checkbox"&&e.jsx(P,{htmlFor:s,textLabel:r,additionalInfo:d,$labelFlexDirection:m,svg:l,className:b}),i!=="radio"&&i!=="checkbox"&&i==="textarea"&&(()=>{const{rows:k=5,cols:w=30,value:D,...a}=n;return e.jsx(z,{id:s,name:s,type:"textarea",isRequired:y,onChange:u,value:D,rows:k,cols:w,...f,className:p,ref:C,disabled:j})})(),i!=="radio"&&i!=="checkbox"&&i!=="textarea"&&(()=>{const k=n,{value:w,pattern:D,placeholderText:a,...$}=k;return e.jsx(z,{id:s,name:s,placeholderText:a,onChange:u,value:w,type:i,isRequired:y,...f,className:p,ref:C,disabled:j,pattern:D})})(),(i==="radio"||i==="checkbox")&&(()=>{const{checked:k,...w}=n;return e.jsxs(e.Fragment,{children:[e.jsx(z,{ref:C,type:"checkbox",name:s,id:s,isRequired:y,checked:k,onChange:u,disabled:j,className:p,...f}),e.jsx(P,{htmlFor:s,textLabel:r,additionalInfo:d,$labelFlexDirection:m,svg:l,className:b})]})})(),N&&e.jsxs(I,{className:"input-edit-buttons",children:[e.jsx(g,{id:`editable-${s}-edit-btn`,svg:T,buttonType:"button",onClick:A,className:`edit-radio-${S}`,dataAttributes:f}),e.jsx(g,{id:`editable-${s}-delete-btn`,svg:R,buttonType:"button",onClick:B,className:`delete-radio-${S}`,dataAttributes:f})]}),q]})},se=c.fieldset`
109
109
  padding: 0;
110
110
  height: auto;
111
111
  width: 100%;
112
- `,le=c.legend`
112
+ `,ie=c.legend`
113
113
  font-size: ${t.spacing.medium};
114
114
  font-weight: 500;
115
115
  margin: 0 auto ${t.spacing.small} auto;
116
116
  text-align: center;
117
117
  font-family: ${t.fonts.secondary}, ${t.fonts.fallback};
118
- `,ie=c.div`
118
+ `,le=c.div`
119
119
  display: flex;
120
120
  flex-direction: column;
121
121
  align-items: flex-start;
@@ -125,26 +125,26 @@
125
125
  display: flex;
126
126
  justify-content: space-between;
127
127
  width: 100%;
128
- `,I=({legend:n,idx:o,editableInformation:l,onChangeOfEditableOption:s,onClickSaveEdit:r,onClickCancelEdit:h,onClickDeleteEntry:d})=>e.jsxs(se,{className:"editable-selection-fieldset",children:[e.jsx(le,{children:`${n} ${o+1}`}),l.map((i,b)=>e.jsx(ie,{className:"editable-selection-container",children:e.jsx(z,{id:`editable-selection-${b}`,name:`editable-selection-${b}`,placeholderText:i.name.charAt(0).toUpperCase()+i.name.slice(1),onChange:s,value:i.info,type:i.type,isRequired:!0,className:"editable-selection",dataAttributes:{"data-index":b,"data-key":i.info}})},`${i.name}-${b}`)),e.jsxs(ce,{className:"editable-selection-button-space",children:[e.jsx(f,{id:`editable-selection-${o}-submit`,buttonType:"submit",text:"Save",onClick:r,className:"editable-selection-btn",dataAttributes:{"data-index":o}}),e.jsx(f,{id:`editable-selection-${o}-cancel`,buttonType:"button",text:"Cancel",onClick:h,className:"editable-selection-btn",dataAttributes:{"data-index":o}}),e.jsx(f,{id:`editable-selection-${o}-delete`,buttonType:"button",text:"Delete",onClick:d,className:"editable-selection-btn",dataAttributes:{"data-index":o}})]})]}),re=c.div`
128
+ `,M=({legend:n,idx:o,editableInformation:i,onChangeOfEditableOption:s,onClickSaveEdit:r,onClickCancelEdit:d,onClickDeleteEntry:m})=>e.jsxs(se,{className:"editable-selection-fieldset",children:[e.jsx(ie,{children:`${n} ${o+1}`}),i.map((l,b)=>e.jsx(le,{className:"editable-selection-container",children:e.jsx(z,{id:`editable-selection-${b}`,name:`editable-selection-${b}`,placeholderText:l.name.charAt(0).toUpperCase()+l.name.slice(1),onChange:s,value:l.info,type:l.type,isRequired:!0,className:"editable-selection",dataAttributes:{"data-index":b,"data-key":l.info}})},`${l.name}-${b}`)),e.jsxs(ce,{className:"editable-selection-button-space",children:[e.jsx(g,{id:`editable-selection-${o}-submit`,buttonType:"submit",text:"Save",onClick:r,className:"editable-selection-btn",dataAttributes:{"data-index":o}}),e.jsx(g,{id:`editable-selection-${o}-cancel`,buttonType:"button",text:"Cancel",onClick:d,className:"editable-selection-btn",dataAttributes:{"data-index":o}}),e.jsx(g,{id:`editable-selection-${o}-delete`,buttonType:"button",text:"Delete",onClick:m,className:"editable-selection-btn",dataAttributes:{"data-index":o}})]})]}),re=c.div`
129
129
  display: flex;
130
130
  justify-content: space-between;
131
131
  max-width: 100%;
132
- `,de=({id:n,hasSubmit:o,submitText:l,handleSubmit:s,hasEdit:r,editText:h,handleEdit:d,hasCancel:i,cancelText:b,handleCancel:g,hasDelete:y,deleteText:u,handleDelete:p})=>e.jsxs(re,{className:"form-main-button-container",children:[o&&e.jsx(f,{id:`form-${n}-submit`,buttonType:"submit",text:l??"Submit",onClick:s,className:"submit-form-btn"}),r&&e.jsx(f,{id:`form-${n}-edit`,buttonType:"button",text:h??"Edit",onClick:d,className:"edit-form-btn"}),i&&e.jsx(f,{id:`form-${n}-cancel`,buttonType:"button",text:b??"Cancel",onClick:g,className:"cancel-form-btn"}),y&&e.jsx(f,{id:`form-${n}-delete`,buttonType:"button",text:u??"Delete",onClick:p,className:"delete-form-btn"})]}),M=c.legend`
132
+ `,de=({id:n,hasSubmit:o,submitText:i,handleSubmit:s,hasEdit:r,editText:d,handleEdit:m,hasCancel:l,cancelText:b,handleCancel:u,hasDelete:y,deleteText:f,handleDelete:p})=>e.jsxs(re,{className:"form-main-button-container",children:[o&&e.jsx(g,{id:`form-${n}-submit`,buttonType:"submit",text:i??"Submit",onClick:s,className:"submit-form-btn"}),r&&e.jsx(g,{id:`form-${n}-edit`,buttonType:"button",text:d??"Edit",onClick:m,className:"edit-form-btn"}),l&&e.jsx(g,{id:`form-${n}-cancel`,buttonType:"button",text:b??"Cancel",onClick:u,className:"cancel-form-btn"}),y&&e.jsx(g,{id:`form-${n}-delete`,buttonType:"button",text:f??"Delete",onClick:p,className:"delete-form-btn"})]}),U=c.legend`
133
133
  font-size: ${t.spacing.medium};
134
134
  font-weight: 500;
135
135
  margin-bottom: ${t.spacing.small};
136
136
  width: auto;
137
137
  text-align: center;
138
138
  font-family: ${t.fonts.secondary}, ${t.fonts.fallback};
139
- `,U=c.fieldset`
139
+ `,H=c.fieldset`
140
140
  padding: 0;
141
141
  height: auto;
142
142
  width: 100%;
143
- `,H=c.div`
143
+ `,G=c.div`
144
144
  padding: ${t.spacing.small};
145
145
  height: auto;
146
146
  width: 100%;
147
- `,G=c.div`
147
+ `,J=c.div`
148
148
  display: flex;
149
149
  justify-content: center;
150
150
  align-items: center;
@@ -158,14 +158,14 @@
158
158
  flex-direction: column;
159
159
  align-items: center;
160
160
  width: 100%;
161
- `,J=c.div`
161
+ `,K=c.div`
162
162
  display: flex;
163
163
  justify-content: space-between;
164
164
  width: 100%;
165
- `,be=c.div`
165
+ `,xe=c.div`
166
166
  width: 100%;
167
167
  display: flex;
168
168
  flex-direction: column;
169
169
  align-items: center;
170
170
  justify-content: center;
171
- `,xe=({fieldsets:n=null,legendText:o,isExpandable:l=!1,id:s,formInputs:r,labelAndInputContainerClass:h,labelClass:d,inputClass:i,handleEditableInputEntryChange:b,handleAddingInputEntry:g,hasSubmit:y=!1,hasCancel:u=!1,hasDelete:p=!1,hasEdit:C=!1,submitText:j,handleSubmitForm:w,handleSubmit:T,cancelText:D,handleCancel:L,deleteText:B,handleDelete:S,editText:q,handleEdit:k,className:F,children:A})=>e.jsxs(me,{id:`${s}-form`,className:F,onSubmit:w,children:[n?n.map((a,$)=>e.jsxs(H,{children:[e.jsxs(U,{id:`${s}-form-fieldset-${$}`,className:"form-fieldset",children:[a.legend&&e.jsx(M,{children:a.legend}),a.inputs.length!==0?a.inputs.map((x,N)=>e.jsxs(v.Fragment,{children:[x.type==="textarea"&&e.jsx(E,{...x,id:x.id??`${a.legend}-input`,labelClass:d,inputClass:i,idx:N}),(x.type==="radio"||x.type==="checkbox")&&e.jsx(E,{...x,id:x.id??`${a.legend}-input`,labelClass:d,inputClass:i,idx:N}),x.type!=="textarea"&&x.type!=="radio"&&x.type!=="checkbox"&&e.jsx(E,{...x,id:x.id??`${a.legend}-input`,labelClass:d,inputClass:i,idx:N}),x.editable&&x.editing&&e.jsx(I,{legend:`${a.legend} ${N+1}`,idx:N,editableInformation:x?.editableInformation,onChangeOfEditableOption:b,onClickSaveEdit:x?.onClickSave,onClickCancelEdit:x?.onClickCancel,onClickDeleteEntry:x?.onClickDelete})]},`form-${s}-${N}`)):a.expandable?e.jsx(G,{children:`No entry yet on ${a.legend}. Click "+" button to add entry.`}):""]}),a.expandable&&e.jsx(J,{className:"add-input-button-space",children:e.jsx(f,{id:`expand-${a.legend}-inputs`,buttonType:"button",text:"+",onClick:g,className:"add-input-entry"})})]},`${a.legend}-${$}`)):e.jsxs(H,{children:[e.jsxs(U,{id:`${s}-form-fieldset`,className:"form-fieldset",children:[o&&e.jsx(M,{children:o}),r.length!==0?r.map((a,$)=>e.jsxs(v.Fragment,{children:[a.type==="textarea"&&e.jsx(E,{...a,id:a.id??`${o}-input`,labelClass:d,inputClass:i,idx:$}),(a.type==="radio"||a.type==="checkbox")&&e.jsx(E,{...a,id:a.id??`${o}-input`,labelClass:d,inputClass:i,idx:$}),a.type!=="textarea"&&a.type!=="radio"&&a.type!=="checkbox"&&e.jsx(E,{...a,id:a.id??`${o}-input`,labelClass:d,inputClass:i,idx:$}),a.editable&&a.editing&&e.jsx(I,{legend:`${o} ${$+1}`,idx:$,editableInformation:a?.editableInformation,onChangeOfEditableOption:b,onClickSaveEdit:a?.onClickSave,onClickCancelEdit:a?.onClickEdit,onClickDeleteEntry:a?.onClickDelete})]},`form-${s}-${$}`)):l?e.jsx(G,{children:`No entry yet on ${o}. Please click "+" button to add`}):""]}),l&&e.jsx(J,{className:"add-input-button-space",children:e.jsx(f,{id:`expand-${o}-inputs`,buttonType:"button",text:"+",onClick:g,className:"add-input-entry"})})]}),e.jsx(de,{id:s,hasSubmit:y,submitText:j,handleSubmit:T,hasEdit:C,editText:q,handleEdit:k,hasCancel:u,cancelText:D,handleCancel:L,hasDelete:p,deleteText:B,handleDelete:S}),e.jsx(be,{className:"children-container",children:A})]}),he=n=>{const o=/^#([0-9A-Fa-f]{3}){1,2}$/,l=/^rgb(a)?\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}(?:\s*,\s*(0|1|0?\.\d+))?\s*\)$/;return o.test(n)||l.test(n)||CSS.supports("color",n)},m=n=>{if(!he(n))throw new Error(`Invalid color: ${n}`);return n},ue={mobile:"320px",tablet:"768px",desktop:"992px",largeDesktop:"1200px",largerDesktop:"1400px"},R={name:"light",colors:{text:m("#333446"),bg:m("#EEEEEE"),blue:m("#7F8CAA"),blue2:m("#80A6FF"),teal:m("#5b8280ff"),teal2:m("#AEEAE7"),gray:m("#AEAEAE"),information:m("#202234"),success:m("#123524"),warning:m("#F2C265"),error:m("#990000")}},K={name:"dark",colors:{bg:m("#333446"),text:m("#EEEEEE"),blue:m("#80A6FF"),blue2:m("#7F8CAA"),teal:m("#AEEAE7"),teal2:m("#5b8280ff"),gray:m("#D0D0DD"),information:m("#C9E6F0"),success:m("#9EDF9C"),warning:m("#FCFFC1"),error:m("#FAD4D4")}},O=v.createContext(void 0),fe=({children:n})=>{const[o,l]=v.useState(R),s=()=>{l(r=>r===R?K:R)};return e.jsx(O.Provider,{value:{currentTheme:o,toggleTheme:s},children:e.jsx(c.ThemeProvider,{theme:o,children:n})})},ge=()=>v.useContext(O);exports.DynamicForm=xe;exports.ThemeContext=O;exports.ThemeContextProvider=fe;exports.breakpoints=ue;exports.darkTheme=K;exports.lightTheme=R;exports.useTheme=ge;
171
+ `,be=({fieldsets:n=null,legendText:o,isExpandable:i,id:s,formInputs:r,labelAndInputContainerClass:d,labelClass:m,inputClass:l,handleEditableInputEntryChange:b,handleAddingInputEntry:u,hasSubmit:y=!1,hasCancel:f=!1,hasDelete:p=!1,hasEdit:C=!1,submitText:j,handleSubmitForm:N,handleSubmit:T,cancelText:A,handleCancel:R,deleteText:B,handleDelete:S,editText:q,handleEdit:k,className:w,children:D})=>e.jsxs(me,{id:`${s}-form`,className:w,onSubmit:N,children:[n?n.map((a,$)=>e.jsxs(G,{children:[e.jsxs(H,{id:`${s}-form-fieldset-${$}`,className:"form-fieldset",children:[a.legend&&e.jsx(U,{children:a.legend}),a.inputs.length!==0?a.inputs.map((h,F)=>e.jsxs(v.Fragment,{children:[h.type==="textarea"&&e.jsx(E,{...h,id:h.id??`${a.legend}-input`,labelClass:m,inputClass:l,idx:F,className:d}),(h.type==="radio"||h.type==="checkbox")&&e.jsx(E,{...h,id:h.id??`${a.legend}-input`,labelClass:m,inputClass:l,idx:F,className:d}),h.type!=="textarea"&&h.type!=="radio"&&h.type!=="checkbox"&&e.jsx(E,{...h,id:h.id??`${a.legend}-input`,labelClass:m,inputClass:l,idx:F,className:d}),h.editable&&h.editing&&e.jsx(M,{legend:`${a.legend} ${F+1}`,idx:F,editableInformation:h?.editableInformation,onChangeOfEditableOption:b,onClickSaveEdit:h?.onClickSave,onClickCancelEdit:h?.onClickCancel,onClickDeleteEntry:h?.onClickDelete})]},`form-${s}-${F}`)):a.expandable?e.jsx(J,{children:`No entry yet on ${a.legend}. Click "+" button to add entry.`}):""]}),a.expandable&&e.jsx(K,{className:"add-input-button-space",children:e.jsx(g,{id:`expand-${a.legend}-inputs`,buttonType:"button",text:"+",onClick:u,className:"add-input-entry"})})]},`${a.legend}-${$}`)):e.jsxs(G,{children:[e.jsxs(H,{id:`${s}-form-fieldset`,className:"form-fieldset",children:[o&&e.jsx(U,{children:o}),r.length!==0?r.map((a,$)=>e.jsxs(v.Fragment,{children:[a.type==="textarea"&&e.jsx(E,{...a,id:a.id??`${o}-input`,labelClass:m,inputClass:l,idx:$,className:d}),(a.type==="radio"||a.type==="checkbox")&&e.jsx(E,{...a,id:a.id??`${o}-input`,labelClass:m,inputClass:l,idx:$,className:d}),a.type!=="textarea"&&a.type!=="radio"&&a.type!=="checkbox"&&e.jsx(E,{...a,id:a.id??`${o}-input`,labelClass:m,inputClass:l,idx:$,className:d}),a.editable&&a.editing&&e.jsx(M,{legend:`${o} ${$+1}`,idx:$,editableInformation:a?.editableInformation,onChangeOfEditableOption:b,onClickSaveEdit:a?.onClickSave,onClickCancelEdit:a?.onClickEdit,onClickDeleteEntry:a?.onClickDelete})]},`form-${s}-${$}`)):i?e.jsx(J,{children:`No entry yet on ${o}. Please click "+" button to add`}):""]}),i&&e.jsx(K,{className:"add-input-button-space",children:e.jsx(g,{id:`expand-${o}-inputs`,buttonType:"button",text:"+",onClick:u,className:"add-input-entry"})})]}),e.jsx(de,{id:s,hasSubmit:y,submitText:j,handleSubmit:T,hasEdit:C,editText:q,handleEdit:k,hasCancel:f,cancelText:A,handleCancel:R,hasDelete:p,deleteText:B,handleDelete:S}),e.jsx(xe,{className:"children-container",children:D})]}),he=n=>{const o=/^#([0-9A-Fa-f]{3}){1,2}$/,i=/^rgb(a)?\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}(?:\s*,\s*(0|1|0?\.\d+))?\s*\)$/;return o.test(n)||i.test(n)||CSS.supports("color",n)},x=n=>{if(!he(n))throw new Error(`Invalid color: ${n}`);return n},fe={mobile:"320px",tablet:"768px",desktop:"992px",largeDesktop:"1200px",largerDesktop:"1400px"},L={name:"light",colors:{text:x("#333446"),bg:x("#EEEEEE"),blue:x("#7F8CAA"),blue2:x("#80A6FF"),teal:x("#5b8280ff"),teal2:x("#AEEAE7"),gray:x("#AEAEAE"),information:x("#202234"),success:x("#123524"),warning:x("#F2C265"),error:x("#990000")}},Q={name:"dark",colors:{bg:x("#333446"),text:x("#EEEEEE"),blue:x("#80A6FF"),blue2:x("#7F8CAA"),teal:x("#AEEAE7"),teal2:x("#5b8280ff"),gray:x("#D0D0DD"),information:x("#C9E6F0"),success:x("#9EDF9C"),warning:x("#FCFFC1"),error:x("#FAD4D4")}},O=v.createContext(void 0),ge=({children:n})=>{const[o,i]=v.useState(L),s=()=>{i(r=>r===L?Q:L)};return e.jsx(O.Provider,{value:{currentTheme:o,toggleTheme:s},children:e.jsx(c.ThemeProvider,{theme:o,children:n})})},ue=()=>v.useContext(O);exports.DynamicForm=be;exports.ThemeContext=O;exports.ThemeContextProvider=ge;exports.breakpoints=fe;exports.darkTheme=Q;exports.lightTheme=L;exports.useTheme=ue;
@@ -1,6 +1,6 @@
1
- import { jsx as e, jsxs as u, Fragment as Q } from "react/jsx-runtime";
2
- import W, { forwardRef as V, createContext as X, useState as Y, useContext as Z } from "react";
3
- import c, { ThemeProvider as _ } from "styled-components";
1
+ import { jsx as e, jsxs as g, Fragment as V } from "react/jsx-runtime";
2
+ import W, { forwardRef as X, createContext as Y, useState as Z, useContext as _ } from "react";
3
+ import s, { ThemeProvider as I } from "styled-components";
4
4
  const t = {
5
5
  fonts: {
6
6
  secondary: "Raleway",
@@ -32,7 +32,7 @@ const t = {
32
32
  thin: "0.0625rem",
33
33
  light: "0.125rem"
34
34
  }
35
- }, ee = c.button`
35
+ }, ee = s.button`
36
36
  display: flex;
37
37
  align-items: center;
38
38
  justify-content: center;
@@ -58,15 +58,15 @@ const t = {
58
58
  & .button-icon-text-space svg {
59
59
  max-width: 100%;
60
60
  }
61
- `, te = c.div`
61
+ `, te = s.div`
62
62
  width: 100%;
63
63
  display: flex;
64
64
  flex-direction: row;
65
65
  align-items: center;
66
66
  justify-content: center;
67
- `, ne = c.img`
67
+ `, ne = s.img`
68
68
  maxwidth: 100%;
69
- `, ae = c.span`
69
+ `, ae = s.span`
70
70
  font-size: ${t.fontSize.xsmall};
71
71
  font-weight: ${t.fontWeight.medium};
72
72
  font-family: ${t.fonts.tertiary}, ${t.fonts.fallback};
@@ -76,38 +76,38 @@ const t = {
76
76
  `, x = ({
77
77
  onClick: n,
78
78
  id: o,
79
- buttonType: i,
80
- source: l,
79
+ buttonType: l,
80
+ source: i,
81
81
  svg: r,
82
- alt: f = "alt-button-icon",
83
- text: d = "",
84
- className: s = "",
85
- dataAttributes: b = {}
82
+ alt: d = "alt-button-icon",
83
+ text: m = "",
84
+ className: c = "",
85
+ dataAttributes: h = {}
86
86
  }) => /* @__PURE__ */ e(
87
87
  ee,
88
88
  {
89
89
  onClick: n,
90
90
  id: o,
91
- type: i,
92
- className: s,
93
- ...b,
94
- children: /* @__PURE__ */ u(te, { className: "button-icon-text-space", children: [
95
- l ? /* @__PURE__ */ e(ne, { src: l, alt: f }) : r || "",
96
- d && /* @__PURE__ */ e(ae, { id: o, children: d })
91
+ type: l,
92
+ className: c,
93
+ ...h,
94
+ children: /* @__PURE__ */ g(te, { className: "button-icon-text-space", children: [
95
+ i ? /* @__PURE__ */ e(ne, { src: i, alt: d }) : r || "",
96
+ m && /* @__PURE__ */ e(ae, { id: o, children: m })
97
97
  ] })
98
98
  }
99
- ), oe = c.div`
99
+ ), oe = s.div`
100
100
  display: flex;
101
101
  flex-direction: column;
102
102
  align-items: left;
103
103
  width: 100%;
104
104
  margin-bottom: ${t.spacing.small};
105
- `, le = c.div`
105
+ `, ie = s.div`
106
106
  display: flex;
107
107
  gap: ${t.spacing.xsmall};
108
108
  width: auto;
109
109
  height: auto;
110
- `, ie = c.label`
110
+ `, le = s.label`
111
111
  display: flex;
112
112
  align-items: center;
113
113
  justify-content:center;
@@ -124,29 +124,29 @@ const t = {
124
124
  height: auto;
125
125
  object-fit: contain;
126
126
  }
127
- `, se = c.span`
127
+ `, ce = s.span`
128
128
  font-weight: ${t.fontWeight.bolder};
129
- `, ce = c.div`
129
+ `, se = s.div`
130
130
  max-width: 100%;
131
131
  display: flex;
132
132
  align-items: center;
133
- `, re = c.span`
133
+ `, re = s.span`
134
134
  font-weight: ${t.fontWeight.light};
135
135
  `, P = ({
136
136
  htmlFor: n,
137
137
  textLabel: o,
138
- additionalInfo: i,
139
- $labelFlexDirection: l,
138
+ additionalInfo: l,
139
+ $labelFlexDirection: i,
140
140
  source: r,
141
- svg: f,
142
- className: d,
143
- children: s
144
- }) => /* @__PURE__ */ u(ie, { htmlFor: n, className: d, $labelFlexDirection: l, children: [
145
- (r || f) && /* @__PURE__ */ e(ce, { className: "label-icon-container", children: r ? /* @__PURE__ */ e("img", { src: r, alt: `${n}-label-icon` }) : f || "" }),
146
- /* @__PURE__ */ e(se, { className: "main-label", children: o }),
147
- i && /* @__PURE__ */ e(re, { className: "additional-info", children: i }),
148
- s
149
- ] }), q = c.input`
141
+ svg: d,
142
+ className: m,
143
+ children: c
144
+ }) => /* @__PURE__ */ g(le, { htmlFor: n, className: m, $labelFlexDirection: i, children: [
145
+ (r || d) && /* @__PURE__ */ e(se, { className: "label-icon-container", children: r ? /* @__PURE__ */ e("img", { src: r, alt: `${n}-label-icon` }) : d || "" }),
146
+ /* @__PURE__ */ e(ce, { className: "main-label", children: o }),
147
+ l && /* @__PURE__ */ e(re, { className: "additional-info", children: l }),
148
+ c
149
+ ] }), q = s.input`
150
150
  display: flex;
151
151
  place-content: center;
152
152
  font-family: ${t.fonts.secondary}, ${t.fonts.fallback};
@@ -163,7 +163,7 @@ const t = {
163
163
  &:focus{
164
164
  border: ${t.borderThickness.thin} solid ${({ theme: n }) => n.colors.teal};
165
165
  }
166
- `, de = c.textarea`
166
+ `, de = s.textarea`
167
167
  display: flex;
168
168
  place-content: center;
169
169
  border: ${t.borderThickness.light} solid ${({ theme: n }) => n.colors.text};
@@ -176,246 +176,245 @@ const t = {
176
176
  max-width: 100%;
177
177
  resize: none;
178
178
  overflow-y: auto;
179
- `, j = V((n, o) => {
180
- const { type: i, id: l, onChange: r, isRequired: f, dataAttributes: d, disabled: s, className: b } = n;
181
- if (i === "textarea") {
182
- const { rows: C = 5, cols: F = 30, value: T, ...S } = n;
179
+ `, j = X((n, o) => {
180
+ const { type: l, id: i, onChange: r, isRequired: d, dataAttributes: m, disabled: c, className: h } = n;
181
+ if (l === "textarea") {
182
+ const { rows: N = 5, cols: F = 30, value: A, ...S } = n;
183
183
  return /* @__PURE__ */ e(
184
184
  de,
185
185
  {
186
- id: l,
186
+ id: i,
187
187
  onChange: r,
188
- value: T,
189
- rows: C,
188
+ value: A,
189
+ rows: N,
190
190
  cols: F,
191
- ...d,
192
- className: b,
191
+ ...m,
192
+ className: h,
193
193
  ref: o,
194
- disabled: s,
195
- required: f
194
+ disabled: c,
195
+ required: d
196
196
  }
197
197
  );
198
198
  }
199
- if (i === "radio" || i === "checkbox") {
200
- const { checked: C, ...F } = n;
199
+ if (l === "radio" || l === "checkbox") {
200
+ const { checked: N, ...F } = n;
201
201
  return /* @__PURE__ */ e(
202
202
  q,
203
203
  {
204
204
  ref: o,
205
205
  type: "checkbox",
206
- id: l,
207
- checked: C,
206
+ id: i,
207
+ checked: N,
208
208
  onChange: r,
209
- disabled: s,
210
- className: b,
211
- ...d
209
+ disabled: c,
210
+ className: h,
211
+ ...m
212
212
  }
213
213
  );
214
214
  }
215
- const $ = n, { value: p, pattern: g, placeholderText: k, ...N } = $;
215
+ const $ = n, { value: p, pattern: u, placeholderText: k, ...C } = $;
216
216
  return /* @__PURE__ */ e(
217
217
  q,
218
218
  {
219
- id: l,
220
- name: l,
219
+ id: i,
220
+ name: i,
221
221
  placeholder: k,
222
222
  onChange: r,
223
223
  value: p,
224
- type: i,
225
- required: f,
226
- ...d,
227
- className: b,
224
+ type: l,
225
+ required: d,
226
+ ...m,
227
+ className: h,
228
228
  ref: o,
229
- disabled: s,
230
- pattern: g
229
+ disabled: c,
230
+ pattern: u
231
231
  }
232
232
  );
233
- }), A = (n) => {
233
+ }), T = (n) => {
234
234
  const {
235
235
  className: o,
236
- type: i,
237
- id: l,
236
+ type: l,
237
+ id: i,
238
238
  textLabel: r,
239
- additionalInfo: f,
240
- $labelFlexDirection: d,
241
- svg: s,
242
- labelClass: b,
239
+ additionalInfo: d,
240
+ $labelFlexDirection: m,
241
+ svg: c,
242
+ labelClass: h,
243
243
  onChange: $,
244
244
  isRequired: p,
245
- dataAttributes: g,
245
+ dataAttributes: u,
246
246
  inputClass: k,
247
- ref: N,
248
- disabled: C,
247
+ ref: C,
248
+ disabled: N,
249
249
  isEditable: F,
250
- editIcon: T,
250
+ editIcon: A,
251
251
  onClickEdit: S,
252
252
  deleteIcon: L,
253
- onClickDelete: R,
253
+ onClickDelete: B,
254
254
  idx: z,
255
- children: B
255
+ children: R
256
256
  } = n;
257
- return /* @__PURE__ */ u(oe, { className: `${o} ${l.replace("#", "")}-label-input-container`, children: [
258
- i !== "radio" && i !== "checkbox" && /* @__PURE__ */ e(P, { htmlFor: l, textLabel: r, additionalInfo: f, $labelFlexDirection: d, svg: s, className: b }),
259
- i !== "radio" && i !== "checkbox" && i === "textarea" && (() => {
257
+ return /* @__PURE__ */ g(oe, { className: `${o} ${i.replace("#", "")}-label-input-container`, children: [
258
+ l !== "radio" && l !== "checkbox" && /* @__PURE__ */ e(P, { htmlFor: i, textLabel: r, additionalInfo: d, $labelFlexDirection: m, svg: c, className: h }),
259
+ l !== "radio" && l !== "checkbox" && l === "textarea" && (() => {
260
260
  const { rows: w = 5, cols: E = 30, value: D, ...a } = n;
261
261
  return /* @__PURE__ */ e(
262
262
  j,
263
263
  {
264
- id: l,
265
- name: l,
264
+ id: i,
265
+ name: i,
266
266
  type: "textarea",
267
267
  isRequired: p,
268
268
  onChange: $,
269
269
  value: D,
270
270
  rows: w,
271
271
  cols: E,
272
- ...g,
272
+ ...u,
273
273
  className: k,
274
- ref: N,
275
- disabled: C
274
+ ref: C,
275
+ disabled: N
276
276
  }
277
277
  );
278
278
  })(),
279
- i !== "radio" && i !== "checkbox" && i !== "textarea" && (() => {
279
+ l !== "radio" && l !== "checkbox" && l !== "textarea" && (() => {
280
280
  const w = n, { value: E, pattern: D, placeholderText: a, ...y } = w;
281
281
  return /* @__PURE__ */ e(
282
282
  j,
283
283
  {
284
- id: l,
285
- name: l,
284
+ id: i,
285
+ name: i,
286
286
  placeholderText: a,
287
287
  onChange: $,
288
288
  value: E,
289
- type: i,
289
+ type: l,
290
290
  isRequired: p,
291
- ...g,
291
+ ...u,
292
292
  className: k,
293
- ref: N,
294
- disabled: C,
293
+ ref: C,
294
+ disabled: N,
295
295
  pattern: D
296
296
  }
297
297
  );
298
298
  })(),
299
- (i === "radio" || i === "checkbox") && (() => {
299
+ (l === "radio" || l === "checkbox") && (() => {
300
300
  const { checked: w, ...E } = n;
301
- return /* @__PURE__ */ u(Q, { children: [
301
+ return /* @__PURE__ */ g(V, { children: [
302
302
  /* @__PURE__ */ e(
303
303
  j,
304
304
  {
305
- ref: N,
305
+ ref: C,
306
306
  type: "checkbox",
307
- name: l,
308
- id: l,
307
+ name: i,
308
+ id: i,
309
309
  isRequired: p,
310
310
  checked: w,
311
311
  onChange: $,
312
- disabled: C,
312
+ disabled: N,
313
313
  className: k,
314
- ...g
314
+ ...u
315
315
  }
316
316
  ),
317
- /* @__PURE__ */ e(P, { htmlFor: l, textLabel: r, additionalInfo: f, $labelFlexDirection: d, svg: s, className: b })
317
+ /* @__PURE__ */ e(P, { htmlFor: i, textLabel: r, additionalInfo: d, $labelFlexDirection: m, svg: c, className: h })
318
318
  ] });
319
319
  })(),
320
- "// * Radio inputs usually have labels next to them",
321
- F && /* @__PURE__ */ u(le, { className: "input-edit-buttons", children: [
322
- /* @__PURE__ */ e(x, { id: `editable-${l}-edit-btn`, svg: T, buttonType: "button", onClick: S, className: `edit-radio-${z}`, dataAttributes: g }),
323
- /* @__PURE__ */ e(x, { id: `editable-${l}-delete-btn`, svg: L, buttonType: "button", onClick: R, className: `delete-radio-${z}`, dataAttributes: g })
320
+ F && /* @__PURE__ */ g(ie, { className: "input-edit-buttons", children: [
321
+ /* @__PURE__ */ e(x, { id: `editable-${i}-edit-btn`, svg: A, buttonType: "button", onClick: S, className: `edit-radio-${z}`, dataAttributes: u }),
322
+ /* @__PURE__ */ e(x, { id: `editable-${i}-delete-btn`, svg: L, buttonType: "button", onClick: B, className: `delete-radio-${z}`, dataAttributes: u })
324
323
  ] }),
325
- B
324
+ R
326
325
  ] });
327
- }, me = c.fieldset`
326
+ }, me = s.fieldset`
328
327
  padding: 0;
329
328
  height: auto;
330
329
  width: 100%;
331
- `, be = c.legend`
330
+ `, be = s.legend`
332
331
  font-size: ${t.spacing.medium};
333
332
  font-weight: 500;
334
333
  margin: 0 auto ${t.spacing.small} auto;
335
334
  text-align: center;
336
335
  font-family: ${t.fonts.secondary}, ${t.fonts.fallback};
337
- `, he = c.div`
336
+ `, he = s.div`
338
337
  display: flex;
339
338
  flex-direction: column;
340
339
  align-items: flex-start;
341
340
  width: 100%;
342
341
  margin-bottom: ${t.spacing.small};
343
- `, fe = c.div`
342
+ `, fe = s.div`
344
343
  display: flex;
345
344
  justify-content: space-between;
346
345
  width: 100%;
347
- `, I = ({
346
+ `, M = ({
348
347
  legend: n,
349
348
  idx: o,
350
- editableInformation: i,
351
- onChangeOfEditableOption: l,
349
+ editableInformation: l,
350
+ onChangeOfEditableOption: i,
352
351
  onClickSaveEdit: r,
353
- onClickCancelEdit: f,
354
- onClickDeleteEntry: d
355
- }) => /* @__PURE__ */ u(me, { className: "editable-selection-fieldset", children: [
352
+ onClickCancelEdit: d,
353
+ onClickDeleteEntry: m
354
+ }) => /* @__PURE__ */ g(me, { className: "editable-selection-fieldset", children: [
356
355
  /* @__PURE__ */ e(be, { children: `${n} ${o + 1}` }),
357
- i.map((s, b) => /* @__PURE__ */ e(he, { className: "editable-selection-container", children: /* @__PURE__ */ e(
356
+ l.map((c, h) => /* @__PURE__ */ e(he, { className: "editable-selection-container", children: /* @__PURE__ */ e(
358
357
  j,
359
358
  {
360
- id: `editable-selection-${b}`,
361
- name: `editable-selection-${b}`,
362
- placeholderText: s.name.charAt(0).toUpperCase() + s.name.slice(1),
363
- onChange: l,
364
- value: s.info,
365
- type: s.type,
359
+ id: `editable-selection-${h}`,
360
+ name: `editable-selection-${h}`,
361
+ placeholderText: c.name.charAt(0).toUpperCase() + c.name.slice(1),
362
+ onChange: i,
363
+ value: c.info,
364
+ type: c.type,
366
365
  isRequired: !0,
367
366
  className: "editable-selection",
368
367
  dataAttributes: {
369
- "data-index": b,
368
+ "data-index": h,
370
369
  //* should be idx to correspond to radio button index and not with input increment
371
- "data-key": s.info
370
+ "data-key": c.info
372
371
  }
373
372
  }
374
- ) }, `${s.name}-${b}`)),
375
- /* @__PURE__ */ u(fe, { className: "editable-selection-button-space", children: [
373
+ ) }, `${c.name}-${h}`)),
374
+ /* @__PURE__ */ g(fe, { className: "editable-selection-button-space", children: [
376
375
  /* @__PURE__ */ e(x, { id: `editable-selection-${o}-submit`, buttonType: "submit", text: "Save", onClick: r, className: "editable-selection-btn", dataAttributes: { "data-index": o } }),
377
- /* @__PURE__ */ e(x, { id: `editable-selection-${o}-cancel`, buttonType: "button", text: "Cancel", onClick: f, className: "editable-selection-btn", dataAttributes: { "data-index": o } }),
378
- /* @__PURE__ */ e(x, { id: `editable-selection-${o}-delete`, buttonType: "button", text: "Delete", onClick: d, className: "editable-selection-btn", dataAttributes: { "data-index": o } })
376
+ /* @__PURE__ */ e(x, { id: `editable-selection-${o}-cancel`, buttonType: "button", text: "Cancel", onClick: d, className: "editable-selection-btn", dataAttributes: { "data-index": o } }),
377
+ /* @__PURE__ */ e(x, { id: `editable-selection-${o}-delete`, buttonType: "button", text: "Delete", onClick: m, className: "editable-selection-btn", dataAttributes: { "data-index": o } })
379
378
  ] })
380
- ] }), ue = c.div`
379
+ ] }), ge = s.div`
381
380
  display: flex;
382
381
  justify-content: space-between;
383
382
  max-width: 100%;
384
- `, ge = ({
383
+ `, ue = ({
385
384
  id: n,
386
385
  hasSubmit: o,
387
- submitText: i,
388
- handleSubmit: l,
386
+ submitText: l,
387
+ handleSubmit: i,
389
388
  hasEdit: r,
390
- editText: f,
391
- handleEdit: d,
392
- hasCancel: s,
393
- cancelText: b,
389
+ editText: d,
390
+ handleEdit: m,
391
+ hasCancel: c,
392
+ cancelText: h,
394
393
  handleCancel: $,
395
394
  hasDelete: p,
396
- deleteText: g,
395
+ deleteText: u,
397
396
  handleDelete: k
398
- }) => /* @__PURE__ */ u(ue, { className: "form-main-button-container", children: [
399
- o && /* @__PURE__ */ e(x, { id: `form-${n}-submit`, buttonType: "submit", text: i ?? "Submit", onClick: l, className: "submit-form-btn" }),
400
- r && /* @__PURE__ */ e(x, { id: `form-${n}-edit`, buttonType: "button", text: f ?? "Edit", onClick: d, className: "edit-form-btn" }),
401
- s && /* @__PURE__ */ e(x, { id: `form-${n}-cancel`, buttonType: "button", text: b ?? "Cancel", onClick: $, className: "cancel-form-btn" }),
402
- p && /* @__PURE__ */ e(x, { id: `form-${n}-delete`, buttonType: "button", text: g ?? "Delete", onClick: k, className: "delete-form-btn" })
403
- ] }), M = c.legend`
397
+ }) => /* @__PURE__ */ g(ge, { className: "form-main-button-container", children: [
398
+ o && /* @__PURE__ */ e(x, { id: `form-${n}-submit`, buttonType: "submit", text: l ?? "Submit", onClick: i, className: "submit-form-btn" }),
399
+ r && /* @__PURE__ */ e(x, { id: `form-${n}-edit`, buttonType: "button", text: d ?? "Edit", onClick: m, className: "edit-form-btn" }),
400
+ c && /* @__PURE__ */ e(x, { id: `form-${n}-cancel`, buttonType: "button", text: h ?? "Cancel", onClick: $, className: "cancel-form-btn" }),
401
+ p && /* @__PURE__ */ e(x, { id: `form-${n}-delete`, buttonType: "button", text: u ?? "Delete", onClick: k, className: "delete-form-btn" })
402
+ ] }), U = s.legend`
404
403
  font-size: ${t.spacing.medium};
405
404
  font-weight: 500;
406
405
  margin-bottom: ${t.spacing.small};
407
406
  width: auto;
408
407
  text-align: center;
409
408
  font-family: ${t.fonts.secondary}, ${t.fonts.fallback};
410
- `, U = c.fieldset`
409
+ `, H = s.fieldset`
411
410
  padding: 0;
412
411
  height: auto;
413
412
  width: 100%;
414
- `, H = c.div`
413
+ `, G = s.div`
415
414
  padding: ${t.spacing.small};
416
415
  height: auto;
417
416
  width: 100%;
418
- `, G = c.div`
417
+ `, J = s.div`
419
418
  display: flex;
420
419
  justify-content: center;
421
420
  align-items: center;
@@ -424,176 +423,182 @@ const t = {
424
423
  font-family: ${t.fonts.tertiary}, ${t.fonts.fallback};
425
424
  font-size: ${t.fontSize.xsmall};
426
425
  font-weight: ${t.fontWeight.bold};
427
- `, xe = c.form`
426
+ `, xe = s.form`
428
427
  display: flex;
429
428
  flex-direction: column;
430
429
  align-items: center;
431
430
  width: 100%;
432
- `, J = c.div`
431
+ `, K = s.div`
433
432
  display: flex;
434
433
  justify-content: space-between;
435
434
  width: 100%;
436
- `, $e = c.div`
435
+ `, $e = s.div`
437
436
  width: 100%;
438
437
  display: flex;
439
438
  flex-direction: column;
440
439
  align-items: center;
441
440
  justify-content: center;
442
- `, Ne = ({
441
+ `, Ce = ({
443
442
  fieldsets: n = null,
444
443
  //* if a form has differrent fieldsets
445
444
  legendText: o,
446
445
  //* if form has no fieldsets, depends if you have fieldset for solo form
447
- isExpandable: i = !1,
446
+ isExpandable: l,
448
447
  //* if form has no fieldsets this is default to false - to add inputs
449
- id: l,
448
+ id: i,
450
449
  formInputs: r,
451
450
  //* object that contains the input fields information to make it reusable
452
- labelAndInputContainerClass: f,
453
- labelClass: d,
454
- inputClass: s,
455
- handleEditableInputEntryChange: b,
451
+ labelAndInputContainerClass: d,
452
+ labelClass: m,
453
+ inputClass: c,
454
+ handleEditableInputEntryChange: h,
456
455
  //* handles change on editable inputs
457
456
  handleAddingInputEntry: $,
458
457
  hasSubmit: p = !1,
459
- hasCancel: g = !1,
458
+ hasCancel: u = !1,
460
459
  hasDelete: k = !1,
461
- hasEdit: N = !1,
462
- submitText: C,
460
+ hasEdit: C = !1,
461
+ submitText: N,
463
462
  handleSubmitForm: F,
464
- handleSubmit: T,
463
+ handleSubmit: A,
465
464
  cancelText: S,
466
465
  handleCancel: L,
467
- deleteText: R,
466
+ deleteText: B,
468
467
  handleDelete: z,
469
- editText: B,
468
+ editText: R,
470
469
  handleEdit: w,
471
470
  className: E,
472
471
  children: D
473
472
  //* if there are nodes to be inserted after submit/edit/cancel buttons usually in login or signup forms
474
- }) => /* @__PURE__ */ u(xe, { id: `${l}-form`, className: E, onSubmit: F, children: [
475
- n ? n.map((a, y) => /* @__PURE__ */ u(H, { children: [
476
- /* @__PURE__ */ u(U, { id: `${l}-form-fieldset-${y}`, className: "form-fieldset", children: [
477
- a.legend && /* @__PURE__ */ e(M, { children: a.legend }),
478
- a.inputs.length !== 0 ? a.inputs.map((h, v) => /* @__PURE__ */ u(W.Fragment, { children: [
479
- h.type === "textarea" && /* @__PURE__ */ e(
480
- A,
473
+ }) => /* @__PURE__ */ g(xe, { id: `${i}-form`, className: E, onSubmit: F, children: [
474
+ n ? n.map((a, y) => /* @__PURE__ */ g(G, { children: [
475
+ /* @__PURE__ */ g(H, { id: `${i}-form-fieldset-${y}`, className: "form-fieldset", children: [
476
+ a.legend && /* @__PURE__ */ e(U, { children: a.legend }),
477
+ a.inputs.length !== 0 ? a.inputs.map((f, v) => /* @__PURE__ */ g(W.Fragment, { children: [
478
+ f.type === "textarea" && /* @__PURE__ */ e(
479
+ T,
481
480
  {
482
- ...h,
483
- id: h.id ?? `${a.legend}-input`,
484
- labelClass: d,
485
- inputClass: s,
486
- idx: v
481
+ ...f,
482
+ id: f.id ?? `${a.legend}-input`,
483
+ labelClass: m,
484
+ inputClass: c,
485
+ idx: v,
486
+ className: d
487
487
  }
488
488
  ),
489
- (h.type === "radio" || h.type === "checkbox") && /* @__PURE__ */ e(
490
- A,
489
+ (f.type === "radio" || f.type === "checkbox") && /* @__PURE__ */ e(
490
+ T,
491
491
  {
492
- ...h,
493
- id: h.id ?? `${a.legend}-input`,
494
- labelClass: d,
495
- inputClass: s,
496
- idx: v
492
+ ...f,
493
+ id: f.id ?? `${a.legend}-input`,
494
+ labelClass: m,
495
+ inputClass: c,
496
+ idx: v,
497
+ className: d
497
498
  }
498
499
  ),
499
- h.type !== "textarea" && h.type !== "radio" && h.type !== "checkbox" && /* @__PURE__ */ e(
500
- A,
500
+ f.type !== "textarea" && f.type !== "radio" && f.type !== "checkbox" && /* @__PURE__ */ e(
501
+ T,
501
502
  {
502
- ...h,
503
- id: h.id ?? `${a.legend}-input`,
504
- labelClass: d,
505
- inputClass: s,
506
- idx: v
503
+ ...f,
504
+ id: f.id ?? `${a.legend}-input`,
505
+ labelClass: m,
506
+ inputClass: c,
507
+ idx: v,
508
+ className: d
507
509
  }
508
510
  ),
509
- h.editable && h.editing && /* @__PURE__ */ e(
510
- I,
511
+ f.editable && f.editing && /* @__PURE__ */ e(
512
+ M,
511
513
  {
512
514
  legend: `${a.legend} ${v + 1}`,
513
515
  idx: v,
514
- editableInformation: h?.editableInformation,
515
- onChangeOfEditableOption: b,
516
- onClickSaveEdit: h?.onClickSave,
517
- onClickCancelEdit: h?.onClickCancel,
518
- onClickDeleteEntry: h?.onClickDelete
516
+ editableInformation: f?.editableInformation,
517
+ onChangeOfEditableOption: h,
518
+ onClickSaveEdit: f?.onClickSave,
519
+ onClickCancelEdit: f?.onClickCancel,
520
+ onClickDeleteEntry: f?.onClickDelete
519
521
  }
520
522
  )
521
- ] }, `form-${l}-${v}`)) : a.expandable ? /* @__PURE__ */ e(G, { children: `No entry yet on ${a.legend}. Click "+" button to add entry.` }) : ""
523
+ ] }, `form-${i}-${v}`)) : a.expandable ? /* @__PURE__ */ e(J, { children: `No entry yet on ${a.legend}. Click "+" button to add entry.` }) : ""
522
524
  ] }),
523
- a.expandable && /* @__PURE__ */ e(J, { className: "add-input-button-space", children: /* @__PURE__ */ e(x, { id: `expand-${a.legend}-inputs`, buttonType: "button", text: "+", onClick: $, className: "add-input-entry" }) })
524
- ] }, `${a.legend}-${y}`)) : /* @__PURE__ */ u(H, { children: [
525
- /* @__PURE__ */ u(U, { id: `${l}-form-fieldset`, className: "form-fieldset", children: [
526
- o && /* @__PURE__ */ e(M, { children: o }),
527
- r.length !== 0 ? r.map((a, y) => /* @__PURE__ */ u(W.Fragment, { children: [
525
+ a.expandable && /* @__PURE__ */ e(K, { className: "add-input-button-space", children: /* @__PURE__ */ e(x, { id: `expand-${a.legend}-inputs`, buttonType: "button", text: "+", onClick: $, className: "add-input-entry" }) })
526
+ ] }, `${a.legend}-${y}`)) : /* @__PURE__ */ g(G, { children: [
527
+ /* @__PURE__ */ g(H, { id: `${i}-form-fieldset`, className: "form-fieldset", children: [
528
+ o && /* @__PURE__ */ e(U, { children: o }),
529
+ r.length !== 0 ? r.map((a, y) => /* @__PURE__ */ g(W.Fragment, { children: [
528
530
  a.type === "textarea" && /* @__PURE__ */ e(
529
- A,
531
+ T,
530
532
  {
531
533
  ...a,
532
534
  id: a.id ?? `${o}-input`,
533
- labelClass: d,
534
- inputClass: s,
535
- idx: y
535
+ labelClass: m,
536
+ inputClass: c,
537
+ idx: y,
538
+ className: d
536
539
  }
537
540
  ),
538
541
  (a.type === "radio" || a.type === "checkbox") && /* @__PURE__ */ e(
539
- A,
542
+ T,
540
543
  {
541
544
  ...a,
542
545
  id: a.id ?? `${o}-input`,
543
- labelClass: d,
544
- inputClass: s,
545
- idx: y
546
+ labelClass: m,
547
+ inputClass: c,
548
+ idx: y,
549
+ className: d
546
550
  }
547
551
  ),
548
552
  a.type !== "textarea" && a.type !== "radio" && a.type !== "checkbox" && /* @__PURE__ */ e(
549
- A,
553
+ T,
550
554
  {
551
555
  ...a,
552
556
  id: a.id ?? `${o}-input`,
553
- labelClass: d,
554
- inputClass: s,
555
- idx: y
557
+ labelClass: m,
558
+ inputClass: c,
559
+ idx: y,
560
+ className: d
556
561
  }
557
562
  ),
558
563
  a.editable && a.editing && /* @__PURE__ */ e(
559
- I,
564
+ M,
560
565
  {
561
566
  legend: `${o} ${y + 1}`,
562
567
  idx: y,
563
568
  editableInformation: a?.editableInformation,
564
- onChangeOfEditableOption: b,
569
+ onChangeOfEditableOption: h,
565
570
  onClickSaveEdit: a?.onClickSave,
566
571
  onClickCancelEdit: a?.onClickEdit,
567
572
  onClickDeleteEntry: a?.onClickDelete
568
573
  }
569
574
  )
570
- ] }, `form-${l}-${y}`)) : i ? /* @__PURE__ */ e(G, { children: `No entry yet on ${o}. Please click "+" button to add` }) : ""
575
+ ] }, `form-${i}-${y}`)) : l ? /* @__PURE__ */ e(J, { children: `No entry yet on ${o}. Please click "+" button to add` }) : ""
571
576
  ] }),
572
- i && /* @__PURE__ */ e(J, { className: "add-input-button-space", children: /* @__PURE__ */ e(x, { id: `expand-${o}-inputs`, buttonType: "button", text: "+", onClick: $, className: "add-input-entry" }) })
577
+ l && /* @__PURE__ */ e(K, { className: "add-input-button-space", children: /* @__PURE__ */ e(x, { id: `expand-${o}-inputs`, buttonType: "button", text: "+", onClick: $, className: "add-input-entry" }) })
573
578
  ] }),
574
579
  /* @__PURE__ */ e(
575
- ge,
580
+ ue,
576
581
  {
577
- id: l,
582
+ id: i,
578
583
  hasSubmit: p,
579
- submitText: C,
580
- handleSubmit: T,
581
- hasEdit: N,
582
- editText: B,
584
+ submitText: N,
585
+ handleSubmit: A,
586
+ hasEdit: C,
587
+ editText: R,
583
588
  handleEdit: w,
584
- hasCancel: g,
589
+ hasCancel: u,
585
590
  cancelText: S,
586
591
  handleCancel: L,
587
592
  hasDelete: k,
588
- deleteText: R,
593
+ deleteText: B,
589
594
  handleDelete: z
590
595
  }
591
596
  ),
592
597
  /* @__PURE__ */ e($e, { className: "children-container", children: D })
593
598
  ] }), ye = (n) => {
594
- const o = /^#([0-9A-Fa-f]{3}){1,2}$/, i = /^rgb(a)?\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}(?:\s*,\s*(0|1|0?\.\d+))?\s*\)$/;
595
- return o.test(n) || i.test(n) || CSS.supports("color", n);
596
- }, m = (n) => {
599
+ const o = /^#([0-9A-Fa-f]{3}){1,2}$/, l = /^rgb(a)?\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}(?:\s*,\s*(0|1|0?\.\d+))?\s*\)$/;
600
+ return o.test(n) || l.test(n) || CSS.supports("color", n);
601
+ }, b = (n) => {
597
602
  if (!ye(n)) throw new Error(`Invalid color: ${n}`);
598
603
  return n;
599
604
  }, Fe = {
@@ -608,42 +613,42 @@ const t = {
608
613
  }, O = {
609
614
  name: "light",
610
615
  colors: {
611
- text: m("#333446"),
612
- bg: m("#EEEEEE"),
613
- blue: m("#7F8CAA"),
614
- blue2: m("#80A6FF"),
615
- teal: m("#5b8280ff"),
616
- teal2: m("#AEEAE7"),
617
- gray: m("#AEAEAE"),
618
- information: m("#202234"),
619
- success: m("#123524"),
620
- warning: m("#F2C265"),
621
- error: m("#990000")
616
+ text: b("#333446"),
617
+ bg: b("#EEEEEE"),
618
+ blue: b("#7F8CAA"),
619
+ blue2: b("#80A6FF"),
620
+ teal: b("#5b8280ff"),
621
+ teal2: b("#AEEAE7"),
622
+ gray: b("#AEAEAE"),
623
+ information: b("#202234"),
624
+ success: b("#123524"),
625
+ warning: b("#F2C265"),
626
+ error: b("#990000")
622
627
  }
623
628
  }, pe = {
624
629
  name: "dark",
625
630
  colors: {
626
- bg: m("#333446"),
627
- text: m("#EEEEEE"),
628
- blue: m("#80A6FF"),
629
- blue2: m("#7F8CAA"),
630
- teal: m("#AEEAE7"),
631
- teal2: m("#5b8280ff"),
632
- gray: m("#D0D0DD"),
633
- information: m("#C9E6F0"),
634
- success: m("#9EDF9C"),
635
- warning: m("#FCFFC1"),
636
- error: m("#FAD4D4")
631
+ bg: b("#333446"),
632
+ text: b("#EEEEEE"),
633
+ blue: b("#80A6FF"),
634
+ blue2: b("#7F8CAA"),
635
+ teal: b("#AEEAE7"),
636
+ teal2: b("#5b8280ff"),
637
+ gray: b("#D0D0DD"),
638
+ information: b("#C9E6F0"),
639
+ success: b("#9EDF9C"),
640
+ warning: b("#FCFFC1"),
641
+ error: b("#FAD4D4")
637
642
  }
638
- }, K = X(void 0), Ee = ({ children: n }) => {
639
- const [o, i] = Y(O), l = () => {
640
- i((r) => r === O ? pe : O);
643
+ }, Q = Y(void 0), Ee = ({ children: n }) => {
644
+ const [o, l] = Z(O), i = () => {
645
+ l((r) => r === O ? pe : O);
641
646
  };
642
- return /* @__PURE__ */ e(K.Provider, { value: { currentTheme: o, toggleTheme: l }, children: /* @__PURE__ */ e(_, { theme: o, children: n }) });
643
- }, ve = () => Z(K);
647
+ return /* @__PURE__ */ e(Q.Provider, { value: { currentTheme: o, toggleTheme: i }, children: /* @__PURE__ */ e(I, { theme: o, children: n }) });
648
+ }, ve = () => _(Q);
644
649
  export {
645
- Ne as DynamicForm,
646
- K as ThemeContext,
650
+ Ce as DynamicForm,
651
+ Q as ThemeContext,
647
652
  Ee as ThemeContextProvider,
648
653
  Fe as breakpoints,
649
654
  pe as darkTheme,
@@ -11,7 +11,7 @@ type stringType = string | undefined;
11
11
  type dataAttributesType = Record<string, string | number | boolean> | undefined;
12
12
  type ButtonType = 'button' | 'submit';
13
13
  export interface ButtonProps {
14
- onClick: React.MouseEventHandler<HTMLButtonElement>;
14
+ onClick: React.MouseEventHandler<HTMLButtonElement> | undefined;
15
15
  id: string;
16
16
  buttonType: ButtonType;
17
17
  source?: string;
@@ -25,7 +25,7 @@ export interface ButtonProps {
25
25
  declare const InputTypes: readonly ["text", "password", "email", "number", "tel", "url", "search", "date", "file", "hidden"];
26
26
  interface BaseInput {
27
27
  id: string;
28
- onChange: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement>;
28
+ onChange: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement> | undefined;
29
29
  isRequired: boolean;
30
30
  dataAttributes?: dataAttributesType;
31
31
  disabled?: boolean | undefined;
@@ -98,7 +98,7 @@ export interface NestedEditableOptionProps {
98
98
  legend: string;
99
99
  idx: number;
100
100
  editableInformation: EditableInformation[];
101
- onChangeOfEditableOption: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement>;
101
+ onChangeOfEditableOption: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement> | undefined;
102
102
  onClickSaveEdit: React.MouseEventHandler<HTMLButtonElement>;
103
103
  onClickCancelEdit: React.MouseEventHandler<HTMLButtonElement>;
104
104
  onClickDeleteEntry: React.MouseEventHandler<HTMLButtonElement>;
@@ -129,16 +129,27 @@ interface FieldsetShape {
129
129
  height: string;
130
130
  expandable: boolean;
131
131
  }
132
- export type DynamicFormProps = FormActionButtonsProps & LabeledInputProps & {
133
- fieldsets: FieldsetShape[] | null;
132
+ export type DynamicFormProps<T extends null, K extends boolean, E extends boolean> = FormActionButtonsProps & LabeledInputProps & {
133
+ fieldsets: FieldsetShape[] | null | T;
134
134
  id: string;
135
+ isExpandable: K;
136
+ handleSubmitForm: React.FormEventHandler<HTMLFormElement>;
137
+ } & (T extends null ? {
135
138
  formInputs: inputEntryShape<boolean>[];
136
139
  legendText?: string;
137
- isExpandable: boolean;
138
- labelAndInputContainerClass: string;
139
- handleSubmitForm: React.FormEventHandler<HTMLFormElement>;
140
+ labelAndInputContainerClass?: string;
141
+ } : {
142
+ formInputs?: never;
143
+ legendText?: never;
144
+ labelAndInputContainerClass?: never;
145
+ }) & (E extends true ? {
140
146
  handleEditableInputEntryChange: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement>;
147
+ } : {
148
+ handleEditableInputEntryChange?: never;
149
+ }) & (K extends true ? {
141
150
  handleAddingInputEntry: React.MouseEventHandler<HTMLButtonElement>;
142
- };
151
+ } : {
152
+ handleAddingInputEntry?: never;
153
+ });
143
154
  export {};
144
155
  //# sourceMappingURL=propTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"propTypes.d.ts","sourceRoot":"","sources":["../../src/type/propTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"propTypes.d.ts","sourceRoot":"","sources":["../../src/type/propTypes.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kbgarcia8/react-dynamic-form",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "A form that can be nested with editable, expandable and flexible input-forms",
5
5
  "keywords": [
6
6
  "form",