@ram_28/kf-ai-sdk 1.0.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.
Files changed (126) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +840 -0
  3. package/dist/api/client.d.ts +78 -0
  4. package/dist/api/client.d.ts.map +1 -0
  5. package/dist/api/datetime.d.ts +21 -0
  6. package/dist/api/datetime.d.ts.map +1 -0
  7. package/dist/api/index.d.ts +7 -0
  8. package/dist/api/index.d.ts.map +1 -0
  9. package/dist/api/metadata.d.ts +75 -0
  10. package/dist/api/metadata.d.ts.map +1 -0
  11. package/dist/components/hooks/index.d.ts +8 -0
  12. package/dist/components/hooks/index.d.ts.map +1 -0
  13. package/dist/components/hooks/useFilter/index.d.ts +5 -0
  14. package/dist/components/hooks/useFilter/index.d.ts.map +1 -0
  15. package/dist/components/hooks/useFilter/payloadBuilder.utils.d.ts +33 -0
  16. package/dist/components/hooks/useFilter/payloadBuilder.utils.d.ts.map +1 -0
  17. package/dist/components/hooks/useFilter/types.d.ts +137 -0
  18. package/dist/components/hooks/useFilter/types.d.ts.map +1 -0
  19. package/dist/components/hooks/useFilter/useFilter.d.ts +3 -0
  20. package/dist/components/hooks/useFilter/useFilter.d.ts.map +1 -0
  21. package/dist/components/hooks/useFilter/validation.utils.d.ts +38 -0
  22. package/dist/components/hooks/useFilter/validation.utils.d.ts.map +1 -0
  23. package/dist/components/hooks/useForm/apiClient.d.ts +71 -0
  24. package/dist/components/hooks/useForm/apiClient.d.ts.map +1 -0
  25. package/dist/components/hooks/useForm/expressionValidator.utils.d.ts +28 -0
  26. package/dist/components/hooks/useForm/expressionValidator.utils.d.ts.map +1 -0
  27. package/dist/components/hooks/useForm/index.d.ts +6 -0
  28. package/dist/components/hooks/useForm/index.d.ts.map +1 -0
  29. package/dist/components/hooks/useForm/optimizedExpressionValidator.utils.d.ts +88 -0
  30. package/dist/components/hooks/useForm/optimizedExpressionValidator.utils.d.ts.map +1 -0
  31. package/dist/components/hooks/useForm/ruleClassifier.utils.d.ts +28 -0
  32. package/dist/components/hooks/useForm/ruleClassifier.utils.d.ts.map +1 -0
  33. package/dist/components/hooks/useForm/schemaParser.utils.d.ts +29 -0
  34. package/dist/components/hooks/useForm/schemaParser.utils.d.ts.map +1 -0
  35. package/dist/components/hooks/useForm/types.d.ts +412 -0
  36. package/dist/components/hooks/useForm/types.d.ts.map +1 -0
  37. package/dist/components/hooks/useForm/useForm.d.ts +3 -0
  38. package/dist/components/hooks/useForm/useForm.d.ts.map +1 -0
  39. package/dist/components/hooks/useKanban/apiClient.d.ts +99 -0
  40. package/dist/components/hooks/useKanban/apiClient.d.ts.map +1 -0
  41. package/dist/components/hooks/useKanban/context.d.ts +4 -0
  42. package/dist/components/hooks/useKanban/context.d.ts.map +1 -0
  43. package/dist/components/hooks/useKanban/dragDropManager.d.ts +27 -0
  44. package/dist/components/hooks/useKanban/dragDropManager.d.ts.map +1 -0
  45. package/dist/components/hooks/useKanban/index.d.ts +6 -0
  46. package/dist/components/hooks/useKanban/index.d.ts.map +1 -0
  47. package/dist/components/hooks/useKanban/types.d.ts +438 -0
  48. package/dist/components/hooks/useKanban/types.d.ts.map +1 -0
  49. package/dist/components/hooks/useKanban/useKanban.d.ts +3 -0
  50. package/dist/components/hooks/useKanban/useKanban.d.ts.map +1 -0
  51. package/dist/components/hooks/useKanban/useKanbanSimple.d.ts +62 -0
  52. package/dist/components/hooks/useKanban/useKanbanSimple.d.ts.map +1 -0
  53. package/dist/components/hooks/useTable/index.d.ts +3 -0
  54. package/dist/components/hooks/useTable/index.d.ts.map +1 -0
  55. package/dist/components/hooks/useTable/types.d.ts +107 -0
  56. package/dist/components/hooks/useTable/types.d.ts.map +1 -0
  57. package/dist/components/hooks/useTable/useTable.d.ts +8 -0
  58. package/dist/components/hooks/useTable/useTable.d.ts.map +1 -0
  59. package/dist/components/index.d.ts +3 -0
  60. package/dist/components/index.d.ts.map +1 -0
  61. package/dist/components/ui/index.d.ts +2 -0
  62. package/dist/components/ui/index.d.ts.map +1 -0
  63. package/dist/components/ui/kanban/Kanban.d.ts +12 -0
  64. package/dist/components/ui/kanban/Kanban.d.ts.map +1 -0
  65. package/dist/components/ui/kanban/index.d.ts +2 -0
  66. package/dist/components/ui/kanban/index.d.ts.map +1 -0
  67. package/dist/index.cjs +45 -0
  68. package/dist/index.d.ts +5 -0
  69. package/dist/index.d.ts.map +1 -0
  70. package/dist/index.mjs +6522 -0
  71. package/dist/types/base-fields.d.ts +182 -0
  72. package/dist/types/base-fields.d.ts.map +1 -0
  73. package/dist/types/common.d.ts +238 -0
  74. package/dist/types/common.d.ts.map +1 -0
  75. package/dist/types/index.d.ts +3 -0
  76. package/dist/types/index.d.ts.map +1 -0
  77. package/dist/utils/cn.d.ts +7 -0
  78. package/dist/utils/cn.d.ts.map +1 -0
  79. package/dist/utils/formatting.d.ts +52 -0
  80. package/dist/utils/formatting.d.ts.map +1 -0
  81. package/dist/utils/index.d.ts +3 -0
  82. package/dist/utils/index.d.ts.map +1 -0
  83. package/package.json +98 -0
  84. package/sdk/api/client.ts +447 -0
  85. package/sdk/api/datetime.ts +33 -0
  86. package/sdk/api/index.ts +61 -0
  87. package/sdk/api/metadata.ts +148 -0
  88. package/sdk/components/hooks/index.ts +34 -0
  89. package/sdk/components/hooks/useFilter/index.ts +37 -0
  90. package/sdk/components/hooks/useFilter/payloadBuilder.utils.ts +298 -0
  91. package/sdk/components/hooks/useFilter/types.ts +158 -0
  92. package/sdk/components/hooks/useFilter/useFilter.llm.txt +497 -0
  93. package/sdk/components/hooks/useFilter/useFilter.ts +494 -0
  94. package/sdk/components/hooks/useFilter/validation.utils.ts +401 -0
  95. package/sdk/components/hooks/useForm/apiClient.ts +441 -0
  96. package/sdk/components/hooks/useForm/expressionValidator.utils.ts +444 -0
  97. package/sdk/components/hooks/useForm/index.ts +64 -0
  98. package/sdk/components/hooks/useForm/optimizedExpressionValidator.utils.ts +482 -0
  99. package/sdk/components/hooks/useForm/ruleClassifier.utils.ts +424 -0
  100. package/sdk/components/hooks/useForm/schemaParser.utils.ts +519 -0
  101. package/sdk/components/hooks/useForm/types.ts +630 -0
  102. package/sdk/components/hooks/useForm/useForm.llm.txt +340 -0
  103. package/sdk/components/hooks/useForm/useForm.ts +821 -0
  104. package/sdk/components/hooks/useKanban/apiClient.ts +494 -0
  105. package/sdk/components/hooks/useKanban/context.ts +14 -0
  106. package/sdk/components/hooks/useKanban/dragDropManager.ts +529 -0
  107. package/sdk/components/hooks/useKanban/index.ts +63 -0
  108. package/sdk/components/hooks/useKanban/types.ts +606 -0
  109. package/sdk/components/hooks/useKanban/useKanban.llm.txt +482 -0
  110. package/sdk/components/hooks/useKanban/useKanban.ts +725 -0
  111. package/sdk/components/hooks/useKanban/useKanbanSimple.ts +389 -0
  112. package/sdk/components/hooks/useTable/index.ts +5 -0
  113. package/sdk/components/hooks/useTable/types.ts +154 -0
  114. package/sdk/components/hooks/useTable/useTable.llm.txt +344 -0
  115. package/sdk/components/hooks/useTable/useTable.ts +413 -0
  116. package/sdk/components/index.ts +15 -0
  117. package/sdk/components/ui/index.ts +2 -0
  118. package/sdk/components/ui/kanban/Kanban.tsx +134 -0
  119. package/sdk/components/ui/kanban/index.ts +11 -0
  120. package/sdk/index.ts +13 -0
  121. package/sdk/types/base-fields.ts +221 -0
  122. package/sdk/types/common.ts +306 -0
  123. package/sdk/types/index.ts +5 -0
  124. package/sdk/utils/cn.ts +10 -0
  125. package/sdk/utils/formatting.ts +212 -0
  126. package/sdk/utils/index.ts +5 -0
