@ram_28/kf-ai-sdk 2.0.15 → 2.0.17

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 (130) hide show
  1. package/README.md +22 -14
  2. package/dist/api.cjs +1 -1
  3. package/dist/api.mjs +1 -1
  4. package/dist/auth/authConfig.d.ts +1 -1
  5. package/dist/auth/types.d.ts +1 -1
  6. package/dist/auth/types.d.ts.map +1 -1
  7. package/dist/auth.cjs +1 -1
  8. package/dist/auth.mjs +1 -1
  9. package/dist/bdo/core/BaseBdo.d.ts +1 -1
  10. package/dist/bdo.cjs +1 -1
  11. package/dist/bdo.mjs +3 -3
  12. package/dist/components/hooks/useActivityForm/createActivityItemProxy.d.ts +1 -1
  13. package/dist/components/hooks/useActivityForm/createActivityItemProxy.d.ts.map +1 -1
  14. package/dist/components/hooks/useActivityForm/types.d.ts +6 -7
  15. package/dist/components/hooks/useActivityForm/types.d.ts.map +1 -1
  16. package/dist/components/hooks/useActivityForm/useActivityForm.d.ts.map +1 -1
  17. package/dist/components/hooks/useActivityTable/types.d.ts +7 -6
  18. package/dist/components/hooks/useActivityTable/types.d.ts.map +1 -1
  19. package/dist/components/hooks/useActivityTable/useActivityTable.d.ts +1 -1
  20. package/dist/components/hooks/useActivityTable/useActivityTable.d.ts.map +1 -1
  21. package/dist/components/hooks/useBDOForm/createItemProxy.d.ts.map +1 -0
  22. package/dist/components/hooks/useBDOForm/createResolver.d.ts.map +1 -0
  23. package/dist/components/hooks/useBDOForm/index.d.ts +6 -0
  24. package/dist/components/hooks/useBDOForm/index.d.ts.map +1 -0
  25. package/dist/components/hooks/useBDOForm/shared.d.ts +50 -0
  26. package/dist/components/hooks/useBDOForm/shared.d.ts.map +1 -0
  27. package/dist/components/hooks/{useForm → useBDOForm}/types.d.ts +6 -6
  28. package/dist/components/hooks/useBDOForm/types.d.ts.map +1 -0
  29. package/dist/components/hooks/{useForm/useForm.d.ts → useBDOForm/useBDOForm.d.ts} +4 -4
  30. package/dist/components/hooks/useBDOForm/useBDOForm.d.ts.map +1 -0
  31. package/dist/components/hooks/useBDOTable/types.d.ts +20 -14
  32. package/dist/components/hooks/useBDOTable/types.d.ts.map +1 -1
  33. package/dist/components/hooks/useBDOTable/useBDOTable.d.ts +2 -2
  34. package/dist/components/hooks/useBDOTable/useBDOTable.d.ts.map +1 -1
  35. package/dist/{constants-ConHc1oS.js → constants-Cyi942Yr.js} +5 -5
  36. package/dist/constants-DEmYwKfC.cjs +1 -0
  37. package/dist/filter.cjs +1 -1
  38. package/dist/filter.mjs +1 -1
  39. package/dist/form.cjs +1 -1
  40. package/dist/form.d.ts +1 -1
  41. package/dist/form.d.ts.map +1 -1
  42. package/dist/form.mjs +250 -253
  43. package/dist/form.types.d.ts +1 -1
  44. package/dist/form.types.d.ts.map +1 -1
  45. package/dist/shared-5a7UkED1.js +1180 -0
  46. package/dist/shared-nnmlRVs7.cjs +1 -0
  47. package/dist/table.cjs +1 -1
  48. package/dist/table.mjs +14 -14
  49. package/dist/table.types.d.ts +1 -1
  50. package/dist/table.types.d.ts.map +1 -1
  51. package/dist/types/constants.d.ts +4 -4
  52. package/dist/workflow/Activity.d.ts +22 -7
  53. package/dist/workflow/Activity.d.ts.map +1 -1
  54. package/dist/workflow/client.d.ts +2 -2
  55. package/dist/workflow/client.d.ts.map +1 -1
  56. package/dist/workflow/types.d.ts +7 -3
  57. package/dist/workflow/types.d.ts.map +1 -1
  58. package/dist/workflow.cjs +1 -1
  59. package/dist/workflow.mjs +518 -576
  60. package/docs/README.md +51 -0
  61. package/docs/bdo/README.md +161 -0
  62. package/docs/bdo/api_reference.md +281 -0
  63. package/docs/examples/bdo/create-product.md +69 -0
  64. package/docs/examples/bdo/edit-product-dialog.md +95 -0
  65. package/docs/examples/bdo/filtered-product-table.md +100 -0
  66. package/docs/examples/bdo/product-listing.md +73 -0
  67. package/docs/examples/bdo/supplier-dropdown.md +60 -0
  68. package/docs/examples/workflow/approve-leave-request.md +76 -0
  69. package/docs/examples/workflow/filtered-activity-table.md +101 -0
  70. package/docs/examples/workflow/my-pending-requests.md +90 -0
  71. package/docs/examples/workflow/start-new-workflow.md +47 -0
  72. package/docs/examples/workflow/submit-leave-request.md +72 -0
  73. package/docs/examples/workflow/workflow-progress.md +49 -0
  74. package/docs/useActivityForm/README.md +241 -0
  75. package/docs/useActivityForm/api_reference.md +279 -0
  76. package/docs/useActivityTable/README.md +263 -0
  77. package/docs/useActivityTable/api_reference.md +294 -0
  78. package/docs/useBDOForm/README.md +172 -0
  79. package/docs/useBDOForm/api_reference.md +244 -0
  80. package/docs/useBDOTable/README.md +242 -0
  81. package/docs/useBDOTable/api_reference.md +253 -0
  82. package/docs/useFilter/README.md +323 -0
  83. package/docs/useFilter/api_reference.md +228 -0
  84. package/docs/workflow/README.md +158 -0
  85. package/docs/workflow/api_reference.md +161 -0
  86. package/package.json +2 -2
  87. package/sdk/auth/authConfig.ts +1 -1
  88. package/sdk/auth/types.ts +1 -1
  89. package/sdk/bdo/core/BaseBdo.ts +2 -2
  90. package/sdk/components/hooks/useActivityForm/createActivityItemProxy.ts +1 -1
  91. package/sdk/components/hooks/useActivityForm/createActivityResolver.ts +1 -1
  92. package/sdk/components/hooks/useActivityForm/types.ts +8 -10
  93. package/sdk/components/hooks/useActivityForm/useActivityForm.ts +52 -265
  94. package/sdk/components/hooks/useActivityTable/types.ts +6 -5
  95. package/sdk/components/hooks/useActivityTable/useActivityTable.ts +14 -43
  96. package/sdk/components/hooks/{useForm → useBDOForm}/index.ts +4 -3
  97. package/sdk/components/hooks/useBDOForm/shared.ts +250 -0
  98. package/sdk/components/hooks/{useForm → useBDOForm}/types.ts +9 -9
  99. package/sdk/components/hooks/{useForm/useForm.ts → useBDOForm/useBDOForm.ts} +70 -96
  100. package/sdk/components/hooks/useBDOTable/types.ts +20 -12
  101. package/sdk/components/hooks/useBDOTable/useBDOTable.ts +12 -7
  102. package/sdk/form.ts +2 -2
  103. package/sdk/form.types.ts +4 -4
  104. package/sdk/table.types.ts +2 -0
  105. package/sdk/types/constants.ts +4 -4
  106. package/sdk/workflow/Activity.ts +68 -13
  107. package/sdk/workflow/client.ts +65 -25
  108. package/sdk/workflow/types.ts +10 -2
  109. package/dist/components/hooks/useForm/createItemProxy.d.ts.map +0 -1
  110. package/dist/components/hooks/useForm/createResolver.d.ts.map +0 -1
  111. package/dist/components/hooks/useForm/index.d.ts +0 -5
  112. package/dist/components/hooks/useForm/index.d.ts.map +0 -1
  113. package/dist/components/hooks/useForm/types.d.ts.map +0 -1
  114. package/dist/components/hooks/useForm/useForm.d.ts.map +0 -1
  115. package/dist/constants-QX2RX-wu.cjs +0 -1
  116. package/dist/createResolver-AIgUwoS6.cjs +0 -1
  117. package/dist/createResolver-ZHXQ7QMa.js +0 -1078
  118. package/docs/api.md +0 -95
  119. package/docs/bdo.md +0 -224
  120. package/docs/gaps.md +0 -410
  121. package/docs/useActivityTable.md +0 -481
  122. package/docs/useBDOTable.md +0 -317
  123. package/docs/useFilter.md +0 -188
  124. package/docs/useForm.md +0 -376
  125. package/docs/workflow.md +0 -818
  126. /package/dist/components/hooks/{useForm → useBDOForm}/createItemProxy.d.ts +0 -0
  127. /package/dist/components/hooks/{useForm → useBDOForm}/createResolver.d.ts +0 -0
  128. /package/docs/{useAuth.md → useAuth/README.md} +0 -0
  129. /package/sdk/components/hooks/{useForm → useBDOForm}/createItemProxy.ts +0 -0
  130. /package/sdk/components/hooks/{useForm → useBDOForm}/createResolver.ts +0 -0
