@ram_28/kf-ai-sdk 2.0.14 → 2.0.16

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 (157) hide show
  1. package/README.md +10 -9
  2. package/dist/FileField-BWrSHNRq.js +296 -0
  3. package/dist/FileField-eDeuzln8.cjs +1 -0
  4. package/dist/api.cjs +1 -1
  5. package/dist/api.mjs +2 -2
  6. package/dist/auth.cjs +1 -1
  7. package/dist/auth.mjs +1 -1
  8. package/dist/bdo/core/BaseBdo.d.ts +1 -1
  9. package/dist/bdo.cjs +1 -1
  10. package/dist/bdo.mjs +230 -474
  11. package/dist/{client-DnO2KKrw.cjs → client-D5k4SYuw.cjs} +1 -1
  12. package/dist/{client-iQTqFDNI.js → client-_ayziI1d.js} +33 -32
  13. package/dist/components/hooks/index.d.ts +9 -3
  14. package/dist/components/hooks/index.d.ts.map +1 -1
  15. package/dist/{workflow/components → components/hooks}/useActivityForm/createActivityItemProxy.d.ts +9 -5
  16. package/dist/components/hooks/useActivityForm/createActivityItemProxy.d.ts.map +1 -0
  17. package/dist/components/hooks/useActivityForm/createActivityResolver.d.ts +23 -0
  18. package/dist/components/hooks/useActivityForm/createActivityResolver.d.ts.map +1 -0
  19. package/dist/components/hooks/useActivityForm/index.d.ts.map +1 -0
  20. package/dist/{workflow/components → components/hooks}/useActivityForm/types.d.ts +12 -8
  21. package/dist/components/hooks/useActivityForm/types.d.ts.map +1 -0
  22. package/dist/{workflow/components → components/hooks}/useActivityForm/useActivityForm.d.ts +2 -2
  23. package/dist/components/hooks/useActivityForm/useActivityForm.d.ts.map +1 -0
  24. package/dist/components/hooks/useActivityTable/index.d.ts +4 -0
  25. package/dist/components/hooks/useActivityTable/index.d.ts.map +1 -0
  26. package/dist/components/hooks/useActivityTable/types.d.ts +36 -0
  27. package/dist/components/hooks/useActivityTable/types.d.ts.map +1 -0
  28. package/dist/components/hooks/useActivityTable/useActivityTable.d.ts +4 -0
  29. package/dist/components/hooks/useActivityTable/useActivityTable.d.ts.map +1 -0
  30. package/dist/components/hooks/useBDOForm/createItemProxy.d.ts.map +1 -0
  31. package/dist/components/hooks/useBDOForm/createResolver.d.ts.map +1 -0
  32. package/dist/components/hooks/useBDOForm/index.d.ts +6 -0
  33. package/dist/components/hooks/useBDOForm/index.d.ts.map +1 -0
  34. package/dist/components/hooks/useBDOForm/shared.d.ts +50 -0
  35. package/dist/components/hooks/useBDOForm/shared.d.ts.map +1 -0
  36. package/dist/components/hooks/{useForm → useBDOForm}/types.d.ts +6 -6
  37. package/dist/components/hooks/useBDOForm/types.d.ts.map +1 -0
  38. package/dist/components/hooks/{useForm/useForm.d.ts → useBDOForm/useBDOForm.d.ts} +4 -4
  39. package/dist/components/hooks/useBDOForm/useBDOForm.d.ts.map +1 -0
  40. package/dist/components/hooks/useBDOTable/index.d.ts +3 -0
  41. package/dist/components/hooks/useBDOTable/index.d.ts.map +1 -0
  42. package/dist/components/hooks/useBDOTable/types.d.ts +24 -0
  43. package/dist/components/hooks/useBDOTable/types.d.ts.map +1 -0
  44. package/dist/components/hooks/useBDOTable/useBDOTable.d.ts +3 -0
  45. package/dist/components/hooks/useBDOTable/useBDOTable.d.ts.map +1 -0
  46. package/dist/components/hooks/useTable/index.d.ts +2 -2
  47. package/dist/components/hooks/useTable/index.d.ts.map +1 -1
  48. package/dist/components/hooks/useTable/types.d.ts +11 -10
  49. package/dist/components/hooks/useTable/types.d.ts.map +1 -1
  50. package/dist/components/hooks/useTable/useTable.d.ts +1 -1
  51. package/dist/components/hooks/useTable/useTable.d.ts.map +1 -1
  52. package/dist/form.cjs +1 -1
  53. package/dist/form.d.ts +1 -1
  54. package/dist/form.d.ts.map +1 -1
  55. package/dist/form.mjs +279 -344
  56. package/dist/form.types.d.ts +1 -1
  57. package/dist/form.types.d.ts.map +1 -1
  58. package/dist/{metadata-DpfI3zRN.js → metadata-Cc1mBcLS.js} +1 -1
  59. package/dist/{metadata-DgLSJkF5.cjs → metadata-DWXQPDav.cjs} +1 -1
  60. package/dist/shared-5a7UkED1.js +1180 -0
  61. package/dist/shared-nnmlRVs7.cjs +1 -0
  62. package/dist/table.cjs +1 -1
  63. package/dist/table.d.ts +1 -0
  64. package/dist/table.d.ts.map +1 -1
  65. package/dist/table.mjs +17 -192
  66. package/dist/table.types.d.ts +2 -1
  67. package/dist/table.types.d.ts.map +1 -1
  68. package/dist/types/base-fields.d.ts +4 -4
  69. package/dist/types/base-fields.d.ts.map +1 -1
  70. package/dist/types/constants.d.ts +3 -3
  71. package/dist/useTable-CeRklbdT.cjs +1 -0
  72. package/dist/useTable-DS0-WInw.js +203 -0
  73. package/dist/workflow/Activity.d.ts +19 -7
  74. package/dist/workflow/Activity.d.ts.map +1 -1
  75. package/dist/workflow/client.d.ts +2 -2
  76. package/dist/workflow/client.d.ts.map +1 -1
  77. package/dist/workflow/createFieldFromMeta.d.ts +29 -0
  78. package/dist/workflow/createFieldFromMeta.d.ts.map +1 -0
  79. package/dist/workflow/index.d.ts +1 -2
  80. package/dist/workflow/index.d.ts.map +1 -1
  81. package/dist/workflow/types.d.ts +16 -12
  82. package/dist/workflow/types.d.ts.map +1 -1
  83. package/dist/workflow.cjs +1 -1
  84. package/dist/workflow.d.ts +5 -2
  85. package/dist/workflow.d.ts.map +1 -1
  86. package/dist/workflow.mjs +687 -352
  87. package/dist/workflow.types.d.ts +1 -0
  88. package/dist/workflow.types.d.ts.map +1 -1
  89. package/docs/bdo.md +1 -1
  90. package/docs/gaps.md +360 -0
  91. package/docs/useActivityForm.md +393 -0
  92. package/docs/useActivityTable.md +418 -0
  93. package/docs/{useForm.md → useBDOForm.md} +24 -24
  94. package/docs/useBDOTable.md +284 -0
  95. package/docs/workflow.md +148 -297
  96. package/package.json +2 -2
  97. package/sdk/bdo/core/BaseBdo.ts +2 -2
  98. package/sdk/bdo/fields/UserField.ts +1 -1
  99. package/sdk/components/hooks/index.ts +28 -5
  100. package/sdk/components/hooks/useActivityForm/createActivityItemProxy.ts +400 -0
  101. package/sdk/components/hooks/useActivityForm/createActivityResolver.ts +87 -0
  102. package/sdk/{workflow/components → components/hooks}/useActivityForm/types.ts +24 -11
  103. package/sdk/components/hooks/useActivityForm/useActivityForm.ts +478 -0
  104. package/sdk/components/hooks/useActivityTable/index.ts +8 -0
  105. package/sdk/components/hooks/useActivityTable/types.ts +47 -0
  106. package/sdk/components/hooks/useActivityTable/useActivityTable.ts +40 -0
  107. package/sdk/components/hooks/{useForm → useBDOForm}/index.ts +4 -3
  108. package/sdk/components/hooks/useBDOForm/shared.ts +250 -0
  109. package/sdk/components/hooks/{useForm → useBDOForm}/types.ts +9 -9
  110. package/sdk/components/hooks/{useForm/useForm.ts → useBDOForm/useBDOForm.ts} +70 -96
  111. package/sdk/components/hooks/useBDOTable/index.ts +2 -0
  112. package/sdk/components/hooks/useBDOTable/types.ts +22 -0
  113. package/sdk/components/hooks/useBDOTable/useBDOTable.ts +16 -0
  114. package/sdk/components/hooks/useTable/index.ts +3 -3
  115. package/sdk/components/hooks/useTable/types.ts +16 -12
  116. package/sdk/components/hooks/useTable/useTable.ts +56 -49
  117. package/sdk/form.ts +2 -2
  118. package/sdk/form.types.ts +4 -4
  119. package/sdk/table.ts +4 -1
  120. package/sdk/table.types.ts +7 -4
  121. package/sdk/types/base-fields.ts +4 -4
  122. package/sdk/types/constants.ts +3 -3
  123. package/sdk/workflow/Activity.ts +36 -12
  124. package/sdk/workflow/client.ts +65 -12
  125. package/sdk/workflow/createFieldFromMeta.ts +110 -0
  126. package/sdk/workflow/index.ts +1 -6
  127. package/sdk/workflow/types.ts +20 -11
  128. package/sdk/workflow.ts +11 -2
  129. package/sdk/workflow.types.ts +7 -0
  130. package/dist/BaseField-B6da88U7.js +0 -40
  131. package/dist/BaseField-Drp0-OxL.cjs +0 -1
  132. package/dist/components/hooks/useForm/createItemProxy.d.ts.map +0 -1
  133. package/dist/components/hooks/useForm/createResolver.d.ts.map +0 -1
  134. package/dist/components/hooks/useForm/index.d.ts +0 -5
  135. package/dist/components/hooks/useForm/index.d.ts.map +0 -1
  136. package/dist/components/hooks/useForm/types.d.ts.map +0 -1
  137. package/dist/components/hooks/useForm/useForm.d.ts.map +0 -1
  138. package/dist/error-handling-CAoD0Kwb.cjs +0 -1
  139. package/dist/error-handling-CrhTtD88.js +0 -14
  140. package/dist/index.esm-Cj63v5ny.js +0 -1014
  141. package/dist/index.esm-DuwT11sx.cjs +0 -1
  142. package/dist/workflow/components/useActivityForm/createActivityItemProxy.d.ts.map +0 -1
  143. package/dist/workflow/components/useActivityForm/createActivityResolver.d.ts +0 -22
  144. package/dist/workflow/components/useActivityForm/createActivityResolver.d.ts.map +0 -1
  145. package/dist/workflow/components/useActivityForm/index.d.ts.map +0 -1
  146. package/dist/workflow/components/useActivityForm/types.d.ts.map +0 -1
  147. package/dist/workflow/components/useActivityForm/useActivityForm.d.ts.map +0 -1
  148. package/docs/useTable.md +0 -369
  149. package/sdk/workflow/components/useActivityForm/createActivityItemProxy.ts +0 -130
  150. package/sdk/workflow/components/useActivityForm/createActivityResolver.ts +0 -61
  151. package/sdk/workflow/components/useActivityForm/useActivityForm.ts +0 -386
  152. /package/dist/{workflow/components → components/hooks}/useActivityForm/index.d.ts +0 -0
  153. /package/dist/components/hooks/{useForm → useBDOForm}/createItemProxy.d.ts +0 -0
  154. /package/dist/components/hooks/{useForm → useBDOForm}/createResolver.d.ts +0 -0
  155. /package/sdk/{workflow/components → components/hooks}/useActivityForm/index.ts +0 -0
  156. /package/sdk/components/hooks/{useForm → useBDOForm}/createItemProxy.ts +0 -0
  157. /package/sdk/components/hooks/{useForm → useBDOForm}/createResolver.ts +0 -0
