@openzeppelin/ui-components 3.3.1 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/dist/index.cjs +1046 -192
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +438 -15
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +444 -21
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1029 -196
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.d.cts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as React$2 from "react";
|
|
2
|
-
import React$1, { ForwardedRef, JSX, ReactElement, ReactNode } from "react";
|
|
2
|
+
import React$1, { Context, ForwardedRef, JSX, ReactElement, ReactNode } from "react";
|
|
3
3
|
import { Control, FieldError, FieldPath, FieldValues, FormProvider, UseFormReturn } from "react-hook-form";
|
|
4
4
|
import * as class_variance_authority_types0 from "class-variance-authority/types";
|
|
5
5
|
import * as AccordionPrimitive from "@radix-ui/react-accordion";
|
|
6
6
|
import { VariantProps } from "class-variance-authority";
|
|
7
|
-
import { AddressLabelResolver, AddressSuggestion, AddressSuggestionResolver, AddressingCapability, ContractSchema, Ecosystem, EcosystemMetadata, EnumValue, FieldValidation, FormFieldType, FunctionParameter, MapEntry, NetworkConfig, NetworkType, RelayerDetails, RelayerDetailsRich, RuntimeCapability, TypeMappingCapability } from "@openzeppelin/ui-types";
|
|
7
|
+
import { AddressLabelResolver, AddressNameResolver, AddressSuggestion, AddressSuggestionResolver, AddressingCapability, ContractSchema, Ecosystem, EcosystemMetadata, EnumValue, FieldValidation, FormFieldType, FunctionParameter, MapEntry, NameResolutionError, NameResolver, NetworkConfig, NetworkLabelResolver, NetworkType, RelayerDetails, RelayerDetailsRich, ResolutionResult, ResolvedAddress, ResolvedName, RuntimeCapability, TypeMappingCapability } from "@openzeppelin/ui-types";
|
|
8
8
|
import { DateRange, DayPicker } from "react-day-picker";
|
|
9
9
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
10
10
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
@@ -45,6 +45,18 @@ declare const AccordionTrigger: React$2.ForwardRefExoticComponent<AccordionTrigg
|
|
|
45
45
|
interface AccordionContentProps extends React$2.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>, VariantProps<typeof accordionContentVariants> {}
|
|
46
46
|
declare const AccordionContent: React$2.ForwardRefExoticComponent<AccordionContentProps & React$2.RefAttributes<HTMLDivElement>>;
|
|
47
47
|
//#endregion
|
|
48
|
+
//#region src/components/ui/address-display/address-avatar.d.ts
|
|
49
|
+
/**
|
|
50
|
+
* Visual treatment for {@link AddressAvatar}.
|
|
51
|
+
*
|
|
52
|
+
* - `'fill'` – a square avatar that stretches to the parent slot's full
|
|
53
|
+
* height and sits flush against its edges (default). Intended for a chip
|
|
54
|
+
* whose container clips it with `overflow-hidden` + a border radius.
|
|
55
|
+
* - `'circle'` – small round avatar sitting inline with the text (the
|
|
56
|
+
* original look, kept as an opt-in).
|
|
57
|
+
*/
|
|
58
|
+
type AddressAvatarVariant = 'circle' | 'fill';
|
|
59
|
+
//#endregion
|
|
48
60
|
//#region src/components/ui/address-display/address-display.d.ts
|
|
49
61
|
/**
|
|
50
62
|
* Visual style for the component container.
|
|
@@ -123,9 +135,12 @@ interface AddressDisplayProps extends React$2.HTMLAttributes<HTMLDivElement> {
|
|
|
123
135
|
*/
|
|
124
136
|
networkId?: string;
|
|
125
137
|
/**
|
|
126
|
-
* When `true`, skip label resolution from
|
|
127
|
-
*
|
|
128
|
-
*
|
|
138
|
+
* When `true`, render the instance fully raw: skip label resolution from
|
|
139
|
+
* `AddressLabelContext` AND suppress any injected resolved name
|
|
140
|
+
* (`resolvedName` prop / `AddressNameContext`). Useful for rendering an
|
|
141
|
+
* address without any decoration (e.g. in a contract selector where the
|
|
142
|
+
* contract name is already shown) — existing `disableLabel` call-sites
|
|
143
|
+
* must not sprout a name once a resolver is wired app-wide.
|
|
129
144
|
* @default false
|
|
130
145
|
*/
|
|
131
146
|
disableLabel?: boolean;
|
|
@@ -142,6 +157,45 @@ interface AddressDisplayProps extends React$2.HTMLAttributes<HTMLDivElement> {
|
|
|
142
157
|
* @default "chip"
|
|
143
158
|
*/
|
|
144
159
|
variant?: AddressDisplayVariant;
|
|
160
|
+
/**
|
|
161
|
+
* Optional presentational leading element (e.g. an avatar or icon), rendered
|
|
162
|
+
* before the label/address block and vertically centered against it. Purely
|
|
163
|
+
* visual — a `React.ReactNode`, not a capability, so this component stays
|
|
164
|
+
* chain-agnostic. When omitted (the default at every existing call-site), the
|
|
165
|
+
* rendered DOM and layout are byte-for-byte identical to the pre-avatar
|
|
166
|
+
* component: no wrapper element, no reserved slot, in both render branches.
|
|
167
|
+
*/
|
|
168
|
+
avatar?: React$2.ReactNode;
|
|
169
|
+
/**
|
|
170
|
+
* Visual treatment for the leading avatar (both the record-constructed ENS
|
|
171
|
+
* avatar and an explicit `avatar` node):
|
|
172
|
+
*
|
|
173
|
+
* - `'fill'` – a square avatar that stretches to the chip's full height and
|
|
174
|
+
* sits flush against its top, bottom, and left edges (default; the chip
|
|
175
|
+
* clips its outer corners). No effect when no avatar is shown.
|
|
176
|
+
* - `'circle'` – small round avatar sitting inline with the text (the
|
|
177
|
+
* original look, kept as an opt-in).
|
|
178
|
+
*
|
|
179
|
+
* @default "fill"
|
|
180
|
+
*/
|
|
181
|
+
avatarVariant?: AddressAvatarVariant;
|
|
182
|
+
/**
|
|
183
|
+
* An already-resolved reverse name record for this address (value type).
|
|
184
|
+
* Highest precedence for the name channel — shadows the
|
|
185
|
+
* `AddressNameContext` resolver, exactly as `label` shadows
|
|
186
|
+
* `AddressLabelContext` (INV-120). The record's name renders only when
|
|
187
|
+
* `forwardVerified === true` (INV-52, LOCKED): a mismatched record is
|
|
188
|
+
* suppressed to hex — never name-alone, never name+warning. `undefined`
|
|
189
|
+
* falls back to the context (if any), then to hex.
|
|
190
|
+
*/
|
|
191
|
+
resolvedName?: ResolvedName;
|
|
192
|
+
/**
|
|
193
|
+
* When `false`, suppresses the reverse cross-network fallback indicator
|
|
194
|
+
* (amber triangle-alert icon + tooltip) inline after the verified name.
|
|
195
|
+
* Default `true`. Provenance classification is unchanged — only presentation
|
|
196
|
+
* is omitted so the labeled branch stays byte-identical to a row without fallback.
|
|
197
|
+
*/
|
|
198
|
+
showCrossNetworkFallbackDisclaimer?: boolean;
|
|
145
199
|
/**
|
|
146
200
|
* Additional CSS classes
|
|
147
201
|
*/
|
|
@@ -149,15 +203,27 @@ interface AddressDisplayProps extends React$2.HTMLAttributes<HTMLDivElement> {
|
|
|
149
203
|
}
|
|
150
204
|
/**
|
|
151
205
|
* Displays a blockchain address with optional truncation, copy button,
|
|
152
|
-
* explorer link, tooltip,
|
|
206
|
+
* explorer link, tooltip, human-readable label, and (when an already-resolved
|
|
207
|
+
* record is injected) a forward-verified name + avatar.
|
|
153
208
|
*
|
|
154
|
-
* Labels are resolved in priority order:
|
|
209
|
+
* Labels are resolved in priority order (INV-56):
|
|
155
210
|
* 1. Explicit `label` prop
|
|
156
211
|
* 2. `AddressLabelContext` resolver (via `AddressLabelProvider`)
|
|
157
|
-
* 3.
|
|
158
|
-
*
|
|
159
|
-
*
|
|
160
|
-
*
|
|
212
|
+
* 3. Forward-verified resolved name (`resolvedName` prop, else
|
|
213
|
+
* `AddressNameContext` via `AddressNameProvider`) — a record with
|
|
214
|
+
* `forwardVerified: false` is suppressed to hex (INV-52, LOCKED)
|
|
215
|
+
* 4. No label (renders address only, identical to previous behavior)
|
|
216
|
+
*
|
|
217
|
+
* The component is synchronous and capability-free (INV-121): it never
|
|
218
|
+
* resolves anything itself — it reads injected values. Hex renders on first
|
|
219
|
+
* commit; the name+avatar swap in when the react layer feeds an updated
|
|
220
|
+
* record (progressive enhancement, INV-61). With no `resolvedName` and no
|
|
221
|
+
* `AddressNameProvider`, output is byte-identical to the pre-enhancement
|
|
222
|
+
* component (INV-54, LOCKED).
|
|
223
|
+
*
|
|
224
|
+
* Pass `disableLabel` to render fully raw — it suppresses both the context
|
|
225
|
+
* alias and any injected resolved name (e.g. when the surrounding UI already
|
|
226
|
+
* shows a name, such as a contract selector).
|
|
161
227
|
*
|
|
162
228
|
* @example
|
|
163
229
|
* ```tsx
|
|
@@ -184,6 +250,14 @@ interface AddressDisplayProps extends React$2.HTMLAttributes<HTMLDivElement> {
|
|
|
184
250
|
* // Inline variant (no chip background) — useful inside wallet bars
|
|
185
251
|
* <AddressDisplay address="0x742d35Cc..." variant="inline" showTooltip showCopyButton />
|
|
186
252
|
*
|
|
253
|
+
* // Reverse-resolved name + avatar via an injected value (react layer owns the async)
|
|
254
|
+
* <AddressDisplay address="0x742d35Cc..." resolvedName={record} showCopyButton />
|
|
255
|
+
*
|
|
256
|
+
* // Or subtree-wide via context (rows stay plain <AddressDisplay/>)
|
|
257
|
+
* <AddressNameProvider resolveAddressName={readFromResolutionCache}>
|
|
258
|
+
* <AddressDisplay address="0x742d35Cc..." />
|
|
259
|
+
* </AddressNameProvider>
|
|
260
|
+
*
|
|
187
261
|
* // Truncate only when an alias/label is present (full address when unlabeled)
|
|
188
262
|
* <AddressDisplay address="G..." truncateWhenLabeled />
|
|
189
263
|
* ```
|
|
@@ -204,6 +278,10 @@ declare function AddressDisplay({
|
|
|
204
278
|
disableLabel,
|
|
205
279
|
showTooltip,
|
|
206
280
|
variant,
|
|
281
|
+
avatar,
|
|
282
|
+
avatarVariant,
|
|
283
|
+
resolvedName,
|
|
284
|
+
showCrossNetworkFallbackDisclaimer,
|
|
207
285
|
className,
|
|
208
286
|
onPointerEnter,
|
|
209
287
|
onPointerLeave,
|
|
@@ -275,6 +353,59 @@ interface UseAddressLabelResult {
|
|
|
275
353
|
*/
|
|
276
354
|
declare function useAddressLabel(address: string, networkId?: string): UseAddressLabelResult;
|
|
277
355
|
//#endregion
|
|
356
|
+
//#region src/components/ui/address-display/address-name-context.d.ts
|
|
357
|
+
/**
|
|
358
|
+
* Props for `AddressNameProvider`.
|
|
359
|
+
*
|
|
360
|
+
* Accepts the same shape as `AddressNameResolver` so the provider can be
|
|
361
|
+
* spread directly from a resolver source: `<AddressNameProvider {...resolver}>`.
|
|
362
|
+
*/
|
|
363
|
+
interface AddressNameProviderProps extends AddressNameResolver {
|
|
364
|
+
children: React$2.ReactNode;
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Provides reverse-name resolution to all `AddressDisplay` instances in the
|
|
368
|
+
* subtree. `resolveAddressName` MUST be synchronous — it is called during
|
|
369
|
+
* render (INV-122). A resolver that returns `undefined` for an address is
|
|
370
|
+
* behaviorally identical to mounting no provider (INV-54).
|
|
371
|
+
*
|
|
372
|
+
* @param props - Resolver function and children
|
|
373
|
+
*/
|
|
374
|
+
declare function AddressNameProvider({
|
|
375
|
+
children,
|
|
376
|
+
resolveAddressName,
|
|
377
|
+
resolveNetworkLabel
|
|
378
|
+
}: AddressNameProviderProps): React$2.ReactElement;
|
|
379
|
+
//#endregion
|
|
380
|
+
//#region src/components/ui/address-display/use-address-name.d.ts
|
|
381
|
+
/**
|
|
382
|
+
* Return type for the `useAddressName` convenience hook.
|
|
383
|
+
*/
|
|
384
|
+
interface UseAddressNameResult {
|
|
385
|
+
/** Resolved record, or `undefined` if no provider/record exists */
|
|
386
|
+
record: ResolvedName | undefined;
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Reads the `AddressNameContext` for one address, synchronously (INV-122).
|
|
390
|
+
* Returns `{ record: undefined }` when no provider is mounted — never throws,
|
|
391
|
+
* never suspends. Note the record is returned verbatim: callers rendering a
|
|
392
|
+
* name from it must apply the same `forwardVerified === true` gate that
|
|
393
|
+
* `AddressDisplay` applies (INV-52).
|
|
394
|
+
*
|
|
395
|
+
* @param address - The blockchain address to reverse-resolve
|
|
396
|
+
* @param networkId - Optional network identifier scoping the lookup
|
|
397
|
+
* @returns The current best-known record for the address
|
|
398
|
+
*
|
|
399
|
+
* @example
|
|
400
|
+
* ```tsx
|
|
401
|
+
* function EnsBadge({ address }: { address: string }) {
|
|
402
|
+
* const { record } = useAddressName(address);
|
|
403
|
+
* return record?.forwardVerified ? <Badge>{record.name}</Badge> : null;
|
|
404
|
+
* }
|
|
405
|
+
* ```
|
|
406
|
+
*/
|
|
407
|
+
declare function useAddressName(address: string, networkId?: string): UseAddressNameResult;
|
|
408
|
+
//#endregion
|
|
278
409
|
//#region src/components/ui/alert.d.ts
|
|
279
410
|
declare const Alert: React$2.ForwardRefExoticComponent<React$2.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
|
|
280
411
|
variant?: "default" | "destructive" | "success" | null | undefined;
|
|
@@ -1330,6 +1461,24 @@ interface AddressFieldProps<TFieldValues extends FieldValues = FieldValues> exte
|
|
|
1330
1461
|
* so callers can perform additional side-effects beyond filling the field value.
|
|
1331
1462
|
*/
|
|
1332
1463
|
onSuggestionSelect?: (suggestion: AddressSuggestion) => void;
|
|
1464
|
+
/**
|
|
1465
|
+
* Fired when the resolved-and-name-matched name changes. Emits the resolved
|
|
1466
|
+
* NAME (not the hex) on `resolved` + name-match, and `undefined` in every
|
|
1467
|
+
* other state (idle / debouncing / loading / error / hex / cleared).
|
|
1468
|
+
*
|
|
1469
|
+
* Pure notification for consumers that want the human-readable name (e.g.
|
|
1470
|
+
* the address book's alias suggestion, SF-5 INV-109..111). It reads existing
|
|
1471
|
+
* resolution state and does NOT participate in the resolved-hex write path
|
|
1472
|
+
* (INV-75/79/80/81/85 unaffected). With no injected resolver it only ever
|
|
1473
|
+
* emits `undefined`, so the field stays behavior-identical (INV-82).
|
|
1474
|
+
*/
|
|
1475
|
+
onResolvedNameChange?: (name: string | undefined) => void;
|
|
1476
|
+
/**
|
|
1477
|
+
* When `false`, suppresses the forward cross-network fallback disclaimer under
|
|
1478
|
+
* the frozen "Resolved to …" template. Default `true`. Use when a sibling
|
|
1479
|
+
* `AddressDisplay` already surfaces the same message (e.g. demo resolved card).
|
|
1480
|
+
*/
|
|
1481
|
+
showCrossNetworkFallbackDisclaimer?: boolean;
|
|
1333
1482
|
}
|
|
1334
1483
|
/**
|
|
1335
1484
|
* Address input field component specifically designed for blockchain addresses via React Hook Form integration.
|
|
@@ -1358,7 +1507,22 @@ interface AddressFieldProps<TFieldValues extends FieldValues = FieldValues> exte
|
|
|
1358
1507
|
* Pass `suggestions={false}` to opt out when a provider is mounted.
|
|
1359
1508
|
*
|
|
1360
1509
|
* The suggestion dropdown includes built-in debouncing, keyboard navigation (Arrow keys,
|
|
1361
|
-
* Enter, Escape), click-outside dismissal, and ARIA listbox semantics
|
|
1510
|
+
* Enter, Escape), click-outside dismissal, and ARIA listbox semantics — all provided by
|
|
1511
|
+
* the shared headless `useAddressSuggestionField` hook + `AddressSuggestionList`.
|
|
1512
|
+
*
|
|
1513
|
+
* **Inline name resolution (SF-3, opt-in via context).** When a
|
|
1514
|
+
* `NameResolverProvider` is mounted, the field also accepts a name (e.g.
|
|
1515
|
+
* `alice.eth`): the name is resolved inline through the injected `resolveName`
|
|
1516
|
+
* and the RHF form value becomes the resolved hex — never the name, never a
|
|
1517
|
+
* silently-coerced value. The correctness spine is a shadow-state model:
|
|
1518
|
+
* the `<input>` always shows the typed string (`inputValue`, INV-69); the RHF
|
|
1519
|
+
* value is `''` for every unresolved name state so submit stays gated with no
|
|
1520
|
+
* async validator (INV-75); the single name→hex write fires only on
|
|
1521
|
+
* `resolved` + normalized name-match (INV-79/80). With **no** provider mounted
|
|
1522
|
+
* every resolution branch below is dead code and the field is byte-identical
|
|
1523
|
+
* to its pre-ENS behavior (INV-82 — the LOCKED backward-compat guarantee).
|
|
1524
|
+
* The component stays capability-free: it never reads a runtime or wallet
|
|
1525
|
+
* state; everything arrives through the injected context (INV-118).
|
|
1362
1526
|
*/
|
|
1363
1527
|
declare function AddressField<TFieldValues extends FieldValues = FieldValues>({
|
|
1364
1528
|
id,
|
|
@@ -1372,7 +1536,9 @@ declare function AddressField<TFieldValues extends FieldValues = FieldValues>({
|
|
|
1372
1536
|
addressing,
|
|
1373
1537
|
readOnly,
|
|
1374
1538
|
suggestions: suggestionsProp,
|
|
1375
|
-
onSuggestionSelect
|
|
1539
|
+
onSuggestionSelect,
|
|
1540
|
+
onResolvedNameChange,
|
|
1541
|
+
showCrossNetworkFallbackDisclaimer
|
|
1376
1542
|
}: AddressFieldProps<TFieldValues>): React$1.ReactElement;
|
|
1377
1543
|
declare namespace AddressField {
|
|
1378
1544
|
var displayName: string;
|
|
@@ -1524,6 +1690,253 @@ interface UseAddressSuggestionsResult {
|
|
|
1524
1690
|
/** Resolves address suggestions from the nearest `AddressSuggestionProvider`. */
|
|
1525
1691
|
declare function useAddressSuggestions(query: string, networkId?: string): UseAddressSuggestionsResult;
|
|
1526
1692
|
//#endregion
|
|
1693
|
+
//#region src/components/fields/address-suggestion/useAddressSuggestionField.d.ts
|
|
1694
|
+
/** Arguments for {@link useAddressSuggestionField}. */
|
|
1695
|
+
interface UseAddressSuggestionFieldArgs {
|
|
1696
|
+
/** The current input text — drives the debounce and dropdown visibility. */
|
|
1697
|
+
readonly inputValue: string;
|
|
1698
|
+
/**
|
|
1699
|
+
* Explicit suggestion list. When an array, it overrides context resolution and
|
|
1700
|
+
* is rendered as-is (no cap). `false` disables suggestions entirely (even with
|
|
1701
|
+
* a provider mounted). `undefined` falls back to context resolution.
|
|
1702
|
+
*/
|
|
1703
|
+
readonly suggestions?: AddressSuggestion[] | false;
|
|
1704
|
+
/** Optional network id forwarded to the context resolver for scoping. */
|
|
1705
|
+
readonly networkId?: string;
|
|
1706
|
+
}
|
|
1707
|
+
/** State and handlers returned by {@link useAddressSuggestionField}. */
|
|
1708
|
+
interface UseAddressSuggestionFieldResult {
|
|
1709
|
+
/** Ref for the field container — used for click-outside detection. */
|
|
1710
|
+
readonly containerRef: React.RefObject<HTMLDivElement | null>;
|
|
1711
|
+
/** The suggestions to render (context-resolved + capped, or the explicit array). */
|
|
1712
|
+
readonly resolvedSuggestions: AddressSuggestion[];
|
|
1713
|
+
/** `true` when the dropdown is open AND there is at least one suggestion. */
|
|
1714
|
+
readonly hasSuggestions: boolean;
|
|
1715
|
+
/** Index of the keyboard-highlighted option, or `-1` when none. */
|
|
1716
|
+
readonly highlightedIndex: number;
|
|
1717
|
+
/** `true` when suggestions are explicitly disabled (`suggestions === false`). */
|
|
1718
|
+
readonly suggestionsDisabled: boolean;
|
|
1719
|
+
/** Set the highlighted option index (e.g. on hover). */
|
|
1720
|
+
readonly setHighlightedIndex: (index: number) => void;
|
|
1721
|
+
/** Close the dropdown and clear the highlight. */
|
|
1722
|
+
readonly closeSuggestions: () => void;
|
|
1723
|
+
/** Notify the hook of an input change — opens/closes the dropdown and resets highlight. */
|
|
1724
|
+
readonly onInputChange: (value: string) => void;
|
|
1725
|
+
/** Container-level keydown handler: wrapping ArrowUp / ArrowDown navigation. */
|
|
1726
|
+
readonly onContainerKeyDown: (e: React.KeyboardEvent) => void;
|
|
1727
|
+
}
|
|
1728
|
+
/**
|
|
1729
|
+
* Headless address-suggestion dropdown behavior. See the module docstring for
|
|
1730
|
+
* the full behavior contract.
|
|
1731
|
+
*
|
|
1732
|
+
* @param args - {@link UseAddressSuggestionFieldArgs}.
|
|
1733
|
+
* @returns {@link UseAddressSuggestionFieldResult}.
|
|
1734
|
+
*/
|
|
1735
|
+
declare function useAddressSuggestionField({
|
|
1736
|
+
inputValue,
|
|
1737
|
+
suggestions: suggestionsProp,
|
|
1738
|
+
networkId
|
|
1739
|
+
}: UseAddressSuggestionFieldArgs): UseAddressSuggestionFieldResult;
|
|
1740
|
+
//#endregion
|
|
1741
|
+
//#region src/components/fields/address-suggestion/AddressSuggestionList.d.ts
|
|
1742
|
+
/** Props for {@link AddressSuggestionList}. */
|
|
1743
|
+
interface AddressSuggestionListProps {
|
|
1744
|
+
/** Field id — anchors the listbox id (`${id}-suggestions`) and option ids. */
|
|
1745
|
+
readonly id: string;
|
|
1746
|
+
/** The suggestions to render. */
|
|
1747
|
+
readonly suggestions: AddressSuggestion[];
|
|
1748
|
+
/** Index of the currently highlighted option, or `-1`. */
|
|
1749
|
+
readonly highlightedIndex: number;
|
|
1750
|
+
/** Called when an option is selected (click / mouse-down). */
|
|
1751
|
+
readonly onSelect: (suggestion: AddressSuggestion) => void;
|
|
1752
|
+
/** Called when an option is hovered, to sync the highlight. */
|
|
1753
|
+
readonly onHighlight: (index: number) => void;
|
|
1754
|
+
}
|
|
1755
|
+
/**
|
|
1756
|
+
* Render the suggestion dropdown. Returns `null` when there are no suggestions
|
|
1757
|
+
* (the consuming field also gates on `hasSuggestions`, so this is a safety net).
|
|
1758
|
+
*
|
|
1759
|
+
* @param props - {@link AddressSuggestionListProps}.
|
|
1760
|
+
*/
|
|
1761
|
+
declare function AddressSuggestionList({
|
|
1762
|
+
id,
|
|
1763
|
+
suggestions,
|
|
1764
|
+
highlightedIndex,
|
|
1765
|
+
onSelect,
|
|
1766
|
+
onHighlight
|
|
1767
|
+
}: AddressSuggestionListProps): React$2.ReactElement | null;
|
|
1768
|
+
declare namespace AddressSuggestionList {
|
|
1769
|
+
var displayName: string;
|
|
1770
|
+
}
|
|
1771
|
+
//#endregion
|
|
1772
|
+
//#region src/components/fields/name-resolution/context.d.ts
|
|
1773
|
+
/**
|
|
1774
|
+
* Value held by NameResolverContext. Extends the SF-3 injection seam with
|
|
1775
|
+
* optional network context for SF-6 chain-scope gating only.
|
|
1776
|
+
*/
|
|
1777
|
+
interface NameResolverContextValue extends NameResolver {
|
|
1778
|
+
/**
|
|
1779
|
+
* Active network id for chain-scope submit gating (opaque string).
|
|
1780
|
+
* When absent, `isChainScopeMismatch` is never true and coinType wrong-chain
|
|
1781
|
+
* protection is the integrator's responsibility.
|
|
1782
|
+
*/
|
|
1783
|
+
readonly activeNetworkId?: string | null;
|
|
1784
|
+
/**
|
|
1785
|
+
* Optional human-readable active network name — interpolated into the
|
|
1786
|
+
* chain-scope mismatch message only (same seam as INV-78 networkName).
|
|
1787
|
+
*/
|
|
1788
|
+
readonly activeNetworkName?: string;
|
|
1789
|
+
/**
|
|
1790
|
+
* Optional slug → display name for provenance disclaimer copy (003 SF-3).
|
|
1791
|
+
*/
|
|
1792
|
+
readonly resolveNetworkLabel?: NetworkLabelResolver;
|
|
1793
|
+
}
|
|
1794
|
+
/**
|
|
1795
|
+
* @internal Shared context instance consumed by both AddressField and
|
|
1796
|
+
* NameResolverProvider (INV-118). Kept in its own file so component files
|
|
1797
|
+
* export only components (required by React Fast Refresh).
|
|
1798
|
+
*
|
|
1799
|
+
* `null` means no provider is mounted — every ENS branch in `AddressField` is
|
|
1800
|
+
* then dead code and the field is byte-identical to its pre-ENS behavior
|
|
1801
|
+
* (INV-82).
|
|
1802
|
+
*/
|
|
1803
|
+
declare const NameResolverContext: Context<NameResolverContextValue | null>;
|
|
1804
|
+
//#endregion
|
|
1805
|
+
//#region src/components/fields/name-resolution/name-resolver-context.d.ts
|
|
1806
|
+
/**
|
|
1807
|
+
* Props for `NameResolverProvider`.
|
|
1808
|
+
*
|
|
1809
|
+
* Accepts the same shape as `NameResolver` so the provider can be spread
|
|
1810
|
+
* directly from a resolver hook: `<NameResolverProvider {...resolver}>` —
|
|
1811
|
+
* the same idiom as `AddressSuggestionProvider` / `AddressLabelProvider`.
|
|
1812
|
+
*/
|
|
1813
|
+
interface NameResolverProviderProps extends NameResolverContextValue {
|
|
1814
|
+
children: React$2.ReactNode;
|
|
1815
|
+
}
|
|
1816
|
+
/**
|
|
1817
|
+
* Provides forward name resolution to all `AddressField` instances in the
|
|
1818
|
+
* subtree (zero call-site wiring, SC-001). Both functions are optional: an
|
|
1819
|
+
* absent `resolveName` means forward resolution is unsupported and a typed
|
|
1820
|
+
* name surfaces `UNSUPPORTED_NETWORK` (INV-119 / SC-006).
|
|
1821
|
+
*
|
|
1822
|
+
* ## Stable resolver identity (integrator contract)
|
|
1823
|
+
*
|
|
1824
|
+
* The injected resolver **must be referentially stable across renders** —
|
|
1825
|
+
* memoize it (e.g. `useMemo`) or use `useRuntimeNameResolver` from
|
|
1826
|
+
* `@openzeppelin/ui-react`, which is stable by construction. A resolver whose
|
|
1827
|
+
* function identity changes on every render (e.g. a fresh inline function) is a
|
|
1828
|
+
* misconfiguration: the field keys inline resolution on that identity, so a
|
|
1829
|
+
* churning identity would otherwise re-dispatch on every render — an unbounded
|
|
1830
|
+
* RPC loop on a funds path.
|
|
1831
|
+
*
|
|
1832
|
+
* The base component **detects and withstands** this (it is not merely a caveat):
|
|
1833
|
+
* dispatch is bounded per resolution intent so a churning resolver can never drive
|
|
1834
|
+
* an unbounded loop (INV-123), a one-shot development-only warning names the
|
|
1835
|
+
* misconfiguration (INV-124), and the field degrades to a **safe gated state**
|
|
1836
|
+
* (empty value, submit blocked — never a wrong address, never a throw; INV-125)
|
|
1837
|
+
* until the resolver is memoized. A **genuine** resolver/network swap — a single
|
|
1838
|
+
* identity change for a given input — is still honored and re-resolves within
|
|
1839
|
+
* budget (INV-119). The bound is a backstop; the contract is a stable identity.
|
|
1840
|
+
*
|
|
1841
|
+
* @param props - Injected resolver functions and children
|
|
1842
|
+
*/
|
|
1843
|
+
declare function NameResolverProvider({
|
|
1844
|
+
children,
|
|
1845
|
+
isValidName,
|
|
1846
|
+
resolveName,
|
|
1847
|
+
activeNetworkId,
|
|
1848
|
+
activeNetworkName,
|
|
1849
|
+
resolveNetworkLabel
|
|
1850
|
+
}: NameResolverProviderProps): React$2.ReactElement;
|
|
1851
|
+
//#endregion
|
|
1852
|
+
//#region src/components/fields/name-resolution/useNameResolver.d.ts
|
|
1853
|
+
/**
|
|
1854
|
+
* Read the injected resolver context. Returns `null` when no
|
|
1855
|
+
* `NameResolverProvider` is mounted — the consuming field must then treat
|
|
1856
|
+
* every ENS branch as dead code (INV-82).
|
|
1857
|
+
*
|
|
1858
|
+
* @returns The extended context value, or `null` when no provider is mounted.
|
|
1859
|
+
*/
|
|
1860
|
+
declare function useNameResolver(): NameResolverContextValue | null;
|
|
1861
|
+
//#endregion
|
|
1862
|
+
//#region src/components/fields/name-resolution/useInjectedNameResolution.d.ts
|
|
1863
|
+
/**
|
|
1864
|
+
* Default debounce window (ms) for typed names — mirrors SF-2's
|
|
1865
|
+
* `forwardDebounceMs` default so the field and the bare hook feel identical.
|
|
1866
|
+
*/
|
|
1867
|
+
declare const NAME_RESOLUTION_DEBOUNCE_MS = 300;
|
|
1868
|
+
/** Forward resolver function injected through `NameResolverContext`. */
|
|
1869
|
+
type InjectedResolveName = (name: string) => Promise<ResolutionResult<ResolvedAddress>>;
|
|
1870
|
+
/**
|
|
1871
|
+
* Machine result — a discriminated union keyed on `status`, shaped like SF-2's
|
|
1872
|
+
* `UseResolveNameResult` so downstream rendering logic carries over verbatim.
|
|
1873
|
+
* `name` is always the normalized (trim + lowercase) input the arm refers to.
|
|
1874
|
+
*/
|
|
1875
|
+
type InjectedNameResolutionResult = {
|
|
1876
|
+
readonly status: 'idle';
|
|
1877
|
+
} | {
|
|
1878
|
+
readonly status: 'debouncing';
|
|
1879
|
+
readonly name: string;
|
|
1880
|
+
} | {
|
|
1881
|
+
readonly status: 'loading';
|
|
1882
|
+
readonly name: string;
|
|
1883
|
+
} | {
|
|
1884
|
+
readonly status: 'resolved';
|
|
1885
|
+
readonly name: string;
|
|
1886
|
+
readonly data: ResolvedAddress;
|
|
1887
|
+
} | {
|
|
1888
|
+
readonly status: 'error';
|
|
1889
|
+
readonly name: string;
|
|
1890
|
+
readonly error: NameResolutionError;
|
|
1891
|
+
readonly retry: () => void;
|
|
1892
|
+
};
|
|
1893
|
+
/** Parameters for {@link useInjectedNameResolution}. */
|
|
1894
|
+
interface UseInjectedNameResolutionParams {
|
|
1895
|
+
/** The raw typed input (the field's display string). Normalized internally. */
|
|
1896
|
+
readonly input: string;
|
|
1897
|
+
/**
|
|
1898
|
+
* INV-83: `true` only when `classification === 'name-candidate'` AND an
|
|
1899
|
+
* injected `resolveName` exists. `false` forces `idle` with zero calls.
|
|
1900
|
+
*/
|
|
1901
|
+
readonly enabled: boolean;
|
|
1902
|
+
/** The injected forward resolver. Absent → the machine stays `idle`. */
|
|
1903
|
+
readonly resolveName?: InjectedResolveName;
|
|
1904
|
+
/** Debounce override (ms); `<= 0` disables debouncing. */
|
|
1905
|
+
readonly debounceMs?: number;
|
|
1906
|
+
}
|
|
1907
|
+
/**
|
|
1908
|
+
* Debounce + dispatch + status derivation over an injected `resolveName`.
|
|
1909
|
+
*
|
|
1910
|
+
* Guarantees:
|
|
1911
|
+
* - INV-83: no call unless `enabled` (name-candidate + injected method), and
|
|
1912
|
+
* never for a debounced copy that lags the current normalized input.
|
|
1913
|
+
* - INV-117: a settled result whose requested name ≠ the current debounced
|
|
1914
|
+
* input is discarded (last-write-wins at the component boundary).
|
|
1915
|
+
* - INV-87: a rejecting resolver (contract violation) is mapped to a typed
|
|
1916
|
+
* `ADAPTER_ERROR` — nothing throws into the render tree.
|
|
1917
|
+
* - INV-123: resolver dispatches are bounded per resolution intent (normalized
|
|
1918
|
+
* debounced input × retry attempt) at {@link MAX_DISPATCHES_PER_INTENT},
|
|
1919
|
+
* regardless of render count or resolver-identity oscillation; the budget
|
|
1920
|
+
* resets on intent change or when leaving the name-resolution path — never on
|
|
1921
|
+
* `settled.source` mismatch; `retry()` never consumes an existing budget.
|
|
1922
|
+
* - INV-124: an identity-churning resolver that exhausts the budget triggers a
|
|
1923
|
+
* one-shot, development-only `logger.warn` (silent in production).
|
|
1924
|
+
* - INV-125: under sustained churn the field stays in the safe gated state — the
|
|
1925
|
+
* perpetually-changing identity keeps failing the `settled.source` check, so
|
|
1926
|
+
* the machine derives `loading`, never `resolved`; combined with INV-87 it
|
|
1927
|
+
* never throws and never writes a hex.
|
|
1928
|
+
* - No `setState` after unmount: every dispatch is cancelled on cleanup.
|
|
1929
|
+
*
|
|
1930
|
+
* @param params - {@link UseInjectedNameResolutionParams}
|
|
1931
|
+
* @returns The current {@link InjectedNameResolutionResult}.
|
|
1932
|
+
*/
|
|
1933
|
+
declare function useInjectedNameResolution({
|
|
1934
|
+
input,
|
|
1935
|
+
enabled,
|
|
1936
|
+
resolveName,
|
|
1937
|
+
debounceMs
|
|
1938
|
+
}: UseInjectedNameResolutionParams): InjectedNameResolutionResult;
|
|
1939
|
+
//#endregion
|
|
1527
1940
|
//#region src/components/fields/AmountField.d.ts
|
|
1528
1941
|
/**
|
|
1529
1942
|
* AmountField component properties
|
|
@@ -2665,6 +3078,15 @@ interface TextFieldProps<TFieldValues extends FieldValues = FieldValues> extends
|
|
|
2665
3078
|
* Placeholder text displayed when the field is empty
|
|
2666
3079
|
*/
|
|
2667
3080
|
placeholder?: string;
|
|
3081
|
+
/**
|
|
3082
|
+
* Fired with the new value on USER-originated edits only — keystrokes and the
|
|
3083
|
+
* Escape-clear — never on programmatic writes (`setValue`/`reset`). This is
|
|
3084
|
+
* the discriminator consumers need to tell "the user claimed this field" from
|
|
3085
|
+
* "code seeded this field" (e.g. the address book's ENS alias suggestion,
|
|
3086
|
+
* SF-5 INV-103/INV-105); RHF's `dirtyFields` cannot express it because any
|
|
3087
|
+
* form-wide dirty recompute retroactively marks a seeded value dirty.
|
|
3088
|
+
*/
|
|
3089
|
+
onUserEdit?: (value: string) => void;
|
|
2668
3090
|
}
|
|
2669
3091
|
/**
|
|
2670
3092
|
* Text input field component specifically designed for React Hook Form integration.
|
|
@@ -2693,7 +3115,8 @@ declare function TextField<TFieldValues extends FieldValues = FieldValues>({
|
|
|
2693
3115
|
name,
|
|
2694
3116
|
width,
|
|
2695
3117
|
validation,
|
|
2696
|
-
readOnly
|
|
3118
|
+
readOnly,
|
|
3119
|
+
onUserEdit
|
|
2697
3120
|
}: TextFieldProps<TFieldValues>): React$1.ReactElement;
|
|
2698
3121
|
declare namespace TextField {
|
|
2699
3122
|
var displayName: string;
|
|
@@ -3093,5 +3516,5 @@ declare const Toaster: ({
|
|
|
3093
3516
|
...props
|
|
3094
3517
|
}: ToasterProps) => JSX.Element;
|
|
3095
3518
|
//#endregion
|
|
3096
|
-
export { AccessibilityProps, Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, AddressDisplay, type AddressDisplayVariant, AddressField, AddressLabelProvider, type AddressLabelProviderProps, AddressListEntryMode, AddressListField, AddressListFieldLabels, AddressListFieldProps, AddressSuggestionProvider, type AddressSuggestionProviderProps, Alert, AlertDescription, AlertTitle, AmountField, AmountFieldProps, ArrayField, ArrayFieldProps, ArrayObjectField, ArrayObjectFieldProps, Banner, BannerProps, BannerSize, BannerVariant, BaseField, BaseFieldProps, BigIntField, BigIntFieldProps, BooleanField, BooleanFieldProps, Button, ButtonProps, BytesField, BytesFieldProps, Calendar, CalendarProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, DEFAULT_ADDRESS_LIST_FIELD_LABELS, 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, EcosystemDropdown, EcosystemDropdownOption, EcosystemDropdownProps, EcosystemIcon, EcosystemIconProps, 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, NetworkAvailabilityNotice, type NetworkAvailabilityNoticeProps, NetworkError, NetworkErrorNotificationProvider, NetworkErrorType, NetworkIcon, NetworkIconProps, NetworkSelector, NetworkSelectorProps, NetworkServiceErrorBanner, NetworkServiceErrorBannerProps, NetworkStatusBadge, NumberField, NumberFieldProps, ObjectField, ObjectFieldProps, OptionGroup, OverflowMenu, OverflowMenuItem, OverflowMenuProps, PasswordField, PasswordFieldProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, RadioField, RadioFieldProps, RadioGroup, RadioGroupItem, RadioOption, RelayerDetailsCard, type RelayerDetailsCardProps, Select, SelectContent, SelectField, SelectFieldProps, SelectGroup, SelectGroupedField, SelectGroupedFieldProps, SelectItem, SelectLabel, SelectOption, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SidebarButton, type SidebarButtonProps, SidebarGroup, type SidebarGroupProps, SidebarLayout, type SidebarLayoutProps, SidebarSection, type SidebarSectionProps, type StepStatus, type StepVisualState, Tabs, TabsContent, TabsList, TabsTrigger, TextAreaField, TextAreaFieldProps, TextField, TextFieldProps, Textarea, TextareaProps, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UrlField, type UseAddressLabelResult, type UseAddressSuggestionsResult, VERSION, ViewContractStateButton, WizardLayout, type WizardLayoutProps, WizardNavigation, type WizardNavigationProps, type WizardStepConfig, type WizardStepDef, WizardStepper, type WizardStepperProps, buildAddressListPreviewSummary, buttonVariants, computeChildTouched, createFocusManager, createValidationResult, formatAddressBulkSummary, formatValidationError, getAccessibilityProps, getDescribedById, getErrorMessage, getValidationStateClasses, getWidthClasses, handleEscapeKey, handleKeyboardEvent, handleNumericKeys, handleToggleKeys, handleValidationError, hasFieldError, isDuplicateMapKey, resolveAddressListFieldLabels, useAddressLabel, useAddressSuggestions, useDuplicateKeyIndexes, useMapFieldSync, useNetworkErrorAwareAdapter, useNetworkErrorReporter, useNetworkErrors, validateField, validateMapEntries, validateMapStructure };
|
|
3519
|
+
export { AccessibilityProps, Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, type AddressAvatarVariant, AddressDisplay, type AddressDisplayProps, type AddressDisplayVariant, AddressField, AddressFieldProps, AddressLabelProvider, type AddressLabelProviderProps, AddressListEntryMode, AddressListField, AddressListFieldLabels, AddressListFieldProps, AddressNameProvider, type AddressNameProviderProps, AddressSuggestionList, type AddressSuggestionListProps, AddressSuggestionProvider, type AddressSuggestionProviderProps, Alert, AlertDescription, AlertTitle, AmountField, AmountFieldProps, ArrayField, ArrayFieldProps, ArrayObjectField, ArrayObjectFieldProps, Banner, BannerProps, BannerSize, BannerVariant, BaseField, BaseFieldProps, BigIntField, BigIntFieldProps, BooleanField, BooleanFieldProps, Button, ButtonProps, BytesField, BytesFieldProps, Calendar, CalendarProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, DEFAULT_ADDRESS_LIST_FIELD_LABELS, 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, EcosystemDropdown, EcosystemDropdownOption, EcosystemDropdownProps, EcosystemIcon, EcosystemIconProps, 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, type InjectedNameResolutionResult, type InjectedResolveName, Input, InputProps, Label, LoadingButton, LoadingButtonProps, MapEntryRow, MapField, MapFieldProps, MidnightIcon, NAME_RESOLUTION_DEBOUNCE_MS, NameResolverContext, NameResolverProvider, type NameResolverProviderProps, NetworkAvailabilityNotice, type NetworkAvailabilityNoticeProps, NetworkError, NetworkErrorNotificationProvider, NetworkErrorType, NetworkIcon, NetworkIconProps, NetworkSelector, NetworkSelectorProps, NetworkServiceErrorBanner, NetworkServiceErrorBannerProps, NetworkStatusBadge, NumberField, NumberFieldProps, ObjectField, ObjectFieldProps, OptionGroup, OverflowMenu, OverflowMenuItem, OverflowMenuProps, PasswordField, PasswordFieldProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, RadioField, RadioFieldProps, RadioGroup, RadioGroupItem, RadioOption, RelayerDetailsCard, type RelayerDetailsCardProps, Select, SelectContent, SelectField, SelectFieldProps, SelectGroup, SelectGroupedField, SelectGroupedFieldProps, SelectItem, SelectLabel, SelectOption, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SidebarButton, type SidebarButtonProps, SidebarGroup, type SidebarGroupProps, SidebarLayout, type SidebarLayoutProps, SidebarSection, type SidebarSectionProps, type StepStatus, type StepVisualState, Tabs, TabsContent, TabsList, TabsTrigger, TextAreaField, TextAreaFieldProps, TextField, TextFieldProps, Textarea, TextareaProps, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UrlField, type UseAddressLabelResult, type UseAddressNameResult, type UseAddressSuggestionFieldArgs, type UseAddressSuggestionFieldResult, type UseAddressSuggestionsResult, type UseInjectedNameResolutionParams, VERSION, ViewContractStateButton, WizardLayout, type WizardLayoutProps, WizardNavigation, type WizardNavigationProps, type WizardStepConfig, type WizardStepDef, WizardStepper, type WizardStepperProps, buildAddressListPreviewSummary, buttonVariants, computeChildTouched, createFocusManager, createValidationResult, formatAddressBulkSummary, formatValidationError, getAccessibilityProps, getDescribedById, getErrorMessage, getValidationStateClasses, getWidthClasses, handleEscapeKey, handleKeyboardEvent, handleNumericKeys, handleToggleKeys, handleValidationError, hasFieldError, isDuplicateMapKey, resolveAddressListFieldLabels, useAddressLabel, useAddressName, useAddressSuggestionField, useAddressSuggestions, useDuplicateKeyIndexes, useInjectedNameResolution, useMapFieldSync, useNameResolver, useNetworkErrorAwareAdapter, useNetworkErrorReporter, useNetworkErrors, validateField, validateMapEntries, validateMapStructure };
|
|
3097
3520
|
//# sourceMappingURL=index.d.cts.map
|