@@ -187,7 +187,7 @@ export const QueryType = {
187
187
  * @example
188
188
  * import { FormOperation } from "@ram_28/kf-ai-sdk/form";
189
189
  *
190
- * const { handleSubmit } = useForm({
190
+ * const { handleSubmit } = useBDOForm({
191
191
  * source: "products",
192
192
  * operation: FormOperation.Create,
193
193
  * });
@@ -206,7 +206,7 @@ export const FormOperation = {
206
206
  * @example
207
207
  * import { InteractionMode } from "@ram_28/kf-ai-sdk/form";
208
208
  *
209
- * const { handleSubmit } = useForm({
209
+ * const { handleSubmit } = useBDOForm({
210
210
  * source: "products",
211
211
  * operation: "create",
212
212
  * interactionMode: InteractionMode.Interactive,
@@ -225,7 +225,7 @@ export const InteractionMode = {
225
225
  * @example
226
226
  * import { ValidationMode } from "@ram_28/kf-ai-sdk/form";
227
227
  *
228
- * const { handleSubmit } = useForm({
228
+ * const { handleSubmit } = useBDOForm({
229
229
  * source: "products",
230
230
  * operation: "create",
231
231
  * mode: ValidationMode.OnBlur,
@@ -351,7 +351,7 @@ export const AuthStatus = {
351
351
  */
352
352
  export const AuthProviderName = {
353
353
  Google: "google",
354
- Microsoft: "microsoft",
354
+ Azure: "azure",
355
355
  GitHub: "github",
356
356
  Custom: "custom",
357
357
  } as const;
@@ -12,8 +12,10 @@
12
12
  // Methods:
13
13
  // activity.getInProgressList() // list in-progress activity instances
14
14
  // activity.getCompletedList() // list completed activity instances
15
- // activity.inProgressMetrics() // get in-progress aggregated metrics
16
- // activity.completedMetrics() // get completed aggregated metrics
15
+ // activity.inProgressCount() // get in-progress count (returns number)
16
+ // activity.completedCount() // get completed count (returns number)
17
+ // activity.inProgressMetric(options) // get in-progress aggregated metrics
18
+ // activity.completedMetric(options) // get completed aggregated metrics
17
19
  // activity.getInstance(instanceId) // get typed ActivityInstance
18
20
 
19
21
  import { Workflow } from "./client";
@@ -21,12 +23,15 @@ import { createActivityInstance } from "./ActivityInstance";
21
23
  import type { ActivityInstanceType } from "./ActivityInstance";
22
24
  import type { ActivityInstanceFieldsType, ActivityOperations } from "./types";
23
25
  import type {
24
- ListResponseType,
25
26
  ListOptionsType,
26
- CountResponseType,
27
+ MetricOptionsType,
28
+ MetricResponseType,
27
29
  } from "../types/common";
28
30
  import { BaseField } from "../bdo/fields/BaseField";
29
31
 
32
+ /** Activity system fields treated as readonly on list results */
33
+ type ActivitySystemReadonlyType = Omit<ActivityInstanceFieldsType, '_id'>;
34
+
30
35
  // ============================================================
31
36
  // ABSTRACT BASE CLASS
32
37
  // ============================================================
@@ -125,31 +130,81 @@ export abstract class Activity<
125
130
 
126
131
  /**
127
132
  * List in-progress activity instances.
128
- * Accepts optional filter/sort/pagination options.
133
+ * Each row is wrapped in an ActivityInstance proxy with field accessors.
129
134
  */
130
- async getInProgressList(options?: ListOptionsType): Promise<ListResponseType<ActivityInstanceFieldsType & TEntity>> {
131
- return this._ops().inProgressList(options);
135
+ async getInProgressList(
136
+ options?: ListOptionsType,
137
+ ): Promise<ActivityInstanceType<
138
+ ActivityInstanceFieldsType & TEntity,
139
+ TEditable,
140
+ TReadonly & ActivitySystemReadonlyType
141
+ >[]> {
142
+ const ops = this._ops();
143
+ const response = await ops.inProgressList(options);
144
+ const fields = this._discoverFields();
145
+ return response.Data.map((data) =>
146
+ createActivityInstance<
147
+ ActivityInstanceFieldsType & TEntity,
148
+ TEditable,
149
+ TReadonly & ActivitySystemReadonlyType
150
+ >(ops, (data as any)._id, data as (ActivityInstanceFieldsType & TEntity), fields),
151
+ );
132
152
  }
133
153
 
134
154
  /**
135
155
  * List completed activity instances.
136
- * Accepts optional filter/sort/pagination options.
156
+ * Each row is wrapped in an ActivityInstance proxy with field accessors.
137
157
  */
138
- async getCompletedList(options?: ListOptionsType): Promise<ListResponseType<ActivityInstanceFieldsType & TEntity>> {
139
- return this._ops().completedList(options);
158
+ async getCompletedList(
159
+ options?: ListOptionsType,
160
+ ): Promise<ActivityInstanceType<
161
+ ActivityInstanceFieldsType & TEntity,
162
+ TEditable,
163
+ TReadonly & ActivitySystemReadonlyType
164
+ >[]> {
165
+ const ops = this._ops();
166
+ const response = await ops.completedList(options);
167
+ const fields = this._discoverFields();
168
+ return response.Data.map((data) =>
169
+ createActivityInstance<
170
+ ActivityInstanceFieldsType & TEntity,
171
+ TEditable,
172
+ TReadonly & ActivitySystemReadonlyType
173
+ >(ops, (data as any)._id, data as (ActivityInstanceFieldsType & TEntity), fields),
174
+ );
140
175
  }
141
176
 
142
177
  /**
143
178
  * Get count of in-progress activity instances.
179
+ * Returns a number (same as BDO count()).
144
180
  */
145
- async inProgressMetrics(options?: ListOptionsType): Promise<CountResponseType> {
146
- return this._ops().inProgressMetric(options);
181
+ async inProgressCount(options?: ListOptionsType): Promise<number> {
182
+ const response = await this._ops().inProgressCount(options);
183
+ return response.Count;
147
184
  }
148
185
 
149
186
  /**
150
187
  * Get count of completed activity instances.
188
+ * Returns a number (same as BDO count()).
189
+ */
190
+ async completedCount(options?: ListOptionsType): Promise<number> {
191
+ const response = await this._ops().completedCount(options);
192
+ return response.Count;
193
+ }
194
+
195
+ /**
196
+ * Get aggregated metrics for in-progress activity instances.
197
+ * Accepts MetricOptionsType (without Type) for custom aggregations (Sum, Avg, etc.).
198
+ */
199
+ async inProgressMetric(options: Omit<MetricOptionsType, 'Type'>): Promise<MetricResponseType> {
200
+ return this._ops().inProgressMetric(options);
201
+ }
202
+
203
+ /**
204
+ * Get aggregated metrics for completed activity instances.
205
+ * Accepts MetricOptionsType (without Type) for custom aggregations (Sum, Avg, etc.).
151
206
  */
152
- async completedMetrics(options?: ListOptionsType): Promise<CountResponseType> {
207
+ async completedMetric(options: Omit<MetricOptionsType, 'Type'>): Promise<MetricResponseType> {
153
208
  return this._ops().completedMetric(options);
154
209
  }
155
210
 
@@ -10,6 +10,8 @@ import type {
10
10
  ListResponseType,
11
11
  ListOptionsType,
12
12
  CountResponseType,
13
+ MetricOptionsType,
14
+ MetricResponseType,
13
15
  ReadResponseType,
14
16
  DraftResponseType,
15
17
  CreateUpdateResponseType,
@@ -43,8 +45,8 @@ import type {
43
45
  * // List operations (by status — filtering/pagination handled server-side)
44
46
  * await act.inProgressList();
45
47
  * await act.completedList();
46
- * await act.inProgressMetric();
47
- * await act.completedMetric();
48
+ * await act.inProgressCount();
49
+ * await act.completedCount();
48
50
  *
49
51
  * // Process progress (requires instance_id)
50
52
  * const progress = await wf.progress("bp_inst_123");
@@ -109,23 +111,12 @@ export class Workflow<T = any> {
109
111
 
110
112
  return {
111
113
  // ── List-level ────────────────────────────────────────────
112
- // TODO: Backend currently only supports GET for list/metric endpoints.
113
- // Once backend is updated to accept POST with Filter/Sort/Page body,
114
- // switch back to POST so useTable features (search, sort, pagination) work.
115
- //
116
- // POST version (waiting for backend):
117
- // async inProgressList(options?: ListOptionsType) {
118
- // return fetch(url + "/inprogress/list", {
119
- // method: "POST", headers: getDefaultHeaders(),
120
- // body: options ? JSON.stringify(options) : undefined,
121
- // });
122
- // }
123
- // (same pattern for completedList, inProgressMetric, completedMetric)
124
-
125
- async inProgressList(_options?: ListOptionsType): Promise<ListResponseType<ActivityInstanceFieldsType & T>> {
114
+
115
+ async inProgressList(options?: ListOptionsType): Promise<ListResponseType<ActivityInstanceFieldsType & T>> {
126
116
  const response = await fetch(`${getApiBaseUrl()}${base}/inprogress/list`, {
127
- method: "GET",
117
+ method: "POST",
128
118
  headers: getDefaultHeaders(),
119
+ body: options ? JSON.stringify(options) : undefined,
129
120
  });
130
121
 
131
122
  if (!response.ok) {
@@ -135,10 +126,11 @@ export class Workflow<T = any> {
135
126
  return response.json();
136
127
  },
137
128
 
138
- async completedList(_options?: ListOptionsType): Promise<ListResponseType<ActivityInstanceFieldsType & T>> {
129
+ async completedList(options?: ListOptionsType): Promise<ListResponseType<ActivityInstanceFieldsType & T>> {
139
130
  const response = await fetch(`${getApiBaseUrl()}${base}/completed/list`, {
140
- method: "GET",
131
+ method: "POST",
141
132
  headers: getDefaultHeaders(),
133
+ body: options ? JSON.stringify(options) : undefined,
142
134
  });
143
135
 
144
136
  if (!response.ok) {
@@ -148,27 +140,75 @@ export class Workflow<T = any> {
148
140
  return response.json();
149
141
  },
150
142
 
151
- async inProgressMetric(_options?: ListOptionsType): Promise<CountResponseType> {
143
+ async inProgressCount(options?: ListOptionsType): Promise<CountResponseType> {
144
+ const requestBody = {
145
+ Type: 'Metric',
146
+ GroupBy: [],
147
+ Metric: [{ Field: '_id', Type: 'Count' }],
148
+ ...(options?.Filter && { Filter: options.Filter }),
149
+ };
152
150
  const response = await fetch(`${getApiBaseUrl()}${base}/inprogress/metric`, {
153
- method: "GET",
151
+ method: 'POST',
154
152
  headers: getDefaultHeaders(),
153
+ body: JSON.stringify(requestBody),
155
154
  });
156
155
 
157
156
  if (!response.ok) {
158
- throw new Error(`Failed to get in-progress activity count: ${response.statusText}`);
157
+ throw new Error(`Failed to get in-progress count: ${response.statusText}`);
158
+ }
159
+
160
+ const result = await response.json();
161
+ const count = result.Data?.[0]?.count__id ?? 0;
162
+ return { Count: count };
163
+ },
164
+
165
+ async completedCount(options?: ListOptionsType): Promise<CountResponseType> {
166
+ const requestBody = {
167
+ Type: 'Metric',
168
+ GroupBy: [],
169
+ Metric: [{ Field: '_id', Type: 'Count' }],
170
+ ...(options?.Filter && { Filter: options.Filter }),
171
+ };
172
+ const response = await fetch(`${getApiBaseUrl()}${base}/completed/metric`, {
173
+ method: 'POST',
174
+ headers: getDefaultHeaders(),
175
+ body: JSON.stringify(requestBody),
176
+ });
177
+
178
+ if (!response.ok) {
179
+ throw new Error(`Failed to get completed count: ${response.statusText}`);
180
+ }
181
+
182
+ const result = await response.json();
183
+ const count = result.Data?.[0]?.count__id ?? 0;
184
+ return { Count: count };
185
+ },
186
+
187
+ async inProgressMetric(options: Omit<MetricOptionsType, 'Type'>): Promise<MetricResponseType> {
188
+ const requestBody: MetricOptionsType = { Type: 'Metric', ...options };
189
+ const response = await fetch(`${getApiBaseUrl()}${base}/inprogress/metric`, {
190
+ method: 'POST',
191
+ headers: getDefaultHeaders(),
192
+ body: JSON.stringify(requestBody),
193
+ });
194
+
195
+ if (!response.ok) {
196
+ throw new Error(`Failed to get in-progress metrics: ${response.statusText}`);
159
197
  }
160
198
 
161
199
  return response.json();
162
200
  },
163
201
 
164
- async completedMetric(_options?: ListOptionsType): Promise<CountResponseType> {
202
+ async completedMetric(options: Omit<MetricOptionsType, 'Type'>): Promise<MetricResponseType> {
203
+ const requestBody: MetricOptionsType = { Type: 'Metric', ...options };
165
204
  const response = await fetch(`${getApiBaseUrl()}${base}/completed/metric`, {
166
- method: "GET",
205
+ method: 'POST',
167
206
  headers: getDefaultHeaders(),
207
+ body: JSON.stringify(requestBody),
168
208
  });
169
209
 
170
210
  if (!response.ok) {
171
- throw new Error(`Failed to get completed activity count: ${response.statusText}`);
211
+ throw new Error(`Failed to get completed metrics: ${response.statusText}`);
172
212
  }
173
213
 
174
214
  return response.json();
@@ -6,6 +6,8 @@ import type {
6
6
  ListResponseType,
7
7
  ListOptionsType,
8
8
  CountResponseType,
9
+ MetricOptionsType,
10
+ MetricResponseType,
9
11
  DraftResponseType,
10
12
  CreateUpdateResponseType,
11
13
  } from "../types/common";
@@ -70,10 +72,16 @@ export interface ActivityOperations<T> {
70
72
  completedList(options?: ListOptionsType): Promise<ListResponseType<ActivityInstanceFieldsType & T>>;
71
73
 
72
74
  /** Get in-progress activity count (POST .../inprogress/metric) */
73
- inProgressMetric(options?: ListOptionsType): Promise<CountResponseType>;
75
+ inProgressCount(options?: ListOptionsType): Promise<CountResponseType>;
74
76
 
75
77
  /** Get completed activity count (POST .../completed/metric) */
76
- completedMetric(options?: ListOptionsType): Promise<CountResponseType>;
78
+ completedCount(options?: ListOptionsType): Promise<CountResponseType>;
79
+
80
+ /** Get in-progress aggregated metrics (POST .../inprogress/metric) */
81
+ inProgressMetric(options: Omit<MetricOptionsType, 'Type'>): Promise<MetricResponseType>;
82
+
83
+ /** Get completed aggregated metrics (POST .../completed/metric) */
84
+ completedMetric(options: Omit<MetricOptionsType, 'Type'>): Promise<MetricResponseType>;
77
85
 
78
86
  // ── Instance-level ──────────────────────────────────────────
79
87
 
@@ -1 +0,0 @@
1
- {"version":3,"file":"createItemProxy.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useForm/createItemProxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAQ,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAQ5C,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EAGpB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC9D,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,GAC/B,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAiV9D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createResolver.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useForm/createResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAsCnG;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC7D,GAAG,EAAE,CAAC,EACN,eAAe,CAAC,EAAE;IAAE,0BAA0B,CAAC,EAAE,OAAO,CAAA;CAAE,IAG5C,QAAQ,WAAW,EAAE,UAAU,GAAG,EAAE,SAAS,GAAG;;;;;;cACvB,MAAM;iBAAW,MAAM;;GAkF/D"}
@@ -1,5 +0,0 @@
1
- export { useForm } from "./useForm";
2
- export { createResolver } from "./createResolver";
3
- export { createItemProxy } from "./createItemProxy";
4
- export type { UseFormOptionsType, UseFormReturnType, FormItemType, EditableFormFieldAccessorType, ReadonlyFormFieldAccessorType, FormRegisterType, HandleSubmitType, ExtractEditableType, ExtractReadonlyType, AllFieldsType, CreatableBdo, UpdatableBdo, FormBdo, } from "./types";
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useForm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,6BAA6B,EAC7B,6BAA6B,EAC7B,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,OAAO,GACR,MAAM,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useForm/types.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useForm.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useForm/useForm.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EAIlB,MAAM,SAAS,CAAC;AAsCjB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACtD,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC7B,iBAAiB,CAAC,CAAC,CAAC,CAmRtB"}
@@ -1 +0,0 @@
1
- "use strict";const t={EQ:"EQ",NE:"NE",GT:"GT",GTE:"GTE",LT:"LT",LTE:"LTE",Between:"Between",NotBetween:"NotBetween",IN:"IN",NIN:"NIN",Empty:"Empty",NotEmpty:"NotEmpty",Contains:"Contains",NotContains:"NotContains",MinLength:"MinLength",MaxLength:"MaxLength",Length:"Length"},e={And:"And",Or:"Or",Not:"Not"},n={Constant:"Constant",BDOField:"BDOField",AppVariable:"AppVariable"},o={ASC:"ASC",DESC:"DESC"},i={Sum:"Sum",Avg:"Avg",Count:"Count",Max:"Max",Min:"Min",DistinctCount:"DistinctCount",BlankCount:"BlankCount",NotBlankCount:"NotBlankCount",Concat:"Concat",DistinctConcat:"DistinctConcat"},a={List:"List",Metric:"Metric",Pivot:"Pivot"},c={Create:"create",Update:"update"},r={Interactive:"interactive",NonInteractive:"non-interactive"},s={OnBlur:"onBlur",OnChange:"onChange",OnSubmit:"onSubmit",OnTouched:"onTouched",All:"all"},d={Loading:"loading",Authenticated:"authenticated",Unauthenticated:"unauthenticated"},u={Google:"google",Microsoft:"microsoft",GitHub:"github",Custom:"custom"},C={Id:"_id",CreatedAt:"_created_at",ModifiedAt:"_modified_at",CreatedBy:"_created_by",ModifiedBy:"_modified_by",Version:"_version",MergeVersion:"_m_version"},E={GET:"GET",POST:"POST",PATCH:"PATCH",DELETE:"DELETE"},p={SEARCH_DEBOUNCE_MS:300,PAGE_SIZE:10,PAGE:1,SEARCH_MAX_LENGTH:255},T={Date:"$__d__",DateTime:"$__dt__"},l={Success:"success"};exports.AuthProviderName=u;exports.AuthStatus=d;exports.ConditionOperator=t;exports.DateEncodingKey=T;exports.Defaults=p;exports.DeleteStatus=l;exports.FormOperation=c;exports.GroupOperator=e;exports.HttpMethod=E;exports.InteractionMode=r;exports.MetricType=i;exports.QueryType=a;exports.RHSType=n;exports.SortDirection=o;exports.SystemField=C;exports.ValidationMode=s;
@@ -1 +0,0 @@
1
- "use strict";const B=require("react");var he=e=>e.type==="checkbox",se=e=>e instanceof Date,P=e=>e==null;const rt=e=>typeof e=="object";var S=e=>!P(e)&&!Array.isArray(e)&&rt(e)&&!se(e),Ft=e=>S(e)&&e.target?he(e.target)?e.target.checked:e.target.value:e,mt=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,At=(e,s)=>e.has(mt(s)),xt=e=>{const s=e.constructor&&e.constructor.prototype;return S(s)&&s.hasOwnProperty("isPrototypeOf")},Se=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function C(e){if(e instanceof Date)return new Date(e);const s=typeof FileList<"u"&&e instanceof FileList;if(Se&&(e instanceof Blob||s))return e;const r=Array.isArray(e);if(!r&&!(S(e)&&xt(e)))return e;const a=r?[]:Object.create(Object.getPrototypeOf(e));for(const u in e)Object.prototype.hasOwnProperty.call(e,u)&&(a[u]=C(e[u]));return a}var _e=e=>/^\w*$/.test(e),D=e=>e===void 0,Oe=e=>Array.isArray(e)?e.filter(Boolean):[],Te=e=>Oe(e.replace(/["|']|\]/g,"").split(/\.|\[/)),h=(e,s,r)=>{if(!s||!S(e))return r;const a=(_e(s)?[s]:Te(s)).reduce((u,n)=>P(u)?u:u[n],e);return D(a)||a===e?D(e[s])?r:e[s]:a},z=e=>typeof e=="boolean",j=e=>typeof e=="function",x=(e,s,r)=>{let a=-1;const u=_e(s)?[s]:Te(s),n=u.length,f=n-1;for(;++a<n;){const c=u[a];let R=r;if(a!==f){const k=e[c];R=S(k)||Array.isArray(k)?k:isNaN(+u[a+1])?{}:[]}if(c==="__proto__"||c==="constructor"||c==="prototype")return;e[c]=R,e=e[c]}};const He={BLUR:"blur",FOCUS_OUT:"focusout"},K={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},Z={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},wt=B.createContext(null);wt.displayName="HookFormContext";var Dt=(e,s,r,a=!0)=>{const u={defaultValues:s._defaultValues};for(const n in e)Object.defineProperty(u,n,{get:()=>{const f=n;return s._proxyFormState[f]!==K.all&&(s._proxyFormState[f]=!a||K.all),e[f]}});return u};const kt=typeof window<"u"?B.useLayoutEffect:B.useEffect;var q=e=>typeof e=="string",Et=(e,s,r,a,u)=>q(e)?(a&&s.watch.add(e),h(r,e,u)):Array.isArray(e)?e.map(n=>(a&&s.watch.add(n),h(r,n))):(a&&(s.watchAll=!0),r),ke=e=>P(e)||!rt(e);function ee(e,s,r=new WeakSet){if(ke(e)||ke(s))return Object.is(e,s);if(se(e)&&se(s))return Object.is(e.getTime(),s.getTime());const a=Object.keys(e),u=Object.keys(s);if(a.length!==u.length)return!1;if(r.has(e)||r.has(s))return!0;r.add(e),r.add(s);for(const n of a){const f=e[n];if(!u.includes(n))return!1;if(n!=="ref"){const c=s[n];if(se(f)&&se(c)||S(f)&&S(c)||Array.isArray(f)&&Array.isArray(c)?!ee(f,c,r):!Object.is(f,c))return!1}}return!0}var St=(e,s,r,a,u)=>s?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[a]:u||!0}}:{},ce=e=>Array.isArray(e)?e:[e],je=()=>{let e=[];return{get observers(){return e},next:u=>{for(const n of e)n.next&&n.next(u)},subscribe:u=>(e.push(u),{unsubscribe:()=>{e=e.filter(n=>n!==u)}}),unsubscribe:()=>{e=[]}}};function st(e,s){const r={};for(const a in e)if(e.hasOwnProperty(a)){const u=e[a],n=s[a];if(u&&S(u)&&n){const f=st(u,n);S(f)&&(r[a]=f)}else e[a]&&(r[a]=n)}return r}var M=e=>S(e)&&!Object.keys(e).length,Ce=e=>e.type==="file",be=e=>{if(!Se)return!1;const s=e?e.ownerDocument:0;return e instanceof(s&&s.defaultView?s.defaultView.HTMLElement:HTMLElement)},it=e=>e.type==="select-multiple",Re=e=>e.type==="radio",Ot=e=>Re(e)||he(e),De=e=>be(e)&&e.isConnected;function Tt(e,s){const r=s.slice(0,-1).length;let a=0;for(;a<r;)e=D(e)?a++:e[s[a++]];return e}function Ct(e){for(const s in e)if(e.hasOwnProperty(s)&&!D(e[s]))return!1;return!0}function E(e,s){const r=Array.isArray(s)?s:_e(s)?[s]:Te(s),a=r.length===1?e:Tt(e,r),u=r.length-1,n=r[u];return a&&delete a[n],u!==0&&(S(a)&&M(a)||Array.isArray(a)&&Ct(a))&&E(e,r.slice(0,-1)),e}var Rt=e=>{for(const s in e)if(j(e[s]))return!0;return!1};function at(e){return Array.isArray(e)||S(e)&&!Rt(e)}function Ee(e,s={}){for(const r in e){const a=e[r];at(a)?(s[r]=Array.isArray(a)?[]:{},Ee(a,s[r])):D(a)||(s[r]=!0)}return s}function ne(e,s,r){r||(r=Ee(s));for(const a in e){const u=e[a];if(at(u))D(s)||ke(r[a])?r[a]=Ee(u,Array.isArray(u)?[]:{}):ne(u,P(s)?{}:s[a],r[a]);else{const n=s[a];r[a]=!ee(u,n)}}return r}const Ke={value:!1,isValid:!1},ze={value:!0,isValid:!0};var nt=e=>{if(Array.isArray(e)){if(e.length>1){const s=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:s,isValid:!!s.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!D(e[0].attributes.value)?D(e[0].value)||e[0].value===""?ze:{value:e[0].value,isValid:!0}:ze:Ke}return Ke},lt=(e,{valueAsNumber:s,valueAsDate:r,setValueAs:a})=>D(e)?e:s?e===""?NaN:e&&+e:r&&q(e)?new Date(e):a?a(e):e;const Ye={isValid:!1,value:null};var ut=e=>Array.isArray(e)?e.reduce((s,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:s,Ye):Ye;function Je(e){const s=e.ref;return Ce(s)?s.files:Re(s)?ut(e.refs).value:it(s)?[...s.selectedOptions].map(({value:r})=>r):he(s)?nt(e.refs).value:lt(D(s.value)?e.ref.value:s.value,e)}var Lt=(e,s,r,a)=>{const u={};for(const n of e){const f=h(s,n);f&&x(u,n,f._f)}return{criteriaMode:r,names:[...e],fields:u,shouldUseNativeValidation:a}},Ve=e=>e instanceof RegExp,de=e=>D(e)?e:Ve(e)?e.source:S(e)?Ve(e.value)?e.value.source:e.value:e,Qe=e=>({isOnSubmit:!e||e===K.onSubmit,isOnBlur:e===K.onBlur,isOnChange:e===K.onChange,isOnAll:e===K.all,isOnTouch:e===K.onTouched});const Xe="AsyncFunction";var Ut=e=>!!e&&!!e.validate&&!!(j(e.validate)&&e.validate.constructor.name===Xe||S(e.validate)&&Object.values(e.validate).find(s=>s.constructor.name===Xe)),Mt=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),Ze=(e,s,r)=>!r&&(s.watchAll||s.watch.has(e)||[...s.watch].some(a=>e.startsWith(a)&&/^\.\w+/.test(e.slice(a.length))));const ye=(e,s,r,a)=>{for(const u of r||Object.keys(e)){const n=h(e,u);if(n){const{_f:f,...c}=n;if(f){if(f.refs&&f.refs[0]&&s(f.refs[0],u)&&!a)return!0;if(f.ref&&s(f.ref,f.name)&&!a)return!0;if(ye(c,s))break}else if(S(c)&&ye(c,s))break}}};function Ge(e,s,r){const a=h(e,r);if(a||_e(r))return{error:a,name:r};const u=r.split(".");for(;u.length;){const n=u.join("."),f=h(s,n),c=h(e,n);if(f&&!Array.isArray(f)&&r!==n)return{name:r};if(c&&c.type)return{name:n,error:c};if(c&&c.root&&c.root.type)return{name:`${n}.root`,error:c.root};u.pop()}return{name:r}}var Pt=(e,s,r,a)=>{r(e);const{name:u,...n}=e;return M(n)||Object.keys(n).length>=Object.keys(s).length||Object.keys(n).find(f=>s[f]===(!a||K.all))},It=(e,s,r)=>!e||!s||e===s||ce(e).some(a=>a&&(r?a===s:a.startsWith(s)||s.startsWith(a))),Nt=(e,s,r,a,u)=>u.isOnAll?!1:!r&&u.isOnTouch?!(s||e):(r?a.isOnBlur:u.isOnBlur)?!e:(r?a.isOnChange:u.isOnChange)?e:!0,Bt=(e,s)=>!Oe(h(e,s)).length&&E(e,s),qt=(e,s,r)=>{const a=ce(h(e,r));return x(a,"root",s[r]),x(e,r,a),e};function et(e,s,r="validate"){if(q(e)||Array.isArray(e)&&e.every(q)||z(e)&&!e)return{type:r,message:q(e)?e:"",ref:s}}var ae=e=>S(e)&&!Ve(e)?e:{value:e,message:""},tt=async(e,s,r,a,u,n)=>{const{ref:f,refs:c,required:R,maxLength:k,minLength:W,min:b,max:w,pattern:v,validate:Y,name:I,valueAsNumber:J,mount:p}=e._f,_=h(r,I);if(!p||s.has(I))return{};const Q=c?c[0]:f,X=V=>{u&&Q.reportValidity&&(Q.setCustomValidity(z(V)?"":V||""),Q.reportValidity())},O={},le=Re(f),ge=he(f),te=le||ge,ie=(J||Ce(f))&&D(f.value)&&D(_)||be(f)&&f.value===""||_===""||Array.isArray(_)&&!_.length,$=St.bind(null,I,a,O),ve=(V,F,T,L=Z.maxLength,H=Z.minLength)=>{const N=V?F:T;O[I]={type:V?L:H,message:N,ref:f,...$(V?L:H,N)}};if(n?!Array.isArray(_)||!_.length:R&&(!te&&(ie||P(_))||z(_)&&!_||ge&&!nt(c).isValid||le&&!ut(c).isValid)){const{value:V,message:F}=q(R)?{value:!!R,message:R}:ae(R);if(V&&(O[I]={type:Z.required,message:F,ref:Q,...$(Z.required,F)},!a))return X(F),O}if(!ie&&(!P(b)||!P(w))){let V,F;const T=ae(w),L=ae(b);if(!P(_)&&!isNaN(_)){const H=f.valueAsNumber||_&&+_;P(T.value)||(V=H>T.value),P(L.value)||(F=H<L.value)}else{const H=f.valueAsDate||new Date(_),N=fe=>new Date(new Date().toDateString()+" "+fe),ue=f.type=="time",oe=f.type=="week";q(T.value)&&_&&(V=ue?N(_)>N(T.value):oe?_>T.value:H>new Date(T.value)),q(L.value)&&_&&(F=ue?N(_)<N(L.value):oe?_<L.value:H<new Date(L.value))}if((V||F)&&(ve(!!V,T.message,L.message,Z.max,Z.min),!a))return X(O[I].message),O}if((k||W)&&!ie&&(q(_)||n&&Array.isArray(_))){const V=ae(k),F=ae(W),T=!P(V.value)&&_.length>+V.value,L=!P(F.value)&&_.length<+F.value;if((T||L)&&(ve(T,V.message,F.message),!a))return X(O[I].message),O}if(v&&!ie&&q(_)){const{value:V,message:F}=ae(v);if(Ve(V)&&!_.match(V)&&(O[I]={type:Z.pattern,message:F,ref:f,...$(Z.pattern,F)},!a))return X(F),O}if(Y){if(j(Y)){const V=await Y(_,r),F=et(V,Q);if(F&&(O[I]={...F,...$(Z.validate,F.message)},!a))return X(F.message),O}else if(S(Y)){let V={};for(const F in Y){if(!M(V)&&!a)break;const T=et(await Y[F](_,r),Q,F);T&&(V={...T,...$(F,T.message)},X(T.message),a&&(O[I]=V))}if(!M(V)&&(O[I]={ref:Q,...V},!a))return O}}return X(!0),O};const pt={mode:K.onSubmit,reValidateMode:K.onChange,shouldFocusError:!0};function $t(e={}){let s={...pt,...e},r={submitCount:0,isDirty:!1,isReady:!1,isLoading:j(s.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:s.errors||{},disabled:s.disabled||!1},a={},u=S(s.defaultValues)||S(s.values)?C(s.defaultValues||s.values)||{}:{},n=s.shouldUnregister?{}:C(u),f={action:!1,mount:!1,watch:!1,keepIsValid:!1},c={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},R,k=0;const W={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},b={...W};let w={...b};const v={array:je(),state:je()},Y=s.criteriaMode===K.all,I=t=>i=>{clearTimeout(k),k=setTimeout(t,i)},J=async t=>{if(!f.keepIsValid&&!s.disabled&&(b.isValid||w.isValid||t)){let i;s.resolver?(i=M((await te()).errors),p()):i=await $(a,!0),i!==r.isValid&&v.state.next({isValid:i})}},p=(t,i)=>{!s.disabled&&(b.isValidating||b.validatingFields||w.isValidating||w.validatingFields)&&((t||Array.from(c.mount)).forEach(l=>{l&&(i?x(r.validatingFields,l,i):E(r.validatingFields,l))}),v.state.next({validatingFields:r.validatingFields,isValidating:!M(r.validatingFields)}))},_=(t,i=[],l,y,d=!0,o=!0)=>{if(y&&l&&!s.disabled){if(f.action=!0,o&&Array.isArray(h(a,t))){const g=l(h(a,t),y.argA,y.argB);d&&x(a,t,g)}if(o&&Array.isArray(h(r.errors,t))){const g=l(h(r.errors,t),y.argA,y.argB);d&&x(r.errors,t,g),Bt(r.errors,t)}if((b.touchedFields||w.touchedFields)&&o&&Array.isArray(h(r.touchedFields,t))){const g=l(h(r.touchedFields,t),y.argA,y.argB);d&&x(r.touchedFields,t,g)}(b.dirtyFields||w.dirtyFields)&&(r.dirtyFields=ne(u,n)),v.state.next({name:t,isDirty:V(t,i),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else x(n,t,i)},Q=(t,i)=>{x(r.errors,t,i),v.state.next({errors:r.errors})},X=t=>{r.errors=t,v.state.next({errors:r.errors,isValid:!1})},O=(t,i,l,y)=>{const d=h(a,t);if(d){const o=h(n,t,D(l)?h(u,t):l);D(o)||y&&y.defaultChecked||i?x(n,t,i?o:Je(d._f)):L(t,o),f.mount&&!f.action&&J()}},le=(t,i,l,y,d)=>{let o=!1,g=!1;const m={name:t};if(!s.disabled){if(!l||y){(b.isDirty||w.isDirty)&&(g=r.isDirty,r.isDirty=m.isDirty=V(),o=g!==m.isDirty);const A=ee(h(u,t),i);g=!!h(r.dirtyFields,t),A?E(r.dirtyFields,t):x(r.dirtyFields,t,!0),m.dirtyFields=r.dirtyFields,o=o||(b.dirtyFields||w.dirtyFields)&&g!==!A}if(l){const A=h(r.touchedFields,t);A||(x(r.touchedFields,t,l),m.touchedFields=r.touchedFields,o=o||(b.touchedFields||w.touchedFields)&&A!==l)}o&&d&&v.state.next(m)}return o?m:{}},ge=(t,i,l,y)=>{const d=h(r.errors,t),o=(b.isValid||w.isValid)&&z(i)&&r.isValid!==i;if(s.delayError&&l?(R=I(()=>Q(t,l)),R(s.delayError)):(clearTimeout(k),R=null,l?x(r.errors,t,l):E(r.errors,t)),(l?!ee(d,l):d)||!M(y)||o){const g={...y,...o&&z(i)?{isValid:i}:{},errors:r.errors,name:t};r={...r,...g},v.state.next(g)}},te=async t=>(p(t,!0),await s.resolver(n,s.context,Lt(t||c.mount,a,s.criteriaMode,s.shouldUseNativeValidation))),ie=async t=>{const{errors:i}=await te(t);if(p(t),t)for(const l of t){const y=h(i,l);y?x(r.errors,l,y):E(r.errors,l)}else r.errors=i;return i},$=async(t,i,l={valid:!0})=>{for(const y in t){const d=t[y];if(d){const{_f:o,...g}=d;if(o){const m=c.array.has(o.name),A=d._f&&Ut(d._f);A&&b.validatingFields&&p([o.name],!0);const U=await tt(d,c.disabled,n,Y,s.shouldUseNativeValidation&&!i,m);if(A&&b.validatingFields&&p([o.name]),U[o.name]&&(l.valid=!1,i||e.shouldUseNativeValidation))break;!i&&(h(U,o.name)?m?qt(r.errors,U,o.name):x(r.errors,o.name,U[o.name]):E(r.errors,o.name))}!M(g)&&await $(g,i,l)}}return l.valid},ve=()=>{for(const t of c.unMount){const i=h(a,t);i&&(i._f.refs?i._f.refs.every(l=>!De(l)):!De(i._f.ref))&&Fe(t)}c.unMount=new Set},V=(t,i)=>!s.disabled&&(t&&i&&x(n,t,i),!ee(Le(),u)),F=(t,i,l)=>Et(t,c,{...f.mount?n:D(i)?u:q(t)?{[t]:i}:i},l,i),T=t=>Oe(h(f.mount?n:u,t,s.shouldUnregister?h(u,t,[]):[])),L=(t,i,l={})=>{const y=h(a,t);let d=i;if(y){const o=y._f;o&&(!o.disabled&&x(n,t,lt(i,o)),d=be(o.ref)&&P(i)?"":i,it(o.ref)?[...o.ref.options].forEach(g=>g.selected=d.includes(g.value)):o.refs?he(o.ref)?o.refs.forEach(g=>{(!g.defaultChecked||!g.disabled)&&(Array.isArray(d)?g.checked=!!d.find(m=>m===g.value):g.checked=d===g.value||!!d)}):o.refs.forEach(g=>g.checked=g.value===d):Ce(o.ref)?o.ref.value="":(o.ref.value=d,o.ref.type||v.state.next({name:t,values:C(n)})))}(l.shouldDirty||l.shouldTouch)&&le(t,d,l.shouldTouch,l.shouldDirty,!0),l.shouldValidate&&fe(t)},H=(t,i,l)=>{for(const y in i){if(!i.hasOwnProperty(y))return;const d=i[y],o=t+"."+y,g=h(a,o);(c.array.has(t)||S(d)||g&&!g._f)&&!se(d)?H(o,d,l):L(o,d,l)}},N=(t,i,l={})=>{const y=h(a,t),d=c.array.has(t),o=C(i);x(n,t,o),d?(v.array.next({name:t,values:C(n)}),(b.isDirty||b.dirtyFields||w.isDirty||w.dirtyFields)&&l.shouldDirty&&v.state.next({name:t,dirtyFields:ne(u,n),isDirty:V(t,o)})):y&&!y._f&&!P(o)?H(t,o,l):L(t,o,l),Ze(t,c)?v.state.next({...r,name:t,values:C(n)}):v.state.next({name:f.mount?t:void 0,values:C(n)})},ue=async t=>{f.mount=!0;const i=t.target;let l=i.name,y=!0;const d=h(a,l),o=A=>{y=Number.isNaN(A)||se(A)&&isNaN(A.getTime())||ee(A,h(n,l,A))},g=Qe(s.mode),m=Qe(s.reValidateMode);if(d){let A,U;const re=i.type?Je(d._f):Ft(t),G=t.type===He.BLUR||t.type===He.FOCUS_OUT,bt=!Mt(d._f)&&!s.resolver&&!h(r.errors,l)&&!d._f.deps||Nt(G,h(r.touchedFields,l),r.isSubmitted,m,g),xe=Ze(l,c,G);x(n,l,re),G?(!i||!i.readOnly)&&(d._f.onBlur&&d._f.onBlur(t),R&&R(0)):d._f.onChange&&d._f.onChange(t);const we=le(l,re,G),Vt=!M(we)||xe;if(!G&&v.state.next({name:l,type:t.type,values:C(n)}),bt)return(b.isValid||w.isValid)&&(s.mode==="onBlur"?G&&J():G||J()),Vt&&v.state.next({name:l,...xe?{}:we});if(!G&&xe&&v.state.next({...r}),s.resolver){const{errors:$e}=await te([l]);if(p([l]),o(re),y){const _t=Ge(r.errors,a,l),We=Ge($e,a,_t.name||l);A=We.error,l=We.name,U=M($e)}}else p([l],!0),A=(await tt(d,c.disabled,n,Y,s.shouldUseNativeValidation))[l],p([l]),o(re),y&&(A?U=!1:(b.isValid||w.isValid)&&(U=await $(a,!0)));y&&(d._f.deps&&(!Array.isArray(d._f.deps)||d._f.deps.length>0)&&fe(d._f.deps),ge(l,U,A,we))}},oe=(t,i)=>{if(h(r.errors,i)&&t.focus)return t.focus(),1},fe=async(t,i={})=>{let l,y;const d=ce(t);if(s.resolver){const o=await ie(D(t)?t:d);l=M(o),y=t?!d.some(g=>h(o,g)):l}else t?(y=(await Promise.all(d.map(async o=>{const g=h(a,o);return await $(g&&g._f?{[o]:g}:g)}))).every(Boolean),!(!y&&!r.isValid)&&J()):y=l=await $(a);return v.state.next({...!q(t)||(b.isValid||w.isValid)&&l!==r.isValid?{}:{name:t},...s.resolver||!t?{isValid:l}:{},errors:r.errors}),i.shouldFocus&&!y&&ye(a,oe,t?d:c.mount),y},Le=(t,i)=>{let l={...f.mount?n:u};return i&&(l=st(i.dirtyFields?r.dirtyFields:r.touchedFields,l)),D(t)?l:q(t)?h(l,t):t.map(y=>h(l,y))},Ue=(t,i)=>({invalid:!!h((i||r).errors,t),isDirty:!!h((i||r).dirtyFields,t),error:h((i||r).errors,t),isValidating:!!h(r.validatingFields,t),isTouched:!!h((i||r).touchedFields,t)}),ft=t=>{t&&ce(t).forEach(i=>E(r.errors,i)),v.state.next({errors:t?r.errors:{}})},Me=(t,i,l)=>{const y=(h(a,t,{_f:{}})._f||{}).ref,d=h(r.errors,t)||{},{ref:o,message:g,type:m,...A}=d;x(r.errors,t,{...A,...i,ref:y}),v.state.next({name:t,errors:r.errors,isValid:!1}),l&&l.shouldFocus&&y&&y.focus&&y.focus()},dt=(t,i)=>j(t)?v.state.subscribe({next:l=>"values"in l&&t(F(void 0,i),l)}):F(t,i,!0),Pe=t=>v.state.subscribe({next:i=>{It(t.name,i.name,t.exact)&&Pt(i,t.formState||b,vt,t.reRenderRoot)&&t.callback({values:{...n},...r,...i,defaultValues:u})}}).unsubscribe,ct=t=>(f.mount=!0,w={...w,...t.formState},Pe({...t,formState:{...W,...t.formState}})),Fe=(t,i={})=>{for(const l of t?ce(t):c.mount)c.mount.delete(l),c.array.delete(l),i.keepValue||(E(a,l),E(n,l)),!i.keepError&&E(r.errors,l),!i.keepDirty&&E(r.dirtyFields,l),!i.keepTouched&&E(r.touchedFields,l),!i.keepIsValidating&&E(r.validatingFields,l),!s.shouldUnregister&&!i.keepDefaultValue&&E(u,l);v.state.next({values:C(n)}),v.state.next({...r,...i.keepDirty?{isDirty:V()}:{}}),!i.keepIsValid&&J()},Ie=({disabled:t,name:i})=>{(z(t)&&f.mount||t||c.disabled.has(i))&&(t?c.disabled.add(i):c.disabled.delete(i))},me=(t,i={})=>{let l=h(a,t);const y=z(i.disabled)||z(s.disabled);return x(a,t,{...l||{},_f:{...l&&l._f?l._f:{ref:{name:t}},name:t,mount:!0,...i}}),c.mount.add(t),l?Ie({disabled:z(i.disabled)?i.disabled:s.disabled,name:t}):O(t,!0,i.value),{...y?{disabled:i.disabled||s.disabled}:{},...s.progressive?{required:!!i.required,min:de(i.min),max:de(i.max),minLength:de(i.minLength),maxLength:de(i.maxLength),pattern:de(i.pattern)}:{},name:t,onChange:ue,onBlur:ue,ref:d=>{if(d){me(t,i),l=h(a,t);const o=D(d.value)&&d.querySelectorAll&&d.querySelectorAll("input,select,textarea")[0]||d,g=Ot(o),m=l._f.refs||[];if(g?m.find(A=>A===o):o===l._f.ref)return;x(a,t,{_f:{...l._f,...g?{refs:[...m.filter(De),o,...Array.isArray(h(u,t))?[{}]:[]],ref:{type:o.type,name:t}}:{ref:o}}}),O(t,!1,void 0,o)}else l=h(a,t,{}),l._f&&(l._f.mount=!1),(s.shouldUnregister||i.shouldUnregister)&&!(At(c.array,t)&&f.action)&&c.unMount.add(t)}}},Ae=()=>s.shouldFocusError&&ye(a,oe,c.mount),yt=t=>{z(t)&&(v.state.next({disabled:t}),ye(a,(i,l)=>{const y=h(a,l);y&&(i.disabled=y._f.disabled||t,Array.isArray(y._f.refs)&&y._f.refs.forEach(d=>{d.disabled=y._f.disabled||t}))},0,!1))},Ne=(t,i)=>async l=>{let y;l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let d=C(n);if(v.state.next({isSubmitting:!0}),s.resolver){const{errors:o,values:g}=await te();p(),r.errors=o,d=C(g)}else await $(a);if(c.disabled.size)for(const o of c.disabled)E(d,o);if(E(r.errors,"root"),M(r.errors)){v.state.next({errors:{}});try{await t(d,l)}catch(o){y=o}}else i&&await i({...r.errors},l),Ae(),setTimeout(Ae);if(v.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:M(r.errors)&&!y,submitCount:r.submitCount+1,errors:r.errors}),y)throw y},ht=(t,i={})=>{h(a,t)&&(D(i.defaultValue)?N(t,C(h(u,t))):(N(t,i.defaultValue),x(u,t,C(i.defaultValue))),i.keepTouched||E(r.touchedFields,t),i.keepDirty||(E(r.dirtyFields,t),r.isDirty=i.defaultValue?V(t,C(h(u,t))):V()),i.keepError||(E(r.errors,t),b.isValid&&J()),v.state.next({...r}))},Be=(t,i={})=>{const l=t?C(t):u,y=C(l),d=M(t),o=d?u:y;if(i.keepDefaultValues||(u=l),!i.keepValues){if(i.keepDirtyValues){const g=new Set([...c.mount,...Object.keys(ne(u,n))]);for(const m of Array.from(g)){const A=h(r.dirtyFields,m),U=h(n,m),re=h(o,m);A&&!D(U)?x(o,m,U):!A&&!D(re)&&N(m,re)}}else{if(Se&&D(t))for(const g of c.mount){const m=h(a,g);if(m&&m._f){const A=Array.isArray(m._f.refs)?m._f.refs[0]:m._f.ref;if(be(A)){const U=A.closest("form");if(U){U.reset();break}}}}if(i.keepFieldsRef)for(const g of c.mount)N(g,h(o,g));else a={}}n=s.shouldUnregister?i.keepDefaultValues?C(u):{}:C(o),v.array.next({values:{...o}}),v.state.next({values:{...o}})}c={mount:i.keepDirtyValues?c.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},f.mount=!b.isValid||!!i.keepIsValid||!!i.keepDirtyValues||!s.shouldUnregister&&!M(o),f.watch=!!s.shouldUnregister,f.keepIsValid=!!i.keepIsValid,f.action=!1,i.keepErrors||(r.errors={}),v.state.next({submitCount:i.keepSubmitCount?r.submitCount:0,isDirty:d?!1:i.keepDirty?r.isDirty:!!(i.keepDefaultValues&&!ee(t,u)),isSubmitted:i.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:d?{}:i.keepDirtyValues?i.keepDefaultValues&&n?ne(u,n):r.dirtyFields:i.keepDefaultValues&&t?ne(u,t):i.keepDirty?r.dirtyFields:{},touchedFields:i.keepTouched?r.touchedFields:{},errors:i.keepErrors?r.errors:{},isSubmitSuccessful:i.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:u})},qe=(t,i)=>Be(j(t)?t(n):t,{...s.resetOptions,...i}),gt=(t,i={})=>{const l=h(a,t),y=l&&l._f;if(y){const d=y.refs?y.refs[0]:y.ref;d.focus&&setTimeout(()=>{d.focus(),i.shouldSelect&&j(d.select)&&d.select()})}},vt=t=>{r={...r,...t}},pe={control:{register:me,unregister:Fe,getFieldState:Ue,handleSubmit:Ne,setError:Me,_subscribe:Pe,_runSchema:te,_updateIsValidating:p,_focusError:Ae,_getWatch:F,_getDirty:V,_setValid:J,_setFieldArray:_,_setDisabledField:Ie,_setErrors:X,_getFieldArray:T,_reset:Be,_resetDefaultValues:()=>j(s.defaultValues)&&s.defaultValues().then(t=>{qe(t,s.resetOptions),v.state.next({isLoading:!1})}),_removeUnmounted:ve,_disableForm:yt,_subjects:v,_proxyFormState:b,get _fields(){return a},get _formValues(){return n},get _state(){return f},set _state(t){f=t},get _defaultValues(){return u},get _names(){return c},set _names(t){c=t},get _formState(){return r},get _options(){return s},set _options(t){s={...s,...t}}},subscribe:ct,trigger:fe,register:me,handleSubmit:Ne,watch:dt,setValue:N,getValues:Le,reset:qe,resetField:ht,clearErrors:ft,unregister:Fe,setError:Me,setFocus:gt,getFieldState:Ue};return{...pe,formControl:pe}}function Wt(e={}){const s=B.useRef(void 0),r=B.useRef(void 0),[a,u]=B.useState({isDirty:!1,isValidating:!1,isLoading:j(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:j(e.defaultValues)?void 0:e.defaultValues});if(!s.current)if(e.formControl)s.current={...e.formControl,formState:a},e.defaultValues&&!j(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:f,...c}=$t(e);s.current={...c,formState:a}}const n=s.current.control;return n._options=e,kt(()=>{const f=n._subscribe({formState:n._proxyFormState,callback:()=>u({...n._formState}),reRenderRoot:!0});return u(c=>({...c,isReady:!0})),n._formState.isReady=!0,f},[n]),B.useEffect(()=>n._disableForm(e.disabled),[n,e.disabled]),B.useEffect(()=>{e.mode&&(n._options.mode=e.mode),e.reValidateMode&&(n._options.reValidateMode=e.reValidateMode)},[n,e.mode,e.reValidateMode]),B.useEffect(()=>{e.errors&&(n._setErrors(e.errors),n._focusError())},[n,e.errors]),B.useEffect(()=>{e.shouldUnregister&&n._subjects.state.next({values:n._getWatch()})},[n,e.shouldUnregister]),B.useEffect(()=>{if(n._proxyFormState.isDirty){const f=n._getDirty();f!==a.isDirty&&n._subjects.state.next({isDirty:f})}},[n,a.isDirty]),B.useEffect(()=>{var f;e.values&&!ee(e.values,r.current)?(n._reset(e.values,{keepFieldsRef:!0,...n._options.resetOptions}),!((f=n._options.resetOptions)===null||f===void 0)&&f.keepIsValid||n._setValid(),r.current=e.values,u(c=>({...c}))):n._resetDefaultValues()},[n,e.values]),B.useEffect(()=>{n._state.mount||(n._setValid(),n._state.mount=!0),n._state.watch&&(n._state.watch=!1,n._subjects.state.next({...n._formState})),n._removeUnmounted()}),s.current.formState=Dt(a,n),s.current}function ot(e,s){const r=[];if(e.required&&(s==null||s===""||Array.isArray(s)&&s.length===0))return r.push(`${e.label} is required`),{valid:!1,errors:r};if(s==null||s==="")return{valid:!0,errors:[]};if("length"in e&&typeof e.length=="number"&&typeof s=="string"&&s.length>e.length&&r.push(`${e.label} must be at most ${e.length} characters`),"integerPart"in e&&typeof s=="number"){const a=Math.floor(Math.abs(s)),u=e.integerPart??9;a.toString().length>u&&r.push(`${e.label} integer part must be at most ${u} digits`);const n=e.fractionPart;n!==void 0&&(s.toString().split(".")[1]??"").length>n&&r.push(`${e.label} can have at most ${n} decimal places`)}return r.length>0?{valid:!1,errors:r}:{valid:!0,errors:[]}}function Ht(e,s){return async(r,a,u)=>{var R;const n={},f=e.getFields(),c=(u==null?void 0:u.names)??Object.keys(f);for(const k of c){if(k==="_id"||(R=f[k])!=null&&R.readOnly)continue;const W=f[k];if(!W)continue;let b=r[k];if("integerPart"in W&&typeof b=="string"&&b!==""){const v=Number(b);isNaN(v)||(b=v,r[k]=v)}if(!W.required&&(b==null||b===""||Array.isArray(b)&&b.length===0))continue;const w=W.validate(b);if(!w.valid&&w.errors.length>0){n[k]={type:"validate",message:w.errors[0]||`${k} is invalid`};continue}if((s==null?void 0:s.enableConstraintValidation)!==!1){const v=ot(W,b);if(!v.valid&&v.errors.length>0){n[k]={type:"constraint",message:v.errors[0]};continue}}if(e.hasMetadata()){const v=e.validateFieldExpression(k,b,r);!v.valid&&v.errors.length>0&&(n[k]={type:"validate",message:v.errors[0]})}}return Object.keys(n).length===0?{values:r,errors:{}}:{values:{},errors:n}}}exports.createResolver=Ht;exports.useForm=Wt;exports.validateConstraints=ot;