jb-national-input
Version:
national input web component
2 lines • 2.16 kB
JavaScript
import e,{forwardRef as t,useCallback as r,useEffect as n,useImperativeHandle as u,useRef as i,useState as a}from"react";import"jb-national-input";import"jb-input";function o(e,t,u,i=!1){let a=r(t=>{e.current&&"function"==typeof u&&u(t)},[e,u]);n(()=>{let r=e.current;return r&&r.addEventListener(t,a,{passive:i,capture:!1}),function(){r&&r.removeEventListener(t,a,{passive:i,capture:!1})}},[e,t,u,i])}function l(e,t){o(e,"enter",t.onEnter),o(e,"input",t.onInput),o(e,"beforeinput",t.onBeforeinput),o(e,"change",t.onChange),o(e,"keydown",t.onKeydown),o(e,"keyup",t.onKeyup),o(e,"focus",t.onFocus),o(e,"blur",t.onBlur)}function c(e,t){n(()=>{let r=t.value;(null==t.value||void 0===t.value)&&(r=""),e&&e.current&&e.current&&(e.current.value=r?.toString()||"")},[t.value]),n(()=>{t.type&&e?.current?.setAttribute("type",t.type)},[t.type]),n(()=>{e?.current?.setAttribute("name",t.name||"")},[t.name]),n(()=>{e&&e.current&&(e.current.validation.list=t.validationList||[])},[t.validationList]),n(()=>{e?.current?.setAttribute("label",t.label||"")},[t.label]),n(()=>{"boolean"==typeof t.disabled&&e?.current?.setAttribute("disabled",`${t.disabled}`)},[t.disabled]),n(()=>{"boolean"==typeof t.required&&e?.current?.setAttribute("required",`${t.required}`)},[t.required]),n(()=>{t.inputmode?e.current?.setAttribute("inputmode",t.inputmode):e.current?.removeAttribute("inputmode")},[t.inputmode]),n(()=>{e?.current?.setAttribute("message",t.message||"")},[t.message]),n(()=>{e?.current?.setAttribute("placeholder",t.placeholder||"")},[t.placeholder]),n(()=>{t.error?e?.current?.setAttribute("error",t.error):e?.current?.removeAttribute("error")},[t.error])}t((t,r)=>{let o=i(null),[s,p]=a(0);return u(r,()=>o?o.current:{},[o]),n(()=>{p(s+1)},[o.current]),l(o,t),c(o,t),e.createElement("jb-input",{ref:o,class:t.className},t.children)}).displayName="JBInput";let s=e.forwardRef((t,r)=>{let o=i(null),[s,p]=a(0);return u(r,()=>o?o.current:{},[o]),n(()=>{p(s+1)},[o.current]),c(o,t),l(o,t),e.createElement("jb-national-input",{ref:o,class:t.className?t.className:""})});s.displayName="JBNationalInput";export{s as JBNationalInput};
//# sourceMappingURL=JBNationalInput.js.map