UNPKG

scriptguard-library

Version:

A secure and customizable text input field library for React.

3 lines (2 loc) 823 B
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=function(e){return e.replace(/[<>/'"\\]/g,"")};exports.SecureTextInput=function(a){var n=a.value,i=void 0===n?"":n,u=a.onChange,l=a.allowedChars,o=void 0===l?/^[a-zA-Z0-9\s]*$/:l,s=a.maxLength,c=void 0===s?255:s,d=a.sanitize,v=void 0===d?r:d,f=a.placeholder,p=void 0===f?"Enter text...":f,x=a.className,h=void 0===x?"":x,g=a.id,j=t.useState(i),m=j[0],C=j[1],b=t.useRef(null);t.useEffect((function(){C(i)}),[i]);return e.jsx("input",{ref:b,type:"text",value:m,onChange:function(e){var t=e.target.value;t=t.split("").filter((function(e){return o.test(e)})).join(""),(t=v(t).slice(0,c))!==m&&(C(t),null==u||u(t))},placeholder:p,className:h,id:g,"aria-label":p})}; //# sourceMappingURL=index.cjs.js.map