import "../../../chunks/chunk.QU3DSPNU.js";
import { createElement, useRef } from "react";
import { GdsInput as GdsInputClass } from "../../../components/input/input.component.js";
import { getReactComponent, useControlledValue } from "../../../utils/react.js";
const GdsInput = (props) => {
  GdsInputClass.define();
  const JSXElement = getReactComponent("gds-input");
  const internalRef = useRef(null);
  const ref = props.ref || internalRef;
  useControlledValue(
    ref,
    props.value,
    props.defaultValue,
    props.onChange,
    props.onInput
  );
  const { onChange, onInput, ref: _ref, ...restProps } = props;
  const propsWithClass = { ...restProps, class: props.className, ref };
  return createElement(JSXElement, propsWithClass);
};
GdsInput.displayName = "GdsInput";
export {
  GdsInput
};
