@ram_28/kf-ai-sdk 2.0.18 → 2.0.20-beta.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.
- package/README.md +8 -16
- package/dist/{FileField-CZjS2uLh.js → FileField-BWrSHNRq.js} +3 -3
- package/dist/{FileField-DU4UWo_t.cjs → FileField-eDeuzln8.cjs} +1 -1
- package/dist/api.cjs +1 -1
- package/dist/api.mjs +1 -1
- package/dist/auth/authClient.d.ts.map +1 -1
- package/dist/auth/authConfig.d.ts +1 -1
- package/dist/auth/types.d.ts +1 -1
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/auth.cjs +1 -1
- package/dist/auth.mjs +102 -106
- package/dist/bdo/core/Item.d.ts +4 -0
- package/dist/bdo/core/Item.d.ts.map +1 -1
- package/dist/bdo/fields/ReferenceField.d.ts +1 -1
- package/dist/bdo/fields/ReferenceField.d.ts.map +1 -1
- package/dist/bdo/fields/SelectField.d.ts +1 -1
- package/dist/bdo/fields/SelectField.d.ts.map +1 -1
- package/dist/bdo/fields/UserField.d.ts +1 -1
- package/dist/bdo/fields/UserField.d.ts.map +1 -1
- package/dist/bdo.cjs +1 -1
- package/dist/bdo.mjs +62 -53
- package/dist/components/hooks/useActivityForm/types.d.ts +5 -4
- package/dist/components/hooks/useActivityForm/types.d.ts.map +1 -1
- package/dist/components/hooks/useActivityForm/useActivityForm.d.ts.map +1 -1
- package/dist/components/hooks/useActivityTable/types.d.ts +4 -5
- package/dist/components/hooks/useActivityTable/types.d.ts.map +1 -1
- package/dist/components/hooks/useActivityTable/useActivityTable.d.ts.map +1 -1
- package/dist/components/hooks/useBDOForm/createItemProxy.d.ts +3 -2
- package/dist/components/hooks/useBDOForm/createItemProxy.d.ts.map +1 -1
- package/dist/components/hooks/useBDOTable/types.d.ts +12 -20
- package/dist/components/hooks/useBDOTable/types.d.ts.map +1 -1
- package/dist/components/hooks/useBDOTable/useBDOTable.d.ts +2 -2
- package/dist/components/hooks/useBDOTable/useBDOTable.d.ts.map +1 -1
- package/dist/{constants-Cyi942Yr.js → constants-ConHc1oS.js} +5 -5
- package/dist/constants-QX2RX-wu.cjs +1 -0
- package/dist/filter.cjs +1 -1
- package/dist/filter.mjs +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.mjs +243 -226
- package/dist/table.cjs +1 -1
- package/dist/table.mjs +16 -15
- package/dist/table.types.d.ts +1 -1
- package/dist/table.types.d.ts.map +1 -1
- package/dist/types/constants.d.ts +1 -1
- package/dist/workflow/Activity.d.ts +5 -8
- package/dist/workflow/Activity.d.ts.map +1 -1
- package/dist/workflow.cjs +1 -1
- package/dist/workflow.mjs +476 -461
- package/docs/api.md +95 -0
- package/docs/bdo.md +224 -0
- package/docs/gaps.md +360 -0
- package/docs/useActivityForm.md +393 -0
- package/docs/useActivityTable.md +418 -0
- package/docs/useBDOForm.md +498 -0
- package/docs/useBDOTable.md +284 -0
- package/docs/useFilter.md +188 -0
- package/docs/workflow.md +560 -0
- package/package.json +14 -15
- package/sdk/auth/authClient.ts +15 -21
- package/sdk/auth/authConfig.ts +1 -1
- package/sdk/auth/types.ts +1 -1
- package/sdk/bdo/core/Item.ts +10 -1
- package/sdk/bdo/fields/ReferenceField.ts +1 -1
- package/sdk/bdo/fields/SelectField.ts +1 -1
- package/sdk/bdo/fields/UserField.ts +1 -1
- package/sdk/components/hooks/useActivityForm/types.ts +6 -4
- package/sdk/components/hooks/useActivityForm/useActivityForm.ts +73 -10
- package/sdk/components/hooks/useActivityTable/types.ts +5 -4
- package/sdk/components/hooks/useActivityTable/useActivityTable.ts +8 -10
- package/sdk/components/hooks/useBDOForm/createItemProxy.ts +58 -17
- package/sdk/components/hooks/useBDOTable/types.ts +10 -20
- package/sdk/components/hooks/useBDOTable/useBDOTable.ts +8 -12
- package/sdk/table.types.ts +0 -2
- package/sdk/types/constants.ts +1 -1
- package/sdk/workflow/Activity.ts +7 -39
- package/dist/constants-DEmYwKfC.cjs +0 -1
- package/docs/README.md +0 -57
- package/docs/bdo/README.md +0 -161
- package/docs/bdo/api_reference.md +0 -281
- package/docs/examples/bdo/create-product.md +0 -69
- package/docs/examples/bdo/edit-product-dialog.md +0 -95
- package/docs/examples/bdo/filtered-product-table.md +0 -100
- package/docs/examples/bdo/product-listing.md +0 -73
- package/docs/examples/bdo/supplier-dropdown.md +0 -60
- package/docs/examples/fields/complex-fields.md +0 -248
- package/docs/examples/fields/primitive-fields.md +0 -217
- package/docs/examples/workflow/approve-leave-request.md +0 -76
- package/docs/examples/workflow/filtered-activity-table.md +0 -101
- package/docs/examples/workflow/my-pending-requests.md +0 -90
- package/docs/examples/workflow/start-new-workflow.md +0 -47
- package/docs/examples/workflow/submit-leave-request.md +0 -72
- package/docs/examples/workflow/workflow-progress.md +0 -49
- package/docs/fields/README.md +0 -141
- package/docs/fields/api_reference.md +0 -134
- package/docs/useActivityForm/README.md +0 -244
- package/docs/useActivityForm/api_reference.md +0 -279
- package/docs/useActivityTable/README.md +0 -263
- package/docs/useActivityTable/api_reference.md +0 -294
- package/docs/useBDOForm/README.md +0 -175
- package/docs/useBDOForm/api_reference.md +0 -244
- package/docs/useBDOTable/README.md +0 -242
- package/docs/useBDOTable/api_reference.md +0 -253
- package/docs/useFilter/README.md +0 -323
- package/docs/useFilter/api_reference.md +0 -228
- package/docs/workflow/README.md +0 -158
- package/docs/workflow/api_reference.md +0 -161
- /package/docs/{useAuth/README.md → useAuth.md} +0 -0
package/dist/form.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const K=require("./constants-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const K=require("./constants-QX2RX-wu.cjs"),_=require("react"),I=require("./shared-nnmlRVs7.cjs"),J=require("@tanstack/react-query"),y=require("./client-D5k4SYuw.cjs"),k=require("./attachment-constants-B5jlqoKI.cjs"),W=require("./metadata-DWXQPDav.cjs");function X(T,a){const g=T.getFields(),b=new Map,C=T.getBoId();let m=null,x=null;async function M(){const S=a.getValues("_id");return S||m||(x||(x=y.api(C).draftInteraction({}).then(e=>(m=e._id,a.setValue("_id",m,{shouldDirty:!1}),m)).catch(e=>{throw x=null,e})),x)}return new Proxy({},{get(S,e){if(typeof e=="symbol")return;if(e==="_id")return a.getValues("_id");if(e==="toJSON")return()=>a.getValues();if(e==="validate")return()=>a.trigger();if(e==="_hasDraft")return()=>!!m;if(b.has(e))return b.get(e);const i=g[e],d=(i==null?void 0:i.meta)??{_id:e,Name:e,Type:"String"},L=(i==null?void 0:i.readOnly)??!1,N=()=>{if(!i)return{valid:!0,errors:[]};let l=a.getValues(e);if("integerPart"in i&&typeof l=="string"&&l!==""){const o=Number(l);isNaN(o)||(l=o,a.setValue(e,o,{shouldDirty:!1}))}if(!i.required&&(l==null||l===""||Array.isArray(l)&&l.length===0))return{valid:!0,errors:[]};const s=i.validate(l);if(!s.valid)return s;const t=I.validateConstraints(i,l);if(!t.valid)return t;if(T.hasMetadata()){const o=T.validateFieldExpression(e,l,a.getValues());if(!o.valid)return o}return{valid:!0,errors:[]}},B=l=>{const s=a.getValues(e);return s??l};if(!L){const l=()=>{const t=a.getValues(e);return d.Type==="File"?t??[]:t},s={label:(i==null?void 0:i.label)??e,required:(i==null?void 0:i.required)??!1,readOnly:!1,defaultValue:i==null?void 0:i.defaultValue,meta:d,get:l,getOrDefault:B,set:t=>{a.setValue(e,t,{shouldDirty:!0,shouldTouch:!0,shouldValidate:!1})},validate:N};if(d.Type==="Image"||d.Type==="File"){const t=C,o=()=>{const n=a.getValues("_id");if(!n)throw new Error("Save the record before attachment operations");return n};d.Type==="Image"?(s.upload=async n=>{k.validateFileExtension(n.name,"Image");const r=await M(),[c]=await y.api(t).getUploadUrl(r,e,[{FileName:n.name,Size:n.size,FileExtension:k.extractFileExtension(n.name)}]);await fetch(c.UploadUrl.URL,{method:"PUT",headers:{"Content-Type":c.ContentType},body:n});const f={_id:c._id,_name:c._name,FileName:c.FileName,FileExtension:c.FileExtension,Size:c.Size,ContentType:c.ContentType};return a.setValue(e,f,{shouldDirty:!0}),f},s.deleteAttachment=async()=>{const n=a.getValues(e),r=o();if(!(n!=null&&n._id))throw new Error(`${e} has no image to delete`);await y.api(t).deleteAttachment(r,e,n._id),a.setValue(e,null,{shouldDirty:!0})},s.getDownloadUrl=async n=>{const r=a.getValues(e),c=o();if(!(r!=null&&r._id))throw new Error(`${e} has no image`);return y.api(t).getDownloadUrl(c,e,r._id,n)}):(s.upload=async n=>{for(const V of n)k.validateFileExtension(V.name,"File");const r=await M(),c=n.map(V=>({FileName:V.name,Size:V.size,FileExtension:k.extractFileExtension(V.name)})),f=await y.api(t).getUploadUrl(r,e,c),R=await Promise.all(n.map(async(V,h)=>(await fetch(f[h].UploadUrl.URL,{method:"PUT",headers:{"Content-Type":f[h].ContentType},body:V}),{_id:f[h]._id,_name:f[h]._name,FileName:f[h].FileName,FileExtension:f[h].FileExtension,Size:f[h].Size,ContentType:f[h].ContentType}))),U=a.getValues(e)??[];return a.setValue(e,[...U,...R],{shouldDirty:!0}),R},s.deleteAttachment=async n=>{const r=a.getValues(e)??[],c=o();await y.api(t).deleteAttachment(c,e,n),a.setValue(e,r.filter(f=>f._id!==n),{shouldDirty:!0})},s.getDownloadUrl=async(n,r)=>{const c=o();return y.api(t).getDownloadUrl(c,e,n,r)},s.getDownloadUrls=async n=>{const r=o();return y.api(t).getDownloadUrls(r,e,n)})}return b.set(e,s),s}const u=()=>{const l=a.getValues(e);return d.Type==="File"?l??[]:l},v={label:(i==null?void 0:i.label)??e,required:(i==null?void 0:i.required)??!1,readOnly:!0,defaultValue:i==null?void 0:i.defaultValue,meta:d,get:u,getOrDefault:B,validate:N};if(d.Type==="Image"||d.Type==="File"){const l=C,s=()=>{const t=a.getValues("_id");if(!t)throw new Error("Cannot perform attachment operation: item has no _id. Save the item first.");return t};d.Type==="Image"?v.getDownloadUrl=async t=>{const o=a.getValues(e),n=s();if(!(o!=null&&o._id))throw new Error(`${e} has no image to download`);return y.api(l).getDownloadUrl(n,e,o._id,t)}:(v.getDownloadUrl=async(t,o)=>{const n=s();return y.api(l).getDownloadUrl(n,e,t,o)},v.getDownloadUrls=async t=>{const o=s();return y.api(l).getDownloadUrls(o,e,t)})}return b.set(e,v),v},has(S,e){return typeof e=="symbol"?!1:e==="_id"||e==="toJSON"||e==="validate"||e==="_hasDraft"?!0:e in g},ownKeys(S){return[...Object.keys(g),"_id","toJSON","validate"]},getOwnPropertyDescriptor(S,e){if(typeof e!="symbol")return{configurable:!0,enumerable:e!=="toJSON"&&e!=="validate"&&e!=="_hasDraft"}}})}function Y(T){const{bdo:a,recordId:g,operation:b,defaultValues:C,mode:m="onBlur",enableDraft:x=!1,enableConstraintValidation:M,enableExpressionValidation:S}=T,e=b??(g?"update":"create"),i=_.useMemo(()=>I.createResolver(a,{enableConstraintValidation:M}),[a,M]),{data:d,isLoading:L,isFetching:N,error:B}=J.useQuery({queryKey:["form-record",a.meta._id,g],queryFn:async()=>{const w=await a.get(g);return I.coerceRecordForForm(a.getFields(),w.toJSON())},enabled:e==="update"&&!!g,staleTime:0}),{data:u,isLoading:v,error:l}=J.useQuery({queryKey:["form-draft",a.meta._id],queryFn:async()=>y.api(a.meta._id).draftInteraction({}),enabled:e==="create",staleTime:1/0,gcTime:0,retry:1}),{data:s}=J.useQuery({queryKey:["form-schema",a.meta._id],queryFn:()=>W.getBdoSchema(a.meta._id),staleTime:30*60*1e3,gcTime:60*60*1e3,enabled:S!==!1});_.useEffect(()=>{s!=null&&s.BDOBlob?a.loadMetadata(s.BDOBlob):s!=null&&s.MetaBlob&&a.loadMetadata(s.MetaBlob)},[s,a]);const t=I.useForm({mode:m,resolver:i,defaultValues:C}),o=_.useRef(null);_.useEffect(()=>{e==="update"&&d&&d!==o.current&&(t.reset(d),o.current=d)},[d,e,t]),_.useEffect(()=>{u!=null&&u._id&&t.setValue("_id",u._id)},[u,t]);const n=_.useMemo(()=>X(a,t),[a,t]),r=a.getFields(),c=_.useRef(!1),f=_.useMemo(()=>Object.keys(r).filter(w=>r[w].readOnly),[r]),R=_.useCallback(async(w,F)=>{if(e==="create"&&(u!=null&&u._id))return y.api(a.meta._id).draftInteraction({_id:u._id,[w]:F});if(e==="update"&&g)return y.api(a.meta._id).update(g,{[w]:F})},[e,u,g,a]),U=_.useMemo(()=>I.createSyncField({apiFn:R,allFields:r,readonlyFieldNames:f,rhf:t,isComputingRef:c}),[R,r,f,t]),V=m==="onChange"||m==="all",h=m==="onBlur"||m==="onTouched"||m==="all",Q=_.useMemo(()=>I.createEnhancedRegister({rhf:t,allFields:r,syncField:U,syncOnBlur:h,syncOnChange:V}),[t,r,U,h,V]),$=_.useMemo(()=>I.createEnhancedControl({control:t.control,syncField:U,syncOnBlur:h,syncOnChange:V}),[t.control,U,h,V]),G=_.useCallback((w,F)=>t.handleSubmit(async(P,z)=>{try{const O={},A=t.getValues();if(e==="create")for(const[q,D]of Object.entries(r)){if(D.readOnly)continue;const E=A[q]!==void 0?A[q]:P[q];E!==void 0&&(O[q]=I.coerceFieldValue(D,E))}else{const q=t.formState.dirtyFields;for(const[D,E]of Object.entries(r)){if(E.readOnly||!q[D])continue;const H=A[D]!==void 0?A[D]:P[D];O[D]=I.coerceFieldValue(E,H)}}let j;e==="create"?(O._id=u==null?void 0:u._id,j=await y.api(a.meta._id).draft(O)):j=await y.api(a.meta._id).update(g,O),w==null||w(j,z)}catch(O){F==null||F(O,z)}},(P,z)=>{F==null||F(P,z)}),[t,a,e,g,r,u]);return{item:n,bdo:a,operation:e,recordId:g,register:Q,handleSubmit:G,watch:t.watch,setValue:t.setValue,getValues:t.getValues,reset:t.reset,trigger:t.trigger,control:$,formState:t.formState,errors:t.formState.errors,isDirty:t.formState.isDirty,isValid:t.formState.isValid,isSubmitting:t.formState.isSubmitting,isSubmitSuccessful:t.formState.isSubmitSuccessful,dirtyFields:t.formState.dirtyFields,isLoading:L||v,isFetching:N,loadError:B??l,draftId:u==null?void 0:u._id,isCreatingDraft:v}}exports.FormOperation=K.FormOperation;exports.InteractionMode=K.InteractionMode;exports.ValidationMode=K.ValidationMode;exports.useBDOForm=Y;
|