UNPKG

@ark-ui/solid

Version:

A collection of unstyled, accessible UI components for Solid, utilizing state machines for seamless interaction.

167 lines (154 loc) 4.81 kB
import { useFieldContext } from "./7HLG62OR.jsx"; import { createSplitProps } from "./6WEDGJKQ.jsx"; import { ark } from "./UFYZ7HLU.jsx"; import { useEnvironmentContext } from "./CGW54HAQ.jsx"; import { useLocaleContext } from "./JFOWNFC7.jsx"; import { runIfFn } from "./KGOB2IMX.jsx"; import { createContext } from "./UZJJWJQM.jsx"; import { __export } from "./7IUG3E2V.jsx"; // src/components/pin-input/use-pin-input-context.ts var [PinInputProvider, usePinInputContext] = createContext({ hookName: "usePinInputContext", providerName: "<PinInputProvider />" }); // src/components/pin-input/pin-input-context.tsx var PinInputContext = (props) => props.children(usePinInputContext()); // src/components/pin-input/pin-input-control.tsx import { mergeProps } from "@zag-js/solid"; var PinInputControl = (props) => { const api = usePinInputContext(); const mergedProps = mergeProps(() => api().getControlProps(), props); return <ark.div {...mergedProps} />; }; // src/components/pin-input/pin-input-hidden-input.tsx import { mergeProps as mergeProps2 } from "@zag-js/solid"; var PinInputHiddenInput = (props) => { const pinInput2 = usePinInputContext(); const mergedProps = mergeProps2(() => pinInput2().getHiddenInputProps(), props); const field = useFieldContext(); return <ark.input aria-describedby={field?.().ariaDescribedby} {...mergedProps} />; }; // src/components/pin-input/pin-input-input.tsx import { mergeProps as mergeProps3 } from "@zag-js/solid"; var PinInputInput = (props) => { const [inputProps, localProps] = createSplitProps()(props, ["index"]); const api = usePinInputContext(); const mergedProps = mergeProps3(() => api().getInputProps(inputProps), localProps); return <ark.input {...mergedProps} />; }; // src/components/pin-input/pin-input-label.tsx import { mergeProps as mergeProps4 } from "@zag-js/solid"; var PinInputLabel = (props) => { const api = usePinInputContext(); const mergedProps = mergeProps4(() => api().getLabelProps(), props); return <ark.label {...mergedProps} />; }; // src/components/pin-input/pin-input-root.tsx import { mergeProps as mergeProps5 } from "@zag-js/solid"; // src/components/pin-input/use-pin-input.ts import * as pinInput from "@zag-js/pin-input"; import { normalizeProps, useMachine } from "@zag-js/solid"; import { createMemo, createUniqueId } from "solid-js"; var usePinInput = (props) => { const id = createUniqueId(); const locale = useLocaleContext(); const environment = useEnvironmentContext(); const field = useFieldContext(); const machineProps = createMemo(() => ({ id, ids: { label: field?.().ids.label, hiddenInput: field?.().ids.control }, disabled: field?.().disabled, readOnly: field?.().readOnly, required: field?.().required, invalid: field?.().invalid, dir: locale().dir, getRootNode: environment().getRootNode, ...runIfFn(props) })); const service = useMachine(pinInput.machine, machineProps); return createMemo(() => pinInput.connect(service, normalizeProps)); }; // src/components/pin-input/pin-input-root.tsx var PinInputRoot = (props) => { const [usePinInputProps, localProps] = createSplitProps()(props, [ "autoFocus", "blurOnComplete", "count", "defaultValue", "disabled", "form", "id", "ids", "invalid", "mask", "name", "onValueChange", "onValueComplete", "onValueInvalid", "otp", "pattern", "placeholder", "readOnly", "required", "selectOnFocus", "translations", "type", "value" ]); const pinInput2 = usePinInput(usePinInputProps); const mergedProps = mergeProps5(() => pinInput2().getRootProps(), localProps); return <PinInputProvider value={pinInput2}> <ark.div {...mergedProps} /> </PinInputProvider>; }; // src/components/pin-input/pin-input-root-provider.tsx import { mergeProps as mergeProps6 } from "@zag-js/solid"; var PinInputRootProvider = (props) => { const [{ value: pinInput2 }, localProps] = createSplitProps()(props, ["value"]); const mergedProps = mergeProps6(() => pinInput2().getRootProps(), localProps); return <PinInputProvider value={pinInput2}> <ark.div {...mergedProps} /> </PinInputProvider>; }; // src/components/pin-input/pin-input.ts var pin_input_exports = {}; __export(pin_input_exports, { Context: () => PinInputContext, Control: () => PinInputControl, HiddenInput: () => PinInputHiddenInput, Input: () => PinInputInput, Label: () => PinInputLabel, Root: () => PinInputRoot, RootProvider: () => PinInputRootProvider }); export { usePinInputContext, PinInputContext, PinInputControl, PinInputHiddenInput, PinInputInput, PinInputLabel, usePinInput, PinInputRoot, PinInputRootProvider, pin_input_exports };