@@ -0,0 +1,78 @@
1
+ import type { ListOptions, ListResponse, CreateUpdateResponse, DeleteResponse, CountResponse, MetricOptions, MetricResponse, PivotOptions, PivotResponse, DraftResponse, FieldsResponse, FetchFieldOption } from "../types/common";
2
+ /**
3
+ * API client interface for a specific Business Object
4
+ */
5
+ export interface ResourceClient<T = any> {
6
+ /** Get single record by ID */
7
+ get(id: string): Promise<T>;
8
+ /** Create new record */
9
+ create(data: Partial<T> & {
10
+ _id?: string;
11
+ }): Promise<CreateUpdateResponse>;
12
+ /** Update existing record */
13
+ update(id: string, data: Partial<T>): Promise<CreateUpdateResponse>;
14
+ /** Delete record by ID */
15
+ delete(id: string): Promise<DeleteResponse>;
16
+ /** List records with optional filtering, sorting, and pagination */
17
+ list(options?: ListOptions): Promise<ListResponse<T>>;
18
+ /** Get count of records matching the same criteria as list */
19
+ count(options?: ListOptions): Promise<CountResponse>;
20
+ /**
21
+ * Create draft - compute fields without persisting
22
+ * POST /{bo_id}/draft
23
+ */
24
+ draft(data: Partial<T>): Promise<DraftResponse>;
25
+ /**
26
+ * Update draft (commit) - compute and prepare for update
27
+ * POST /{bo_id}/{instance_id}/draft
28
+ */
29
+ draftUpdate(id: string, data: Partial<T>): Promise<CreateUpdateResponse>;
30
+ /**
31
+ * Update draft (patch) - compute fields during editing
32
+ * PATCH /{bo_id}/{instance_id}/draft
33
+ */
34
+ draftPatch(id: string, data: Partial<T>): Promise<DraftResponse>;
35
+ /**
36
+ * Get aggregated metrics grouped by dimensions
37
+ * POST /{bo_id}/metric
38
+ */
39
+ metric(options: Omit<MetricOptions, "Type">): Promise<MetricResponse>;
40
+ /**
41
+ * Get pivot table data
42
+ * POST /{bo_id}/pivot
43
+ */
44
+ pivot(options: Omit<PivotOptions, "Type">): Promise<PivotResponse>;
45
+ /**
46
+ * Get field definitions for this Business Object
47
+ * GET /{bo_id}/fields
48
+ */
49
+ fields(): Promise<FieldsResponse>;
50
+ /**
51
+ * Fetch reference data for a specific field (for lookup and dropdown fields)
52
+ * GET /{bo_id}/{instance_id}/field/{field_id}/fetch
53
+ */
54
+ fetchField(instanceId: string, fieldId: string): Promise<FetchFieldOption[]>;
55
+ }
56
+ /**
57
+ * Set the base URL for all API requests
58
+ */
59
+ export declare function setApiBaseUrl(baseUrl: string): void;
60
+ /**
61
+ * Set default headers for all requests
62
+ */
63
+ export declare function setDefaultHeaders(headers: Record<string, string>): void;
64
+ /**
65
+ * Get current default headers
66
+ */
67
+ export declare function getDefaultHeaders(): Record<string, string>;
68
+ /**
69
+ * Get current base URL
70
+ */
71
+ export declare function getApiBaseUrl(): string;
72
+ /**
73
+ * Create a resource client for the specified Business Object
74
+ * @param bo_id - Business Object identifier (e.g., "user", "leave", "vendor")
75
+ * @returns Resource client with CRUD operations matching API spec
76
+ */
77
+ export declare function api<T = any>(bo_id: string): ResourceClient<T>;
78
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../sdk/api/client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EAEZ,oBAAoB,EACpB,cAAc,EACd,aAAa,EAGb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,GAAG;IAKrC,8BAA8B;IAC9B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE5B,wBAAwB;IACxB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAE3E,6BAA6B;IAC7B,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEpE,0BAA0B;IAC1B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAE5C,oEAAoE;IACpE,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtD,8DAA8D;IAC9D,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAMrD;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAEhD;;;OAGG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEzE;;;OAGG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAMjE;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEtE;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAMnE;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IAElC;;;OAGG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;CAC9E;AAoBD;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEnD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAEvE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE1D;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAoCD;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAiQ7D"}
@@ -0,0 +1,21 @@
1
+ import type { DateTimeEncoded, DateEncoded } from '../types/common';
2
+ /**
3
+ * Utility functions for datetime encoding/decoding
4
+ */
5
+ /**
6
+ * Encode a Date object to API datetime format
7
+ */
8
+ export declare function encodeDatetime(date: Date): DateTimeEncoded;
9
+ /**
10
+ * Decode API datetime format to Date object
11
+ */
12
+ export declare function decodeDatetime(encoded: DateTimeEncoded): Date;
13
+ /**
14
+ * Encode a Date object to API date format (YYYY-MM-DD)
15
+ */
16
+ export declare function encodeDate(date: Date): DateEncoded;
17
+ /**
18
+ * Decode API date format to Date object
19
+ */
20
+ export declare function decodeDate(encoded: DateEncoded): Date;
21
+ //# sourceMappingURL=datetime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../sdk/api/datetime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEpE;;GAEG;AAEH;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,eAAe,CAE1D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAE7D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAElD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAErD"}
@@ -0,0 +1,7 @@
1
+ export { api, setApiBaseUrl, setDefaultHeaders, getDefaultHeaders, getApiBaseUrl, } from "./client";
2
+ export type { ResourceClient } from "./client";
3
+ export { encodeDatetime, decodeDatetime, encodeDate, decodeDate, } from "./datetime";
4
+ export { getBdoSchema, listMetadata } from "./metadata";
5
+ export type { BackendSchema, MetadataItem, FieldMetadata } from "./metadata";
6
+ export type { SortDirection, SortOption, Sort, Filter, FilterCondition, FilterOperator, FilterRHSType, LogicalOperator, FilterLogical, FilterNode, ListOptions, ListResponse, ReadResponse, CreateUpdateResponse, DeleteResponse, CountResponse, DateTimeEncoded, DateEncoded, MetricType, MetricField, MetricOptions, MetricResponse, PivotHeaderItem, PivotResponseData, PivotOptions, PivotResponse, DraftResponse, FieldsResponse, } from "../types/common";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../sdk/api/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,GAAG,EACH,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,GACd,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C,OAAO,EACL,cAAc,EACd,cAAc,EACd,UAAU,EACV,UAAU,GACX,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG7E,YAAY,EAEV,aAAa,EACb,UAAU,EACV,IAAI,EAEJ,MAAM,EACN,eAAe,EACf,cAAc,EACd,aAAa,EACb,eAAe,EACf,aAAa,EACb,UAAU,EAEV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,aAAa,EAEb,eAAe,EACf,WAAW,EAEX,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,EAEd,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,aAAa,EAEb,aAAa,EAEb,cAAc,GACf,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,75 @@
1
+ import type { ListOptions, ListResponse } from "../types/common";
2
+ /**
3
+ * BDO Schema Structure (Business Object Metadata)
4
+ */
5
+ export interface BackendSchema {
6
+ [fieldName: string]: any;
7
+ }
8
+ /**
9
+ * Get BDO schema/metadata by ID
10
+ *
11
+ * Endpoint: GET //api/app/meta/bdo/${metaId}
12
+ *
13
+ * @param metaId - The Business Object metadata ID (e.g., "Product", "Order")
14
+ * @returns Promise resolving to the BDO schema
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * const schema = await getBdoSchema("Product");
19
+ * console.log(schema.Fields); // Access field definitions
20
+ * ```
21
+ */
22
+ export declare function getBdoSchema(metaId: string): Promise<BackendSchema>;
23
+ /**
24
+ * Metadata item structure
25
+ */
26
+ export interface MetadataItem {
27
+ _id: string;
28
+ Name: string;
29
+ Kind: string;
30
+ Description?: string;
31
+ [key: string]: any;
32
+ }
33
+ /**
34
+ * List all metadata items with optional filtering and pagination
35
+ *
36
+ * Endpoint: GET or POST /api/app/metadata/list
37
+ *
38
+ * @param options - Optional list options (filters, sorting, pagination)
39
+ * @returns Promise resolving to list of metadata items
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * // List all metadata
44
+ * const all = await listMetadata();
45
+ *
46
+ * // List with filters
47
+ * const businessObjects = await listMetadata({
48
+ * Filter: {
49
+ * Operator: "AND",
50
+ * Condition: [{ LhsField: "Kind", Operator: "eq", RhsValue: "BusinessObject" }]
51
+ * }
52
+ * });
53
+ * ```
54
+ */
55
+ export declare function listMetadata(options?: ListOptions): Promise<ListResponse<MetadataItem>>;
56
+ /**
57
+ * Field metadata structure
58
+ */
59
+ export interface FieldMetadata {
60
+ Id: string;
61
+ Name: string;
62
+ Type: string;
63
+ Required?: boolean;
64
+ Unique?: boolean;
65
+ Computed?: boolean;
66
+ Values?: {
67
+ Mode: "Static" | "Dynamic";
68
+ Items?: Array<{
69
+ Value: string;
70
+ Label: string;
71
+ }>;
72
+ };
73
+ [key: string]: any;
74
+ }
75
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../sdk/api/metadata.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAOjE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA8BzE;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,YAAY,CAChC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CA8BrC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;QAC3B,KAAK,CAAC,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACjD,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB"}
@@ -0,0 +1,8 @@
1
+ export { useTable } from "./useTable";
2
+ export type { UseTableOptions, UseTableReturn, ColumnDefinition, } from "./useTable";
3
+ export { useForm } from "./useForm";
4
+ export type { UseFormOptions, UseFormReturn, BackendFieldDefinition, ProcessedField, ProcessedSchema, FormOperation, FormMode, ValidationResult, SubmissionResult, } from "./useForm";
5
+ export { useKanban } from "./useKanban";
6
+ export type { UseKanbanOptions, UseKanbanReturn, KanbanCard, KanbanColumn, ColumnDefinition as KanbanColumnDefinition, } from "./useKanban";
7
+ export * from "./useFilter";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../sdk/components/hooks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EACV,eAAe,EACf,cAAc,EACd,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EACV,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,YAAY,EACZ,gBAAgB,IAAI,sBAAsB,GAC3C,MAAM,aAAa,CAAC;AAGrB,cAAc,aAAa,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { useFilter } from './useFilter';
2
+ export type { FilterConditionWithId, TypedFilterConditionInput, FilterState, FieldDefinition, ValidationResult, ValidationError, UseFilterOptions, UseFilterReturn } from './types';
3
+ export { validateNumberValue, validateDateValue, validateCurrencyValue, validateStringValue, validateBooleanValue, validateSelectValue, getDefaultFieldDefinition, createFieldDefinitionsFromSample } from './validation.utils';
4
+ export { buildFilterPayload, buildFilterPayloadFromState, validateFilterPayload, cloneFilterPayload, mergeFilterPayloads, filterPayloadToString, areFilterPayloadsEqual } from './payloadBuilder.utils';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useFilter/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,YAAY,EACV,qBAAqB,EACrB,yBAAyB,EACzB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EAChB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,gCAAgC,EACjC,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { Filter, LogicalOperator } from "../../../types/common";
2
+ import type { FilterConditionWithId, FilterState } from "../useFilter";
3
+ /**
4
+ * Build SDK Filter payload from filter state
5
+ * Returns undefined if no valid conditions exist
6
+ * Supports both flat and nested filter structures
7
+ */
8
+ export declare const buildFilterPayload: (conditions: FilterConditionWithId[], logicalOperator: LogicalOperator) => Filter | undefined;
9
+ /**
10
+ * Build filter payload from complete filter state
11
+ */
12
+ export declare const buildFilterPayloadFromState: (state: FilterState) => Filter | undefined;
13
+ /**
14
+ * Validate that a filter payload is well-formed (supports nested filters)
15
+ */
16
+ export declare const validateFilterPayload: (filter: Filter | undefined) => boolean;
17
+ /**
18
+ * Deep clone a filter payload (supports nested filters)
19
+ */
20
+ export declare const cloneFilterPayload: (filter: Filter | undefined) => Filter | undefined;
21
+ /**
22
+ * Merge multiple filter payloads with a logical operator
23
+ */
24
+ export declare const mergeFilterPayloads: (filters: (Filter | undefined)[], operator: LogicalOperator) => Filter | undefined;
25
+ /**
26
+ * Convert filter payload to a human-readable string for debugging (supports nested filters)
27
+ */
28
+ export declare const filterPayloadToString: (filter: Filter | undefined) => string;
29
+ /**
30
+ * Check if two filter payloads are equivalent (supports nested filters)
31
+ */
32
+ export declare const areFilterPayloadsEqual: (filter1: Filter | undefined, filter2: Filter | undefined) => boolean;
33
+ //# sourceMappingURL=payloadBuilder.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payloadBuilder.utils.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useFilter/payloadBuilder.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAkC,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACrG,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAqCvE;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,YAAY,qBAAqB,EAAE,EACnC,iBAAiB,eAAe,KAC/B,MAAM,GAAG,SAmBX,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,GAAI,OAAO,WAAW,KAAG,MAAM,GAAG,SAEzE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,MAAM,GAAG,SAAS,KAAG,OAwClE,CAAC;AAwBF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,SASxE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,EAC/B,UAAU,eAAe,KACxB,MAAM,GAAG,SAoBX,CAAC;AA6BF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,MAAM,GAAG,SAAS,KAAG,MAYlE,CAAC;AAyCF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GACjC,SAAS,MAAM,GAAG,SAAS,EAC3B,SAAS,MAAM,GAAG,SAAS,KAC1B,OAyBF,CAAC"}
@@ -0,0 +1,137 @@
1
+ import type { Filter, FilterOperator, FilterRHSType, LogicalOperator } from "../../../types/common";
2
+ /**
3
+ * Internal filter condition with ID for management
4
+ * Supports both simple conditions and nested logical groups
5
+ */
6
+ export interface FilterConditionWithId {
7
+ /** Unique identifier for internal management */
8
+ id: string;
9
+ /** Filter operator (can be condition or logical operator) */
10
+ operator: FilterOperator | LogicalOperator;
11
+ /** Left-hand side field name (required for condition operators) */
12
+ lhsField?: string;
13
+ /** Right-hand side value (required for condition operators) */
14
+ rhsValue?: any;
15
+ /** Right-hand side type (defaults to Constant) */
16
+ rhsType?: FilterRHSType;
17
+ /** Nested conditions (for logical operators: And, Or, Not) */
18
+ children?: FilterConditionWithId[];
19
+ /** Validation state */
20
+ isValid: boolean;
21
+ /** Specific validation errors */
22
+ validationErrors?: string[];
23
+ }
24
+ /**
25
+ * Type-safe filter condition input (for addCondition)
26
+ * Constrains lhsField to keys of T for compile-time type checking
27
+ */
28
+ export interface TypedFilterConditionInput<T> {
29
+ /** Filter operator (can be condition or logical operator) */
30
+ operator: FilterOperator | LogicalOperator;
31
+ /** Left-hand side field name - constrained to keyof T */
32
+ lhsField?: keyof T & string;
33
+ /** Right-hand side value */
34
+ rhsValue?: T[keyof T] | T[keyof T][] | any;
35
+ /** Right-hand side type (defaults to Constant) */
36
+ rhsType?: FilterRHSType;
37
+ /** Nested conditions (for logical operators: And, Or, Not) */
38
+ children?: TypedFilterConditionInput<T>[];
39
+ }
40
+ export interface FilterState {
41
+ /** Logical operator for combining conditions */
42
+ logicalOperator: LogicalOperator;
43
+ /** Array of filter conditions with IDs */
44
+ conditions: FilterConditionWithId[];
45
+ }
46
+ export interface FieldDefinition {
47
+ /** Field data type */
48
+ type: 'string' | 'number' | 'date' | 'boolean' | 'currency' | 'select';
49
+ /** Operators allowed for this field type */
50
+ allowedOperators: FilterOperator[];
51
+ /** Custom value validation function */
52
+ validateValue?: (value: any, operator: FilterOperator) => ValidationResult;
53
+ /** Value transformation function */
54
+ transformValue?: (value: any) => any;
55
+ /** Options for select fields */
56
+ selectOptions?: Array<{
57
+ label: string;
58
+ value: any;
59
+ }>;
60
+ }
61
+ export interface ValidationResult {
62
+ /** Whether the validation passed */
63
+ isValid: boolean;
64
+ /** Array of error messages */
65
+ errors: string[];
66
+ }
67
+ export interface ValidationError {
68
+ /** ID of the condition with errors */
69
+ conditionId: string;
70
+ /** Field name */
71
+ field: string;
72
+ /** Error message */
73
+ message: string;
74
+ }
75
+ export interface UseFilterOptions<T = any> {
76
+ /** Initial filter conditions */
77
+ initialConditions?: FilterConditionWithId[];
78
+ /** Initial logical operator */
79
+ initialLogicalOperator?: LogicalOperator;
80
+ /** Field definitions for validation */
81
+ fieldDefinitions?: Record<keyof T, FieldDefinition>;
82
+ /** Whether to validate conditions on change */
83
+ validateOnChange?: boolean;
84
+ /** Callback when condition is added */
85
+ onConditionAdd?: (condition: FilterConditionWithId) => void;
86
+ /** Callback when condition is updated */
87
+ onConditionUpdate?: (condition: FilterConditionWithId) => void;
88
+ /** Callback when condition is removed */
89
+ onConditionRemove?: (conditionId: string) => void;
90
+ /** Callback when validation errors occur */
91
+ onValidationError?: (errors: ValidationError[]) => void;
92
+ }
93
+ export interface UseFilterReturn<T = any> {
94
+ /** Array of current filter conditions */
95
+ conditions: FilterConditionWithId[];
96
+ /** Current logical operator */
97
+ logicalOperator: LogicalOperator;
98
+ /** SDK-formatted filter payload for API calls */
99
+ filterPayload: Filter | undefined;
100
+ /** Overall validation state */
101
+ isValid: boolean;
102
+ /** Array of validation errors */
103
+ validationErrors: ValidationError[];
104
+ /** Add a new filter condition (type-safe: lhsField constrained to keyof T) */
105
+ addCondition: (condition: TypedFilterConditionInput<T>) => string;
106
+ /** Update an existing condition */
107
+ updateCondition: (id: string, updates: Partial<TypedFilterConditionInput<T>>) => boolean;
108
+ /** Remove a condition by ID */
109
+ removeCondition: (id: string) => boolean;
110
+ /** Clear all conditions */
111
+ clearConditions: () => void;
112
+ /** Get a specific condition by ID */
113
+ getCondition: (id: string) => FilterConditionWithId | undefined;
114
+ /** Set the root logical operator */
115
+ setLogicalOperator: (operator: LogicalOperator) => void;
116
+ /** Replace all conditions */
117
+ setConditions: (conditions: FilterConditionWithId[]) => void;
118
+ /** Replace a specific condition */
119
+ replaceCondition: (id: string, newCondition: TypedFilterConditionInput<T>) => boolean;
120
+ /** Validate a single condition */
121
+ validateCondition: (condition: Partial<FilterConditionWithId>) => ValidationResult;
122
+ /** Validate all current conditions */
123
+ validateAllConditions: () => ValidationResult;
124
+ /** Export current filter state */
125
+ exportState: () => FilterState;
126
+ /** Import a filter state */
127
+ importState: (state: FilterState) => void;
128
+ /** Reset to initial state */
129
+ resetToInitial: () => void;
130
+ /** Get total number of conditions */
131
+ getConditionCount: () => number;
132
+ /** Whether any conditions exist */
133
+ hasConditions: boolean;
134
+ /** Whether more conditions can be added */
135
+ canAddCondition: boolean;
136
+ }
137
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useFilter/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { UseFilterOptions, UseFilterReturn } from "./types";
2
+ export declare function useFilter<T = any>(options?: UseFilterOptions<T>): UseFilterReturn<T>;
3
+ //# sourceMappingURL=useFilter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFilter.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useFilter/useFilter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAOV,gBAAgB,EAChB,eAAe,EAChB,MAAM,SAAS,CAAC;AAiLjB,wBAAgB,SAAS,CAAC,CAAC,GAAG,GAAG,EAC/B,OAAO,GAAE,gBAAgB,CAAC,CAAC,CAAM,GAChC,eAAe,CAAC,CAAC,CAAC,CA+SpB"}
@@ -0,0 +1,38 @@
1
+ import type { FilterOperator } from "../../../types/common";
2
+ import type { FieldDefinition, ValidationResult } from "../useFilter";
3
+ /**
4
+ * Validate number values based on operator
5
+ */
6
+ export declare const validateNumberValue: (value: any, operator: FilterOperator) => ValidationResult;
7
+ /**
8
+ * Validate date values based on operator
9
+ */
10
+ export declare const validateDateValue: (value: any, operator: FilterOperator) => ValidationResult;
11
+ /**
12
+ * Validate currency values based on operator
13
+ */
14
+ export declare const validateCurrencyValue: (value: any, operator: FilterOperator) => ValidationResult;
15
+ /**
16
+ * Validate string values based on operator
17
+ */
18
+ export declare const validateStringValue: (value: any, operator: FilterOperator) => ValidationResult;
19
+ /**
20
+ * Validate boolean values based on operator
21
+ */
22
+ export declare const validateBooleanValue: (value: any, operator: FilterOperator) => ValidationResult;
23
+ /**
24
+ * Validate select field values based on operator and available options
25
+ */
26
+ export declare const validateSelectValue: (value: any, operator: FilterOperator, selectOptions?: Array<{
27
+ label: string;
28
+ value: any;
29
+ }>) => ValidationResult;
30
+ /**
31
+ * Get default field definition based on field type
32
+ */
33
+ export declare const getDefaultFieldDefinition: (fieldType: FieldDefinition["type"]) => FieldDefinition;
34
+ /**
35
+ * Create field definitions from sample data
36
+ */
37
+ export declare const createFieldDefinitionsFromSample: <T>(sampleData: T) => Record<keyof T, FieldDefinition>;
38
+ //# sourceMappingURL=validation.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.utils.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useFilter/validation.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAMtE;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,GAAG,EAAE,UAAU,cAAc,KAAG,gBAwC1E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,GAAG,EAAE,UAAU,cAAc,KAAG,gBAqDxE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,OAAO,GAAG,EAAE,UAAU,cAAc,KAAG,gBAmD5E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,GAAG,EAAE,UAAU,cAAc,KAAG,gBA+C1E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,OAAO,GAAG,EAAE,UAAU,cAAc,KAAG,gBAkC3E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,GAAG,EACV,UAAU,cAAc,EACxB,gBAAgB,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE,CAAC,KACnD,gBA2CF,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAAI,WAAW,eAAe,CAAC,MAAM,CAAC,KAAG,eAmD9E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gCAAgC,GAAI,CAAC,EAAE,YAAY,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,CA4BlG,CAAC"}
@@ -0,0 +1,71 @@
1
+ import type { BackendSchema, FormOperation, SubmissionResult } from "./types";
2
+ /**
3
+ * Fetch BDO schema from backend metadata endpoint
4
+ */
5
+ export declare function fetchFormSchema(source: string): Promise<BackendSchema>;
6
+ /**
7
+ * Fetch form schema with retry logic
8
+ */
9
+ export declare function fetchFormSchemaWithRetry(source: string, maxRetries?: number): Promise<BackendSchema>;
10
+ /**
11
+ * Fetch existing record for update operations
12
+ */
13
+ export declare function fetchRecord<T = any>(source: string, recordId: string): Promise<T>;
14
+ /**
15
+ * Submit form data (create or update)
16
+ */
17
+ export declare function submitFormData<T = any>(source: string, operation: FormOperation, data: Partial<T>, recordId?: string): Promise<SubmissionResult>;
18
+ /**
19
+ * Fetch reference field data
20
+ */
21
+ export declare function fetchReferenceData(businessObject: string, fields?: string[], filters?: any, sort?: any): Promise<any[]>;
22
+ /**
23
+ * Fetch all reference data for a schema
24
+ */
25
+ export declare function fetchAllReferenceData(referenceFields: Record<string, any>): Promise<Record<string, any[]>>;
26
+ /**
27
+ * Validate form data before submission
28
+ */
29
+ export declare function validateFormData<T>(data: Partial<T>, requiredFields: string[]): {
30
+ isValid: boolean;
31
+ errors: string[];
32
+ };
33
+ /**
34
+ * Clean form data before submission
35
+ * - For create: returns all non-computed, non-undefined fields
36
+ * - For update: returns only fields that changed from originalData
37
+ */
38
+ export declare function cleanFormData<T>(data: Partial<T>, computedFields: string[], operation?: FormOperation, originalData?: Partial<T>): Partial<T>;
39
+ /**
40
+ * Parse API error response
41
+ */
42
+ export declare function parseApiError(error: any): string;
43
+ /**
44
+ * Check if error is a network error
45
+ */
46
+ export declare function isNetworkError(error: any): boolean;
47
+ /**
48
+ * Check if error is a validation error
49
+ */
50
+ export declare function isValidationError(error: any): boolean;
51
+ /**
52
+ * Cache data with TTL
53
+ */
54
+ export declare function setCacheData(key: string, data: any, ttlMinutes?: number): void;
55
+ /**
56
+ * Get cached data if not expired
57
+ */
58
+ export declare function getCacheData(key: string): any | null;
59
+ /**
60
+ * Clear cache
61
+ */
62
+ export declare function clearCache(keyPrefix?: string): void;
63
+ /**
64
+ * Fetch schema with caching
65
+ */
66
+ export declare function fetchFormSchemaWithCache(source: string): Promise<BackendSchema>;
67
+ /**
68
+ * Fetch reference data with caching
69
+ */
70
+ export declare function fetchReferenceDataWithCache(businessObject: string, fields?: string[], filters?: any, sort?: any): Promise<any[]>;
71
+ //# sourceMappingURL=apiClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiClient.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useForm/apiClient.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAM9E;;GAEG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAmB5E;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,MAAU,GACrB,OAAO,CAAC,aAAa,CAAC,CAmBxB;AAMD;;GAEG;AACH,wBAAsB,WAAW,CAAC,CAAC,GAAG,GAAG,EACvC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,CAAC,CAUZ;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,CAAC,GAAG,GAAG,EAC1C,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,aAAa,EACxB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC,CAoC3B;AAMD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,cAAc,EAAE,MAAM,EACtB,MAAM,GAAE,MAAM,EAAY,EAC1B,OAAO,CAAC,EAAE,GAAG,EACb,IAAI,CAAC,EAAE,GAAG,GACT,OAAO,CAAC,GAAG,EAAE,CAAC,CA0BhB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACnC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CA+BhC;AAMD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAChB,cAAc,EAAE,MAAM,EAAE,GACvB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAexC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAChB,cAAc,EAAE,MAAM,EAAE,EACxB,SAAS,GAAE,aAAwB,EACnC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,CAAC,CAAC,CA0CZ;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAkBhD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAOlD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAOrD;AAWD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,GAAG,EACT,UAAU,GAAE,MAAW,GACtB,IAAI,CAMN;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAapD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CASnD;AAMD;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CAYxB;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,cAAc,EAAE,MAAM,EACtB,MAAM,GAAE,MAAM,EAAY,EAC1B,OAAO,CAAC,EAAE,GAAG,EACb,IAAI,CAAC,EAAE,GAAG,GACT,OAAO,CAAC,GAAG,EAAE,CAAC,CAYhB"}
@@ -0,0 +1,28 @@
1
+ import type { ExpressionTree, ValidationResult, ValidationRule } from "./types";
2
+ /**
3
+ * Evaluate a complete expression tree
4
+ */
5
+ export declare function evaluateExpression(expressionTree: ExpressionTree, formValues: Record<string, any>, referenceData?: Record<string, any>): any;
6
+ /**
7
+ * Validate a field using backend validation rules
8
+ */
9
+ export declare function validateField<T = Record<string, any>>(fieldName: string, fieldValue: any, validationRules: ValidationRule[], formValues: T, referenceData?: Record<string, any>): ValidationResult<T>;
10
+ /**
11
+ * Validate all cross-field validation rules
12
+ */
13
+ export declare function validateCrossField<T = Record<string, any>>(validationRules: Array<{
14
+ Id: string;
15
+ Condition: {
16
+ ExpressionTree: ExpressionTree;
17
+ };
18
+ Message: string;
19
+ }>, formValues: T, referenceData?: Record<string, any>): ValidationResult<T>[];
20
+ /**
21
+ * Calculate computed field value
22
+ */
23
+ export declare function calculateComputedValue(expressionTree: ExpressionTree, formValues: Record<string, any>, referenceData?: Record<string, any>): any;
24
+ /**
25
+ * Calculate default field value
26
+ */
27
+ export declare function calculateDefaultValue(expressionTree: ExpressionTree, formValues?: Record<string, any>, referenceData?: Record<string, any>): any;
28
+ //# sourceMappingURL=expressionValidator.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expressionValidator.utils.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useForm/expressionValidator.utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,cAAc,EAEd,gBAAgB,EAChB,cAAc,EACf,MAAM,SAAS,CAAC;AA6SjB;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GACtC,GAAG,CAaL;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnD,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,GAAG,EACf,eAAe,EAAE,cAAc,EAAE,EACjC,UAAU,EAAE,CAAC,EACb,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GACtC,gBAAgB,CAAC,CAAC,CAAC,CAgCrB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxD,eAAe,EAAE,KAAK,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE;QAAE,cAAc,EAAE,cAAc,CAAA;KAAE,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,EACF,UAAU,EAAE,CAAC,EACb,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GACtC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAwBvB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GACtC,GAAG,CAOL;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,cAAc,EAC9B,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EACpC,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GACtC,GAAG,CAOL"}
@@ -0,0 +1,6 @@
1
+ export { useForm } from './useForm';
2
+ export type { UseFormOptions, UseFormReturn, BackendSchema, BackendFieldDefinition, ProcessedField, ProcessedSchema, FormOperation, FormMode, ValidationResult, SubmissionResult, ExpressionTree, ValidationRule, Formula, DefaultValue, ReferenceField, FieldValues, EvaluationContext } from './types';
3
+ export { processSchema, updateComputedFields, buildDependencyMap, extractReferenceFields, validateSchema, buildReferenceFieldConfig } from './schemaParser.utils';
4
+ export { evaluateExpression, validateField, validateCrossField, calculateComputedValue, calculateDefaultValue } from './expressionValidator.utils';
5
+ export { fetchFormSchema, fetchFormSchemaWithRetry, fetchRecord, submitFormData, fetchReferenceData, fetchAllReferenceData, validateFormData, cleanFormData, parseApiError, isNetworkError, isValidationError, setCacheData, getCacheData, clearCache, fetchFormSchemaWithCache, fetchReferenceDataWithCache } from './apiClient';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useForm/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,YAAY,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,OAAO,EACP,YAAY,EACZ,cAAc,EACd,WAAW,EACX,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,yBAAyB,EAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,wBAAwB,EACxB,2BAA2B,EAC5B,MAAM,aAAa,CAAC"}