@@ -0,0 +1,3 @@
1
+ export { useBDOTable } from './useBDOTable';
2
+ export type { UseBDOTableOptionsType, UseBDOTableReturnType } from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useBDOTable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { UseTableReturnType, PaginationStateType } from '../useTable/types';
2
+ import type { UseFilterOptionsType } from '../useFilter/types';
3
+ import type { SortType } from '../../../types/common';
4
+ export interface UseBDOTableOptionsType<T> {
5
+ /** BDO instance — only meta._id is used (for API routing) */
6
+ bdo: {
7
+ meta: {
8
+ readonly _id: string;
9
+ readonly name: string;
10
+ };
11
+ };
12
+ /** Initial state */
13
+ initialState?: {
14
+ sort?: SortType;
15
+ pagination?: PaginationStateType;
16
+ filter?: UseFilterOptionsType<T>;
17
+ };
18
+ /** Error callback */
19
+ onError?: (error: Error) => void;
20
+ /** Success callback — receives rows from current page */
21
+ onSuccess?: (data: T[]) => void;
22
+ }
23
+ export type UseBDOTableReturnType<T> = UseTableReturnType<T>;
24
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useBDOTable/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,WAAW,sBAAsB,CAAC,CAAC;IACvC,6DAA6D;IAC7D,GAAG,EAAE;QACH,IAAI,EAAE;YAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KACvD,CAAC;IACF,oBAAoB;IACpB,YAAY,CAAC,EAAE;QACb,IAAI,CAAC,EAAE,QAAQ,CAAC;QAChB,UAAU,CAAC,EAAE,mBAAmB,CAAC;QACjC,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;KAClC,CAAC;IACF,qBAAqB;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,yDAAyD;IACzD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { UseBDOTableOptionsType, UseBDOTableReturnType } from './types';
2
+ export declare function useBDOTable<T = any>(options: UseBDOTableOptionsType<T>): UseBDOTableReturnType<T>;
3
+ //# sourceMappingURL=useBDOTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBDOTable.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useBDOTable/useBDOTable.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAE7E,wBAAgB,WAAW,CAAC,CAAC,GAAG,GAAG,EACjC,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GACjC,qBAAqB,CAAC,CAAC,CAAC,CAS1B"}
@@ -1,3 +1,3 @@
1
- export { useTable } from "./useTable";
2
- export type { ColumnDefinitionType, UseTableOptionsType, UseTableReturnType, } from "./types";
1
+ export { useTable } from './useTable';
2
+ export type { UseTableOptionsType, UseTableReturnType, PaginationStateType, } from './types';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useTable/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useTable/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,SAAS,CAAC"}
@@ -1,6 +1,5 @@
1
- import type { ListResponseType, SortType, ColumnDefinitionType } from "../../../types/common";
2
- export type { ColumnDefinitionType };
3
- import type { UseFilterReturnType, UseFilterOptionsType } from "../useFilter";
1
+ import type { ListResponseType, ListOptionsType, CountResponseType, SortType } from '../../../types/common';
2
+ import type { UseFilterReturnType, UseFilterOptionsType } from '../useFilter';
4
3
  /**
5
4
  * Pagination state type
6
5
  */
