UNPKG

@progress/kendo-react-form

Version:

React Form is a small and fast package for form state management with zero dependencies. KendoReact Form package

9 lines (8 loc) 1.62 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("react"),h=require("./FormContext.js");function k(s){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const c in s)if(c!=="default"){const a=Object.getOwnPropertyDescriptor(s,c);Object.defineProperty(e,c,a.get?a:{enumerable:!0,get:()=>s[c]})}}return e.default=s,Object.freeze(e)}const n=k(C),l=s=>{const{name:e,component:c,validator:a,type:F,children:i,...u}=s,t=n.useContext(h.FormContext),r=t?t.id:"";n.useEffect(()=>t?t.registerField(e,a):void 0,[e,r,a]);const d=n.useCallback(o=>t.onUnshift(e,o),[e,r]),f=n.useCallback(o=>t.onPush(e,o),[e,r]),m=n.useCallback(o=>t.onInsert(e,o),[e,r]),b=n.useCallback(()=>t.onPop(e),[e,r]),p=n.useCallback(o=>t.onRemove(e,o),[e,r]),v=n.useCallback(o=>t.onReplace(e,o),[e,r]),g=n.useCallback(o=>t.onMove(e,o),[e,r]);if(!t)return null;const y=t.valueGetter(e);return n.createElement(c,{value:y,validationMessage:t.errors[e],touched:t.touched[e],modified:t.modified[e],visited:t.visited[e],valid:!(t.errors[e]&&t.touched[e]),onUnshift:d,onPush:f,onInsert:m,onPop:b,onRemove:p,onReplace:v,onMove:g,children:i,name:e,...u})};l.displayName="KendoReactFieldArray";exports.FieldArray=l;