@ic-reactor/candid 3.0.11-beta.2 → 3.0.13-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/display-reactor.d.ts +1 -2
  2. package/dist/display-reactor.d.ts.map +1 -1
  3. package/dist/display-reactor.js +1 -1
  4. package/dist/display-reactor.js.map +1 -1
  5. package/dist/index.d.ts +0 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/metadata-display-reactor.d.ts +3 -3
  9. package/dist/metadata-display-reactor.d.ts.map +1 -1
  10. package/dist/metadata-display-reactor.js +2 -2
  11. package/dist/metadata-display-reactor.js.map +1 -1
  12. package/dist/visitor/arguments/helpers.d.ts +40 -0
  13. package/dist/visitor/arguments/helpers.d.ts.map +1 -0
  14. package/dist/visitor/arguments/helpers.js +81 -0
  15. package/dist/visitor/arguments/helpers.js.map +1 -0
  16. package/dist/visitor/arguments/index.d.ts +64 -42
  17. package/dist/visitor/arguments/index.d.ts.map +1 -1
  18. package/dist/visitor/arguments/index.js +472 -85
  19. package/dist/visitor/arguments/index.js.map +1 -1
  20. package/dist/visitor/arguments/types.d.ts +481 -46
  21. package/dist/visitor/arguments/types.d.ts.map +1 -1
  22. package/dist/visitor/helpers.d.ts +1 -1
  23. package/dist/visitor/helpers.d.ts.map +1 -1
  24. package/dist/visitor/returns/index.d.ts +1 -2
  25. package/dist/visitor/returns/index.d.ts.map +1 -1
  26. package/dist/visitor/returns/index.js +2 -3
  27. package/dist/visitor/returns/index.js.map +1 -1
  28. package/dist/visitor/types.d.ts +2 -3
  29. package/dist/visitor/types.d.ts.map +1 -1
  30. package/dist/visitor/types.js +1 -2
  31. package/dist/visitor/types.js.map +1 -1
  32. package/package.json +6 -3
  33. package/src/display-reactor.ts +4 -6
  34. package/src/index.ts +0 -1
  35. package/src/metadata-display-reactor.ts +8 -8
  36. package/src/visitor/arguments/helpers.ts +104 -0
  37. package/src/visitor/arguments/index.test.ts +544 -52
  38. package/src/visitor/arguments/index.ts +590 -151
  39. package/src/visitor/arguments/schema.test.ts +215 -0
  40. package/src/visitor/arguments/types.ts +554 -62
  41. package/src/visitor/helpers.ts +1 -1
  42. package/src/visitor/returns/index.test.ts +1 -1
  43. package/src/visitor/returns/index.ts +2 -3
  44. package/src/visitor/types.ts +2 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/visitor/arguments/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/visitor/arguments/index.ts"],"names":[],"mappings":"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"}
@@ -1,92 +1,527 @@
1
1
  import type { BaseActor, FunctionName, FunctionType } from "@ic-reactor/core";
2
+ import * as z from "zod";
2
3
  export type ArgumentFieldType = "record" | "variant" | "tuple" | "optional" | "vector" | "blob" | "recursive" | "principal" | "number" | "text" | "boolean" | "null" | "unknown";
