@openzeppelin/ui-components 1.1.0 → 1.2.1

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.
package/dist/index.d.ts DELETED
@@ -1,2450 +0,0 @@
1
- import * as React$2 from "react";
2
- import React$1, { ForwardedRef, JSX, ReactElement, ReactNode } from "react";
3
- import { Control, FieldError, FieldPath, FieldValues, FormProvider, UseFormReturn } from "react-hook-form";
4
- import * as AccordionPrimitive from "@radix-ui/react-accordion";
5
- import { VariantProps } from "class-variance-authority";
6
- import { DateRange, DayPicker } from "react-day-picker";
7
- import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
8
- import * as PopoverPrimitive from "@radix-ui/react-popover";
9
- import * as DialogPrimitive from "@radix-ui/react-dialog";
10
- import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
11
- import * as _radix_ui_react_label0 from "@radix-ui/react-label";
12
- import * as ProgressPrimitive from "@radix-ui/react-progress";
13
- import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
14
- import * as SelectPrimitive from "@radix-ui/react-select";
15
- import * as TabsPrimitive from "@radix-ui/react-tabs";
16
- import * as TooltipPrimitive from "@radix-ui/react-tooltip";
17
- import { ContractAdapter, ContractSchema, EnumValue, FieldValidation, FormFieldType, FunctionParameter, MapEntry, NetworkConfig, NetworkType, RelayerDetails, RelayerDetailsRich } from "@openzeppelin/ui-types";
18
- import { ToasterProps } from "sonner";
19
- import * as class_variance_authority_types0 from "class-variance-authority/types";
20
-
21
- //#region src/components/ui/accordion.d.ts
22
- declare const accordionItemVariants: (props?: ({
23
- variant?: "default" | "card" | null | undefined;
24
- } & class_variance_authority_types0.ClassProp) | undefined) => string;
25
- declare const accordionTriggerVariants: (props?: ({
26
- variant?: "default" | "card" | null | undefined;
27
- } & class_variance_authority_types0.ClassProp) | undefined) => string;
28
- declare const accordionContentVariants: (props?: ({
29
- variant?: "default" | "card" | null | undefined;
30
- } & class_variance_authority_types0.ClassProp) | undefined) => string;
31
- type AccordionVariant = 'default' | 'card';
32
- type AccordionProps = (AccordionPrimitive.AccordionSingleProps | AccordionPrimitive.AccordionMultipleProps) & {
33
- variant?: AccordionVariant;
34
- };
35
- declare const Accordion: React$2.ForwardRefExoticComponent<AccordionProps & React$2.RefAttributes<HTMLDivElement>>;
36
- interface AccordionItemProps extends React$2.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>, VariantProps<typeof accordionItemVariants> {}
37
- declare const AccordionItem: React$2.ForwardRefExoticComponent<AccordionItemProps & React$2.RefAttributes<HTMLDivElement>>;
38
- interface AccordionTriggerProps extends React$2.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>, VariantProps<typeof accordionTriggerVariants> {}
39
- declare const AccordionTrigger: React$2.ForwardRefExoticComponent<AccordionTriggerProps & React$2.RefAttributes<HTMLButtonElement>>;
40
- interface AccordionContentProps extends React$2.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>, VariantProps<typeof accordionContentVariants> {}
41
- declare const AccordionContent: React$2.ForwardRefExoticComponent<AccordionContentProps & React$2.RefAttributes<HTMLDivElement>>;
42
- //#endregion
43
- //#region src/components/ui/address-display.d.ts
44
- interface AddressDisplayProps extends React$2.HTMLAttributes<HTMLDivElement> {
45
- /**
46
- * The blockchain address to display
47
- */
48
- address: string;
49
- /**
50
- * Whether to truncate the address in the middle
51
- * @default true
52
- */
53
- truncate?: boolean;
54
- /**
55
- * Number of characters to show at the beginning when truncating
56
- * @default 6
57
- */
58
- startChars?: number;
59
- /**
60
- * Number of characters to show at the end when truncating
61
- * @default 4
62
- */
63
- endChars?: number;
64
- /**
65
- * Whether to show a copy button
66
- * @default false
67
- */
68
- showCopyButton?: boolean;
69
- /**
70
- * Whether to show the copy button only on hover
71
- * @default false
72
- */
73
- showCopyButtonOnHover?: boolean;
74
- /**
75
- * Optional explorer URL to make the address clickable
76
- */
77
- explorerUrl?: string;
78
- /**
79
- * Additional CSS classes
80
- */
81
- className?: string;
82
- }
83
- /** Displays a blockchain address with optional truncation, copy button, and explorer link. */
84
- declare function AddressDisplay({
85
- address,
86
- truncate,
87
- startChars,
88
- endChars,
89
- showCopyButton,
90
- showCopyButtonOnHover,
91
- explorerUrl,
92
- className,
93
- ...props
94
- }: AddressDisplayProps): React$2.ReactElement;
95
- //#endregion
96
- //#region src/components/ui/alert.d.ts
97
- declare const Alert: React$2.ForwardRefExoticComponent<React$2.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
98
- variant?: "default" | "destructive" | "success" | null | undefined;
99
- } & class_variance_authority_types0.ClassProp) | undefined) => string> & React$2.RefAttributes<HTMLDivElement>>;
100
- declare const AlertTitle: React$2.ForwardRefExoticComponent<React$2.HTMLAttributes<HTMLHeadingElement> & React$2.RefAttributes<HTMLParagraphElement>>;
101
- declare const AlertDescription: React$2.ForwardRefExoticComponent<React$2.HTMLAttributes<HTMLParagraphElement> & React$2.RefAttributes<HTMLParagraphElement>>;
102
- //#endregion
103
- //#region src/components/ui/banner.d.ts
104
- interface BannerProps {
105
- /**
106
- * The variant/style of the banner
107
- * @default 'info'
108
- */
109
- variant?: 'info' | 'success' | 'warning' | 'error';
110
- /**
111
- * Title text displayed at the top of the banner
112
- */
113
- title?: React$2.ReactNode;
114
- /**
115
- * Body text/content of the banner
116
- */
117
- children: React$2.ReactNode;
118
- /**
119
- * Whether the banner can be dismissed
120
- * @default true
121
- */
122
- dismissible?: boolean;
123
- /**
124
- * Callback when the banner is dismissed
125
- */
126
- onDismiss?: () => void;
127
- /**
128
- * Icon to display on the left (replaces default based on variant)
129
- */
130
- icon?: React$2.ReactNode;
131
- /**
132
- * Additional CSS classes
133
- */
134
- className?: string;
135
- }
136
- /**
137
- * Dismissible banner component for notifications and alerts
138
- * Can be used with various variants (info, success, warning, error)
139
- */
140
- declare const Banner: React$2.ForwardRefExoticComponent<BannerProps & React$2.RefAttributes<HTMLDivElement>>;
141
- //#endregion
142
- //#region src/utils/button-variants.d.ts
143
- declare const buttonVariants: (props?: ({
144
- variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
145
- size?: "default" | "sm" | "lg" | "icon" | null | undefined;
146
- } & class_variance_authority_types0.ClassProp) | undefined) => string;
147
- //# sourceMappingURL=button-variants.d.ts.map
148
- //#endregion
149
- //#region src/components/ui/button.d.ts
150
- interface ButtonProps extends React$2.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
151
- asChild?: boolean;
152
- }
153
- declare const Button: React$2.ForwardRefExoticComponent<ButtonProps & React$2.RefAttributes<HTMLButtonElement>>;
154
- //#endregion
155
- //#region src/components/ui/calendar.d.ts
156
- type CalendarProps = React$2.ComponentProps<typeof DayPicker>;
157
- /**
158
- * Calendar component built on react-day-picker with shadcn/ui styling.
159
- * Supports single date, multiple dates, and date range selection modes.
160
- */
161
- declare function Calendar({
162
- className,
163
- classNames,
164
- showOutsideDays,
165
- ...props
166
- }: CalendarProps): React$2.ReactElement;
167
- declare namespace Calendar {
168
- var displayName: string;
169
- }
170
- //#endregion
171
- //#region src/components/ui/card.d.ts
172
- /** Card container component with rounded borders. */
173
- declare function Card({
174
- className,
175
- ...props
176
- }: React.ComponentProps<'div'>): JSX.Element;
177
- /** Card header section for title and description. Provides top padding for the card. */
178
- declare function CardHeader({
179
- className,
180
- ...props
181
- }: React.ComponentProps<'div'>): JSX.Element;
182
- /** Card title with semibold styling. */
183
- declare function CardTitle({
184
- className,
185
- ...props
186
- }: React.ComponentProps<'div'>): JSX.Element;
187
- /** Card description with muted text styling. */
188
- declare function CardDescription({
189
- className,
190
- ...props
191
- }: React.ComponentProps<'div'>): JSX.Element;
192
- /** Card content area with horizontal padding, top spacing, and bottom padding. */
193
- declare function CardContent({
194
- className,
195
- ...props
196
- }: React.ComponentProps<'div'>): JSX.Element;
197
- /** Card footer with flex alignment for actions, top spacing, and bottom padding. */
198
- declare function CardFooter({
199
- className,
200
- ...props
201
- }: React.ComponentProps<'div'>): JSX.Element;
202
- //#endregion
203
- //#region src/components/ui/checkbox.d.ts
204
- /** Checkbox component wrapping Radix UI Checkbox primitive. */
205
- declare function Checkbox({
206
- className,
207
- ...props
208
- }: React$2.ComponentProps<typeof CheckboxPrimitive.Root>): React$2.ReactElement;
209
- //#endregion
210
- //#region src/components/ui/date-range-picker.d.ts
211
- /**
212
- * Props for the DateRangePicker component.
213
- */
214
- interface DateRangePickerProps {
215
- /** The selected date range */
216
- value?: DateRange;
217
- /** Callback when the date range changes */
218
- onChange?: (range: DateRange | undefined) => void;
219
- /** Placeholder text when no date is selected */
220
- placeholder?: string;
221
- /** Additional CSS classes */
222
- className?: string;
223
- /** Whether the picker is disabled */
224
- disabled?: boolean;
225
- /** Number of months to display (default: 2) */
226
- numberOfMonths?: number;
227
- /** Alignment of the popover */
228
- align?: 'start' | 'center' | 'end';
229
- }
230
- /**
231
- * DateRangePicker component for selecting a date range.
232
- * Uses react-day-picker with Radix Popover for a shadcn-styled date range selection.
233
- *
234
- * @example
235
- * ```tsx
236
- * const [dateRange, setDateRange] = useState<DateRange | undefined>();
237
- *
238
- * <DateRangePicker
239
- * value={dateRange}
240
- * onChange={setDateRange}
241
- * placeholder="Select date range"
242
- * />
243
- * ```
244
- */
245
- declare function DateRangePicker({
246
- value,
247
- onChange,
248
- placeholder,
249
- className,
250
- disabled,
251
- numberOfMonths,
252
- align
253
- }: DateRangePickerProps): React.ReactElement;
254
- declare namespace DateRangePicker {
255
- var displayName: string;
256
- }
257
- //#endregion
258
- //#region src/components/ui/dialog.d.ts
259
- declare const Dialog: React$2.FC<DialogPrimitive.DialogProps>;
260
- declare const DialogTrigger: React$2.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React$2.RefAttributes<HTMLButtonElement>>;
261
- declare const DialogPortal: React$2.FC<DialogPrimitive.DialogPortalProps>;
262
- declare const DialogClose: React$2.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React$2.RefAttributes<HTMLButtonElement>>;
263
- declare const DialogOverlay: React$2.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React$2.RefAttributes<HTMLDivElement>, "ref"> & React$2.RefAttributes<HTMLDivElement>>;
264
- declare const DialogContent: React$2.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React$2.RefAttributes<HTMLDivElement>, "ref"> & React$2.RefAttributes<HTMLDivElement>>;
265
- declare const DialogHeader: {
266
- ({
267
- className,
268
- ...props
269
- }: React$2.HTMLAttributes<HTMLDivElement>): React$2.JSX.Element;
270
- displayName: string;
271
- };
272
- declare const DialogFooter: {
273
- ({
274
- className,
275
- ...props
276
- }: React$2.HTMLAttributes<HTMLDivElement>): React$2.JSX.Element;
277
- displayName: string;
278
- };
279
- declare const DialogTitle: React$2.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React$2.RefAttributes<HTMLHeadingElement>, "ref"> & React$2.RefAttributes<HTMLHeadingElement>>;
280
- declare const DialogDescription: React$2.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React$2.RefAttributes<HTMLParagraphElement>, "ref"> & React$2.RefAttributes<HTMLParagraphElement>>;
281
- //#endregion
282
- //#region src/components/ui/dropdown-menu.d.ts
283
- declare const DropdownMenu: React$2.FC<DropdownMenuPrimitive.DropdownMenuProps>;
284
- declare const DropdownMenuTrigger: React$2.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & React$2.RefAttributes<HTMLButtonElement>>;
285
- declare const DropdownMenuGroup: React$2.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & React$2.RefAttributes<HTMLDivElement>>;
286
- declare const DropdownMenuPortal: React$2.FC<DropdownMenuPrimitive.DropdownMenuPortalProps>;
287
- declare const DropdownMenuSub: React$2.FC<DropdownMenuPrimitive.DropdownMenuSubProps>;
288
- declare const DropdownMenuRadioGroup: React$2.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuRadioGroupProps & React$2.RefAttributes<HTMLDivElement>>;
289
- declare const DropdownMenuSubTrigger: React$2.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubTriggerProps & React$2.RefAttributes<HTMLDivElement>, "ref"> & {
290
- inset?: boolean;
291
- } & React$2.RefAttributes<HTMLDivElement>>;
292
- declare const DropdownMenuSubContent: React$2.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubContentProps & React$2.RefAttributes<HTMLDivElement>, "ref"> & React$2.RefAttributes<HTMLDivElement>>;
293
- declare const DropdownMenuContent: React$2.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuContentProps & React$2.RefAttributes<HTMLDivElement>, "ref"> & React$2.RefAttributes<HTMLDivElement>>;
294
- declare const DropdownMenuItem: React$2.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuItemProps & React$2.RefAttributes<HTMLDivElement>, "ref"> & {
295
- inset?: boolean;
296
- } & React$2.RefAttributes<HTMLDivElement>>;
297
- declare const DropdownMenuCheckboxItem: React$2.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuCheckboxItemProps & React$2.RefAttributes<HTMLDivElement>, "ref"> & React$2.RefAttributes<HTMLDivElement>>;
298
- declare const DropdownMenuRadioItem: React$2.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuRadioItemProps & React$2.RefAttributes<HTMLDivElement>, "ref"> & React$2.RefAttributes<HTMLDivElement>>;
299
- declare const DropdownMenuLabel: React$2.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuLabelProps & React$2.RefAttributes<HTMLDivElement>, "ref"> & {
300
- inset?: boolean;
301
- } & React$2.RefAttributes<HTMLDivElement>>;
302
- declare const DropdownMenuSeparator: React$2.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSeparatorProps & React$2.RefAttributes<HTMLDivElement>, "ref"> & React$2.RefAttributes<HTMLDivElement>>;
303
- declare const DropdownMenuShortcut: {
304
- ({
305
- className,
306
- ...props
307
- }: React$2.HTMLAttributes<HTMLSpanElement>): React$2.ReactNode;
308
- displayName: string;
309
- };
310
- //#endregion
311
- //#region src/components/ui/empty-state.d.ts
312
- interface EmptyStateProps {
313
- /**
314
- * The icon to display - can be a React component or SVG path
315
- */
316
- icon?: React$1.ReactNode;
317
- /**
318
- * Main heading text
319
- */
320
- title: string;
321
- /**
322
- * Descriptive text explaining the empty state
323
- */
324
- description: string;
325
- /**
326
- * Additional CSS classes for the container
327
- */
328
- className?: string;
329
- /**
330
- * Size variant for the empty state
331
- * @default 'default'
332
- */
333
- size?: 'small' | 'default' | 'large';
334
- }
335
- /**
336
- * Reusable empty state component for showing helpful messages when content is not available
337
- */
338
- declare function EmptyState({
339
- icon,
340
- title,
341
- description,
342
- className,
343
- size
344
- }: EmptyStateProps): React$1.ReactElement;
345
- //# sourceMappingURL=empty-state.d.ts.map
346
- //#endregion
347
- //#region src/components/ui/external-link.d.ts
348
- declare const ExternalLink: React$1.ForwardRefExoticComponent<React$1.AnchorHTMLAttributes<HTMLAnchorElement> & React$1.RefAttributes<HTMLAnchorElement>>;
349
- //# sourceMappingURL=external-link.d.ts.map
350
-
351
- //#endregion
352
- //#region src/components/ui/footer.d.ts
353
- /**
354
- * Props for the Footer component
355
- */
356
- interface FooterProps {
357
- /**
358
- * Company or organization name for the copyright notice
359
- * @default 'OpenZeppelin'
360
- */
361
- companyName?: string;
362
- /**
363
- * Copyright year to display
364
- * @default Current year
365
- */
366
- copyrightYear?: number;
367
- /**
368
- * URL for the privacy policy link
369
- * @default 'https://www.openzeppelin.com/privacy'
370
- */
371
- privacyPolicyUrl?: string;
372
- /**
373
- * Text for the privacy policy link
374
- * @default 'Privacy Policy'
375
- */
376
- privacyPolicyText?: string;
377
- /**
378
- * URL for the terms of service link
379
- * @default 'https://www.openzeppelin.com/tos'
380
- */
381
- termsOfServiceUrl?: string;
382
- /**
383
- * Text for the terms of service link
384
- * @default 'Terms of Service'
385
- */
386
- termsOfServiceText?: string;
387
- /**
388
- * Whether to show the privacy policy link
389
- * @default true
390
- */
391
- showPrivacyPolicy?: boolean;
392
- /**
393
- * Whether to show the terms of service link
394
- * @default true
395
- */
396
- showTermsOfService?: boolean;
397
- /**
398
- * Additional CSS classes for the footer container
399
- */
400
- className?: string;
401
- }
402
- /**
403
- * Application footer component with customizable legal links and branding.
404
- *
405
- * This component provides a consistent footer layout with customizable:
406
- * - Company name and copyright year
407
- * - Privacy policy and terms of service links and text
408
- * - Optional visibility controls for legal links
409
- * - Custom styling support
410
- */
411
- declare const Footer: ({
412
- companyName,
413
- copyrightYear,
414
- privacyPolicyUrl,
415
- privacyPolicyText,
416
- termsOfServiceUrl,
417
- termsOfServiceText,
418
- showPrivacyPolicy,
419
- showTermsOfService,
420
- className
421
- }?: FooterProps) => JSX.Element;
422
- //# sourceMappingURL=footer.d.ts.map
423
- //#endregion
424
- //#region src/components/ui/form.d.ts
425
- /**
426
- * Context provider for the form
427
- */
428
- declare const Form: <TFieldValues extends FieldValues = FieldValues, TContext = unknown>({
429
- ...props
430
- }: React$2.ComponentProps<typeof FormProvider<TFieldValues, TContext>>) => React$2.ReactElement;
431
- /**
432
- * Form field component
433
- */
434
- declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({
435
- ...props
436
- }: ControllerProps<TFieldValues, TName>) => React$2.ReactElement;
437
- /**
438
- * Form item component
439
- */
440
- declare const FormItem: React$2.ForwardRefExoticComponent<React$2.HTMLAttributes<HTMLDivElement> & React$2.RefAttributes<HTMLDivElement>>;
441
- /**
442
- * Form label component
443
- */
444
- declare const FormLabel: React$2.ForwardRefExoticComponent<Omit<Omit<_radix_ui_react_label0.LabelProps & React$2.RefAttributes<HTMLLabelElement>, "ref"> & React$2.RefAttributes<HTMLLabelElement>, "ref"> & React$2.RefAttributes<HTMLLabelElement>>;
445
- /**
446
- * Form control component
447
- */
448
- declare const FormControl: React$2.ForwardRefExoticComponent<React$2.HTMLAttributes<HTMLDivElement> & React$2.RefAttributes<HTMLDivElement>>;
449
- /**
450
- * Form description component
451
- */
452
- declare const FormDescription: React$2.ForwardRefExoticComponent<React$2.HTMLAttributes<HTMLParagraphElement> & React$2.RefAttributes<HTMLParagraphElement>>;
453
- /**
454
- * Form error message component
455
- */
456
- declare const FormMessage: React$2.ForwardRefExoticComponent<React$2.HTMLAttributes<HTMLParagraphElement> & React$2.RefAttributes<HTMLParagraphElement>>;
457
- /**
458
- * Types for form controller props
459
- */
460
- type ControllerProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {
461
- name: TName;
462
- control?: UseFormReturn<TFieldValues>['control'];
463
- render: (props: {
464
- field: {
465
- value: unknown;
466
- onChange: (...event: unknown[]) => void;
467
- onBlur: () => void;
468
- name: TName;
469
- ref: React$2.RefCallback<HTMLInputElement>;
470
- };
471
- fieldState: {
472
- invalid: boolean;
473
- isTouched: boolean;
474
- isDirty: boolean;
475
- error?: unknown;
476
- };
477
- formState: UseFormReturn<TFieldValues>['formState'];
478
- }) => React$2.ReactElement;
479
- };
480
- //#endregion
481
- //#region src/components/ui/header.d.ts
482
- interface HeaderProps {
483
- title?: string;
484
- /** Open the mobile sidebar */
485
- onOpenSidebar?: () => void;
486
- /** Content to display on the right side of the header */
487
- rightContent?: React$1.ReactNode;
488
- }
489
- declare const Header: ({
490
- title,
491
- onOpenSidebar,
492
- rightContent
493
- }: HeaderProps) => React$1.ReactElement;
494
- //# sourceMappingURL=header.d.ts.map
495
- //#endregion
496
- //#region src/components/ui/input.d.ts
497
- /**
498
- * Input component that follows shadcn/ui styling and accessibility patterns
499
- */
500
- type InputProps = React$2.InputHTMLAttributes<HTMLInputElement>;
501
- declare const Input: React$2.ForwardRefExoticComponent<InputProps & React$2.RefAttributes<HTMLInputElement>>;
502
- //#endregion
503
- //#region src/components/ui/label.d.ts
504
- /**
505
- * Label component for form fields, following shadcn/ui styling
506
- */
507
- declare const Label: React$2.ForwardRefExoticComponent<Omit<_radix_ui_react_label0.LabelProps & React$2.RefAttributes<HTMLLabelElement>, "ref"> & React$2.RefAttributes<HTMLLabelElement>>;
508
- //#endregion
509
- //#region src/components/ui/loading-button.d.ts
510
- interface LoadingButtonProps extends React$2.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
511
- asChild?: boolean;
512
- loading?: boolean;
513
- }
514
- declare const LoadingButton: React$2.ForwardRefExoticComponent<LoadingButtonProps & React$2.RefAttributes<HTMLButtonElement>>;
515
- //#endregion
516
- //#region src/components/ui/network-icon.d.ts
517
- interface NetworkIconProps {
518
- network: Pick<NetworkConfig, 'ecosystem' | 'iconComponent'>;
519
- className?: string;
520
- size?: number;
521
- variant?: 'mono' | 'branded';
522
- }
523
- /** Displays the appropriate icon for a blockchain network. */
524
- declare function NetworkIcon({
525
- network,
526
- className,
527
- size,
528
- variant
529
- }: NetworkIconProps): React$1.ReactElement;
530
- //# sourceMappingURL=network-icon.d.ts.map
531
- //#endregion
532
- //#region src/components/ui/network-selector.d.ts
533
- interface NetworkSelectorProps<T> {
534
- networks: T[];
535
- selectedNetwork: T | null;
536
- onSelectNetwork: (network: T) => void;
537
- getNetworkLabel: (network: T) => string;
538
- getNetworkIcon?: (network: T) => React$2.ReactNode;
539
- getNetworkType?: (network: T) => NetworkType | undefined;
540
- getNetworkId: (network: T) => string;
541
- groupByEcosystem?: boolean;
542
- getEcosystem?: (network: T) => string;
543
- filterNetwork?: (network: T, query: string) => boolean;
544
- className?: string;
545
- placeholder?: string;
546
- }
547
- /** Searchable dropdown selector for blockchain networks with optional grouping. */
548
- declare function NetworkSelector<T>({
549
- networks,
550
- selectedNetwork,
551
- onSelectNetwork,
552
- getNetworkLabel,
553
- getNetworkIcon,
554
- getNetworkType,
555
- getNetworkId,
556
- groupByEcosystem,
557
- getEcosystem,
558
- filterNetwork,
559
- className,
560
- placeholder
561
- }: NetworkSelectorProps<T>): React$2.ReactElement;
562
- //# sourceMappingURL=network-selector.d.ts.map
563
- //#endregion
564
- //#region src/components/ui/network-status-badge.d.ts
565
- interface NetworkStatusBadgeProps {
566
- network: NetworkConfig | null;
567
- className?: string;
568
- }
569
- /**
570
- * NetworkStatusBadge - Displays network information in a compact badge format
571
- * Shows the network icon, ecosystem, and name with dashed borders for testnet/devnet
572
- */
573
- declare function NetworkStatusBadge({
574
- network,
575
- className
576
- }: NetworkStatusBadgeProps): React$1.ReactElement | null;
577
- //#endregion
578
- //#region src/components/ui/popover.d.ts
579
- declare const Popover: React$2.FC<PopoverPrimitive.PopoverProps>;
580
- declare const PopoverTrigger: React$2.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React$2.RefAttributes<HTMLButtonElement>>;
581
- declare const PopoverAnchor: React$2.ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & React$2.RefAttributes<HTMLDivElement>>;
582
- declare const PopoverContent: React$2.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React$2.RefAttributes<HTMLDivElement>, "ref"> & React$2.RefAttributes<HTMLDivElement>>;
583
- //#endregion
584
- //#region src/components/ui/progress.d.ts
585
- declare const Progress: React$2.ForwardRefExoticComponent<Omit<ProgressPrimitive.ProgressProps & React$2.RefAttributes<HTMLDivElement>, "ref"> & React$2.RefAttributes<HTMLDivElement>>;
586
- //#endregion
587
- //#region src/components/ui/radio-group.d.ts
588
- declare const RadioGroup: React$2.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupProps & React$2.RefAttributes<HTMLDivElement>, "ref"> & React$2.RefAttributes<HTMLDivElement>>;
589
- declare const RadioGroupItem: React$2.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupItemProps & React$2.RefAttributes<HTMLButtonElement>, "ref"> & React$2.RefAttributes<HTMLButtonElement>>;
590
- //#endregion
591
- //#region src/components/ui/select.d.ts
592
- declare const Select: React$2.FC<SelectPrimitive.SelectProps>;
593
- declare const SelectGroup: React$2.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React$2.RefAttributes<HTMLDivElement>>;
594
- declare const SelectValue: React$2.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React$2.RefAttributes<HTMLSpanElement>>;
595
- declare const SelectTrigger: React$2.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React$2.RefAttributes<HTMLButtonElement>, "ref"> & React$2.RefAttributes<HTMLButtonElement>>;
596
- declare const SelectScrollUpButton: React$2.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React$2.RefAttributes<HTMLDivElement>, "ref"> & React$2.RefAttributes<HTMLDivElement>>;
597
- declare const SelectScrollDownButton: React$2.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React$2.RefAttributes<HTMLDivElement>, "ref"> & React$2.RefAttributes<HTMLDivElement>>;
598
- declare const SelectContent: React$2.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React$2.RefAttributes<HTMLDivElement>, "ref"> & React$2.RefAttributes<HTMLDivElement>>;
599
- declare const SelectLabel: React$2.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React$2.RefAttributes<HTMLDivElement>, "ref"> & React$2.RefAttributes<HTMLDivElement>>;
600
- declare const SelectItem: React$2.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React$2.RefAttributes<HTMLDivElement>, "ref"> & React$2.RefAttributes<HTMLDivElement>>;
601
- declare const SelectSeparator: React$2.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React$2.RefAttributes<HTMLDivElement>, "ref"> & React$2.RefAttributes<HTMLDivElement>>;
602
- //#endregion
603
- //#region src/components/ui/sidebar/SidebarButton.d.ts
604
- interface SidebarButtonProps {
605
- icon?: ReactNode;
606
- children: ReactNode;
607
- onClick?: () => void;
608
- size?: 'default' | 'small';
609
- badge?: string;
610
- disabled?: boolean;
611
- isSelected?: boolean;
612
- /** When provided, renders as an anchor element instead of a button */
613
- href?: string;
614
- target?: React$1.HTMLAttributeAnchorTarget;
615
- rel?: string;
616
- className?: string;
617
- }
618
- /**
619
- * A styled button component for sidebar actions with consistent styling.
620
- * Can render as a button or anchor element depending on whether href is provided.
621
- */
622
- declare function SidebarButton({
623
- icon,
624
- children,
625
- onClick,
626
- size,
627
- badge,
628
- disabled,
629
- isSelected,
630
- href,
631
- target,
632
- rel,
633
- className
634
- }: SidebarButtonProps): React$1.ReactElement;
635
- //# sourceMappingURL=SidebarButton.d.ts.map
636
- //#endregion
637
- //#region src/components/ui/sidebar/SidebarGroup.d.ts
638
- interface SidebarGroupProps {
639
- /** Title displayed in the collapsible trigger */
640
- title: string;
641
- /** Optional icon displayed before the title */
642
- icon?: ReactNode;
643
- /** Content to render when expanded */
644
- children: ReactNode;
645
- /** Whether the group is open by default */
646
- defaultOpen?: boolean;
647
- /** Controlled open state */
648
- open?: boolean;
649
- /** Callback when open state changes */
650
- onOpenChange?: (open: boolean) => void;
651
- /** Additional CSS classes for the container */
652
- className?: string;
653
- /** Additional CSS classes for the trigger */
654
- triggerClassName?: string;
655
- /** Additional CSS classes for the content wrapper */
656
- contentClassName?: string;
657
- }
658
- /**
659
- * A collapsible group component for organizing sidebar navigation items.
660
- * Supports both controlled and uncontrolled modes.
661
- */
662
- declare function SidebarGroup({
663
- title,
664
- icon,
665
- children,
666
- defaultOpen,
667
- open: controlledOpen,
668
- onOpenChange,
669
- className,
670
- triggerClassName,
671
- contentClassName
672
- }: SidebarGroupProps): React$1.ReactElement;
673
- //# sourceMappingURL=SidebarGroup.d.ts.map
674
- //#endregion
675
- //#region src/components/ui/sidebar/SidebarLayout.d.ts
676
- interface SidebarLayoutProps {
677
- /** Content for the sidebar header (e.g., logo) */
678
- header?: ReactNode;
679
- /** Content to be displayed below the header but above the scrollable area */
680
- subHeader?: ReactNode;
681
- /** Main scrollable content area */
682
- children: ReactNode;
683
- /** Content for the fixed footer (e.g., nav icons) */
684
- footer?: ReactNode;
685
- /** Additional CSS classes for the sidebar container */
686
- className?: string;
687
- /** Width of the sidebar (default: 289px) */
688
- width?: number | string;
689
- /** Background color/class for the sidebar */
690
- background?: string;
691
- /** Controls visibility in mobile slide-over */
692
- mobileOpen?: boolean;
693
- /** Close handler for mobile slide-over */
694
- onMobileOpenChange?: (open: boolean) => void;
695
- /** Aria label for mobile dialog */
696
- mobileAriaLabel?: string;
697
- }
698
- /**
699
- * A flexible sidebar layout component with desktop sidebar and mobile slide-over.
700
- * Provides slots for header, scrollable content, and footer.
701
- */
702
- declare function SidebarLayout({
703
- header,
704
- subHeader,
705
- children,
706
- footer,
707
- className,
708
- width,
709
- background,
710
- mobileOpen,
711
- onMobileOpenChange,
712
- mobileAriaLabel
713
- }: SidebarLayoutProps): React$1.ReactElement;
714
- //# sourceMappingURL=SidebarLayout.d.ts.map
715
- //#endregion
716
- //#region src/components/ui/sidebar/SidebarSection.d.ts
717
- interface SidebarSectionProps {
718
- /** Optional section title displayed above the content */
719
- title?: string;
720
- /** Content to render within the section */
721
- children: ReactNode;
722
- /** Additional CSS classes */
723
- className?: string;
724
- /** CSS classes for the title element */
725
- titleClassName?: string;
726
- /** Whether this section should grow to fill available space */
727
- grow?: boolean;
728
- }
729
- /**
730
- * A generic sidebar section wrapper with optional title.
731
- * Used to group related sidebar items together.
732
- */
733
- declare function SidebarSection({
734
- title,
735
- children,
736
- className,
737
- titleClassName,
738
- grow
739
- }: SidebarSectionProps): React$1.ReactElement;
740
- //# sourceMappingURL=SidebarSection.d.ts.map
741
- //#endregion
742
- //#region src/components/ui/tabs.d.ts
743
- /** Tabs container component wrapping Radix UI Tabs Root. */
744
- declare function Tabs({
745
- className,
746
- ...props
747
- }: React$2.ComponentProps<typeof TabsPrimitive.Root>): React$2.ReactElement;
748
- /** Tabs list component containing tab triggers. */
749
- declare function TabsList({
750
- className,
751
- ...props
752
- }: React$2.ComponentProps<typeof TabsPrimitive.List>): React$2.ReactElement;
753
- /** Individual tab trigger button. */
754
- declare function TabsTrigger({
755
- className,
756
- ...props
757
- }: React$2.ComponentProps<typeof TabsPrimitive.Trigger>): React$2.ReactElement;
758
- /** Tab content panel displayed when its trigger is active. */
759
- declare function TabsContent({
760
- className,
761
- ...props
762
- }: React$2.ComponentProps<typeof TabsPrimitive.Content>): React$2.ReactElement;
763
- //#endregion
764
- //#region src/components/ui/textarea.d.ts
765
- type TextareaProps = React$2.TextareaHTMLAttributes<HTMLTextAreaElement>;
766
- declare const Textarea: React$2.ForwardRefExoticComponent<TextareaProps & React$2.RefAttributes<HTMLTextAreaElement>>;
767
- //#endregion
768
- //#region src/components/ui/tooltip.d.ts
769
- declare const TooltipProvider: React$2.FC<TooltipPrimitive.TooltipProviderProps>;
770
- declare const Tooltip: React$2.FC<TooltipPrimitive.TooltipProps>;
771
- declare const TooltipTrigger: React$2.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React$2.RefAttributes<HTMLButtonElement>>;
772
- declare const TooltipContent: React$2.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React$2.RefAttributes<HTMLDivElement>, "ref"> & React$2.RefAttributes<HTMLDivElement>>;
773
- //#endregion
774
- //#region src/components/ui/view-contract-state-button.d.ts
775
- interface ViewContractStateButtonProps {
776
- contractAddress: string | null;
777
- onToggle: () => void;
778
- }
779
- /**
780
- * ViewContractStateButton - A button to toggle the contract state widget
781
- * Shows the contract address in a truncated format
782
- */
783
- declare function ViewContractStateButton({
784
- contractAddress,
785
- onToggle
786
- }: ViewContractStateButtonProps): React$1.ReactElement | null;
787
- //#endregion
788
- //#region src/components/fields/BaseField.d.ts
789
- /**
790
- * Base props shared by all field components
791
- *
792
- * @template TFieldValues The field values type from React Hook Form
793
- */
794
- interface BaseFieldProps<TFieldValues extends FieldValues = FieldValues> {
795
- /**
796
- * Unique identifier for the field
797
- */
798
- id: string;
799
- /**
800
- * Label text to display
801
- */
802
- label: string;
803
- /**
804
- * Placeholder text when empty
805
- */
806
- placeholder?: string;
807
- /**
808
- * Helper text to display below the field
809
- */
810
- helperText?: string;
811
- /**
812
- * Field width for layout
813
- */
814
- width?: 'full' | 'half' | 'third';
815
- /**
816
- * Validation rules for the field
817
- */
818
- validation?: FieldValidation;
819
- /**
820
- * Form control from React Hook Form
821
- */
822
- control: Control<TFieldValues>;
823
- /**
824
- * Field name in the form
825
- */
826
- name: FieldPath<TFieldValues>;
827
- /**
828
- * Whether the field should be displayed as read-only/disabled.
829
- * @default false
830
- */
831
- readOnly?: boolean;
832
- }
833
- /**
834
- * BaseField component to provide a consistent layout for form fields
835
- *
836
- * @important This component is the foundation of the app rendering architecture and should
837
- * ONLY be used by field-specific components within the system, not as a standalone component.
838
- *
839
- * Architecture role:
840
- * 1. Provides a consistent layout structure for all field types
841
- * 2. Handles integration with React Hook Form through the FormField component
842
- * 3. Manages common rendering aspects like labels, error messages, and help text
843
- * 4. Delegates actual input rendering to field-specific components via renderInput
844
- *
845
- * Field component hierarchy:
846
- * - TransactionForm (top-level renderer)
847
- * - DynamicFormField (field type selector)
848
- * - Specific field components (TextField, NumberField, etc.)
849
- * - BaseField (common field structure - this component)
850
- * - Actual input element rendered by renderInput
851
- *
852
- * This component should only be extended by field-specific components like
853
- * TextField, NumberField, and AddressField - it is not meant for direct use in forms.
854
- */
855
- declare function BaseField<TFieldValues extends FieldValues = FieldValues>({
856
- id,
857
- label,
858
- helperText,
859
- control,
860
- name,
861
- width,
862
- renderInput
863
- }: BaseFieldProps<TFieldValues> & {
864
- renderInput: (field: Record<string, unknown>, props: {
865
- id: string;
866
- ref?: ForwardedRef<HTMLElement>;
867
- }) => ReactNode;
868
- ref?: ForwardedRef<HTMLElement>;
869
- }): ReactElement;
870
- declare namespace BaseField {
871
- var displayName: string;
872
- }
873
- //# sourceMappingURL=BaseField.d.ts.map
874
- //#endregion
875
- //#region src/components/fields/AddressField.d.ts
876
- interface AddressFieldProps<TFieldValues extends FieldValues = FieldValues> extends BaseFieldProps<TFieldValues> {
877
- adapter?: ContractAdapter;
878
- }
879
- /**
880
- * Address input field component specifically designed for blockchain addresses via React Hook Form integration.
881
- *
882
- * Architecture flow:
883
- * 1. Form schemas are generated from contract functions using adapters
884
- * 2. TransactionForm renders the overall form structure with React Hook Form
885
- * 3. DynamicFormField selects the appropriate field component (like AddressField) based on field type
886
- * 4. BaseField provides consistent layout and hook form integration
887
- * 5. This component handles blockchain address-specific rendering and validation using the passed adapter
888
- *
889
- * The component includes:
890
- * - Integration with React Hook Form
891
- * - Blockchain address validation through adapter-provided custom validation
892
- * - Automatic error handling and reporting
893
- * - Chain-agnostic design (validation handled by adapters)
894
- * - Full accessibility support with ARIA attributes
895
- * - Keyboard navigation
896
- */
897
- declare function AddressField<TFieldValues extends FieldValues = FieldValues>({
898
- id,
899
- label,
900
- placeholder,
901
- helperText,
902
- control,
903
- name,
904
- width,
905
- validation,
906
- adapter,
907
- readOnly
908
- }: AddressFieldProps<TFieldValues>): React$1.ReactElement;
909
- declare namespace AddressField {
910
- var displayName: string;
911
- }
912
- //#endregion
913
- //#region src/components/fields/AmountField.d.ts
914
- /**
915
- * AmountField component properties
916
- */
917
- interface AmountFieldProps<TFieldValues extends FieldValues = FieldValues> extends BaseFieldProps<TFieldValues> {
918
- /**
919
- * Minimum value validation
920
- */
921
- min?: number;
922
- /**
923
- * Maximum value validation
924
- */
925
- max?: number;
926
- /**
927
- * Step value for increment/decrement
928
- */
929
- step?: number;
930
- /**
931
- * Number of decimal places to allow
932
- */
933
- decimals?: number;
934
- /**
935
- * Currency/token symbol to display
936
- */
937
- symbol?: string;
938
- /**
939
- * Position of the symbol (before or after the amount)
940
- */
941
- symbolPosition?: 'prefix' | 'suffix';
942
- /**
943
- * Custom validation function for amount values
944
- */
945
- validateAmount?: (value: number) => boolean | string;
946
- }
947
- /**
948
- * Amount input field component specifically designed for currency/token amounts with React Hook Form integration.
949
- *
950
- * Architecture flow:
951
- * 1. Form schemas are generated from contract functions using adapters
952
- * 2. TransactionForm renders the overall form structure with React Hook Form
953
- * 3. DynamicFormField selects the appropriate field component based on field type
954
- * 4. BaseField provides consistent layout and hook form integration
955
- * 5. This component handles amount-specific rendering and validation
956
- *
957
- * The component includes:
958
- * - Integration with React Hook Form
959
- * - Support for currency/token symbols
960
- * - Numeric-specific validations (min, max, decimals)
961
- * - Customizable validation through adapter integration
962
- * - Automatic error handling and reporting
963
- * - Full accessibility support with ARIA attributes
964
- * - Keyboard navigation with arrow keys for numeric increment/decrement
965
- */
966
- declare function AmountField<TFieldValues extends FieldValues = FieldValues>({
967
- id,
968
- label,
969
- placeholder,
970
- helperText,
971
- control,
972
- name,
973
- width,
974
- validation,
975
- min,
976
- max,
977
- step,
978
- decimals,
979
- symbol,
980
- symbolPosition,
981
- validateAmount
982
- }: AmountFieldProps<TFieldValues>): React$1.ReactElement;
983
- declare namespace AmountField {
984
- var displayName: string;
985
- }
986
- //# sourceMappingURL=AmountField.d.ts.map
987
- //#endregion
988
- //#region src/components/fields/ArrayField.d.ts
989
- /**
990
- * ArrayField component properties
991
- */
992
- interface ArrayFieldProps<TFieldValues extends FieldValues = FieldValues> extends BaseFieldProps<TFieldValues> {
993
- /**
994
- * The type of elements in the array (e.g., 'text', 'number', 'blockchain-address')
995
- */
996
- elementType?: FormFieldType['type'];
997
- /**
998
- * Minimum number of array elements
999
- */
1000
- minItems?: number;
1001
- /**
1002
- * Maximum number of array elements
1003
- */
1004
- maxItems?: number;
1005
- /**
1006
- * Base configuration for array element fields.
1007
- * This allows specifying common properties like placeholder, helperText, or specific validation
1008
- * for each element in the array.
1009
- */
1010
- elementFieldConfig?: Partial<FormFieldType>;
1011
- /**
1012
- * Render function for array elements.
1013
- * This is crucial for rendering complex elements or integrating custom field components.
1014
- */
1015
- renderElement?: (field: FormFieldType, index: number) => React$1.ReactNode;
1016
- }
1017
- /**
1018
- * Array input field component specifically designed for React Hook Form integration.
1019
- *
1020
- * This component provides a dynamic interface for managing array inputs with:
1021
- * - Add/remove functionality for array items
1022
- * - Validation for array length constraints
1023
- * - Integration with existing field components for array elements
1024
- * - Full accessibility support
1025
- *
1026
- * The component reuses existing field components (TextField, NumberField, etc.)
1027
- * for individual array elements, maintaining consistency across the form system.
1028
- *
1029
- * Why the extra guards and synchronization exist (post-mortem/rationale):
1030
- * - In certain runtime states (StrictMode double-invocation, preview remounts, state rehydration
1031
- * from storage), React Hook Form's useFieldArray may not synchronously reflect an `append()`
1032
- * or `remove()` call in the immediately subsequent read (e.g., reading `fields.length` or
1033
- * `getValues(name)` right after the call). This resulted in newly added items (especially
1034
- * falsy defaults like 0/false) appearing briefly and then disappearing, or remove operations
1035
- * not updating the UI.
1036
- * - To make array operations deterministic and resilient across flows (preview form with
1037
- * FormProvider and the wizard's "Use Hardcoded Value" without a provider), we:
1038
- * 1) Read a stable snapshot of the array value BEFORE `append()` and, if the immediate
1039
- * post-append read doesn't reflect the addition, we coerce the state to
1040
- * "previousSnapshot + newValue" via `setValue` (when context exists) or `replace`.
1041
- * 2) Avoid `remove()` race conditions by always computing the new array via filter and
1042
- * applying it with `replace`, which proved to be the most consistent across contexts.
1043
- * 3) Keep `fields` in sync with the watched array value using a guarded `replace` in an effect.
1044
- * A ref flag (`isReplacingRef`) prevents infinite loops when we ourselves are driving
1045
- * the `replace`.
1046
- * 4) Use optional chaining for form context (`formContext?.control`, `formContext?.getValues`,
1047
- * `formContext?.setValue`) so the component works with either an inherited FormProvider or
1048
- * an explicit `control` prop.
1049
- * 5) Use `queueMicrotask` to reset the guard flag after our `replace` has been scheduled,
1050
- * avoiding an extra timer tick while ensuring the effect observes the final state.
1051
- *
1052
- * Guarantees:
1053
- * - Operations are idempotent: the fallback only runs when the immediate read does not reflect
1054
- * the intended state, so we don't double-append/remove.
1055
- * - Works both with and without FormProvider (preview vs wizard) due to context-agnostic state
1056
- * reads and `replace` fallback.
1057
- */
1058
- declare function ArrayField<TFieldValues extends FieldValues = FieldValues>({
1059
- id,
1060
- label,
1061
- helperText,
1062
- control,
1063
- name,
1064
- width,
1065
- validation,
1066
- elementType,
1067
- minItems,
1068
- maxItems,
1069
- elementFieldConfig,
1070
- renderElement,
1071
- readOnly
1072
- }: ArrayFieldProps<TFieldValues>): React$1.ReactElement;
1073
- declare namespace ArrayField {
1074
- var displayName: string;
1075
- }
1076
- //# sourceMappingURL=ArrayField.d.ts.map
1077
- //#endregion
1078
- //#region src/components/fields/ArrayObjectField.d.ts
1079
- /**
1080
- * ArrayObjectField component properties
1081
- */
1082
- interface ArrayObjectFieldProps<TFieldValues extends FieldValues = FieldValues> extends BaseFieldProps<TFieldValues> {
1083
- /**
1084
- * The components/properties of each object in the array.
1085
- * Defines the schema for the nested fields within each object item.
1086
- */
1087
- components?: FunctionParameter[];
1088
- /**
1089
- * Minimum number of array elements
1090
- */
1091
- minItems?: number;
1092
- /**
1093
- * Maximum number of array elements
1094
- */
1095
- maxItems?: number;
1096
- /**
1097
- * Render function for object properties.
1098
- * This function is responsible for rendering each individual property
1099
- * of an object within an array item.
1100
- */
1101
- renderProperty?: (field: FormFieldType, itemIndex: number, propertyName: string) => React$1.ReactNode;
1102
- /**
1103
- * Whether items should be collapsible.
1104
- * Useful for managing UI complexity when objects have many properties.
1105
- */
1106
- collapsible?: boolean;
1107
- /**
1108
- * Whether items should start collapsed.
1109
- */
1110
- defaultCollapsed?: boolean;
1111
- /**
1112
- * The adapter for chain-specific type mapping.
1113
- * Essential for correctly determining field types for object properties.
1114
- */
1115
- adapter?: ContractAdapter;
1116
- /**
1117
- * Optional contract schema to enrich nested field generation.
1118
- */
1119
- contractSchema?: ContractSchema;
1120
- }
1121
- /**
1122
- * Array of objects input field component specifically designed for React Hook Form integration.
1123
- *
1124
- * This component provides a dynamic interface for managing arrays of composite objects with:
1125
- * - Add/remove functionality for array items
1126
- * - Structured rendering of object properties within each array item
1127
- * - Collapsible items for better UX with complex objects
1128
- * - Validation for array constraints and object properties (though individual property validation is largely via rendered component)
1129
- * - Full accessibility support
1130
- *
1131
- * The component combines the functionality of ArrayField and ObjectField to handle
1132
- * complex nested data structures commonly found in blockchain contracts.
1133
- */
1134
- declare function ArrayObjectField<TFieldValues extends FieldValues = FieldValues>({
1135
- id,
1136
- label,
1137
- helperText,
1138
- control,
1139
- name,
1140
- width,
1141
- validation,
1142
- components,
1143
- minItems,
1144
- maxItems,
1145
- renderProperty,
1146
- collapsible,
1147
- defaultCollapsed,
1148
- readOnly,
1149
- adapter,
1150
- contractSchema
1151
- }: ArrayObjectFieldProps<TFieldValues>): React$1.ReactElement;
1152
- declare namespace ArrayObjectField {
1153
- var displayName: string;
1154
- }
1155
- //# sourceMappingURL=ArrayObjectField.d.ts.map
1156
- //#endregion
1157
- //#region src/components/fields/BigIntField.d.ts
1158
- /**
1159
- * BigIntField component properties
1160
- */
1161
- interface BigIntFieldProps<TFieldValues extends FieldValues = FieldValues> extends BaseFieldProps<TFieldValues> {
1162
- /**
1163
- * Custom validation function for big integer string values
1164
- */
1165
- validateBigInt?: (value: string) => boolean | string;
1166
- }
1167
- /**
1168
- * Big integer input field component for large numbers beyond JavaScript's Number precision.
1169
- *
1170
- * This component is designed for blockchain integer types like uint128, uint256, int128, int256
1171
- * that can hold values larger than JavaScript's Number.MAX_SAFE_INTEGER (2^53 - 1).
1172
- *
1173
- * Architecture flow:
1174
- * 1. Form schemas are generated from contract functions using adapters
1175
- * 2. TransactionForm renders the overall form structure with React Hook Form
1176
- * 3. DynamicFormField selects BigIntField for large integer types
1177
- * 4. This component handles string-based integer input with validation
1178
- * 5. Adapters convert the string to BigInt when submitting transactions
1179
- *
1180
- * The component includes:
1181
- * - Integer-only validation (no decimals allowed)
1182
- * - String-based storage to avoid JavaScript Number precision issues
1183
- * - Integration with React Hook Form
1184
- * - Automatic error handling and reporting
1185
- * - Full accessibility support with ARIA attributes
1186
- * - Keyboard navigation
1187
- */
1188
- declare function BigIntField<TFieldValues extends FieldValues = FieldValues>({
1189
- id,
1190
- label,
1191
- placeholder,
1192
- helperText,
1193
- control,
1194
- name,
1195
- width,
1196
- validation,
1197
- validateBigInt,
1198
- readOnly
1199
- }: BigIntFieldProps<TFieldValues>): React$1.ReactElement;
1200
- declare namespace BigIntField {
1201
- var displayName: string;
1202
- }
1203
- //# sourceMappingURL=BigIntField.d.ts.map
1204
- //#endregion
1205
- //#region src/components/fields/BooleanField.d.ts
1206
- /**
1207
- * BooleanField component properties
1208
- */
1209
- interface BooleanFieldProps<TFieldValues extends FieldValues = FieldValues> extends BaseFieldProps<TFieldValues> {
1210
- /**
1211
- * Custom validation function for boolean values
1212
- */
1213
- validateBoolean?: (value: boolean) => boolean | string;
1214
- }
1215
- /**
1216
- * Boolean input field component (checkbox) specifically designed for React Hook Form integration.
1217
- *
1218
- * Architecture flow:
1219
- * 1. Form schemas are generated from contract functions using adapters
1220
- * 2. TransactionForm renders the overall form structure with React Hook Form
1221
- * 3. DynamicFormField selects the appropriate field component (like BooleanField) based on field type
1222
- * 4. BaseField provides consistent layout and hook form integration
1223
- * 5. This component handles boolean-specific rendering and validation
1224
- *
1225
- * The component includes:
1226
- * - Integration with React Hook Form
1227
- * - Checkbox-specific behavior
1228
- * - Customizable validation through adapter integration
1229
- * - Automatic error handling and reporting
1230
- * - Full accessibility support with ARIA attributes
1231
- * - Keyboard navigation with Space/Enter for toggling
1232
- */
1233
- declare function BooleanField<TFieldValues extends FieldValues = FieldValues>({
1234
- id,
1235
- label,
1236
- helperText,
1237
- control,
1238
- name,
1239
- width,
1240
- validation,
1241
- validateBoolean,
1242
- readOnly
1243
- }: BooleanFieldProps<TFieldValues>): React$1.ReactElement;
1244
- declare namespace BooleanField {
1245
- var displayName: string;
1246
- }
1247
- //# sourceMappingURL=BooleanField.d.ts.map
1248
- //#endregion
1249
- //#region src/components/fields/BytesField.d.ts
1250
- /**
1251
- * BytesField component properties
1252
- */
1253
- interface BytesFieldProps<TFieldValues extends FieldValues = FieldValues> extends BaseFieldProps<TFieldValues> {
1254
- /**
1255
- * Number of rows for the textarea
1256
- */
1257
- rows?: number;
1258
- /**
1259
- * Maximum length in bytes (not characters)
1260
- */
1261
- maxBytes?: number;
1262
- /**
1263
- * Whether to accept hex, base64, or both formats
1264
- */
1265
- acceptedFormats?: 'hex' | 'base64' | 'both';
1266
- /**
1267
- * Whether to automatically add/remove 0x prefix for hex values
1268
- */
1269
- autoPrefix?: boolean;
1270
- /**
1271
- * Whether to allow 0x prefix in hex input (defaults to true)
1272
- */
1273
- allowHexPrefix?: boolean;
1274
- }
1275
- /**
1276
- * Specialized input field for bytes data with built-in hex/base64 validation.
1277
- *
1278
- * This component provides proper validation for blockchain bytes data including:
1279
- * - Hex encoding validation (with optional 0x prefix support)
1280
- * - Base64 encoding validation
1281
- * - Byte length validation
1282
- * - Format detection and conversion
1283
- *
1284
- * Key props for EVM compatibility:
1285
- * - `allowHexPrefix`: Whether to accept 0x prefixed input (defaults to true)
1286
- * - `autoPrefix`: Whether to automatically add 0x prefixes (defaults to false)
1287
- *
1288
- * These are separate concerns - you can accept 0x input without auto-adding prefixes.
1289
- *
1290
- * Architecture flow:
1291
- * 1. Form schemas are generated from contract functions using adapters
1292
- * 2. TransactionForm renders the overall form structure with React Hook Form
1293
- * 3. DynamicFormField selects BytesField for 'bytes' field types
1294
- * 4. BaseField provides consistent layout and hook form integration
1295
- * 5. This component handles bytes-specific validation and formatting
1296
- */
1297
- declare function BytesField<TFieldValues extends FieldValues = FieldValues>({
1298
- id,
1299
- label,
1300
- helperText,
1301
- control,
1302
- name,
1303
- width,
1304
- validation,
1305
- placeholder,
1306
- rows,
1307
- maxBytes,
1308
- acceptedFormats,
1309
- autoPrefix,
1310
- allowHexPrefix,
1311
- readOnly
1312
- }: BytesFieldProps<TFieldValues>): React$1.ReactElement;
1313
- declare namespace BytesField {
1314
- var displayName: string;
1315
- }
1316
- //# sourceMappingURL=BytesField.d.ts.map
1317
- //#endregion
1318
- //#region src/components/fields/DateTimeField.d.ts
1319
- /**
1320
- * DateTimeField component properties
1321
- */
1322
- interface DateTimeFieldProps<TFieldValues extends FieldValues = FieldValues> extends BaseFieldProps<TFieldValues> {
1323
- /**
1324
- * Placeholder text displayed when the field is empty
1325
- */
1326
- placeholder?: string;
1327
- /**
1328
- * If true, clears the field when user clicks Escape; otherwise just blurs
1329
- */
1330
- clearOnEscape?: boolean;
1331
- }
1332
- /**
1333
- * Datetime-local input field component specifically designed for React Hook Form integration.
1334
- *
1335
- * Architecture flow:
1336
- * 1. Form schemas are generated from contract functions using adapters
1337
- * 2. TransactionForm renders the overall form structure with React Hook Form
1338
- * 3. DynamicFormField selects the appropriate field component (like DateTimeField) based on field type
1339
- * 4. BaseField provides consistent layout and hook form integration
1340
- * 5. This component handles date-time specific rendering, conversion, and validation
1341
- *
1342
- * The component includes:
1343
- * - Integration with React Hook Form
1344
- * - Conversion between input value (YYYY-MM-DDTHH:mm) and ISO 8601 strings (toISOString)
1345
- * - Customizable validation through adapter integration
1346
- * - Automatic error handling and reporting
1347
- * - Full accessibility support with ARIA attributes
1348
- * - Keyboard navigation with Escape-to-clear behavior
1349
- */
1350
- declare function DateTimeField<TFieldValues extends FieldValues = FieldValues>({
1351
- id,
1352
- label,
1353
- placeholder,
1354
- helperText,
1355
- control,
1356
- name,
1357
- width,
1358
- validation,
1359
- readOnly,
1360
- clearOnEscape
1361
- }: DateTimeFieldProps<TFieldValues>): React$1.ReactElement;
1362
- declare namespace DateTimeField {
1363
- var displayName: string;
1364
- }
1365
- //# sourceMappingURL=DateTimeField.d.ts.map
1366
- //#endregion
1367
- //#region src/components/fields/EnumField.d.ts
1368
- /**
1369
- * Enum variant definition
1370
- */
1371
- interface EnumVariant {
1372
- /** Name of the variant (e.g., 'One', 'Two', 'Three') */
1373
- name: string;
1374
- /** Type of variant: 'void' for unit variants, 'tuple' for variants with payload, 'integer' for numeric enums */
1375
- type: 'void' | 'tuple' | 'integer';
1376
- /** For tuple variants: array of payload type names (e.g., ['U32', 'ScString']) */
1377
- payloadTypes?: string[];
1378
- /** Optional nested component definitions for tuple payload entries */
1379
- payloadComponents?: (FunctionParameter[] | undefined)[];
1380
- /** For integer variants: the numeric value */
1381
- value?: number;
1382
- /** Flag indicating if this variant has a single Tuple payload (for serialization) */
1383
- isSingleTuplePayload?: boolean;
1384
- }
1385
- /**
1386
- * Enum metadata extracted from contract spec
1387
- */
1388
- interface EnumMetadata {
1389
- /** Name of the enum type */
1390
- name: string;
1391
- /** Array of variants in the enum */
1392
- variants: EnumVariant[];
1393
- /** True if all variants are unit variants (no payloads), suitable for simple select/radio */
1394
- isUnitOnly: boolean;
1395
- }
1396
- /**
1397
- * Enum field value structure for blockchain enum types
1398
- */
1399
- type EnumFieldValue = EnumValue;
1400
- /**
1401
- * EnumField component properties
1402
- */
1403
- interface EnumFieldProps<TFieldValues extends FieldValues = FieldValues> extends BaseFieldProps<TFieldValues> {
1404
- /**
1405
- * Enum metadata containing variant information
1406
- */
1407
- enumMetadata?: EnumMetadata;
1408
- /**
1409
- * Custom validation function for enum values
1410
- */
1411
- validateEnum?: (value: EnumFieldValue) => boolean | string;
1412
- /**
1413
- * Render function for payload input fields.
1414
- * This allows the parent component to provide appropriate field components
1415
- * based on the payload type, maintaining separation of concerns.
1416
- */
1417
- renderPayloadField?: (field: FormFieldType, payloadIndex: number) => React$1.ReactNode;
1418
- }
1419
- /**
1420
- * Composite enum field component for blockchain enum types.
1421
- *
1422
- * This component handles both unit enums (simple variants) and tagged enums (variants with payloads).
1423
- * For unit enums, it renders as a simple select dropdown.
1424
- * For tagged enums, it renders a variant picker plus conditional input fields for payload data.
1425
- *
1426
- * The value format is designed to be chain-agnostic:
1427
- * - Unit variants: { tag: "VariantName" }
1428
- * - Tuple variants: { tag: "VariantName", values: [...] }
1429
- */
1430
- declare function EnumField<TFieldValues extends FieldValues = FieldValues>({
1431
- id,
1432
- label,
1433
- placeholder,
1434
- helperText,
1435
- control,
1436
- name,
1437
- width,
1438
- validation,
1439
- enumMetadata,
1440
- validateEnum,
1441
- renderPayloadField,
1442
- readOnly
1443
- }: EnumFieldProps<TFieldValues>): React$1.ReactElement;
1444
- declare namespace EnumField {
1445
- var displayName: string;
1446
- }
1447
- //# sourceMappingURL=EnumField.d.ts.map
1448
- //#endregion
1449
- //#region src/components/fields/FileUploadField.d.ts
1450
- /**
1451
- * FileUploadField component properties
1452
- */
1453
- interface FileUploadFieldProps<TFieldValues extends FieldValues = FieldValues> extends BaseFieldProps<TFieldValues> {
1454
- /**
1455
- * Accepted file types (e.g., ".zip,.tar.gz")
1456
- */
1457
- accept?: string;
1458
- /**
1459
- * Maximum file size in bytes
1460
- */
1461
- maxSize?: number;
1462
- /**
1463
- * Whether to convert the file to base64 string
1464
- */
1465
- convertToBase64?: boolean;
1466
- }
1467
- /** File upload field component with drag-and-drop support. */
1468
- declare function FileUploadField<TFieldValues extends FieldValues = FieldValues>({
1469
- id,
1470
- label,
1471
- placeholder,
1472
- helperText,
1473
- control,
1474
- name,
1475
- width,
1476
- validation,
1477
- readOnly,
1478
- accept,
1479
- maxSize,
1480
- convertToBase64
1481
- }: FileUploadFieldProps<TFieldValues>): React.ReactElement;
1482
- //# sourceMappingURL=FileUploadField.d.ts.map
1483
- //#endregion
1484
- //#region src/components/fields/MapField/MapField.d.ts
1485
- /**
1486
- * MapField component properties
1487
- */
1488
- interface MapFieldProps<TFieldValues extends FieldValues = FieldValues> extends BaseFieldProps<TFieldValues> {
1489
- /**
1490
- * Map metadata containing key and value type information
1491
- */
1492
- mapMetadata?: {
1493
- keyType?: string;
1494
- valueType?: string;
1495
- keyFieldConfig?: Partial<FormFieldType>;
1496
- valueFieldConfig?: Partial<FormFieldType>;
1497
- };
1498
- /**
1499
- * Minimum number of map entries
1500
- */
1501
- minItems?: number;
1502
- /**
1503
- * Render function for map keys.
1504
- * This allows the parent component to provide appropriate field components
1505
- * based on the key type, maintaining separation of concerns.
1506
- */
1507
- renderKeyField?: (field: FormFieldType, entryIndex: number) => React$1.ReactNode;
1508
- /**
1509
- * Render function for map values.
1510
- * This allows the parent component to provide appropriate field components
1511
- * based on the value type, maintaining separation of concerns.
1512
- */
1513
- renderValueField?: (field: FormFieldType, entryIndex: number) => React$1.ReactNode;
1514
- }
1515
- /**
1516
- * Map (key-value dictionary) input field component specifically designed for React Hook Form integration.
1517
- *
1518
- * This component provides a dynamic interface for managing map/dictionary inputs with:
1519
- * - Add/remove functionality for key-value pairs
1520
- * - Validation for map size constraints
1521
- * - Integration with existing field components for keys and values
1522
- * - Chain-agnostic data format (array of {key, value} objects)
1523
- * - Full accessibility support
1524
- *
1525
- * Architecture flow:
1526
- * 1. Form schemas are generated from contract functions using adapters
1527
- * 2. TransactionForm renders the overall form structure with React Hook Form
1528
- * 3. DynamicFormField selects the appropriate field component (like MapField) based on field type
1529
- * 4. BaseField provides consistent layout and hook form integration
1530
- * 5. This component handles map-specific rendering and validation
1531
- *
1532
- * The component stores data in a chain-agnostic format as an array of {key, value} objects.
1533
- * The adapter is responsible for converting this to the chain-specific format (e.g., SorobanMapEntry[])
1534
- * when submitting to the blockchain.
1535
- */
1536
- declare function MapField<TFieldValues extends FieldValues = FieldValues>({
1537
- id,
1538
- label,
1539
- helperText,
1540
- control,
1541
- name,
1542
- width,
1543
- validation,
1544
- mapMetadata,
1545
- minItems,
1546
- renderKeyField,
1547
- renderValueField,
1548
- readOnly
1549
- }: MapFieldProps<TFieldValues>): React$1.ReactElement;
1550
- declare namespace MapField {
1551
- var displayName: string;
1552
- }
1553
- //# sourceMappingURL=MapField.d.ts.map
1554
- //#endregion
1555
- //#region src/components/fields/MapField/MapEntryRow.d.ts
1556
- interface Props {
1557
- keyField: FormFieldType;
1558
- valueField: FormFieldType;
1559
- isDuplicateKey: boolean;
1560
- renderKeyField?: (field: FormFieldType, entryIndex: number) => React$1.ReactNode;
1561
- renderValueField?: (field: FormFieldType, entryIndex: number) => React$1.ReactNode;
1562
- index: number;
1563
- }
1564
- /** Renders a single key-value entry row in a map field. */
1565
- declare function MapEntryRow({
1566
- keyField,
1567
- valueField,
1568
- isDuplicateKey,
1569
- renderKeyField,
1570
- renderValueField,
1571
- index
1572
- }: Props): React$1.ReactElement;
1573
- //#endregion
1574
- //#region src/components/fields/MapField/hooks/useChildTouched.d.ts
1575
- /** Computes whether any child field in a map has been touched. */
1576
- declare function computeChildTouched(formContext: UseFormReturn | undefined, name: string, watchedValue: unknown): boolean;
1577
- //# sourceMappingURL=useChildTouched.d.ts.map
1578
- //#endregion
1579
- //#region src/components/fields/MapField/hooks/useDuplicateKeyIndexes.d.ts
1580
- /** Hook that returns indexes of map entries with duplicate keys. */
1581
- declare function useDuplicateKeyIndexes(watchedValue: unknown): Set<number>;
1582
- //# sourceMappingURL=useDuplicateKeyIndexes.d.ts.map
1583
-
1584
- //#endregion
1585
- //#region src/components/fields/MapField/hooks/useMapFieldSync.d.ts
1586
- /**
1587
- * Keeps a field array synchronized with a watched value's length using replace,
1588
- * while preventing infinite loops via a guard ref.
1589
- */
1590
- declare function useMapFieldSync<TReplaceValue>(watchedValue: unknown, fieldsLength: number, replace: (value: TReplaceValue) => void): ReturnType<typeof React$1.useRef<boolean>>;
1591
- //# sourceMappingURL=useMapFieldSync.d.ts.map
1592
- //#endregion
1593
- //#region src/components/fields/MapField/validation/validateMapStructure.d.ts
1594
- interface ValidateArgs {
1595
- value: unknown;
1596
- required: boolean;
1597
- minItems?: number;
1598
- }
1599
- /** Validates a map field's structure including duplicates and required entries. */
1600
- declare function validateMapStructure({
1601
- value,
1602
- required,
1603
- minItems
1604
- }: ValidateArgs): string | true;
1605
- //#endregion
1606
- //#region src/components/fields/NumberField.d.ts
1607
- /**
1608
- * NumberField component properties
1609
- */
1610
- interface NumberFieldProps<TFieldValues extends FieldValues = FieldValues> extends BaseFieldProps<TFieldValues> {
1611
- /**
1612
- * Minimum value validation
1613
- */
1614
- min?: number;
1615
- /**
1616
- * Maximum value validation
1617
- */
1618
- max?: number;
1619
- /**
1620
- * Step value for increment/decrement
1621
- */
1622
- step?: number;
1623
- /**
1624
- * Custom validation function for number values
1625
- */
1626
- validateNumber?: (value: number) => boolean | string;
1627
- }
1628
- /**
1629
- * Number input field component specifically designed for React Hook Form integration.
1630
- *
1631
- * Architecture flow:
1632
- * 1. Form schemas are generated from contract functions using adapters
1633
- * 2. TransactionForm renders the overall form structure with React Hook Form
1634
- * 3. DynamicFormField selects the appropriate field component (like NumberField) based on field type
1635
- * 4. BaseField provides consistent layout and hook form integration
1636
- * 5. This component handles number-specific rendering and validation
1637
- *
1638
- * The component includes:
1639
- * - Integration with React Hook Form
1640
- * - Numeric-specific validations (min, max, step)
1641
- * - Customizable validation through adapter integration
1642
- * - Automatic error handling and reporting
1643
- * - Full accessibility support with ARIA attributes
1644
- * - Keyboard navigation with arrow keys for numeric increment/decrement
1645
- */
1646
- declare function NumberField<TFieldValues extends FieldValues = FieldValues>({
1647
- id,
1648
- label,
1649
- placeholder,
1650
- helperText,
1651
- control,
1652
- name,
1653
- width,
1654
- validation,
1655
- min,
1656
- max,
1657
- step,
1658
- validateNumber,
1659
- readOnly
1660
- }: NumberFieldProps<TFieldValues>): React$1.ReactElement;
1661
- declare namespace NumberField {
1662
- var displayName: string;
1663
- }
1664
- //# sourceMappingURL=NumberField.d.ts.map
1665
- //#endregion
1666
- //#region src/components/fields/ObjectField.d.ts
1667
- /**
1668
- * ObjectField component properties
1669
- */
1670
- interface ObjectFieldProps<TFieldValues extends FieldValues = FieldValues> extends BaseFieldProps<TFieldValues> {
1671
- /**
1672
- * The components/properties of the object.
1673
- * These define the schema for the nested fields within the object.
1674
- */
1675
- components?: FunctionParameter[];
1676
- /**
1677
- * Render function for object properties.
1678
- * This is crucial for rendering complex properties or integrating custom field components.
1679
- */
1680
- renderProperty?: (field: FormFieldType, propertyName: string) => React$1.ReactNode;
1681
- /**
1682
- * Whether to show the object in a card container.
1683
- * Useful for visually grouping object properties.
1684
- */
1685
- showCard?: boolean;
1686
- /**
1687
- * The adapter for chain-specific type mapping.
1688
- * Essential for correctly determining field types for object properties.
1689
- */
1690
- adapter?: ContractAdapter;
1691
- /**
1692
- * Optional contract schema for nested metadata (structs/enums).
1693
- */
1694
- contractSchema?: ContractSchema;
1695
- }
1696
- /**
1697
- * Object (composite/nested) input field component specifically designed for React Hook Form integration.
1698
- *
1699
- * This component provides a structured interface for managing object inputs with:
1700
- * - Nested field rendering based on object components
1701
- * - Validation for required properties (currently, the object itself can be required)
1702
- * - Integration with existing field components for object properties
1703
- * - Full accessibility support
1704
- *
1705
- * The component reuses existing field components for individual properties,
1706
- * maintaining consistency across the form system while supporting complex nested structures.
1707
- */
1708
- declare function ObjectField<TFieldValues extends FieldValues = FieldValues>({
1709
- id,
1710
- label,
1711
- helperText,
1712
- control,
1713
- name,
1714
- width,
1715
- validation,
1716
- components,
1717
- renderProperty,
1718
- showCard,
1719
- readOnly,
1720
- adapter,
1721
- contractSchema
1722
- }: ObjectFieldProps<TFieldValues>): React$1.ReactElement;
1723
- declare namespace ObjectField {
1724
- var displayName: string;
1725
- }
1726
- //# sourceMappingURL=ObjectField.d.ts.map
1727
- //#endregion
1728
- //#region src/components/fields/PasswordField.d.ts
1729
- /**
1730
- * PasswordField component properties
1731
- */
1732
- interface PasswordFieldProps<TFieldValues extends FieldValues = FieldValues> extends BaseFieldProps<TFieldValues> {
1733
- /**
1734
- * Placeholder text displayed when the field is empty
1735
- */
1736
- placeholder?: string;
1737
- /**
1738
- * Whether to show the password visibility toggle button
1739
- * @default true
1740
- */
1741
- showToggle?: boolean;
1742
- }
1743
- /**
1744
- * Password input field component specifically designed for React Hook Form integration.
1745
- *
1746
- * Architecture flow:
1747
- * 1. Form schemas are generated from contract functions using adapters
1748
- * 2. TransactionForm renders the overall form structure with React Hook Form
1749
- * 3. DynamicFormField selects the appropriate field component (like PasswordField) based on field type
1750
- * 4. BaseField provides consistent layout and hook form integration
1751
- * 5. This component handles password-specific rendering and validation
1752
- *
1753
- * The component includes:
1754
- * - Integration with React Hook Form
1755
- * - Password visibility toggle functionality
1756
- * - Password-specific validations (minLength, maxLength, pattern)
1757
- * - Customizable validation through adapter integration
1758
- * - Automatic error handling and reporting
1759
- * - Full accessibility support with ARIA attributes
1760
- * - Keyboard navigation
1761
- */
1762
- declare function PasswordField<TFieldValues extends FieldValues = FieldValues>({
1763
- id,
1764
- label,
1765
- placeholder,
1766
- helperText,
1767
- control,
1768
- name,
1769
- width,
1770
- validation,
1771
- readOnly,
1772
- showToggle
1773
- }: PasswordFieldProps<TFieldValues>): React$1.ReactElement;
1774
- declare namespace PasswordField {
1775
- var displayName: string;
1776
- }
1777
- //# sourceMappingURL=PasswordField.d.ts.map
1778
- //#endregion
1779
- //#region src/components/fields/RadioField.d.ts
1780
- /**
1781
- * Option item for radio fields
1782
- */
1783
- interface RadioOption {
1784
- /**
1785
- * Value to be submitted with the form
1786
- */
1787
- value: string;
1788
- /**
1789
- * Display label for the option
1790
- */
1791
- label: string;
1792
- /**
1793
- * Whether this option is disabled
1794
- */
1795
- disabled?: boolean;
1796
- }
1797
- /**
1798
- * RadioField component properties
1799
- */
1800
- interface RadioFieldProps<TFieldValues extends FieldValues = FieldValues> extends BaseFieldProps<TFieldValues> {
1801
- /**
1802
- * Available options for selection
1803
- */
1804
- options?: RadioOption[];
1805
- /**
1806
- * Direction of radio options layout
1807
- */
1808
- layout?: 'horizontal' | 'vertical';
1809
- /**
1810
- * Custom validation function for radio values
1811
- */
1812
- validateRadio?: (value: string) => boolean | string;
1813
- }
1814
- /**
1815
- * Radio button field component specifically designed for React Hook Form integration.
1816
- *
1817
- * Architecture flow:
1818
- * 1. Form schemas are generated from contract functions using adapters
1819
- * 2. TransactionForm renders the overall form structure with React Hook Form
1820
- * 3. DynamicFormField selects the appropriate field component based on field type
1821
- * 4. BaseField provides consistent layout and hook form integration
1822
- * 5. This component handles radio-specific rendering and validation
1823
- *
1824
- * The component includes:
1825
- * - Integration with React Hook Form
1826
- * - Customizable options list
1827
- * - Horizontal or vertical layout options
1828
- * - Customizable validation through adapter integration
1829
- * - Automatic error handling and reporting
1830
- * - Full accessibility support with ARIA attributes
1831
- */
1832
- declare function RadioField<TFieldValues extends FieldValues = FieldValues>({
1833
- id,
1834
- label,
1835
- helperText,
1836
- control,
1837
- name,
1838
- width,
1839
- validation,
1840
- options,
1841
- layout,
1842
- validateRadio
1843
- }: RadioFieldProps<TFieldValues>): React$1.ReactElement;
1844
- declare namespace RadioField {
1845
- var displayName: string;
1846
- }
1847
- //# sourceMappingURL=RadioField.d.ts.map
1848
- //#endregion
1849
- //#region src/components/fields/SelectField.d.ts
1850
- /**
1851
- * Option item for select fields
1852
- */
1853
- interface SelectOption {
1854
- /**
1855
- * Value to be submitted with the form
1856
- */
1857
- value: string;
1858
- /**
1859
- * Display label for the option
1860
- */
1861
- label: string;
1862
- /**
1863
- * Whether this option is disabled
1864
- */
1865
- disabled?: boolean;
1866
- }
1867
- /**
1868
- * SelectField component properties
1869
- */
1870
- interface SelectFieldProps<TFieldValues extends FieldValues = FieldValues> extends BaseFieldProps<TFieldValues> {
1871
- /**
1872
- * Available options for selection
1873
- */
1874
- options?: SelectOption[];
1875
- /**
1876
- * Custom validation function for select values
1877
- */
1878
- validateSelect?: (value: string) => boolean | string;
1879
- /**
1880
- * Optional default value used when the field has no value yet
1881
- */
1882
- defaultValue?: string;
1883
- }
1884
- /**
1885
- * Select dropdown field component specifically designed for React Hook Form integration.
1886
- *
1887
- * Architecture flow:
1888
- * 1. Form schemas are generated from contract functions using adapters
1889
- * 2. TransactionForm renders the overall form structure with React Hook Form
1890
- * 3. DynamicFormField selects the appropriate field component based on field type
1891
- * 4. BaseField provides consistent layout and hook form integration
1892
- * 5. This component handles radio-specific rendering and validation
1893
- *
1894
- * The component includes:
1895
- * - Integration with React Hook Form
1896
- * - Customizable options list
1897
- * - Horizontal or vertical layout options
1898
- * - Customizable validation through adapter integration
1899
- * - Automatic error handling and reporting
1900
- * - Full accessibility support with ARIA attributes
1901
- */
1902
- declare function SelectField<TFieldValues extends FieldValues = FieldValues>({
1903
- id,
1904
- label,
1905
- placeholder,
1906
- helperText,
1907
- control,
1908
- name,
1909
- width,
1910
- validation,
1911
- options,
1912
- validateSelect,
1913
- defaultValue
1914
- }: SelectFieldProps<TFieldValues>): React$1.ReactElement;
1915
- declare namespace SelectField {
1916
- var displayName: string;
1917
- }
1918
- //# sourceMappingURL=SelectField.d.ts.map
1919
- //#endregion
1920
- //#region src/components/fields/SelectGroupedField.d.ts
1921
- /**
1922
- * Option item for select fields with visual indicators
1923
- */
1924
- interface GroupedSelectOption {
1925
- /**
1926
- * Value to be submitted with the form
1927
- */
1928
- value: string;
1929
- /**
1930
- * Display label for the option
1931
- */
1932
- label: string;
1933
- /**
1934
- * Whether this option is disabled
1935
- */
1936
- disabled?: boolean;
1937
- /**
1938
- * Custom CSS class to apply to the option
1939
- */
1940
- className?: string;
1941
- }
1942
- /**
1943
- * Option group structure
1944
- */
1945
- interface OptionGroup {
1946
- /**
1947
- * Group label to display
1948
- */
1949
- label: string;
1950
- /**
1951
- * Options within this group
1952
- */
1953
- options: GroupedSelectOption[];
1954
- }
1955
- /**
1956
- * SelectGroupedField component properties
1957
- */
1958
- interface SelectGroupedFieldProps<TFieldValues extends FieldValues = FieldValues> extends BaseFieldProps<TFieldValues> {
1959
- /**
1960
- * Available option groups for selection
1961
- */
1962
- groups?: OptionGroup[];
1963
- /**
1964
- * Custom validation function for select values
1965
- */
1966
- validateSelect?: (value: string) => boolean | string;
1967
- }
1968
- /**
1969
- * Select dropdown field component with grouped options specifically designed for React Hook Form integration.
1970
- *
1971
- * Architecture flow:
1972
- * 1. Form schemas are generated from contract functions using adapters
1973
- * 2. TransactionForm renders the overall form structure with React Hook Form
1974
- * 3. DynamicFormField selects the appropriate field component based on field type
1975
- * 4. BaseField provides consistent layout and hook form integration
1976
- * 5. This component handles radio-specific rendering and validation
1977
- *
1978
- * The component includes:
1979
- * - Integration with React Hook Form
1980
- * - Customizable options list
1981
- * - Horizontal or vertical layout options
1982
- * - Customizable validation through adapter integration
1983
- * - Automatic error handling and reporting
1984
- * - Full accessibility support with ARIA attributes
1985
- */
1986
- declare function SelectGroupedField<TFieldValues extends FieldValues = FieldValues>({
1987
- id,
1988
- label,
1989
- placeholder,
1990
- helperText,
1991
- control,
1992
- name,
1993
- width,
1994
- validation,
1995
- groups,
1996
- validateSelect
1997
- }: SelectGroupedFieldProps<TFieldValues>): React$1.ReactElement;
1998
- declare namespace SelectGroupedField {
1999
- var displayName: string;
2000
- }
2001
- //# sourceMappingURL=SelectGroupedField.d.ts.map
2002
- //#endregion
2003
- //#region src/components/fields/TextAreaField.d.ts
2004
- /**
2005
- * TextAreaField component properties
2006
- */
2007
- interface TextAreaFieldProps<TFieldValues extends FieldValues = FieldValues> extends BaseFieldProps<TFieldValues> {
2008
- /**
2009
- * Number of rows for the textarea
2010
- */
2011
- rows?: number;
2012
- /**
2013
- * Maximum characters allowed in textarea
2014
- */
2015
- maxLength?: number;
2016
- /**
2017
- * Custom validation function for textarea values
2018
- */
2019
- validateTextArea?: (value: string) => boolean | string;
2020
- }
2021
- /**
2022
- * Multi-line text input field component specifically designed for React Hook Form integration.
2023
- *
2024
- * Architecture flow:
2025
- * 1. Form schemas are generated from contract functions using adapters
2026
- * 2. TransactionForm renders the overall form structure with React Hook Form
2027
- * 3. DynamicFormField selects the appropriate field component based on field type
2028
- * 4. BaseField provides consistent layout and hook form integration
2029
- * 5. This component handles textarea-specific rendering and validation
2030
- *
2031
- * The component includes:
2032
- * - Integration with React Hook Form
2033
- * - Resizable multi-line text input
2034
- * - Character limit support
2035
- * - Customizable validation through adapter integration
2036
- * - Automatic error handling and reporting
2037
- * - Full accessibility support with ARIA attributes
2038
- * - Keyboard navigation with Escape to clear
2039
- */
2040
- declare function TextAreaField<TFieldValues extends FieldValues = FieldValues>({
2041
- id,
2042
- label,
2043
- placeholder,
2044
- helperText,
2045
- control,
2046
- name,
2047
- width,
2048
- validation,
2049
- rows,
2050
- maxLength,
2051
- validateTextArea
2052
- }: TextAreaFieldProps<TFieldValues>): React$1.ReactElement;
2053
- declare namespace TextAreaField {
2054
- var displayName: string;
2055
- }
2056
- //# sourceMappingURL=TextAreaField.d.ts.map
2057
- //#endregion
2058
- //#region src/components/fields/TextField.d.ts
2059
- /**
2060
- * TextField component properties
2061
- */
2062
- interface TextFieldProps<TFieldValues extends FieldValues = FieldValues> extends BaseFieldProps<TFieldValues> {
2063
- /**
2064
- * Placeholder text displayed when the field is empty
2065
- */
2066
- placeholder?: string;
2067
- }
2068
- /**
2069
- * Text input field component specifically designed for React Hook Form integration.
2070
- *
2071
- * Architecture flow:
2072
- * 1. Form schemas are generated from contract functions using adapters
2073
- * 2. TransactionForm renders the overall form structure with React Hook Form
2074
- * 3. DynamicFormField selects the appropriate field component (like TextField) based on field type
2075
- * 4. BaseField provides consistent layout and hook form integration
2076
- * 5. This component handles text-specific rendering and validation
2077
- *
2078
- * The component includes:
2079
- * - Integration with React Hook Form
2080
- * - Text-specific validations (minLength, maxLength, pattern)
2081
- * - Customizable validation through adapter integration
2082
- * - Automatic error handling and reporting
2083
- * - Full accessibility support with ARIA attributes
2084
- * - Keyboard navigation
2085
- */
2086
- declare function TextField<TFieldValues extends FieldValues = FieldValues>({
2087
- id,
2088
- label,
2089
- placeholder,
2090
- helperText,
2091
- control,
2092
- name,
2093
- width,
2094
- validation,
2095
- readOnly
2096
- }: TextFieldProps<TFieldValues>): React$1.ReactElement;
2097
- declare namespace TextField {
2098
- var displayName: string;
2099
- }
2100
- //# sourceMappingURL=TextField.d.ts.map
2101
- //#endregion
2102
- //#region src/components/fields/UrlField.d.ts
2103
- /**
2104
- * URL input field component specifically designed for React Hook Form integration.
2105
- */
2106
- declare function UrlField<TFieldValues extends FieldValues = FieldValues>({
2107
- id,
2108
- label,
2109
- placeholder,
2110
- helperText,
2111
- control,
2112
- name,
2113
- width,
2114
- validation,
2115
- readOnly
2116
- }: BaseFieldProps<TFieldValues>): React$1.ReactElement;
2117
- declare namespace UrlField {
2118
- var displayName: string;
2119
- }
2120
- //# sourceMappingURL=UrlField.d.ts.map
2121
- //#endregion
2122
- //#region src/components/fields/utils/accessibility.d.ts
2123
- /**
2124
- * Accessibility utilities for form field components
2125
- */
2126
- /**
2127
- * Default aria-describedby ID generator based on field ID
2128
- */
2129
- declare function getDescribedById(id: string, type?: 'error' | 'description' | 'counter'): string;
2130
- /**
2131
- * Interface for accessibility attributes to be applied to form fields
2132
- */
2133
- interface AccessibilityProps {
2134
- /**
2135
- * ARIA attributes for accessibility
2136
- */
2137
- 'aria-invalid'?: boolean;
2138
- 'aria-required'?: boolean;
2139
- 'aria-describedby'?: string;
2140
- 'aria-errormessage'?: string;
2141
- 'aria-labelledby'?: string;
2142
- /**
2143
- * Indicates if the input is required
2144
- */
2145
- required?: boolean;
2146
- /**
2147
- * Indicates if the input is disabled
2148
- */
2149
- disabled?: boolean;
2150
- /**
2151
- * Indicates if the input is readonly
2152
- */
2153
- readOnly?: boolean;
2154
- /**
2155
- * Tab index for keyboard navigation
2156
- * Use 0 for normal tab order
2157
- * Use -1 to remove from tab order
2158
- */
2159
- tabIndex?: number;
2160
- }
2161
- /**
2162
- * Generates accessibility attributes for form fields
2163
- */
2164
- declare function getAccessibilityProps({
2165
- id,
2166
- hasError,
2167
- isRequired,
2168
- isDisabled,
2169
- isReadOnly,
2170
- hasHelperText,
2171
- hasCharacterCounter
2172
- }: {
2173
- id: string;
2174
- hasError?: boolean;
2175
- isRequired?: boolean;
2176
- isDisabled?: boolean;
2177
- isReadOnly?: boolean;
2178
- hasHelperText?: boolean;
2179
- hasCharacterCounter?: boolean;
2180
- }): AccessibilityProps;
2181
- /**
2182
- * Utility function to handle keyboard events for interactive elements
2183
- * Helps ensure keyboard users can interact with form controls
2184
- */
2185
- declare function handleKeyboardEvent(event: React.KeyboardEvent, handlers: {
2186
- onEnter?: () => void;
2187
- onSpace?: () => void;
2188
- onEscape?: () => void;
2189
- onArrowUp?: () => void;
2190
- onArrowDown?: () => void;
2191
- onArrowLeft?: () => void;
2192
- onArrowRight?: () => void;
2193
- onTab?: () => void;
2194
- }): void;
2195
- /**
2196
- * Field focus management utility
2197
- * For managing focus within a field group or complex form component
2198
- */
2199
- declare function createFocusManager(): {
2200
- focusFirstElement: (container: HTMLElement | null) => void;
2201
- focusElementById: (id: string) => void;
2202
- trapFocus: (event: KeyboardEvent, container: HTMLElement | null) => void;
2203
- };
2204
- /**
2205
- * Provides a handler for Escape key to clear input fields
2206
- *
2207
- * @param onChange - Function to call when value changes
2208
- * @param value - Current value of the input
2209
- * @returns A function to handle the Escape key press
2210
- */
2211
- declare function handleEscapeKey(onChange: (value: string) => void, value: unknown): (e: React.KeyboardEvent) => void;
2212
- /**
2213
- * Provides a handler for Space/Enter keys for toggle components (checkboxes, switches)
2214
- *
2215
- * @param onChange - Function to call when value changes
2216
- * @param value - Current value of the input
2217
- * @returns A function to handle the Space/Enter key press
2218
- */
2219
- declare function handleToggleKeys(onChange: (value: boolean) => void, value: boolean): (e: React.KeyboardEvent) => void;
2220
- /**
2221
- * Provides a handler for arrow keys for numeric inputs
2222
- *
2223
- * @param onChange - Function to call when value changes
2224
- * @param value - Current numeric value
2225
- * @param step - Step amount for increments/decrements
2226
- * @param min - Minimum allowed value (optional)
2227
- * @param max - Maximum allowed value (optional)
2228
- * @returns A function to handle arrow key presses
2229
- */
2230
- declare function handleNumericKeys(onChange: (value: number) => void, value: number, step?: number, min?: number, max?: number): (e: React.KeyboardEvent) => void;
2231
- //# sourceMappingURL=accessibility.d.ts.map
2232
- //#endregion
2233
- //#region src/components/fields/utils/ErrorMessage.d.ts
2234
- interface ErrorMessageProps {
2235
- /**
2236
- * The error object from React Hook Form
2237
- */
2238
- error?: FieldError;
2239
- /**
2240
- * The ID of the error message for aria-errormessage references
2241
- */
2242
- id: string;
2243
- /**
2244
- * Optional custom error message to display instead of the error from React Hook Form
2245
- */
2246
- message?: string;
2247
- /**
2248
- * Optional additional CSS classes
2249
- */
2250
- className?: string;
2251
- }
2252
- /**
2253
- * Displays validation error messages for form fields
2254
- */
2255
- declare function ErrorMessage({
2256
- error,
2257
- id,
2258
- message,
2259
- className
2260
- }: ErrorMessageProps): React$1.ReactElement | null;
2261
- //#endregion
2262
- //#region src/components/fields/utils/integerValidation.d.ts
2263
- /**
2264
- * Shared integer validation patterns for BigInt fields and validation utilities.
2265
- *
2266
- * These patterns ensure consistent validation across the application.
2267
- */
2268
- /**
2269
- * Integer validation pattern - requires at least one digit
2270
- * Used for validation to ensure complete integers are entered
2271
- * Matches: -123, 0, 456
2272
- * Does not match: -, abc, 12.3
2273
- */
2274
- declare const INTEGER_PATTERN: RegExp;
2275
- /**
2276
- * Integer input pattern - allows partial input during typing
2277
- * Used during input to allow users to type minus sign first
2278
- * Matches: -, -1, 123, (empty string)
2279
- * Does not match: abc, 12.3
2280
- */
2281
- declare const INTEGER_INPUT_PATTERN: RegExp;
2282
- /**
2283
- * HTML pattern attribute for integer inputs
2284
- * Must use [0-9] instead of \d for HTML5 pattern attribute
2285
- */
2286
- declare const INTEGER_HTML_PATTERN = "-?[0-9]*";
2287
- //# sourceMappingURL=integerValidation.d.ts.map
2288
- //#endregion
2289
- //#region src/components/fields/utils/layout.d.ts
2290
- /**
2291
- * Layout utility functions for form components
2292
- */
2293
- /**
2294
- * Helper function to get width classes based on the field width
2295
- */
2296
- declare function getWidthClasses(width: 'full' | 'half' | 'third'): string;
2297
- //# sourceMappingURL=layout.d.ts.map
2298
- //#endregion
2299
- //#region src/components/fields/utils/validation.d.ts
2300
- /**
2301
- * Determines if a field has an error
2302
- */
2303
- declare function hasFieldError(error: FieldError | undefined): boolean;
2304
- /**
2305
- * Gets appropriate error message from field error
2306
- */
2307
- declare function getErrorMessage(error: FieldError | undefined): string | undefined;
2308
- /**
2309
- * Formats validation error messages for display
2310
- */
2311
- declare function formatValidationError(error: FieldError | undefined, fieldName?: string): string | undefined;
2312
- /**
2313
- * Generates common CSS classes for field validation states
2314
- */
2315
- declare function getValidationStateClasses(error: FieldError | undefined, touched?: boolean): string;
2316
- /**
2317
- * Helper for handling form validation errors with React Hook Form
2318
- */
2319
- declare function handleValidationError(error: FieldError | undefined, id: string): {
2320
- errorId: string;
2321
- errorMessage: string | undefined;
2322
- hasError: boolean;
2323
- validationClasses: string;
2324
- };
2325
- /**
2326
- * Creates a validation result object for field components
2327
- */
2328
- declare function createValidationResult(id: string, error: FieldError | undefined, touched?: boolean): {
2329
- hasError: boolean;
2330
- errorMessage: string | undefined;
2331
- errorId: string;
2332
- validationClasses: string;
2333
- 'aria-invalid': boolean;
2334
- 'aria-errormessage'?: string;
2335
- };
2336
- /**
2337
- * Generic field validation function that can be used to validate any field type
2338
- * based on common validation criteria
2339
- */
2340
- declare function validateField(value: unknown, validation?: FieldValidation): string | boolean;
2341
- /**
2342
- * Map validation utilities
2343
- */
2344
- /**
2345
- * Checks if a map entry at the given index has a duplicate key
2346
- * @param entries - Array of map entries
2347
- * @param currentIndex - Index of the entry to check
2348
- * @returns true if the key at currentIndex is duplicated elsewhere in the array
2349
- */
2350
- declare function isDuplicateMapKey(entries: MapEntry[], currentIndex: number): boolean;
2351
- /**
2352
- * Validates an array of map entries for duplicate keys
2353
- * @param entries - Array of map entries to validate
2354
- * @returns Validation error message if duplicates found, otherwise undefined
2355
- */
2356
- declare function validateMapEntries(entries: MapEntry[]): string | undefined;
2357
- //# sourceMappingURL=validation.d.ts.map
2358
- //#endregion
2359
- //#region src/components/RelayerDetailsCard/RelayerDetailsCard.d.ts
2360
- interface RelayerDetailsCardProps {
2361
- details: RelayerDetails;
2362
- enhancedDetails?: RelayerDetailsRich | null;
2363
- loading?: boolean;
2364
- className?: string;
2365
- /** Optional UI labels to override default copy */
2366
- labels?: Partial<{
2367
- detailsTitle: string;
2368
- active: string;
2369
- paused: string;
2370
- systemDisabled: string;
2371
- network: string;
2372
- relayerId: string;
2373
- balance: string;
2374
- nonce: string;
2375
- pending: string;
2376
- lastTransaction: string;
2377
- }>;
2378
- }
2379
- declare const RelayerDetailsCard: React$1.FC<RelayerDetailsCardProps>;
2380
- //# sourceMappingURL=RelayerDetailsCard.d.ts.map
2381
- //#endregion
2382
- //#region src/components/network-errors/NetworkErrorNotificationProvider.d.ts
2383
- interface NetworkErrorNotificationProviderProps {
2384
- children: React.ReactNode;
2385
- }
2386
- /** Provider component for managing and displaying network error notifications. */
2387
- declare function NetworkErrorNotificationProvider({
2388
- children
2389
- }: NetworkErrorNotificationProviderProps): React.ReactNode;
2390
- //#endregion
2391
- //#region src/components/network-errors/useNetworkErrors.d.ts
2392
- type NetworkErrorType = 'rpc' | 'explorer';
2393
- interface NetworkError {
2394
- id: string;
2395
- type: NetworkErrorType;
2396
- networkId: string;
2397
- networkName: string;
2398
- message: string;
2399
- timestamp: number;
2400
- }
2401
- interface NetworkErrorContextValue {
2402
- errors: NetworkError[];
2403
- reportNetworkError: (type: NetworkErrorType, networkId: string, networkName: string, message: string) => void;
2404
- clearError: (id: string) => void;
2405
- clearAllErrors: () => void;
2406
- onOpenNetworkSettings?: (networkId: string) => void;
2407
- setOpenNetworkSettingsHandler: (handler: (networkId: string) => void) => void;
2408
- }
2409
- /** Hook to access network error reporting and management functions. */
2410
- declare function useNetworkErrors(): NetworkErrorContextValue;
2411
- /**
2412
- * Hook for reporting network errors for a specific adapter
2413
- */
2414
- declare function useNetworkErrorReporter(adapter: ContractAdapter | null): {
2415
- reportRpcError: (message: string) => void;
2416
- reportExplorerError: (message: string) => void;
2417
- };
2418
- //# sourceMappingURL=useNetworkErrors.d.ts.map
2419
- //#endregion
2420
- //#region src/components/network-errors/NetworkErrorAwareAdapter.d.ts
2421
- /**
2422
- * Creates an adapter proxy that intercepts and reports network errors
2423
- */
2424
- declare function useNetworkErrorAwareAdapter(adapter: ContractAdapter | null): ContractAdapter | null;
2425
- //# sourceMappingURL=NetworkErrorAwareAdapter.d.ts.map
2426
- //#endregion
2427
- //#region src/components/icons/MidnightIcon.d.ts
2428
- interface MidnightIconProps {
2429
- size?: number;
2430
- className?: string;
2431
- variant?: 'mono' | 'branded';
2432
- }
2433
- /**
2434
- * MidnightIcon - SVG icon for the Midnight blockchain
2435
- * Inline SVG to ensure it renders correctly when this package is consumed as a library
2436
- */
2437
- declare function MidnightIcon({
2438
- size,
2439
- className,
2440
- variant: _variant
2441
- }: MidnightIconProps): React$1.ReactElement;
2442
- //# sourceMappingURL=MidnightIcon.d.ts.map
2443
- //#endregion
2444
- //#region src/components/ui/sonner.d.ts
2445
- declare const Toaster: ({
2446
- ...props
2447
- }: ToasterProps) => JSX.Element;
2448
- //#endregion
2449
- export { AccessibilityProps, Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, AddressDisplay, AddressField, Alert, AlertDescription, AlertTitle, AmountField, AmountFieldProps, ArrayField, ArrayFieldProps, ArrayObjectField, ArrayObjectFieldProps, Banner, BaseField, BaseFieldProps, BigIntField, BigIntFieldProps, BooleanField, BooleanFieldProps, Button, ButtonProps, BytesField, BytesFieldProps, Calendar, CalendarProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, type DateRange, DateRangePicker, DateRangePickerProps, DateTimeField, DateTimeFieldProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, EmptyStateProps, EnumField, EnumFieldProps, EnumFieldValue, EnumMetadata, EnumVariant, ErrorMessage, ExternalLink, FileUploadField, FileUploadFieldProps, Footer, FooterProps, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, GroupedSelectOption, Header, HeaderProps, INTEGER_HTML_PATTERN, INTEGER_INPUT_PATTERN, INTEGER_PATTERN, Input, InputProps, Label, LoadingButton, LoadingButtonProps, MapEntryRow, MapField, MapFieldProps, MidnightIcon, NetworkError, NetworkErrorNotificationProvider, NetworkErrorType, NetworkIcon, NetworkIconProps, NetworkSelector, NetworkSelectorProps, NetworkStatusBadge, NumberField, NumberFieldProps, ObjectField, ObjectFieldProps, OptionGroup, PasswordField, PasswordFieldProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, RadioField, RadioFieldProps, RadioGroup, RadioGroupItem, RadioOption, RelayerDetailsCard, RelayerDetailsCardProps, Select, SelectContent, SelectField, SelectFieldProps, SelectGroup, SelectGroupedField, SelectGroupedFieldProps, SelectItem, SelectLabel, SelectOption, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SidebarButton, SidebarButtonProps, SidebarGroup, SidebarGroupProps, SidebarLayout, SidebarLayoutProps, SidebarSection, SidebarSectionProps, Tabs, TabsContent, TabsList, TabsTrigger, TextAreaField, TextAreaFieldProps, TextField, TextFieldProps, Textarea, TextareaProps, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UrlField, ViewContractStateButton, buttonVariants, computeChildTouched, createFocusManager, createValidationResult, formatValidationError, getAccessibilityProps, getDescribedById, getErrorMessage, getValidationStateClasses, getWidthClasses, handleEscapeKey, handleKeyboardEvent, handleNumericKeys, handleToggleKeys, handleValidationError, hasFieldError, isDuplicateMapKey, useDuplicateKeyIndexes, useMapFieldSync, useNetworkErrorAwareAdapter, useNetworkErrorReporter, useNetworkErrors, validateField, validateMapEntries, validateMapStructure };
2450
- //# sourceMappingURL=index-BPV_9U9-.d.ts.map