UNPKG

koval-ui

Version:

React components collection with minimalistic design. Supports theming, layout, and input validation.

3 lines (2 loc) 2.25 kB
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),a=require("react"),_=require("classnames"),z=require("../../internal/Icons/IconValid.cjs"),A=require("../../internal/Icons/IconLoader.cjs"),D=require("../../internal/Icons/IconErrorOutline.cjs"),e=require("../../internal/inputs/ValidationProps.cjs"),G=require("../../internal/inputs/useValidation.cjs"),H=require("../../internal/inputs/useRevalidateOnFormChange.cjs"),J=require("../../internal/inputs/useExternalValidation.cjs"),K=require("../../internal/hooks/useInternalId.cjs"),Q=require("../../internal/hooks/useInternalRef.cjs"),n=require("./InputText.module.css.cjs"),x=a.forwardRef(({prefix:d,className:h,type:g="text",placeholder:q="",disabled:S,value:b,onChange:I=()=>{},onFocus:R=()=>{},onBlur:j=()=>{},onKeyDown:C=()=>{},onKeyUp:N=()=>{},defaultValue:T,readOnly:i,size:v=16,id:y,required:o,revalidateOnFormChange:E,errorMessage:F=e.ValidationState.error,validation:l,displayIcon:m=!0,...r},L)=>{const s=Q.useInternalRef(L),k=!!l||!!o||typeof r.maxLength=="number"||typeof r.minLength=="number"||typeof r.pattern=="string",{validateTextual:p,validity:V,setValidity:u}=G.useValidation({validation:l,hasValidators:k});J.useExternalValidation({errorMessage:F,inputRef:s,setValidity:u,validation:l}),H.useRevalidateOnFormChange(s,p,E);const w={[e.ValidationState.error]:D.IconErrorOutline,[e.ValidationState.valid]:z.IconValid,[e.ValidationState.inProgress]:A.IconLoader,[e.ValidationState.pristine]:a.Fragment}[V],O=a.useCallback(c=>{I(c)},[I]),B=a.useCallback(()=>{o&&u(e.ValidationState.error)},[o,u]),M=a.useCallback(c=>{i&&c.target.select()},[i]),f=K.useInternalId(y);return t.jsxs("div",{className:_(n.default.wrapper,{[n.default.withValidationIcon]:m},h),children:[d&&t.jsx("label",{className:n.default.prefix,htmlFor:f,children:t.jsx(d,{})}),t.jsx("input",{...r,required:o,size:v,id:f,readOnly:i,placeholder:q,className:n.default.input,ref:s,disabled:S,type:g,value:b,defaultValue:T,onChange:O,onBlur:j,onFocus:R,onKeyUp:N,onKeyDown:C,onInvalid:B,onInput:p,onSelect:M}),m&&V&&t.jsx(w,{className:n.default.validation})]})});x.displayName="InputText";exports.InputText=x; //# sourceMappingURL=InputText.cjs.map