3
- export interface ArgumentFieldBase {
4
+ /**
5
+ * Suggested component type for rendering the field.
6
+ * This eliminates the need for switch statements in the frontend.
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * const componentMap = {
11
+ * 'text-input': TextField,
12
+ * 'number-input': NumberField,
13
+ * 'boolean-checkbox': BooleanField,
14
+ * // ...
15
+ * }
16
+ * const Component = componentMap[field.component]
17
+ * return <Component field={field} />
18
+ * ```
19
+ */
20
+ export type FieldComponentType = "record-container" | "tuple-container" | "variant-select" | "optional-toggle" | "vector-list" | "blob-upload" | "principal-input" | "text-input" | "number-input" | "boolean-checkbox" | "null-hidden" | "recursive-lazy" | "unknown-fallback";
21
+ /**
22
+ * Input type hints for HTML input elements.
23
+ * Used by primitive fields to suggest the appropriate input type.
24
+ */
25
+ export type InputType = "text" | "number" | "checkbox" | "select" | "file" | "textarea";
26
+ /**
27
+ * Rendering hints for the UI.
28
+ * Eliminates the need for frontend to maintain COMPLEX_TYPES arrays.
29
+ *
30
+ * @example
31
+ * ```tsx
32
+ * // Frontend no longer needs:
33
+ * // const COMPLEX_TYPES = ["record", "tuple", "variant", "vector", "optional"]
34
+ *
35
+ * // Instead use:
36
+ * if (field.renderHint.isCompound) {
37
+ * return <CompoundFieldRenderer field={field} />
38
+ * }
39
+ * return <PrimitiveInput field={field} />
40
+ * ```
41
+ */
42
+ export interface RenderHint {
43
+ /** Whether this field has its own container/card styling (compound types) */
44
+ isCompound: boolean;
45
+ /** Whether this is a leaf input (primitive types) */
46
+ isPrimitive: boolean;
47
+ /** Suggested input type for HTML input elements */
48
+ inputType?: InputType;
49
+ /** Description or help text for the field (derived from Candid) */
50
+ description?: string;
51
+ }
52
+ /**
53
+ * Pre-computed HTML input props for primitive fields.
54
+ * Can be spread directly onto an input element.
55
+ *
56
+ * @example
57
+ * ```tsx
58
+ * <input {...field.inputProps} value={value} onChange={handleChange} />
59
+ * ```
60
+ */
61
+ export interface PrimitiveInputProps {
62
+ /** HTML input type */
63
+ type?: "text" | "number" | "checkbox";
64
+ /** Placeholder text */
65
+ placeholder?: string;
66
+ /** Minimum value for number inputs */
67
+ min?: string | number;
68
+ /** Maximum value for number inputs */
69
+ max?: string | number;
70
+ /** Step value for number inputs */
71
+ step?: string | number;
72
+ /** Pattern for text inputs */
73
+ pattern?: string;
74
+ /** Input mode for virtual keyboards */
75
+ inputMode?: "text" | "numeric" | "decimal";
76
+ /** Autocomplete hint */
77
+ autoComplete?: string;
78
+ /** Whether to check spelling */
79
+ spellCheck?: boolean;
80
+ /** Minimum length for text inputs */
81
+ minLength?: number;
82
+ /** Maximum length for text inputs */
83
+ maxLength?: number;
84
+ }
85
+ export interface FieldBase<TValue = unknown> {
4
86
  /** The field type */
5
87
  type: ArgumentFieldType;
6
- /** Human-readable label from Candid */
88
+ /** Raw label from Candid: "__arg0", "_0_" */
7
89
  label: string;
8
- /** Dot-notation path for form binding (e.g., "0.owner", "[0].to") */
9
- path: string;
90
+ /**
91
+ * Pre-formatted display label for UI rendering.
92
+ * Transforms raw labels into human-readable format.
93
+ *
94
+ * @example
95
+ * "__arg0" => "Arg 0"
96
+ * "_0_" => "Item 0"
97
+ * "created_at_time" => "Created At Time"
98
+ */
99
+ displayLabel: string;
100
+ /**
101
+ * Form field name path for binding.
102
+ * Uses bracket notation for array indices: `[0]`, `args[0].owner`, `tags[1]`
103
+ * Compatible with TanStack Form's `form.Field` name prop.
104
+ *
105
+ * @example
106
+ * ```tsx
107
+ * <form.Field name={field.name}>
108
+ * {(fieldApi) => <input {...} />}
109
+ * </form.Field>
110
+ * ```
111
+ */
112
+ name: string;
113
+ /**
114
+ * Suggested component type for rendering this field.
115
+ * Eliminates the need for switch statements in the frontend.
116
+ */
117
+ component: FieldComponentType;
118
+ /**
119
+ * Rendering hints for UI strategy.
120
+ * Use this to determine if the field needs a container or is a simple input.
121
+ */
122
+ renderHint: RenderHint;
123
+ /** Zod schema for field validation */
124
+ schema: z.ZodTypeAny;
125
+ /** Default value for the field */
126
+ defaultValue: TValue;
127
+ /** Original Candid type name for reference */
128
+ candidType?: string;
10
129
  }
11
- export interface RecordArgumentField extends ArgumentFieldBase {
130
+ export interface RecordField extends FieldBase<Record<string, unknown>> {
12
131
  type: "record";
13
- fields: ArgumentField[];
14
- defaultValues: Record<string, unknown>;
132
+ /** Child fields in the record */
133
+ fields: Field[];
134
+ /** Map of field label to its metadata for quick lookup */
135
+ fieldMap: Map<string, Field>;
15
136
  }
16
- export interface VariantArgumentField extends ArgumentFieldBase {
137
+ export interface VariantField extends FieldBase<Record<string, unknown>> {
17
138
  type: "variant";
18
- fields: ArgumentField[];
139
+ /** All variant option fields */
140
+ fields: Field[];
141
+ /** List of variant option names */
19
142
  options: string[];
143
+ /** Default selected option */
20
144
  defaultOption: string;
21
- defaultValues: Record<string, unknown>;
145
+ /** Map of option name to its field metadata */
146
+ optionMap: Map<string, Field>;
147
+ /**
148
+ * Get default value for a specific option.
149
+ * Useful when switching between variant options.
150
+ *
151
+ * @example
152
+ * ```tsx
153
+ * const handleOptionChange = (newOption: string) => {
154
+ * const newDefault = field.getOptionDefault(newOption)
155
+ * fieldApi.handleChange(newDefault)
156
+ * }
157
+ * ```
158
+ */
159
+ getOptionDefault: (option: string) => Record<string, unknown>;
160
+ /**
161
+ * Get the field for a specific option.
162
+ *
163
+ * @example
164
+ * ```tsx
165
+ * const transferField = field.getField("Transfer")
166
+ * ```
167
+ */
168
+ getField: (option: string) => Field;
169
+ /**
170
+ * Get the currently selected option from a value.
171
+ * Returns the first valid key found, or the default option.
172
+ *
173
+ * @example
174
+ * ```tsx
175
+ * const selectedOption = field.getSelectedOption(currentValue)
176
+ * // { Transfer: {...} } => "Transfer"
177
+ * ```
178
+ */
179
+ getSelectedOption: (value: Record<string, unknown>) => string;
180
+ /**
181
+ * Get the selected field from a value.
182
+ * Combines getSelectedOption and getField for convenience.
183
+ *
184
+ * @example
185
+ * ```tsx
186
+ * // Current (verbose):
187
+ * const validKeys = Object.keys(currentValue).filter(k => field.options.includes(k))
188
+ * const selected = validKeys[0] ?? field.options[0]
189
+ * const selectedIndex = Math.max(0, field.options.indexOf(selected))
190
+ * const selectedField = field.fields[selectedIndex]
191
+ *
192
+ * // Proposed (simple):
193
+ * const selectedField = field.getSelectedField(currentValue)
194
+ * ```
195
+ */
196
+ getSelectedField: (value: Record<string, unknown>) => Field;
22
197
  }
23
- export interface TupleArgumentField extends ArgumentFieldBase {
198
+ export interface TupleField extends FieldBase<unknown[]> {
24
199
  type: "tuple";
25
- fields: ArgumentField[];
26
- defaultValues: unknown[];
200
+ /** Tuple element fields in order */
201
+ fields: Field[];
27
202
  }
28
- export interface OptionalArgumentField extends ArgumentFieldBase {
203
+ export interface OptionalField extends FieldBase<null> {
29
204
  type: "optional";
30
- innerField: ArgumentField;
31
- defaultValue: null;
205
+ /** The inner field when value is present */
206
+ innerField: Field;
207
+ /**
208
+ * Get default value when enabling the optional.
209
+ * Returns the inner field's default value.
210
+ *
211
+ * @example
212
+ * ```tsx
213
+ * const handleToggle = (enabled: boolean) => {
214
+ * if (enabled) {
215
+ * fieldApi.handleChange(field.getInnerDefault())
216
+ * } else {
217
+ * fieldApi.handleChange(null)
218
+ * }
219
+ * }
220
+ * ```
221
+ */
222
+ getInnerDefault: () => unknown;
223
+ /**
224
+ * Check if a value represents an enabled optional.
225
+ * Returns true if the value is not null or undefined.
226
+ *
227
+ * @example
228
+ * ```tsx
229
+ * // Current:
230
+ * const enabled = fieldApi.state.value !== null && typeof fieldApi.state.value !== "undefined"
231
+ *
232
+ * // Proposed:
233
+ * const enabled = field.isEnabled(fieldApi.state.value)
234
+ * ```
235
+ */
236
+ isEnabled: (value: unknown) => boolean;
32
237
  }
33
- export interface VectorArgumentField extends ArgumentFieldBase {
238
+ export interface VectorField extends FieldBase<unknown[]> {
34
239
  type: "vector";
35
- itemField: ArgumentField;
36
- defaultValue: [];
240
+ /** Template field for vector items */
241
+ itemField: Field;
242
+ /**
243
+ * Get a new item with default values.
244
+ * Used when adding items to the vector.
245
+ *
246
+ * @example
247
+ * ```tsx
248
+ * <button onClick={() => fieldApi.pushValue(field.getItemDefault())}>
249
+ * Add Item
250
+ * </button>
251
+ * ```
252
+ */
253
+ getItemDefault: () => unknown;
254
+ /**
255
+ * Create a properly configured item field for a specific index.
256
+ * Handles name path and label generation.
257
+ *
258
+ * @example
259
+ * ```tsx
260
+ * // Current:
261
+ * renderField({
262
+ * ...field.itemField,
263
+ * label: itemLabel,
264
+ * name: itemFieldName
265
+ * })
266
+ *
267
+ * // Proposed:
268
+ * const itemField = field.createItemField(index, { label: itemLabel })
269
+ * renderField(itemField)
270
+ * ```
271
+ */
272
+ createItemField: (index: number, overrides?: {
273
+ label?: string;
274
+ }) => Field;
275
+ }
276
+ /**
277
+ * Blob field size limits.
278
+ */
279
+ export interface BlobLimits {
280
+ /** Maximum bytes when entering as hex (e.g., 512 bytes) */
281
+ maxHexBytes: number;
282
+ /** Maximum file size in bytes (e.g., 2MB ICP limit) */
283
+ maxFileBytes: number;
284
+ /** Maximum hex display length before truncation */
285
+ maxHexDisplayLength: number;
286
+ }
287
+ /**
288
+ * Validation result for blob input.
289
+ */
290
+ export interface BlobValidationResult {
291
+ /** Whether the input is valid */
292
+ valid: boolean;
293
+ /** Error message if invalid */
294
+ error?: string;
37
295
  }
38
- export interface BlobArgumentField extends ArgumentFieldBase {
296
+ export interface BlobField extends FieldBase<string> {
39
297
  type: "blob";
40
- itemField: ArgumentField;
41
- /** Default is empty hex string */
42
- defaultValue: string;
298
+ /** Item field for individual bytes (nat8) */
299
+ itemField: Field;
300
+ /** Accepted input formats */
301
+ acceptedFormats: ("hex" | "base64" | "file")[];
302
+ /** Size limits for blob input */
303
+ limits: BlobLimits;
304
+ /**
305
+ * Normalize hex input (remove 0x prefix, lowercase, etc.)
306
+ *
307
+ * @example
308
+ * ```tsx
309
+ * const normalized = field.normalizeHex("0xDEADBEEF")
310
+ * // => "deadbeef"
311
+ * ```
312
+ */
313
+ normalizeHex: (input: string) => string;
314
+ /**
315
+ * Validate blob input value.
316
+ *
317
+ * @example
318
+ * ```tsx
319
+ * const result = field.validateInput(value)
320
+ * if (!result.valid) {
321
+ * setError(result.error)
322
+ * }
323
+ * ```
324
+ */
325
+ validateInput: (value: string | Uint8Array) => BlobValidationResult;
43
326
  }
44
- export interface RecursiveArgumentField extends ArgumentFieldBase {
327
+ export interface RecursiveField extends FieldBase<undefined> {
45
328
  type: "recursive";
329
+ /** Type name for the recursive type */
330
+ typeName: string;
46
331
  /** Lazily extract the inner field to prevent infinite loops */
47
- extract: () => ArgumentField;
332
+ extract: () => Field;
333
+ /**
334
+ * Get default value for the recursive type.
335
+ * Evaluates the inner type on demand.
336
+ */
337
+ getInnerDefault: () => unknown;
48
338
  }
49
- export interface PrincipalArgumentField extends ArgumentFieldBase {
339
+ export interface PrincipalField extends FieldBase<string> {
50
340
  type: "principal";
51
- /** Display format: string */
52
- defaultValue: string;
53
341
  maxLength: number;
54
342
  minLength: number;
343
+ /**
344
+ * Pre-computed HTML input props for direct spreading.
345
+ * @example
346
+ * ```tsx
347
+ * <input {...field.inputProps} value={value} onChange={handleChange} />
348
+ * ```
349
+ */
350
+ inputProps: PrimitiveInputProps;
55
351
  }
56
- export interface NumberArgumentField extends ArgumentFieldBase {
352
+ export interface NumberField extends FieldBase<string> {
57
353
  type: "number";
58
- /** Display format: string (for bigint compatibility) */
59
- defaultValue: string;
60
- /** Original Candid type: nat, int, nat64, etc. */
354
+ /**
355
+ * Original Candid type: nat, int, nat8, nat16, nat32, nat64, int8, int16, int32, int64, float32, float64
356
+ */
61
357
  candidType: string;
358
+ /** Whether this is an unsigned type */
359
+ unsigned: boolean;
360
+ /** Whether this is a floating point type */
361
+ isFloat: boolean;
362
+ /** Bit width if applicable (8, 16, 32, 64, or undefined for unbounded) */
363
+ bits?: number;
364
+ /** Minimum value constraint (for bounded types) */
365
+ min?: string;
366
+ /** Maximum value constraint (for bounded types) */
367
+ max?: string;
368
+ /**
369
+ * Pre-computed HTML input props for direct spreading.
370
+ * @example
371
+ * ```tsx
372
+ * <input {...field.inputProps} value={value} onChange={handleChange} />
373
+ * ```
374
+ */
375
+ inputProps: PrimitiveInputProps;
62
376
  }
63
- export interface TextArgumentField extends ArgumentFieldBase {
377
+ export interface TextField extends FieldBase<string> {
64
378
  type: "text";
65
- defaultValue: string;
379
+ /** Minimum length constraint */
380
+ minLength?: number;
381
+ /** Maximum length constraint */
382
+ maxLength?: number;
383
+ /** Whether to render as multiline textarea */
384
+ multiline?: boolean;
385
+ /**
386
+ * Pre-computed HTML input props for direct spreading.
387
+ * @example
388
+ * ```tsx
389
+ * <input {...field.inputProps} value={value} onChange={handleChange} />
390
+ * ```
391
+ */
392
+ inputProps: PrimitiveInputProps;
66
393
  }
67
- export interface BooleanArgumentField extends ArgumentFieldBase {
394
+ export interface BooleanField extends FieldBase<boolean> {
68
395
  type: "boolean";
69
- defaultValue: boolean;
396
+ /**
397
+ * Pre-computed HTML input props for direct spreading.
398
+ * @example
399
+ * ```tsx
400
+ * <input {...field.inputProps} checked={value} onChange={handleChange} />
401
+ * ```
402
+ */
403
+ inputProps: PrimitiveInputProps;
70
404
  }
71
- export interface NullArgumentField extends ArgumentFieldBase {
405
+ export interface NullField extends FieldBase<null> {
72
406
  type: "null";
73
- defaultValue: null;
74
407
  }
75
- export interface UnknownArgumentField extends ArgumentFieldBase {
408
+ export interface UnknownField extends FieldBase<undefined> {
76
409
  type: "unknown";
77
- defaultValue: undefined;
78
410
  }
79
- export type ArgumentField = RecordArgumentField | VariantArgumentField | TupleArgumentField | OptionalArgumentField | VectorArgumentField | BlobArgumentField | RecursiveArgumentField | PrincipalArgumentField | NumberArgumentField | TextArgumentField | BooleanArgumentField | NullArgumentField | UnknownArgumentField;
80
- export interface MethodArgumentsMeta<A = BaseActor, Name extends FunctionName<A> = FunctionName<A>> {
411
+ export type Field = RecordField | VariantField | TupleField | OptionalField | VectorField | BlobField | RecursiveField | PrincipalField | NumberField | TextField | BooleanField | NullField | UnknownField;
412
+ /**
413
+ * Form metadata for a Candid method.
414
+ * Contains all information needed to create a TanStack Form instance.
415
+ *
416
+ * @example
417
+ * ```tsx
418
+ * import { useForm } from '@tanstack/react-form'
419
+ *
420
+ * function MethodForm({ meta }: { meta: FormMeta }) {
421
+ * const form = useForm({
422
+ * ...meta.formOptions,
423
+ * onSubmit: async ({ value }) => {
424
+ * await actor[meta.functionName](...value)
425
+ * }
426
+ * })
427
+ *
428
+ * return (
429
+ * <form onSubmit={(e) => { e.preventDefault(); form.handleSubmit() }}>
430
+ * {meta.fields.map(field => (
431
+ * <form.Field key={field.name} name={field.name}>
432
+ * {(fieldApi) => <DynamicInput field={field} fieldApi={fieldApi} />}
433
+ * </form.Field>
434
+ * ))}
435
+ * <button type="submit">Submit</button>
436
+ * </form>
437
+ * )
438
+ * }
439
+ * ```
440
+ */
441
+ export interface ArgumentsMeta<A = BaseActor, Name extends FunctionName<A> = FunctionName<A>> {
442
+ /** Whether this is a "query" or "update" function */
81
443
  functionType: FunctionType;
444
+ /** The function name */
82
445
  functionName: Name;
83
- fields: ArgumentField[];
446
+ /** Argument field definitions for rendering */
447
+ fields: Field[];
448
+ /** Default values for all arguments (as a tuple) */
84
449
  defaultValues: unknown[];
450
+ /** Combined Zod schema for all arguments */
451
+ schema: z.ZodTuple<[z.ZodTypeAny, ...z.ZodTypeAny[]]>;
452
+ /** Number of arguments */
453
+ argCount: number;
454
+ /** Whether the function takes no arguments */
455
+ isNoArgs: boolean;
85
456
  }
86
- export type ServiceArgumentsMeta<A = BaseActor> = {
87
- [K in FunctionName<A>]: MethodArgumentsMeta<A, K>;
457
+ /**
458
+ * Options that can be spread into useForm().
459
+ * Pre-configured with defaultValues and validators.
460
+ */
461
+ export interface FormOptions {
462
+ /** Initial form values */
463
+ defaultValues: unknown[];
464
+ /** Validators using the Zod schema */
465
+ validators: {
466
+ onChange: z.ZodTypeAny;
467
+ onBlur: z.ZodTypeAny;
468
+ };
469
+ }
470
+ /**
471
+ * Service-level form metadata.
472
+ * Maps each method name to its FormMeta.
473
+ */
474
+ export type ArgumentsServiceMeta<A = BaseActor> = {
475
+ [K in FunctionName<A>]: ArgumentsMeta<A, K>;
88
476
  };
89
- export type ArgumentFieldByType<T extends ArgumentFieldType> = Extract<ArgumentField, {
477
+ /** Extract a specific field type */
478
+ export type FieldByType<T extends ArgumentFieldType> = Extract<Field, {
90
479
  type: T;
91
480
  }>;
481
+ /**
482
+ * Props type helper for field components.
483
+ * Use this to type your field components for better DX.
484
+ *
485
+ * @example
486
+ * ```tsx
487
+ * const VariantField: React.FC<FieldProps<'variant'>> = ({ field, renderField }) => {
488
+ * // field is properly typed as VariantField
489
+ * return (
490
+ * <div>
491
+ * <select>{field.options.map(opt => ...)}</select>
492
+ * {renderField?.(field.getSelectedField(currentValue))}
493
+ * </div>
494
+ * )
495
+ * }
496
+ * ```
497
+ */
498
+ export type FieldProps<T extends ArgumentFieldType> = {
499
+ field: FieldByType<T>;
500
+ renderField?: (child: Field) => React.ReactNode;
501
+ };
502
+ /** Compound field types that contain other fields */
503
+ export type CompoundField = RecordField | VariantField | TupleField | OptionalField | VectorField | RecursiveField;
504
+ /** Primitive field types */
505
+ export type PrimitiveField = PrincipalField | NumberField | TextField | BooleanField | NullField;
506
+ /**
507
+ * A complete mapping of component types to React components.
508
+ * Use this type when defining your component map.
509
+ *
510
+ * @example
511
+ * ```tsx
512
+ * const componentMap: ComponentMap<typeof MyTextInput, typeof MyNumberInput, ...> = {
513
+ * 'text-input': MyTextInput,
514
+ * 'number-input': MyNumberInput,
515
+ * // ...
516
+ * }
517
+ * ```
518
+ */
519
+ export type ComponentMap<TComponents extends Record<FieldComponentType, unknown>> = {
520
+ [K in FieldComponentType]: TComponents[K];
521
+ };
522
+ /**
523
+ * Get the component type for a given field component type.
524
+ * Useful for typing dynamic component lookups.
525
+ */
526
+ export type GetComponentType<TMap extends Partial<Record<FieldComponentType, unknown>>, TKey extends FieldComponentType> = TKey extends keyof TMap ? TMap[TKey] : never;
92
527
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/visitor/arguments/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/visitor/arguments/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { IDL } from "./types";
1
+ import { IDL } from "@icp-sdk/core/candid";
2
2
  export declare const extractAndSortArgs: <T extends Record<string, unknown>>(argsObject: T) => Array<T[keyof T]>;
3
3
  /**
4
4
  * Normalize form state by converting objects with numeric string keys to arrays.