UNPKG

@kubit-ui-web/react-components

Version:

Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience

39 lines 1.6 kB
import { jsx as _jsx } from "react/jsx-runtime"; import React from 'react'; import { useDraw } from './hook/useDraw'; import { InputSignatureControlled } from './inputSignatureControlled'; import { getInputSignatureState } from './utils/getInputSignatureState'; const InputSignatureUnControlledComponent = ({ disabled, error, onChange, ...props }, ref) => { // refs const innerRef = React.useRef(null); // custom hook const { canvasRef, filled, resetCanvas, setSignatureStyles } = useDraw(onChange); // active state const [active, setActive] = React.useState(false); // constants const state = getInputSignatureState({ active, filled, error, disabled }); React.useImperativeHandle(ref, () => ({ get InputSignature() { return innerRef.current; }, get reset() { return resetCanvas; }, })); const _onClickContainer = e => { if (disabled) { return; } e.stopPropagation(); setActive(true); e.currentTarget.focus(); }; const _onBlurContainer = () => { setActive(false); }; return (_jsx(InputSignatureControlled, { ref: innerRef, canvasRef: canvasRef, setSignatureStyles: setSignatureStyles, state: state, onBlurContainer: _onBlurContainer, onClickContainer: _onClickContainer, ...props })); }; const InputSignatureUnControlled = React.forwardRef(InputSignatureUnControlledComponent); export { InputSignatureUnControlled }; export { InputSignatureUnControlled as InputSignature }; //# sourceMappingURL=inputSignatureUncontrolled.js.map