MCPcopy
hub / github.com/chakra-ui/ark / usePinInput

Function usePinInput

packages/solid/src/components/pin-input/use-pin-input.ts:12–35  ·  view source on GitHub ↗
(props?: MaybeAccessor<UsePinInputProps>)

Source from the content-addressed store, hash-verified

10export interface UsePinInputReturn extends Accessor<pinInput.Api<PropTypes>> {}
11
12export const usePinInput = (props?: MaybeAccessor<UsePinInputProps>): UsePinInputReturn => {
13 const id = createUniqueId()
14 const locale = useLocaleContext()
15 const environment = useEnvironmentContext()
16 const field = useFieldContext()
17
18 const machineProps = createMemo<pinInput.Props>(() => ({
19 id,
20 ids: {
21 label: field?.().ids.label,
22 hiddenInput: field?.().ids.control,
23 },
24 disabled: field?.().disabled,
25 readOnly: field?.().readOnly,
26 required: field?.().required,
27 invalid: field?.().invalid,
28 dir: locale().dir,
29 getRootNode: environment().getRootNode,
30 ...runIfFn(props),
31 }))
32
33 const service = useMachine(pinInput.machine, machineProps)
34 return createMemo(() => pinInput.connect(service, normalizeProps))
35}

Callers 2

PinInputRootFunction · 0.90
RootProviderFunction · 0.90

Calls 2

runIfFnFunction · 0.90
localeFunction · 0.85

Tested by

no test coverage detected