@ram_28/kf-ai-sdk 1.0.19 → 1.0.21

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 (97) hide show
  1. package/README.md +45 -12
  2. package/dist/api/client.d.ts.map +1 -1
  3. package/dist/api/datetime.d.ts +59 -10
  4. package/dist/api/datetime.d.ts.map +1 -1
  5. package/dist/api/index.d.ts +3 -2
  6. package/dist/api/index.d.ts.map +1 -1
  7. package/dist/api.cjs +1 -1
  8. package/dist/api.d.ts +1 -1
  9. package/dist/api.d.ts.map +1 -1
  10. package/dist/api.mjs +43 -21
  11. package/dist/api.types.d.ts +2 -1
  12. package/dist/api.types.d.ts.map +1 -1
  13. package/dist/auth/AuthProvider.d.ts.map +1 -1
  14. package/dist/auth.cjs +1 -1
  15. package/dist/auth.mjs +34 -34
  16. package/dist/base-types.d.ts +1 -1
  17. package/dist/base-types.d.ts.map +1 -1
  18. package/dist/client-BIkaIr2y.js +217 -0
  19. package/dist/client-DxjRcEtN.cjs +1 -0
  20. package/dist/components/hooks/useFilter/types.d.ts +14 -11
  21. package/dist/components/hooks/useFilter/types.d.ts.map +1 -1
  22. package/dist/components/hooks/useFilter/useFilter.d.ts +1 -1
  23. package/dist/components/hooks/useFilter/useFilter.d.ts.map +1 -1
  24. package/dist/components/hooks/useForm/apiClient.d.ts +45 -4
  25. package/dist/components/hooks/useForm/apiClient.d.ts.map +1 -1
  26. package/dist/components/hooks/useForm/useForm.d.ts.map +1 -1
  27. package/dist/components/hooks/useKanban/types.d.ts +5 -22
  28. package/dist/components/hooks/useKanban/types.d.ts.map +1 -1
  29. package/dist/components/hooks/useKanban/useKanban.d.ts.map +1 -1
  30. package/dist/components/hooks/useTable/types.d.ts +19 -31
  31. package/dist/components/hooks/useTable/types.d.ts.map +1 -1
  32. package/dist/components/hooks/useTable/useTable.d.ts.map +1 -1
  33. package/dist/error-handling-CAoD0Kwb.cjs +1 -0
  34. package/dist/error-handling-CrhTtD88.js +14 -0
  35. package/dist/filter.cjs +1 -1
  36. package/dist/filter.mjs +1 -1
  37. package/dist/form.cjs +1 -1
  38. package/dist/form.mjs +736 -750
  39. package/dist/index.d.ts +18 -0
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/kanban.cjs +2 -2
  42. package/dist/kanban.mjs +333 -323
  43. package/dist/{metadata-0lZAfuTP.cjs → metadata-Bz8zJqC1.cjs} +1 -1
  44. package/dist/{metadata-B88D_pVS.js → metadata-VbQzyD2C.js} +1 -1
  45. package/dist/table.cjs +1 -1
  46. package/dist/table.mjs +113 -96
  47. package/dist/table.types.d.ts +1 -1
  48. package/dist/table.types.d.ts.map +1 -1
  49. package/dist/types/base-fields.d.ts +71 -17
  50. package/dist/types/base-fields.d.ts.map +1 -1
  51. package/dist/types/common.d.ts +26 -18
  52. package/dist/types/common.d.ts.map +1 -1
  53. package/dist/useFilter-DzpP_ag0.cjs +1 -0
  54. package/dist/useFilter-H5bgAZQF.js +120 -0
  55. package/dist/utils/api/buildListOptions.d.ts +43 -0
  56. package/dist/utils/api/buildListOptions.d.ts.map +1 -0
  57. package/dist/utils/api/index.d.ts +2 -0
  58. package/dist/utils/api/index.d.ts.map +1 -0
  59. package/dist/utils/error-handling.d.ts +41 -0
  60. package/dist/utils/error-handling.d.ts.map +1 -0
  61. package/dist/utils/index.d.ts +2 -0
  62. package/dist/utils/index.d.ts.map +1 -1
  63. package/docs/QUICK_REFERENCE.md +142 -420
  64. package/docs/useAuth.md +52 -340
  65. package/docs/useFilter.md +858 -162
  66. package/docs/useForm.md +712 -501
  67. package/docs/useKanban.md +534 -279
  68. package/docs/useTable.md +725 -214
  69. package/package.json +1 -1
  70. package/sdk/api/client.ts +3 -41
  71. package/sdk/api/datetime.ts +98 -14
  72. package/sdk/api/index.ts +12 -6
  73. package/sdk/api.ts +6 -3
  74. package/sdk/api.types.ts +3 -4
  75. package/sdk/auth/AuthProvider.tsx +22 -24
  76. package/sdk/base-types.ts +2 -0
  77. package/sdk/components/hooks/useFilter/types.ts +14 -11
  78. package/sdk/components/hooks/useFilter/useFilter.ts +20 -18
  79. package/sdk/components/hooks/useForm/apiClient.ts +120 -5
  80. package/sdk/components/hooks/useForm/useForm.ts +97 -61
  81. package/sdk/components/hooks/useKanban/types.ts +7 -23
  82. package/sdk/components/hooks/useKanban/useKanban.ts +54 -18
  83. package/sdk/components/hooks/useTable/types.ts +26 -32
  84. package/sdk/components/hooks/useTable/useTable.llm.txt +8 -22
  85. package/sdk/components/hooks/useTable/useTable.ts +70 -25
  86. package/sdk/index.ts +157 -10
  87. package/sdk/table.types.ts +3 -0
  88. package/sdk/types/base-fields.ts +71 -17
  89. package/sdk/types/common.ts +33 -19
  90. package/sdk/utils/api/buildListOptions.ts +120 -0
  91. package/sdk/utils/api/index.ts +2 -0
  92. package/sdk/utils/error-handling.ts +150 -0
  93. package/sdk/utils/index.ts +6 -0
  94. package/dist/client-DgtkT50N.cjs +0 -1
  95. package/dist/client-V-WzUb8H.js +0 -237
  96. package/dist/useFilter-Dofowpr_.cjs +0 -1
  97. package/dist/useFilter-Dv-mr9QW.js +0 -117