@@ -11,10 +10,12 @@ export interface PaginationStateType {
11
10
  pageSize: number;
12
11
  }
13
12
  export interface UseTableOptionsType<T> {
14
- /** Data source identifier */
15
- source: string;
16
- /** Column configurations */
17
- columns: ColumnDefinitionType<T>[];
13
+ /** Unique query key for React Query caching */
14
+ queryKey: string[];
15
+ /** Fetch list data (POST with filter/sort/pagination) */
16
+ listFn: (options: ListOptionsType) => Promise<ListResponseType<T>>;
17
+ /** Fetch count (POST with filter only) */
18
+ countFn: (options: ListOptionsType) => Promise<CountResponseType>;
18
19
  /** Initial state */
19
20
  initialState?: {
20
21
  /** Sort configuration: [{ "fieldName": "ASC" }] */
@@ -26,7 +27,7 @@ export interface UseTableOptionsType<T> {
26
27
  };
27
28
  /** Error callback */
28
29
  onError?: (error: Error) => void;
29
- /** Success callback */
30
+ /** Success callback — receives rows from current page */
30
31
  onSuccess?: (data: T[]) => void;
31
32
  }
32
33
  export interface UseTableReturnType<T> {
@@ -43,10 +44,10 @@ export interface UseTableReturnType<T> {
43
44
  };
44
45
  sort: {
45
46
  field: keyof T | null;
46
- direction: "ASC" | "DESC" | null;
47
+ direction: 'ASC' | 'DESC' | null;
47
48
  toggle: (field: keyof T) => void;
48
49
  clear: () => void;
49
- set: (field: keyof T, direction: "ASC" | "DESC") => void;
50
+ set: (field: keyof T | null, direction: 'ASC' | 'DESC' | null) => void;
50
51
  };
51
52
  filter: UseFilterReturnType<T>;
52
53
  pagination: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useTable/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAG9F,YAAY,EAAE,oBAAoB,EAAE,CAAC;AACrC,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAM9E;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,oBAAoB;IACpB,YAAY,CAAC,EAAE;QACb,mDAAmD;QACnD,IAAI,CAAC,EAAE,QAAQ,CAAC;QAChB,6CAA6C;QAC7C,UAAU,CAAC,EAAE,mBAAmB,CAAC;QACjC,6CAA6C;QAC7C,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;KAClC,CAAC;IACF,qBAAqB;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,uBAAuB;IACvB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IAEnC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,UAAU,EAAE,MAAM,CAAC;IAGnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IAGpB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAGpB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;QACtB,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QAC7C,KAAK,EAAE,MAAM,IAAI,CAAC;KACnB,CAAC;IAGF,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;QACtB,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;QACjC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;QACjC,KAAK,EAAE,MAAM,IAAI,CAAC;QAClB,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC;KAC1D,CAAC;IAGF,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAG/B,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;QACnB,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,IAAI,CAAC;QACrB,YAAY,EAAE,MAAM,IAAI,CAAC;QACzB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACjC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;KACrC,CAAC;IAGF,OAAO,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useTable/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,QAAQ,EACT,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAM9E;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,yDAAyD;IACzD,MAAM,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,0CAA0C;IAC1C,OAAO,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClE,oBAAoB;IACpB,YAAY,CAAC,EAAE;QACb,mDAAmD;QACnD,IAAI,CAAC,EAAE,QAAQ,CAAC;QAChB,6CAA6C;QAC7C,UAAU,CAAC,EAAE,mBAAmB,CAAC;QACjC,6CAA6C;QAC7C,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;KAClC,CAAC;IACF,qBAAqB;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,yDAAyD;IACzD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IAEnC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,UAAU,EAAE,MAAM,CAAC;IAGnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IAGpB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAGpB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;QACtB,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QAC7C,KAAK,EAAE,MAAM,IAAI,CAAC;KACnB,CAAC;IAGF,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;QACtB,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;QACjC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;QACjC,KAAK,EAAE,MAAM,IAAI,CAAC;QAClB,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;KACxE,CAAC;IAGF,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAG/B,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;QACnB,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,IAAI,CAAC;QACrB,YAAY,EAAE,MAAM,IAAI,CAAC;QACzB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACjC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;KACrC,CAAC;IAGF,OAAO,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7C"}
@@ -1,3 +1,3 @@
1
- import type { UseTableOptionsType, UseTableReturnType } from "./types";
1
+ import type { UseTableOptionsType, UseTableReturnType } from './types';
2
2
  export declare function useTable<T = any>(options: UseTableOptionsType<T>): UseTableReturnType<T>;
3
3
  //# sourceMappingURL=useTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTable.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useTable/useTable.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AA0BvE,wBAAgB,QAAQ,CAAC,CAAC,GAAG,GAAG,EAC9B,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC9B,kBAAkB,CAAC,CAAC,CAAC,CAoWvB"}
1
+ {"version":3,"file":"useTable.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useTable/useTable.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AA0BvE,wBAAgB,QAAQ,CAAC,CAAC,GAAG,GAAG,EAC9B,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC9B,kBAAkB,CAAC,CAAC,CAAC,CAuWvB"}
package/dist/form.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const z=require("./constants-QX2RX-wu.cjs"),I=require("react"),J=require("./index.esm-DuwT11sx.cjs"),A=require("@tanstack/react-query"),T=require("./client-DnO2KKrw.cjs"),k=require("./attachment-constants-B5jlqoKI.cjs"),K=require("./metadata-DgLSJkF5.cjs");function B(o,t){const i=[];if(o.required&&(t==null||t===""||Array.isArray(t)&&t.length===0))return i.push(`${o.label} is required`),{valid:!1,errors:i};if(t==null||t==="")return{valid:!0,errors:[]};if("length"in o&&typeof o.length=="number"&&typeof t=="string"&&t.length>o.length&&i.push(`${o.label} must be at most ${o.length} characters`),"integerPart"in o&&typeof t=="number"){const y=Math.floor(Math.abs(t)),w=o.integerPart??9;y.toString().length>w&&i.push(`${o.label} integer part must be at most ${w} digits`);const f=o.fractionPart;f!==void 0&&(t.toString().split(".")[1]??"").length>f&&i.push(`${o.label} can have at most ${f} decimal places`)}return i.length>0?{valid:!1,errors:i}:{valid:!0,errors:[]}}function Q(o,t){return async(i,y,w)=>{var F;const f={},S=o.getFields(),P=(w==null?void 0:w.names)??Object.keys(S);for(const e of P){if(e==="_id"||(F=S[e])!=null&&F.readOnly)continue;const a=S[e];if(!a)continue;let l=i[e];if("integerPart"in a&&typeof l=="string"&&l!==""){const b=Number(l);isNaN(b)||(l=b,i[e]=b)}if(!a.required&&(l==null||l===""||Array.isArray(l)&&l.length===0))continue;const C=a.validate(l);if(!C.valid&&C.errors.length>0){f[e]={type:"validate",message:C.errors[0]||`${e} is invalid`};continue}if((t==null?void 0:t.enableConstraintValidation)!==!1){const b=B(a,l);if(!b.valid&&b.errors.length>0){f[e]={type:"constraint",message:b.errors[0]};continue}}if(o.hasMetadata()){const b=o.validateFieldExpression(e,l,i);!b.valid&&b.errors.length>0&&(f[e]={type:"validate",message:b.errors[0]})}}return Object.keys(f).length===0?{values:i,errors:{}}:{values:{},errors:f}}}function Z(o,t){const i=o.getFields(),y=new Map,w=o.getBoId();let f=null,S=null;async function P(){const F=t.getValues("_id");return F||f||(S||(S=T.api(w).draftInteraction({}).then(e=>(f=e._id,t.setValue("_id",f,{shouldDirty:!1}),f)).catch(e=>{throw S=null,e})),S)}return new Proxy({},{get(F,e){if(typeof e=="symbol")return;if(e==="_id")return t.getValues("_id");if(e==="toJSON")return()=>t.getValues();if(e==="validate")return()=>t.trigger();if(e==="_hasDraft")return()=>!!f;if(y.has(e))return y.get(e);const a=i[e],l=(a==null?void 0:a.meta)??{_id:e,Name:e,Type:"String"},C=(a==null?void 0:a.readOnly)??!1,b=()=>{if(!a)return{valid:!0,errors:[]};let u=t.getValues(e);if("integerPart"in a&&typeof u=="string"&&u!==""){const d=Number(u);isNaN(d)||(u=d,t.setValue(e,d,{shouldDirty:!1}))}if(!a.required&&(u==null||u===""||Array.isArray(u)&&u.length===0))return{valid:!0,errors:[]};const s=a.validate(u);if(!s.valid)return s;const n=B(a,u);if(!n.valid)return n;if(o.hasMetadata()){const d=o.validateFieldExpression(e,u,t.getValues());if(!d.valid)return d}return{valid:!0,errors:[]}},E=u=>{const s=t.getValues(e);return s??u};if(!C){const u=()=>{const n=t.getValues(e);return l.Type==="File"?n??[]:n},s={label:(a==null?void 0:a.label)??e,required:(a==null?void 0:a.required)??!1,readOnly:!1,defaultValue:a==null?void 0:a.defaultValue,meta:l,get:u,getOrDefault:E,set:n=>{t.setValue(e,n,{shouldDirty:!0,shouldTouch:!0,shouldValidate:!1})},validate:b};if(l.Type==="Image"||l.Type==="File"){const n=w,d=()=>{const r=t.getValues("_id");if(!r)throw new Error("Save the record before attachment operations");return r};l.Type==="Image"?(s.upload=async r=>{k.validateFileExtension(r.name,"Image");const c=await P(),[h]=await T.api(n).getUploadUrl(c,e,[{FileName:r.name,Size:r.size,FileExtension:k.extractFileExtension(r.name)}]);await fetch(h.UploadUrl.URL,{method:"PUT",headers:{"Content-Type":h.ContentType},body:r});const m={_id:h._id,_name:h._name,FileName:h.FileName,FileExtension:h.FileExtension,Size:h.Size,ContentType:h.ContentType};return t.setValue(e,m,{shouldDirty:!0}),m},s.deleteAttachment=async()=>{const r=t.getValues(e),c=d();if(!(r!=null&&r._id))throw new Error(`${e} has no image to delete`);await T.api(n).deleteAttachment(c,e,r._id),t.setValue(e,null,{shouldDirty:!0})},s.getDownloadUrl=async r=>{const c=t.getValues(e),h=d();if(!(c!=null&&c._id))throw new Error(`${e} has no image`);return T.api(n).getDownloadUrl(h,e,c._id,r)}):(s.upload=async r=>{for(const V of r)k.validateFileExtension(V.name,"File");const c=await P(),h=r.map(V=>({FileName:V.name,Size:V.size,FileExtension:k.extractFileExtension(V.name)})),m=await T.api(n).getUploadUrl(c,e,h),$=await Promise.all(r.map(async(V,_)=>(await fetch(m[_].UploadUrl.URL,{method:"PUT",headers:{"Content-Type":m[_].ContentType},body:V}),{_id:m[_]._id,_name:m[_]._name,FileName:m[_].FileName,FileExtension:m[_].FileExtension,Size:m[_].Size,ContentType:m[_].ContentType}))),D=t.getValues(e)??[];return t.setValue(e,[...D,...$],{shouldDirty:!0}),$},s.deleteAttachment=async r=>{const c=t.getValues(e)??[],h=d();await T.api(n).deleteAttachment(h,e,r),t.setValue(e,c.filter(m=>m._id!==r),{shouldDirty:!0})},s.getDownloadUrl=async(r,c)=>{const h=d();return T.api(n).getDownloadUrl(h,e,r,c)},s.getDownloadUrls=async r=>{const c=d();return T.api(n).getDownloadUrls(c,e,r)})}return y.set(e,s),s}const g=()=>{const u=t.getValues(e);return l.Type==="File"?u??[]:u},x={label:(a==null?void 0:a.label)??e,required:(a==null?void 0:a.required)??!1,readOnly:!0,defaultValue:a==null?void 0:a.defaultValue,meta:l,get:g,getOrDefault:E,validate:b};if(l.Type==="Image"||l.Type==="File"){const u=w,s=()=>{const n=t.getValues("_id");if(!n)throw new Error("Cannot perform attachment operation: item has no _id. Save the item first.");return n};l.Type==="Image"?x.getDownloadUrl=async n=>{const d=t.getValues(e),r=s();if(!(d!=null&&d._id))throw new Error(`${e} has no image to download`);return T.api(u).getDownloadUrl(r,e,d._id,n)}:(x.getDownloadUrl=async(n,d)=>{const r=s();return T.api(u).getDownloadUrl(r,e,n,d)},x.getDownloadUrls=async n=>{const d=s();return T.api(u).getDownloadUrls(d,e,n)})}return y.set(e,x),x},has(F,e){return typeof e=="symbol"?!1:e==="_id"||e==="toJSON"||e==="validate"||e==="_hasDraft"?!0:e in i},ownKeys(F){return[...Object.keys(i),"_id","toJSON","validate"]},getOwnPropertyDescriptor(F,e){if(typeof e!="symbol")return{configurable:!0,enumerable:e!=="toJSON"&&e!=="validate"&&e!=="_hasDraft"}}})}function j(o,t){const i=o.meta.Type;if(typeof t=="string"&&i==="Number")return t===""?void 0:Number(t);if(!(typeof t=="string"&&t===""&&(i==="Date"||i==="DateTime"))){if(typeof t=="string"&&t!==""&&i==="DateTime"){let y=t;return y.endsWith("Z")&&(y=y.slice(0,-1)),((y.split("T")[1]||"").match(/:/g)||[]).length===1&&(y+=":00"),y+"Z"}return t}}function G(o,t){var w;const i=o.getFields(),y={...t};for(const[f,S]of Object.entries(y))typeof S=="string"&&((w=i[f])==null?void 0:w.meta.Type)==="DateTime"&&S.endsWith("Z")&&(y[f]=S.slice(0,-1));return y}function W(o){const{bdo:t,recordId:i,operation:y,defaultValues:w,mode:f="onBlur",enableDraft:S=!1,enableConstraintValidation:P,enableExpressionValidation:F}=o,e=y??(i?"update":"create"),a=I.useMemo(()=>Q(t,{enableConstraintValidation:P}),[t,P]),{data:l,isLoading:C,isFetching:b,error:E}=A.useQuery({queryKey:["form-record",t.meta._id,i],queryFn:async()=>{const D=await t.get(i);return G(t,D.toJSON())},enabled:e==="update"&&!!i,staleTime:0}),{data:g,isLoading:x,error:u}=A.useQuery({queryKey:["form-draft",t.meta._id],queryFn:async()=>T.api(t.meta._id).draftInteraction({}),enabled:e==="create",staleTime:1/0,gcTime:0,retry:1}),{data:s}=A.useQuery({queryKey:["form-schema",t.meta._id],queryFn:()=>K.getBdoSchema(t.meta._id),staleTime:30*60*1e3,gcTime:60*60*1e3,enabled:F!==!1});I.useEffect(()=>{s!=null&&s.BDOBlob?t.loadMetadata(s.BDOBlob):s!=null&&s.MetaBlob&&t.loadMetadata(s.MetaBlob)},[s,t]);const n=J.useForm({mode:f,resolver:a,defaultValues:w}),d=I.useRef(null);I.useEffect(()=>{e==="update"&&l&&l!==d.current&&(n.reset(l),d.current=l)},[l,e,n]),I.useEffect(()=>{g!=null&&g._id&&n.setValue("_id",g._id)},[g,n]);const r=I.useMemo(()=>Z(t,n),[t,n]),c=t.getFields(),h=I.useCallback((D,V)=>{var v;const _=n.register(D,V);return(v=c[D])!=null&&v.readOnly?{..._,disabled:!0}:_},[n,c]),m=I.useRef(null);I.useEffect(()=>{if(e!=="create"||!(g!=null&&g._id))return;const D=n.watch((V,{type:_})=>{_==="change"&&(m.current&&clearTimeout(m.current),m.current=setTimeout(async()=>{const v=n.getValues(),O=n.formState.dirtyFields,U={};for(const[q,N]of Object.entries(v))c[q]&&!c[q].readOnly&&O[q]&&(U[q]=j(c[q],N));if(Object.keys(U).length>0)try{await T.api(t.meta._id).draftInteraction({_id:g._id,...U})}catch{}},800))});return()=>{D.unsubscribe(),m.current&&clearTimeout(m.current)}},[n,e,g,c,t]);const $=I.useCallback((D,V)=>n.handleSubmit(async(_,v)=>{try{const O={},U=n.getValues();if(e==="create")for(const[N,R]of Object.entries(c)){if(R.readOnly)continue;const M=U[N]!==void 0?U[N]:_[N];M!==void 0&&(O[N]=j(R,M))}else{const N=n.formState.dirtyFields;for(const[R,M]of Object.entries(c)){if(M.readOnly||!N[R])continue;const L=U[R]!==void 0?U[R]:_[R];O[R]=j(M,L)}}let q;e==="create"?(O._id=g==null?void 0:g._id,q=await T.api(t.meta._id).draft(O)):q=await T.api(t.meta._id).update(i,O),D==null||D(q,v)}catch(O){V==null||V(O,v)}},(_,v)=>{V==null||V(_,v)}),[n,t,e,i,c,g]);return{item:r,bdo:t,operation:e,recordId:i,register:h,handleSubmit:$,watch:n.watch,setValue:n.setValue,getValues:n.getValues,reset:n.reset,trigger:n.trigger,control:n.control,formState:n.formState,errors:n.formState.errors,isDirty:n.formState.isDirty,isValid:n.formState.isValid,isSubmitting:n.formState.isSubmitting,isSubmitSuccessful:n.formState.isSubmitSuccessful,dirtyFields:n.formState.dirtyFields,isLoading:C||x,isFetching:b,loadError:E??u,draftId:g==null?void 0:g._id,isCreatingDraft:x}}exports.FormOperation=z.FormOperation;exports.InteractionMode=z.InteractionMode;exports.ValidationMode=z.ValidationMode;exports.useForm=W;
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;
package/dist/form.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { useForm } from "./components/hooks/useForm";
1
+ export { useBDOForm } from "./components/hooks/useBDOForm";
2
2
  export { ValidationMode, FormOperation, InteractionMode } from "./types/constants";
3
3
  //# sourceMappingURL=form.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../sdk/form.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../sdk/form.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}