@@ -1 +1 @@
1
- "use strict";const o=require("./client-DgtkT50N.cjs");async function c(e){try{const r=o.getApiBaseUrl(),s=o.getDefaultHeaders(),a=await fetch(`${r}/api/app/meta/bdo/${e}`,{method:"GET",headers:s});if(!a.ok)throw new Error(`Failed to fetch schema for ${e}: ${a.statusText}`);const t=await a.json();if(!t||typeof t!="object")throw new Error(`Invalid BDO schema response for ${e}`);return t}catch(r){throw console.error(`Schema fetch error for ${e}:`,r),new Error(`Failed to load BDO schema: ${r instanceof Error?r.message:"Unknown error"}`)}}async function n(e){try{const r=o.getApiBaseUrl(),s=o.getDefaultHeaders(),a=e!=null&&e.Filter||e!=null&&e.Sort?"POST":"GET",t=await fetch(`${r}/api/app/metadata/list`,{method:a,headers:s,...a==="POST"&&e&&{body:JSON.stringify(e)}});if(!t.ok)throw new Error(`Failed to list metadata: ${t.statusText}`);return await t.json()}catch(r){throw console.error("Metadata list error:",r),new Error(`Failed to list metadata: ${r instanceof Error?r.message:"Unknown error"}`)}}exports.getBdoSchema=c;exports.listMetadata=n;
1
+ "use strict";const o=require("./client-DxjRcEtN.cjs");async function c(e){try{const r=o.getApiBaseUrl(),s=o.getDefaultHeaders(),a=await fetch(`${r}/api/app/meta/bdo/${e}`,{method:"GET",headers:s});if(!a.ok)throw new Error(`Failed to fetch schema for ${e}: ${a.statusText}`);const t=await a.json();if(!t||typeof t!="object")throw new Error(`Invalid BDO schema response for ${e}`);return t}catch(r){throw console.error(`Schema fetch error for ${e}:`,r),new Error(`Failed to load BDO schema: ${r instanceof Error?r.message:"Unknown error"}`)}}async function n(e){try{const r=o.getApiBaseUrl(),s=o.getDefaultHeaders(),a=e!=null&&e.Filter||e!=null&&e.Sort?"POST":"GET",t=await fetch(`${r}/api/app/metadata/list`,{method:a,headers:s,...a==="POST"&&e&&{body:JSON.stringify(e)}});if(!t.ok)throw new Error(`Failed to list metadata: ${t.statusText}`);return await t.json()}catch(r){throw console.error("Metadata list error:",r),new Error(`Failed to list metadata: ${r instanceof Error?r.message:"Unknown error"}`)}}exports.getBdoSchema=c;exports.listMetadata=n;
@@ -1,4 +1,4 @@
1
- import { c as s, g as c } from "./client-V-WzUb8H.js";
1
+ import { c as s, g as c } from "./client-BIkaIr2y.js";
2
2
  async function l(r) {
3
3
  try {
4
4
  const e = s(), o = c(), a = await fetch(`${e}/api/app/meta/bdo/${r}`, {
package/dist/table.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),O=require("@tanstack/react-query"),Q=require("./client-DgtkT50N.cjs"),_=require("./useFilter-Dofowpr_.cjs");function $(t){var N,m,P,k,z,T,F,M,w,E;const[o,p]=a.useState({query:""}),[n,y]=a.useState({field:((m=(N=t.initialState)==null?void 0:N.sorting)==null?void 0:m.field)||null,direction:((k=(P=t.initialState)==null?void 0:P.sorting)==null?void 0:k.direction)||null}),[i,c]=a.useState({pageNo:((T=(z=t.initialState)==null?void 0:z.pagination)==null?void 0:T.pageNo)||1,pageSize:((M=(F=t.initialState)==null?void 0:F.pagination)==null?void 0:M.pageSize)||10}),s=_.useFilter({initialConditions:(w=t.initialState)==null?void 0:w.filters,initialOperator:((E=t.initialState)==null?void 0:E.filterOperator)||"And"}),l=a.useMemo(()=>{const e={};return o.query&&(e.Search=o.query),s.payload&&(e.Filter=s.payload),e},[o.query,s.payload]),b=a.useMemo(()=>{const e={...l};return n.field&&n.direction&&(e.Sort=[{[String(n.field)]:n.direction==="asc"?"ASC":"DESC"}]),t.enablePagination&&(e.Page=i.pageNo,e.PageSize=i.pageSize),e},[l,n,i,t.enablePagination]),{data:u,isLoading:L,isFetching:R,error:x,refetch:q}=O.useQuery({queryKey:["table",t.source,b],queryFn:async()=>{try{const e=await Q.api(t.source).list(b);return t.onSuccess&&t.onSuccess(e.Data),e}catch(e){throw t.onError&&t.onError(e),e}},staleTime:0,gcTime:0}),{data:g,isLoading:A,isFetching:D,error:G,refetch:C}=O.useQuery({queryKey:["table-count",t.source,l],queryFn:async()=>{try{return await Q.api(t.source).count(l)}catch(e){throw t.onError&&t.onError(e),e}},staleTime:0,gcTime:0}),K=a.useMemo(()=>(u==null?void 0:u.Data)||[],[u]),S=a.useMemo(()=>(g==null?void 0:g.Count)||0,[g]),d=a.useMemo(()=>Math.ceil(S/i.pageSize),[S,i.pageSize]),j=a.useCallback(e=>{y(r=>{if(r.field===e){if(r.direction==="asc")return{field:e,direction:"desc"};if(r.direction==="desc")return{field:null,direction:null}}return{field:e,direction:"asc"}})},[]),I=a.useCallback(()=>{y({field:null,direction:null})},[]),B=a.useCallback((e,r)=>{y({field:e,direction:r})},[]),H=a.useCallback(e=>{p({query:e}),c(r=>({...r,pageNo:1}))},[]),J=a.useCallback(()=>{p({query:""})},[]),f=i.pageNo<d,h=i.pageNo>1,U=a.useCallback(()=>{f&&c(e=>({...e,pageNo:e.pageNo+1}))},[f]),V=a.useCallback(()=>{h&&c(e=>({...e,pageNo:e.pageNo-1}))},[h]),W=a.useCallback(e=>{const r=Math.max(1,Math.min(e,d));c(Z=>({...Z,pageNo:r}))},[d]),X=a.useCallback(e=>{c(r=>({...r,pageSize:e,pageNo:1}))},[]),Y=a.useCallback(async()=>{const[e]=await Promise.all([q(),C()]);return e.data||{Data:[]}},[q,C]);return{rows:K,totalItems:S,isLoading:L||A,isFetching:R||D,error:x||G,search:{query:o.query,setQuery:H,clear:J},sort:{field:n.field,direction:n.direction,toggle:j,clear:I,set:B},filter:s,pagination:{currentPage:i.pageNo,pageSize:i.pageSize,totalPages:d,totalItems:S,canGoNext:f,canGoPrevious:h,goToNext:U,goToPrevious:V,goToPage:W,setPageSize:X},refetch:Y}}exports.useTable=$;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),O=require("@tanstack/react-query"),A=require("./client-DxjRcEtN.cjs"),h=require("./error-handling-CAoD0Kwb.cjs"),re=require("./useFilter-DzpP_ag0.cjs");function oe(o){var Q,z,M,P,F,w,R,x;const[s,b]=t.useState({query:"",debouncedQuery:""}),c=t.useRef(null),j=300,G=()=>{var r,y;const e=(r=o.initialState)==null?void 0:r.sort;if(e&&e.length>0){const D=e[0],L=Object.keys(D)[0],te=(y=D[L])==null?void 0:y.toLowerCase();return{field:L,direction:te}}return{field:null,direction:null}},[n,p]=t.useState(G),[a,i]=t.useState({pageNo:((z=(Q=o.initialState)==null?void 0:Q.pagination)==null?void 0:z.pageNo)||1,pageSize:((P=(M=o.initialState)==null?void 0:M.pagination)==null?void 0:P.pageSize)||10}),u=re.useFilter({conditions:(w=(F=o.initialState)==null?void 0:F.filter)==null?void 0:w.conditions,operator:((x=(R=o.initialState)==null?void 0:R.filter)==null?void 0:x.operator)||"And"}),l=t.useMemo(()=>{const e={};return s.debouncedQuery&&(e.Search=s.debouncedQuery),u.payload&&(e.Filter=u.payload),e},[s.debouncedQuery,u.payload]),N=t.useMemo(()=>{const e={...l};return n.field&&n.direction&&(e.Sort=[{[String(n.field)]:n.direction==="asc"?"ASC":"DESC"}]),e.Page=a.pageNo,e.PageSize=a.pageSize,e},[l,n,a]),{data:g,isLoading:H,isFetching:I,error:q,refetch:E}=O.useQuery({queryKey:["table",o.source,N],queryFn:async()=>{try{const e=await A.api(o.source).list(N);return o.onSuccess&&o.onSuccess(e.Data),e}catch(e){throw o.onError&&o.onError(h.toError(e)),e}},staleTime:0,gcTime:0}),{data:d,isLoading:K,isFetching:_,error:T,refetch:k}=O.useQuery({queryKey:["table-count",o.source,l],queryFn:async()=>{try{return await A.api(o.source).count(l)}catch(e){throw o.onError&&o.onError(h.toError(e)),e}},staleTime:0,gcTime:0}),B=t.useMemo(()=>(g==null?void 0:g.Data)||[],[g]),f=t.useMemo(()=>(d==null?void 0:d.Count)||0,[d]),S=t.useMemo(()=>Math.ceil(f/a.pageSize),[f,a.pageSize]),U=t.useCallback(e=>{p(r=>{if(r.field===e){if(r.direction==="asc")return{field:e,direction:"desc"};if(r.direction==="desc")return{field:null,direction:null}}return{field:e,direction:"asc"}})},[]),J=t.useCallback(()=>{p({field:null,direction:null})},[]),V=t.useCallback((e,r)=>{p({field:e,direction:r})},[]),W=t.useCallback(e=>{if(e.length>255){console.warn("Search query exceeds maximum length of 255 characters");return}b(r=>({...r,query:e})),c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{b(r=>({...r,debouncedQuery:e})),i(r=>({...r,pageNo:1}))},j)},[]),X=t.useCallback(()=>{c.current&&clearTimeout(c.current),b({query:"",debouncedQuery:""}),i(e=>({...e,pageNo:1}))},[]);t.useEffect(()=>()=>{c.current&&clearTimeout(c.current)},[]);const m=a.pageNo<S,C=a.pageNo>1,Y=t.useCallback(()=>{m&&i(e=>({...e,pageNo:e.pageNo+1}))},[m]),Z=t.useCallback(()=>{C&&i(e=>({...e,pageNo:e.pageNo-1}))},[C]),$=t.useCallback(e=>{const r=Math.max(1,Math.min(e,S));i(y=>({...y,pageNo:r}))},[S]),v=t.useCallback(e=>{i(r=>({...r,pageSize:e,pageNo:1}))},[]),ee=t.useCallback(async()=>{const[e]=await Promise.all([E(),k()]);return e.data||{Data:[]}},[E,k]);return{rows:B,totalItems:f,isLoading:H||K,isFetching:I||_,error:q?h.toError(q):T?h.toError(T):null,search:{query:s.query,setQuery:W,clear:X},sort:{field:n.field,direction:n.direction,toggle:U,clear:J,set:V},filter:u,pagination:{pageNo:a.pageNo,pageSize:a.pageSize,totalPages:S,totalItems:f,canGoNext:m,canGoPrevious:C,goToNext:Y,goToPrevious:Z,goToPage:$,setPageSize:v},refetch:ee}}exports.useTable=oe;
package/dist/table.mjs CHANGED
@@ -1,148 +1,165 @@
1
- import { useState as m, useMemo as c, useCallback as i } from "react";
2
- import { useQuery as A } from "@tanstack/react-query";
3
- import { a as D } from "./client-V-WzUb8H.js";
4
- import { u as v } from "./useFilter-Dv-mr9QW.js";
5
- function ae(t) {
6
- var F, T, C, b, w, E, x, L, M, O;
7
- const [s, N] = m({
8
- query: ""
9
- }), [n, y] = m({
10
- field: ((T = (F = t.initialState) == null ? void 0 : F.sorting) == null ? void 0 : T.field) || null,
11
- direction: ((b = (C = t.initialState) == null ? void 0 : C.sorting) == null ? void 0 : b.direction) || null
12
- }), [a, o] = m({
13
- pageNo: ((E = (w = t.initialState) == null ? void 0 : w.pagination) == null ? void 0 : E.pageNo) || 1,
14
- pageSize: ((L = (x = t.initialState) == null ? void 0 : x.pagination) == null ? void 0 : L.pageSize) || 10
15
- }), l = v({
16
- initialConditions: (M = t.initialState) == null ? void 0 : M.filters,
17
- initialOperator: ((O = t.initialState) == null ? void 0 : O.filterOperator) || "And"
18
- }), u = c(() => {
1
+ import { useState as q, useRef as ne, useMemo as s, useCallback as o, useEffect as ie } from "react";
2
+ import { useQuery as G } from "@tanstack/react-query";
3
+ import { a as I } from "./client-BIkaIr2y.js";
4
+ import { t as p } from "./error-handling-CrhTtD88.js";
5
+ import { u as ce } from "./useFilter-H5bgAZQF.js";
6
+ function de(r) {
7
+ var w, F, x, R, D, L, M, A;
8
+ const [u, m] = q({
9
+ query: "",
10
+ debouncedQuery: ""
11
+ }), i = ne(null), K = 300, _ = () => {
12
+ var t, h;
13
+ const e = (t = r.initialState) == null ? void 0 : t.sort;
14
+ if (e && e.length > 0) {
15
+ const O = e[0], k = Object.keys(O)[0], oe = (h = O[k]) == null ? void 0 : h.toLowerCase();
16
+ return { field: k, direction: oe };
17
+ }
18
+ return { field: null, direction: null };
19
+ }, [c, N] = q(_), [n, a] = q({
20
+ pageNo: ((F = (w = r.initialState) == null ? void 0 : w.pagination) == null ? void 0 : F.pageNo) || 1,
21
+ pageSize: ((R = (x = r.initialState) == null ? void 0 : x.pagination) == null ? void 0 : R.pageSize) || 10
22
+ }), l = ce({
23
+ conditions: (L = (D = r.initialState) == null ? void 0 : D.filter) == null ? void 0 : L.conditions,
24
+ operator: ((A = (M = r.initialState) == null ? void 0 : M.filter) == null ? void 0 : A.operator) || "And"
25
+ }), g = s(() => {
19
26
  const e = {};
20
- return s.query && (e.Search = s.query), l.payload && (e.Filter = l.payload), e;
21
- }, [s.query, l.payload]), q = c(() => {
22
- const e = { ...u };
23
- return n.field && n.direction && (e.Sort = [
27
+ return u.debouncedQuery && (e.Search = u.debouncedQuery), l.payload && (e.Filter = l.payload), e;
28
+ }, [u.debouncedQuery, l.payload]), E = s(() => {
29
+ const e = { ...g };
30
+ return c.field && c.direction && (e.Sort = [
24
31
  {
25
- [String(n.field)]: n.direction === "asc" ? "ASC" : "DESC"
32
+ [String(c.field)]: c.direction === "asc" ? "ASC" : "DESC"
26
33
  }
27
- ]), t.enablePagination && (e.Page = a.pageNo, e.PageSize = a.pageSize), e;
28
- }, [u, n, a, t.enablePagination]), {
29
- data: g,
30
- isLoading: Q,
31
- isFetching: R,
32
- error: G,
33
- refetch: P
34
- } = A({
35
- queryKey: ["table", t.source, q],
34
+ ]), e.Page = n.pageNo, e.PageSize = n.pageSize, e;
35
+ }, [g, c, n]), {
36
+ data: d,
37
+ isLoading: j,
38
+ isFetching: B,
39
+ error: z,
40
+ refetch: C
41
+ } = G({
42
+ queryKey: ["table", r.source, E],
36
43
  queryFn: async () => {
37
44
  try {
38
- const e = await D(t.source).list(q);
39
- return t.onSuccess && t.onSuccess(e.Data), e;
45
+ const e = await I(r.source).list(E);
46
+ return r.onSuccess && r.onSuccess(e.Data), e;
40
47
  } catch (e) {
41
- throw t.onError && t.onError(e), e;
48
+ throw r.onError && r.onError(p(e)), e;
42
49
  }
43
50
  },
44
51
  staleTime: 0,
45
52
  gcTime: 0
46
53
  }), {
47
54
  data: f,
48
- isLoading: K,
49
- isFetching: k,
50
- error: I,
51
- refetch: z
52
- } = A({
53
- queryKey: ["table-count", t.source, u],
55
+ isLoading: H,
56
+ isFetching: U,
57
+ error: P,
58
+ refetch: Q
59
+ } = G({
60
+ queryKey: ["table-count", r.source, g],
54
61
  queryFn: async () => {
55
62
  try {
56
- return await D(t.source).count(u);
63
+ return await I(r.source).count(g);
57
64
  } catch (e) {
58
- throw t.onError && t.onError(e), e;
65
+ throw r.onError && r.onError(p(e)), e;
59
66
  }
60
67
  },
61
68
  staleTime: 0,
62
69
  gcTime: 0
63
- }), j = c(() => (g == null ? void 0 : g.Data) || [], [g]), d = c(() => (f == null ? void 0 : f.Count) || 0, [f]), S = c(() => Math.ceil(d / a.pageSize), [d, a.pageSize]), B = i((e) => {
64
- y((r) => {
65
- if (r.field === e) {
66
- if (r.direction === "asc")
70
+ }), J = s(() => (d == null ? void 0 : d.Data) || [], [d]), S = s(() => (f == null ? void 0 : f.Count) || 0, [f]), y = s(() => Math.ceil(S / n.pageSize), [S, n.pageSize]), V = o((e) => {
71
+ N((t) => {
72
+ if (t.field === e) {
73
+ if (t.direction === "asc")
67
74
  return { field: e, direction: "desc" };
68
- if (r.direction === "desc")
75
+ if (t.direction === "desc")
69
76
  return { field: null, direction: null };
70
77
  }
71
78
  return { field: e, direction: "asc" };
72
79
  });
73
- }, []), H = i(() => {
74
- y({ field: null, direction: null });
75
- }, []), J = i(
76
- (e, r) => {
77
- y({ field: e, direction: r });
80
+ }, []), W = o(() => {
81
+ N({ field: null, direction: null });
82
+ }, []), X = o(
83
+ (e, t) => {
84
+ N({ field: e, direction: t });
78
85
  },
79
86
  []
80
- ), U = i((e) => {
81
- N({ query: e }), o((r) => ({ ...r, pageNo: 1 }));
82
- }, []), V = i(() => {
83
- N({ query: "" });
84
- }, []), h = a.pageNo < S, p = a.pageNo > 1, W = i(() => {
85
- h && o((e) => ({ ...e, pageNo: e.pageNo + 1 }));
86
- }, [h]), X = i(() => {
87
- p && o((e) => ({ ...e, pageNo: e.pageNo - 1 }));
88
- }, [p]), Y = i(
87
+ ), Y = o((e) => {
88
+ if (e.length > 255) {
89
+ console.warn("Search query exceeds maximum length of 255 characters");
90
+ return;
91
+ }
92
+ m((t) => ({ ...t, query: e })), i.current && clearTimeout(i.current), i.current = setTimeout(() => {
93
+ m((t) => ({ ...t, debouncedQuery: e })), a((t) => ({ ...t, pageNo: 1 }));
94
+ }, K);
95
+ }, []), Z = o(() => {
96
+ i.current && clearTimeout(i.current), m({ query: "", debouncedQuery: "" }), a((e) => ({ ...e, pageNo: 1 }));
97
+ }, []);
98
+ ie(() => () => {
99
+ i.current && clearTimeout(i.current);
100
+ }, []);
101
+ const b = n.pageNo < y, T = n.pageNo > 1, $ = o(() => {
102
+ b && a((e) => ({ ...e, pageNo: e.pageNo + 1 }));
103
+ }, [b]), v = o(() => {
104
+ T && a((e) => ({ ...e, pageNo: e.pageNo - 1 }));
105
+ }, [T]), ee = o(
89
106
  (e) => {
90
- const r = Math.max(1, Math.min(e, S));
91
- o(($) => ({ ...$, pageNo: r }));
107
+ const t = Math.max(1, Math.min(e, y));
108
+ a((h) => ({ ...h, pageNo: t }));
92
109
  },
93
- [S]
94
- ), Z = i((e) => {
95
- o((r) => ({
96
- ...r,
110
+ [y]
111
+ ), te = o((e) => {
112
+ a((t) => ({
113
+ ...t,
97
114
  pageSize: e,
98
115
  pageNo: 1
99
116
  }));
100
- }, []), _ = i(async () => {
101
- const [e] = await Promise.all([P(), z()]);
117
+ }, []), re = o(async () => {
118
+ const [e] = await Promise.all([C(), Q()]);
102
119
  return e.data || { Data: [] };
103
- }, [P, z]);
120
+ }, [C, Q]);
104
121
  return {
105
122
  // Data
106
- rows: j,
107
- totalItems: d,
123
+ rows: J,
124
+ totalItems: S,
108
125
  // Loading States
109
- isLoading: Q || K,
110
- isFetching: R || k,
126
+ isLoading: j || H,
127
+ isFetching: B || U,
111
128
  // Error Handling
112
- error: G || I,
129
+ error: z ? p(z) : P ? p(P) : null,
113
130
  // Search (Flat Access)
114
131
  search: {
115
- query: s.query,
116
- setQuery: U,
117
- clear: V
132
+ query: u.query,
133
+ setQuery: Y,
134
+ clear: Z
118
135
  },
119
136
  // Sorting (Flat Access)
120
137
  sort: {
121
- field: n.field,
122
- direction: n.direction,
123
- toggle: B,
124
- clear: H,
125
- set: J
138
+ field: c.field,
139
+ direction: c.direction,
140
+ toggle: V,
141
+ clear: W,
142
+ set: X
126
143
  },
127
144
  // Filter (Simplified chainable API)
128
145
  filter: l,
129
146
  // Pagination (Flat Access)
130
147
  pagination: {
131
- currentPage: a.pageNo,
132
- pageSize: a.pageSize,
133
- totalPages: S,
134
- totalItems: d,
135
- canGoNext: h,
136
- canGoPrevious: p,
137
- goToNext: W,
138
- goToPrevious: X,
139
- goToPage: Y,
140
- setPageSize: Z
148
+ pageNo: n.pageNo,
149
+ pageSize: n.pageSize,
150
+ totalPages: y,
151
+ totalItems: S,
152
+ canGoNext: b,
153
+ canGoPrevious: T,
154
+ goToNext: $,
155
+ goToPrevious: v,
156
+ goToPage: ee,
157
+ setPageSize: te
141
158
  },
142
159
  // Operations
143
- refetch: _
160
+ refetch: re
144
161
  };
145
162
  }
146
163
  export {
147
- ae as useTable
164
+ de as useTable
148
165
  };
@@ -1,2 +1,2 @@
1
- export type { UseTableOptionsType, UseTableReturnType, ColumnDefinitionType, } from './components/hooks/useTable/types';
1
+ export type { UseTableOptionsType, UseTableReturnType, ColumnDefinitionType, PaginationStateType, } from './components/hooks/useTable/types';
2
2
  //# sourceMappingURL=table.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.types.d.ts","sourceRoot":"","sources":["../sdk/table.types.ts"],"names":[],"mappings":"AAKA,YAAY,EAEV,mBAAmB,EACnB,kBAAkB,EAGlB,oBAAoB,GACrB,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"table.types.d.ts","sourceRoot":"","sources":["../sdk/table.types.ts"],"names":[],"mappings":"AAKA,YAAY,EAEV,mBAAmB,EACnB,kBAAkB,EAGlB,oBAAoB,EAGpB,mBAAmB,GACpB,MAAM,mCAAmC,CAAC"}
@@ -57,26 +57,44 @@ export type LongFieldType = number;
57
57
  * Use this for true/false values, flags, toggles
58
58
  */
59
59
  export type BooleanFieldType = boolean;
60
+ /**
61
+ * Encoded date format from API response
62
+ * API returns: { "$__d__": "YYYY-MM-DD" }
63
+ */
64
+ export interface DateEncodedType {
65
+ $__d__: string;
66
+ }
67
+ /**
68
+ * Encoded datetime format from API response
69
+ * API returns: { "$__dt__": unix_timestamp_seconds }
70
+ */
71
+ export interface DateTimeEncodedType {
72
+ $__dt__: number;
73
+ }
60
74
  /**
61
75
  * Date field (date only, no time)
62
- * Resolves to: Date
76
+ * API Response Format: { "$__d__": "YYYY-MM-DD" }
77
+ * API Request Format: "YYYY-MM-DD"
63
78
  * Storage: DATE in database
64
79
  * Use this for birth dates, due dates, calendar events
65
80
  *
66
81
  * @example
67
- * DateFieldType // => Date (date only)
82
+ * // Response from API:
83
+ * { "$__d__": "2025-03-15" }
68
84
  */
69
- export type DateFieldType = Date;
85
+ export type DateFieldType = DateEncodedType;
70
86
  /**
71
87
  * DateTime field (date and time)
72
- * Resolves to: Date
88
+ * API Response Format: { "$__dt__": unix_timestamp_seconds }
89
+ * API Request Format: "YYYY-MM-DD HH:MM:SS"
73
90
  * Storage: DATETIME/TIMESTAMP in database
74
91
  * Use this for created_at, updated_at, event timestamps
75
92
  *
76
93
  * @example
77
- * DateTimeFieldType // => Date (with time)
94
+ * // Response from API:
95
+ * { "$__dt__": 1769110463 }
78
96
  */
79
- export type DateTimeFieldType = Date;
97
+ export type DateTimeFieldType = DateTimeEncodedType;
80
98
  /**
81
99
  * Currency field supporting multiple value formats
82
100
  * Resolves to: CurrencyValueType
@@ -106,7 +124,49 @@ export type CurrencyValueType = {
106
124
  * JSONFieldType<{settings: {theme: string}}> // => {settings: {theme: string}}
107
125
  */
108
126
  export type JSONFieldType<T = JSONValueType> = T;
109
- export type ReferenceFieldType = string;
127
+ /**
128
+ * Reference/Lookup field for relationships to other Business Data Objects
129
+ *
130
+ * @template TReferencedType - The full type of the referenced BDO record
131
+ *
132
+ * Runtime behavior:
133
+ * - The field stores the full referenced record (e.g., full supplier object)
134
+ * - API returns the complete record from the referenced BDO
135
+ * - On save, the full object is sent in the payload
136
+ *
137
+ * @example
138
+ * SupplierInfo: ReferenceFieldType<BaseSupplierType>;
139
+ * // At runtime: { _id: "...", SupplierId: "...", SupplierName: "...", ... }
140
+ */
141
+ export type ReferenceFieldType<TReferencedType = unknown> = TReferencedType;
142
+ /**
143
+ * Extract the referenced type from a ReferenceFieldType
144
+ * Note: Since ReferenceFieldType<T> = T, this just returns T if it has _id
145
+ */
146
+ export type ExtractReferenceType<T> = T extends {
147
+ _id: string;
148
+ } ? T : never;
149
+ /**
150
+ * Extract the type that fetchField should return for a given field type
151
+ * - For Reference fields (objects with _id) → the full referenced record type
152
+ * - For other field types → { Value: string; Label: string } (static dropdown)
153
+ *
154
+ * Detection: All BDO types have _id: string, so we check for that property
155
+ * to distinguish reference fields from primitive fields like StringFieldType.
156
+ *
157
+ * @example
158
+ * type SupplierOptions = ExtractFetchFieldType<BaseProductType["SupplierInfo"]>;
159
+ * // Result: BaseSupplierType (has _id)
160
+ *
161
+ * type CategoryOptions = ExtractFetchFieldType<BaseProductType["Category"]>;
162
+ * // Result: { Value: string; Label: string } (string has no _id)
163
+ */
164
+ export type ExtractFetchFieldType<T> = T extends {
165
+ _id: string;
166
+ } ? T : {
167
+ Value: string;
168
+ Label: string;
169
+ };
110
170
  /**
111
171
  * Valid JSON value types
112
172
  */
@@ -128,17 +188,11 @@ export interface JSONArrayType extends Array<JSONValueType> {
128
188
  */
129
189
  export type SelectFieldType<T extends string> = T;
130
190
  /**
131
- * Lookup field for references to other records
132
- * @template T - Type of the referenced record ID (defaults to string)
133
- * Resolves to: T
134
- * Storage: VARCHAR in database (stores the ID)
135
- * Use this for foreign keys, relationships, references
136
- *
137
- * @example
138
- * LookupFieldType // => string (referenced record ID)
139
- * LookupFieldType<IdFieldType> // => string (typed as IdFieldType)
191
+ * Alias for ReferenceFieldType (Lookup = Reference in the backend)
192
+ * @template TReferencedType - The full type of the referenced BDO record
193
+ * @deprecated Use ReferenceFieldType instead
140
194
  */
141
- export type LookupFieldType<T extends string = string> = T;
195
+ export type LookupFieldType<TReferencedType = unknown> = ReferenceFieldType<TReferencedType>;
142
196
  /**
143
197
  * Array field with MultiValue support
144
198
  * @template T - Type of array elements
@@ -1 +1 @@
1
- {"version":3,"file":"base-fields.d.ts","sourceRoot":"","sources":["../../sdk/types/base-fields.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,eAAe,CACzB,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,UAAU,SAAS,MAAM,GAAG,KAAK,EACjC,UAAU,SAAS,MAAM,GAAG,KAAK,IAC/B,CAAC,CAAC;AAEN;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEvC;;;;;;;;;;GAUG;AACH,MAAM,MAAM,eAAe,CAAC,UAAU,SAAS,MAAM,GAAG,KAAK,IAAI,MAAM,CAAC;AAExE;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAEvC;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC;AAEjC;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAMrC;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACnC,MAAM,CAAC;AAEX;;;;;;;;;;GAUG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,aAAa,IAAI,CAAC,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,cAAc,GACd,aAAa,CAAC;AAElB,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC;CAC9B;AAED,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,aAAa,CAAC;CAAG;AAE9D;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC;AAElD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC;AAM3D;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AAEpC;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;AAE/D;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;AAMjD;;;GAGG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,CAAC,SAAS,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"base-fields.d.ts","sourceRoot":"","sources":["../../sdk/types/base-fields.ts"],"names":[],"mappings":"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"}
@@ -27,14 +27,15 @@ export type ConditionGroupOperatorType = "And" | "Or" | "Not";
27
27
  export type FilterRHSTypeType = "Constant" | "BOField" | "AppVariable";
28
28
  /**
29
29
  * Leaf condition (actual field comparison)
30
+ * @template T - Data type for type-safe field names (defaults to any)
30
31
  */
31
- export interface ConditionType {
32
+ export interface ConditionType<T = any> {
32
33
  /** Optional ID for hook state management (omitted in API payload) */
33
34
  id?: string;
34
35
  /** Condition operator */
35
36
  Operator: ConditionOperatorType;
36
- /** Left-hand side field name */
37
- LHSField: string;
37
+ /** Left-hand side field name (keyof T when generic is provided) */
38
+ LHSField: T extends any ? keyof T | string : string;
38
39
  /** Right-hand side value */
39
40
  RHSValue: any;
40
41
  /** Right-hand side type (optional, defaults to Constant) */
@@ -42,31 +43,21 @@ export interface ConditionType {
42
43
  }
43
44
  /**
44
45
  * Group combining conditions (recursive structure)
46
+ * @template T - Data type for type-safe field names (defaults to any)
45
47
  */
46
- export interface ConditionGroupType {
48
+ export interface ConditionGroupType<T = any> {
47
49
  /** Optional ID for hook state management (omitted in API payload) */
48
50
  id?: string;
49
51
  /** Group operator (And, Or, Not) */
50
52
  Operator: ConditionGroupOperatorType;
51
53
  /** Nested conditions (can be Condition or ConditionGroup) */
52
- Condition: Array<ConditionType | ConditionGroupType>;
54
+ Condition: Array<ConditionType<T> | ConditionGroupType<T>>;
53
55
  }
54
56
  /**
55
57
  * Root filter type (alias for ConditionGroup)
58
+ * @template T - Data type for type-safe field names (defaults to any)
56
59
  */
57
- export type FilterType = ConditionGroupType;
58
- /**
59
- * DateTime encoding format used by the API
60
- */
61
- export interface DateTimeEncodedType {
62
- $__dt__: number;
63
- }
64
- /**
65
- * Date encoding format used by the API
66
- */
67
- export interface DateEncodedType {
68
- $__d__: string;
69
- }
60
+ export type FilterType<T = any> = ConditionGroupType<T>;
70
61
  /**
71
62
  * Standard paginated list response
72
63
  * @template T - Type of items in the list
@@ -228,4 +219,21 @@ export interface FetchFieldResponseType {
228
219
  /** Array of field options */
229
220
  Data: FetchFieldOptionType[];
230
221
  }
222
+ /**
223
+ * Column definition for data display and behavior
224
+ * Used by useTable and useKanban for defining field configurations
225
+ * @template T - Data type for type-safe field names
226
+ */
227
+ export interface ColumnDefinitionType<T> {
228
+ /** Field name from the data type */
229
+ fieldId: keyof T;
230
+ /** Display label (optional, defaults to fieldId) */
231
+ label?: string;
232
+ /** Enable sorting for this field */
233
+ enableSorting?: boolean;
234
+ /** Enable filtering for this field */
235
+ enableFiltering?: boolean;
236
+ /** Custom transform function (overrides auto-formatting) */
237
+ transform?: (value: any, item: T) => React.ReactNode;
238
+ }
231
239
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../sdk/types/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../sdk/types/common.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ "use strict";const u=require("react"),d=t=>"Condition"in t,y=t=>"LHSField"in t;let A=0;const l=()=>{const t=Math.random().toString(36).substring(2,9);return`filter_${Date.now()}_${t}_${++A}`},M=t=>t.id?t:{...t,id:l()},k=t=>t.map(o=>{const n=M(o);return d(n)?{...n,Condition:k(n.Condition)}:n}),g=t=>t.map(o=>{if(d(o)){const{id:b,...C}=o;return{...C,Condition:g(o.Condition)}}const{id:n,...r}=o;return r}),h=(t,o)=>{for(const n of t){if(n.id===o)return n;if(d(n)){const r=h(n.Condition,o);if(r)return r}}},f=(t,o,n)=>t.map(r=>r.id===o?n(r):d(r)?{...r,Condition:f(r.Condition,o,n)}:r),O=(t,o)=>t.filter(n=>n.id!==o).map(n=>d(n)?{...n,Condition:O(n.Condition,o)}:n),p=(t,o,n)=>t.map(r=>r.id===o&&d(r)?{...r,Condition:[...r.Condition,n]}:d(r)?{...r,Condition:p(r.Condition,o,n)}:r);function R(t={}){const[o,n]=u.useState(()=>k(t.conditions||[])),[r,b]=u.useState(t.operator||"And"),C=u.useMemo(()=>{if(o.length!==0)return{Operator:r,Condition:g(o)}},[o,r]),G=o.length>0,S=u.useCallback((i,s)=>{const c=l(),e={...i,id:c};return n(s?a=>p(a,s,e):a=>[...a,e]),c},[]),v=u.useCallback((i,s)=>{const c=l(),e={id:c,Operator:i,Condition:[]};return n(s?a=>p(a,s,e):a=>[...a,e]),c},[]),F=u.useCallback((i,s)=>{n(c=>f(c,i,e=>d(e)?e:{...e,...s}))},[]),I=u.useCallback((i,s)=>{n(c=>f(c,i,e=>d(e)?{...e,Operator:s}:e))},[]),w=u.useCallback(i=>{n(s=>O(s,i))},[]),T=u.useCallback(i=>h(o,i),[o]),_=u.useCallback(()=>{n([])},[]),$=u.useCallback(i=>{b(i)},[]);return{operator:r,items:o,payload:C,hasConditions:G,addCondition:S,addConditionGroup:v,updateCondition:F,updateGroupOperator:I,removeCondition:w,getCondition:T,clearAllConditions:_,setRootOperator:$}}exports.isCondition=y;exports.isConditionGroup=d;exports.useFilter=R;