@rubenpazch/text-input 3.0.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../src/TextInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAEjD,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAmED,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA+XvC,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../src/TextInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAGjD,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AA2DD,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAgavC,CAAC;AAEF,eAAe,SAAS,CAAC"}
package/dist/index.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var e,t=require("react"),r={exports:{}},l={};var a,n,s={};
1
+ "use strict";var e,n=require("react"),t={exports:{}},r={};var o,l,a={};
2
2
  /**
3
3
  * @license React
4
4
  * react-jsx-runtime.development.js
@@ -7,5 +7,5 @@
7
7
  *
8
8
  * This source code is licensed under the MIT license found in the
9
9
  * LICENSE file in the root directory of this source tree.
10
- */function o(){return a||(a=1,"production"!==process.env.NODE_ENV&&function(){function e(t){if(null==t)return null;if("function"==typeof t)return t.$$typeof===S?null:t.displayName||t.name||null;if("string"==typeof t)return t;switch(t){case x:return"Fragment";case g:return"Profiler";case y:return"StrictMode";case j:return"Suspense";case N:return"SuspenseList";case _:return"Activity"}if("object"==typeof t)switch("number"==typeof t.tag&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),t.$$typeof){case p:return"Portal";case b:return t.displayName||"Context";case h:return(t._context.displayName||"Context")+".Consumer";case v:var r=t.render;return(t=t.displayName)||(t=""!==(t=r.displayName||r.name||"")?"ForwardRef("+t+")":"ForwardRef"),t;case w:return null!==(r=t.displayName||null)?r:e(t.type)||"Memo";case k:r=t._payload,t=t._init;try{return e(t(r))}catch(e){}}return null}function r(e){return""+e}function l(e){try{r(e);var t=!1}catch(e){t=!0}if(t){var l=(t=console).error,a="function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return l.call(t,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",a),r(e)}}function a(t){if(t===x)return"<>";if("object"==typeof t&&null!==t&&t.$$typeof===k)return"<...>";try{var r=e(t);return r?"<"+r+">":"<...>"}catch(e){return"<...>"}}function n(){return Error("react-stack-top-frame")}function o(){var t=e(this.type);return $[t]||($[t]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),void 0!==(t=this.props.ref)?t:null}function i(t,r,a,n,s,i){var d,f=r.children;if(void 0!==f)if(n)if(C(f)){for(n=0;n<f.length;n++)c(f[n]);Object.freeze&&Object.freeze(f)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else c(f);if(z.call(r,"key")){f=e(t);var p=Object.keys(r).filter(function(e){return"key"!==e});n=0<p.length?"{key: someKey, "+p.join(": ..., ")+": ...}":"{key: someKey}",M[f+n]||(p=0<p.length?"{"+p.join(": ..., ")+": ...}":"{}",console.error('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',n,f,p,f),M[f+n]=!0)}if(f=null,void 0!==a&&(l(a),f=""+a),function(e){if(z.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}(r)&&(l(r.key),f=""+r.key),"key"in r)for(var x in a={},r)"key"!==x&&(a[x]=r[x]);else a=r;return f&&function(e,t){function r(){u||(u=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",t))}r.isReactWarning=!0,Object.defineProperty(e,"key",{get:r,configurable:!0})}(a,"function"==typeof t?t.displayName||t.name||"Unknown":t),function(e,t,r,l,a,n){var s=r.ref;return e={$$typeof:m,type:e,key:t,props:r,_owner:l},null!==(void 0!==s?s:null)?Object.defineProperty(e,"ref",{enumerable:!1,get:o}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:a}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:n}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}(t,f,a,null===(d=R.A)?null:d.getOwner(),s,i)}function c(e){d(e)?e._store&&(e._store.validated=1):"object"==typeof e&&null!==e&&e.$$typeof===k&&("fulfilled"===e._payload.status?d(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function d(e){return"object"==typeof e&&null!==e&&e.$$typeof===m}var u,f=t,m=Symbol.for("react.transitional.element"),p=Symbol.for("react.portal"),x=Symbol.for("react.fragment"),y=Symbol.for("react.strict_mode"),g=Symbol.for("react.profiler"),h=Symbol.for("react.consumer"),b=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),j=Symbol.for("react.suspense"),N=Symbol.for("react.suspense_list"),w=Symbol.for("react.memo"),k=Symbol.for("react.lazy"),_=Symbol.for("react.activity"),S=Symbol.for("react.client.reference"),R=f.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,z=Object.prototype.hasOwnProperty,C=Array.isArray,O=console.createTask?console.createTask:function(){return null},$={},L=(f={react_stack_bottom_frame:function(e){return e()}}).react_stack_bottom_frame.bind(f,n)(),A=O(a(n)),M={};s.Fragment=x,s.jsx=function(e,t,r){var l=1e4>R.recentlyCreatedOwnerStacks++;return i(e,t,r,!1,l?Error("react-stack-top-frame"):L,l?O(a(e)):A)},s.jsxs=function(e,t,r){var l=1e4>R.recentlyCreatedOwnerStacks++;return i(e,t,r,!0,l?Error("react-stack-top-frame"):L,l?O(a(e)):A)}}()),s}var i=(n||(n=1,"production"===process.env.NODE_ENV?r.exports=function(){if(e)return l;e=1;var t=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function a(e,r,l){var a=null;if(void 0!==l&&(a=""+l),void 0!==r.key&&(a=""+r.key),"key"in r)for(var n in l={},r)"key"!==n&&(l[n]=r[n]);else l=r;return r=l.ref,{$$typeof:t,type:e,key:a,ref:void 0!==r?r:null,props:l}}return l.Fragment=r,l.jsx=a,l.jsxs=a,l}():r.exports=o()),r.exports);const c=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;module.exports=({label:e,value:r,onChange:l,placeholder:a,error:n,required:s=!1,disabled:o=!1,type:d="text",className:u="",hint:f,maxLength:m,minLength:p,pattern:x,icon:y,onBlur:g,onFocus:h,autoComplete:b,validateEmail:v=!1,showPasswordStrength:j=!1})=>{const[N,w]=t.useState(!1),k=t.useMemo(()=>v&&r?(e=>{if(!e||!e.includes("@"))return null;const[t,r]=e.split("@");if(!r)return null;const l={"gmial.com":"gmail.com","gmai.com":"gmail.com","gmil.com":"gmail.com","hotmial.com":"hotmail.com","hotmal.com":"hotmail.com","outlok.com":"outlook.com","yahooo.com":"yahoo.com","yaho.com":"yahoo.com"};return l[r.toLowerCase()]?`${t}@${l[r.toLowerCase()]}`:null})(r):null,[v,r]),_=t.useMemo(()=>{if(!v||!r)return null;return c.test(r)&&!(null!==k)},[v,r,k]),S=v&&r&&!_&&!k?"Correo electrónico inválido":null,R=t.useMemo(()=>"password"===d&&j?(e=>{if(!e)return{score:0,strength:"none",label:"Sin contraseña"};let t=0;const r=/[A-Z]/.test(e);return/[a-z]/.test(e)&&t++,r&&t++,/\d/.test(e)&&t++,/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(e)&&t++,e.length>=8&&t++,t<=1?{score:t,strength:"weak",label:"Débil"}:t<=2?{score:t,strength:"fair",label:"Regular"}:t<=3?{score:t,strength:"good",label:"Buena"}:4===t?{score:t,strength:"strong",label:"Fuerte"}:{score:t,strength:"very-strong",label:"Muy fuerte"}})(r):null,[d,r,j]),z=m&&"text"===d&&r,C=r.length,O=m?C/m*100:0,$=O>80,L=O>=100;return i.jsxs("div",{className:`flex flex-col gap-2 ${u}`,children:[e&&i.jsxs("label",{className:"block text-sm font-medium text-gray-700",children:[e,s&&i.jsx("span",{className:"text-red-500 ml-1",children:"*"})]}),i.jsxs("div",{className:"relative",children:[y&&!N&&i.jsx("div",{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400 pointer-events-none flex items-center",children:y}),i.jsx("input",{type:d,value:r,onChange:e=>l(e.target.value),onFocus:()=>{w(!0),h?.()},onBlur:()=>{w(!1),g?.()},placeholder:a,disabled:o,maxLength:m,minLength:p,pattern:x,autoComplete:b,className:`\n w-full px-4 py-2 rounded-lg border-2 transition-all outline-none\n font-medium text-gray-900 placeholder-gray-400\n disabled:bg-gray-100 disabled:text-gray-500 disabled:cursor-not-allowed\n ${y?"pl-10":""}\n ${n?"border-red-500 focus:border-red-500 focus:ring-2 focus:ring-red-200":N?"border-blue-500 focus:ring-2 focus:ring-blue-200":"border-gray-300 hover:border-gray-400"}\n `}),z&&i.jsxs("div",{className:"absolute right-3 top-1/2 transform -translate-y-1/2 text-xs font-medium flex items-center gap-1",children:[i.jsxs("div",{className:""+(L?"text-red-600":$?"text-amber-600":"text-gray-500"),children:[C,"/",m]}),L&&i.jsx("svg",{className:"w-4 h-4 text-red-600",fill:"currentColor",viewBox:"0 0 20 20",children:i.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z",clipRule:"evenodd"})})]})]}),z&&m>20&&i.jsx("div",{className:"w-full h-1 bg-gray-200 rounded-full overflow-hidden",children:i.jsx("div",{className:"h-full transition-all rounded-full "+(L?"bg-red-500":$?"bg-amber-500":"bg-blue-500"),style:{width:`${Math.min(O,100)}%`}})}),f&&!n&&!S&&i.jsx("p",{className:"text-xs text-gray-500 mt-1",children:f}),v&&r&&_&&i.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[i.jsx("svg",{className:"w-4 h-4 text-green-500 flex-shrink-0",fill:"currentColor",viewBox:"0 0 20 20",children:i.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),i.jsx("p",{className:"text-xs text-green-600",children:"Correo válido"})]}),k&&!n&&i.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[i.jsx("svg",{className:"w-4 h-4 text-blue-500 flex-shrink-0",fill:"currentColor",viewBox:"0 0 20 20",children:i.jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z",clipRule:"evenodd"})}),i.jsxs("p",{className:"text-xs text-blue-600",children:["¿Quisiste decir"," ",i.jsx("button",{type:"button",onClick:()=>l(k),className:"font-semibold underline hover:text-blue-800",children:k}),"?"]})]}),R&&R.score>0&&i.jsxs("div",{className:"mt-2 space-y-2",children:[i.jsx("div",{className:"flex gap-1",children:[0,1,2,3,4].map(e=>i.jsx("div",{className:"h-1.5 flex-1 rounded-full transition-colors "+(e<R.score?"weak"===R.strength?"bg-red-500":"fair"===R.strength?"bg-amber-500":"good"===R.strength?"bg-yellow-500":"strong"===R.strength?"bg-lime-500":"bg-green-500":"bg-gray-200")},e))}),i.jsx("div",{className:"flex items-center justify-between",children:i.jsxs("p",{className:"text-xs text-gray-600",children:["Fortaleza:"," ",i.jsx("span",{className:"font-semibold "+("weak"===R.strength?"text-red-600":"fair"===R.strength?"text-amber-600":"good"===R.strength?"text-yellow-600":"strong"===R.strength?"text-lime-600":"text-green-600"),children:R.label})]})}),i.jsxs("div",{className:"text-xs space-y-1 p-2 bg-gray-50 rounded border border-gray-200",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("svg",{className:"w-3.5 h-3.5 flex-shrink-0 "+(/[a-z]/.test(r)?"text-green-500":"text-gray-300"),fill:"currentColor",viewBox:"0 0 20 20",children:i.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),i.jsx("span",{className:/[a-z]/.test(r)?"text-gray-700":"text-gray-500",children:"Letras minúsculas"})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("svg",{className:"w-3.5 h-3.5 flex-shrink-0 "+(/[A-Z]/.test(r)?"text-green-500":"text-gray-300"),fill:"currentColor",viewBox:"0 0 20 20",children:i.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),i.jsx("span",{className:/[A-Z]/.test(r)?"text-gray-700":"text-gray-500",children:"Letras mayúsculas"})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("svg",{className:"w-3.5 h-3.5 flex-shrink-0 "+(/\d/.test(r)?"text-green-500":"text-gray-300"),fill:"currentColor",viewBox:"0 0 20 20",children:i.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),i.jsx("span",{className:/\d/.test(r)?"text-gray-700":"text-gray-500",children:"Números"})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("svg",{className:"w-3.5 h-3.5 flex-shrink-0 "+(/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(r)?"text-green-500":"text-gray-300"),fill:"currentColor",viewBox:"0 0 20 20",children:i.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),i.jsx("span",{className:/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(r)?"text-gray-700":"text-gray-500",children:"Caracteres especiales"})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("svg",{className:"w-3.5 h-3.5 flex-shrink-0 "+(r.length>=8?"text-green-500":"text-gray-300"),fill:"currentColor",viewBox:"0 0 20 20",children:i.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),i.jsx("span",{className:r.length>=8?"text-gray-700":"text-gray-500",children:"Mínimo 8 caracteres"})]})]})]}),(n||S)&&i.jsxs("div",{className:"flex items-start gap-2 mt-1",children:[i.jsx("svg",{className:"w-4 h-4 text-red-500 flex-shrink-0 mt-0.5",fill:"currentColor",viewBox:"0 0 20 20",children:i.jsx("path",{fillRule:"evenodd",d:"M18.101 12.93a1 1 0 00-1.414-1.414L10 15.586l-6.687-6.687a1 1 0 00-1.414 1.414l8 8a1 1 0 001.414 0l8-8z",clipRule:"evenodd"})}),i.jsx("p",{className:"text-sm text-red-600",children:n||S})]})]})};
10
+ */function s(){return o||(o=1,"production"!==process.env.NODE_ENV&&function(){function e(n){if(null==n)return null;if("function"==typeof n)return n.$$typeof===k?null:n.displayName||n.name||null;if("string"==typeof n)return n;switch(n){case x:return"Fragment";case h:return"Profiler";case g:return"StrictMode";case I:return"Suspense";case v:return"SuspenseList";case N:return"Activity"}if("object"==typeof n)switch("number"==typeof n.tag&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),n.$$typeof){case p:return"Portal";case T:return n.displayName||"Context";case f:return(n._context.displayName||"Context")+".Consumer";case b:var t=n.render;return(n=n.displayName)||(n=""!==(n=t.displayName||t.name||"")?"ForwardRef("+n+")":"ForwardRef"),n;case y:return null!==(t=n.displayName||null)?t:e(n.type)||"Memo";case j:t=n._payload,n=n._init;try{return e(n(t))}catch(e){}}return null}function t(e){return""+e}function r(e){try{t(e);var n=!1}catch(e){n=!0}if(n){var r=(n=console).error,o="function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return r.call(n,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",o),t(e)}}function o(n){if(n===x)return"<>";if("object"==typeof n&&null!==n&&n.$$typeof===j)return"<...>";try{var t=e(n);return t?"<"+t+">":"<...>"}catch(e){return"<...>"}}function l(){return Error("react-stack-top-frame")}function s(){var n=e(this.type);return z[n]||(z[n]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),void 0!==(n=this.props.ref)?n:null}function u(n,t,o,l,a,u){var d,m=t.children;if(void 0!==m)if(l)if(C(m)){for(l=0;l<m.length;l++)i(m[l]);Object.freeze&&Object.freeze(m)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else i(m);if(w.call(t,"key")){m=e(n);var p=Object.keys(t).filter(function(e){return"key"!==e});l=0<p.length?"{key: someKey, "+p.join(": ..., ")+": ...}":"{key: someKey}",L[m+l]||(p=0<p.length?"{"+p.join(": ..., ")+": ...}":"{}",console.error('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',l,m,p,m),L[m+l]=!0)}if(m=null,void 0!==o&&(r(o),m=""+o),function(e){if(w.call(e,"key")){var n=Object.getOwnPropertyDescriptor(e,"key").get;if(n&&n.isReactWarning)return!1}return void 0!==e.key}(t)&&(r(t.key),m=""+t.key),"key"in t)for(var x in o={},t)"key"!==x&&(o[x]=t[x]);else o=t;return m&&function(e,n){function t(){c||(c=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",n))}t.isReactWarning=!0,Object.defineProperty(e,"key",{get:t,configurable:!0})}(o,"function"==typeof n?n.displayName||n.name||"Unknown":n),function(e,n,t,r,o,l){var a=t.ref;return e={$$typeof:_,type:e,key:n,props:t,_owner:r},null!==(void 0!==a?a:null)?Object.defineProperty(e,"ref",{enumerable:!1,get:s}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:o}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:l}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}(n,m,o,null===(d=S.A)?null:d.getOwner(),a,u)}function i(e){d(e)?e._store&&(e._store.validated=1):"object"==typeof e&&null!==e&&e.$$typeof===j&&("fulfilled"===e._payload.status?d(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function d(e){return"object"==typeof e&&null!==e&&e.$$typeof===_}var c,m=n,_=Symbol.for("react.transitional.element"),p=Symbol.for("react.portal"),x=Symbol.for("react.fragment"),g=Symbol.for("react.strict_mode"),h=Symbol.for("react.profiler"),f=Symbol.for("react.consumer"),T=Symbol.for("react.context"),b=Symbol.for("react.forward_ref"),I=Symbol.for("react.suspense"),v=Symbol.for("react.suspense_list"),y=Symbol.for("react.memo"),j=Symbol.for("react.lazy"),N=Symbol.for("react.activity"),k=Symbol.for("react.client.reference"),S=m.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,w=Object.prototype.hasOwnProperty,C=Array.isArray,R=console.createTask?console.createTask:function(){return null},z={},q=(m={react_stack_bottom_frame:function(e){return e()}}).react_stack_bottom_frame.bind(m,l)(),A=R(o(l)),L={};a.Fragment=x,a.jsx=function(e,n,t){var r=1e4>S.recentlyCreatedOwnerStacks++;return u(e,n,t,!1,r?Error("react-stack-top-frame"):q,r?R(o(e)):A)},a.jsxs=function(e,n,t){var r=1e4>S.recentlyCreatedOwnerStacks++;return u(e,n,t,!0,r?Error("react-stack-top-frame"):q,r?R(o(e)):A)}}()),a}var u=(l||(l=1,"production"===process.env.NODE_ENV?t.exports=function(){if(e)return r;e=1;var n=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function o(e,t,r){var o=null;if(void 0!==r&&(o=""+r),void 0!==t.key&&(o=""+t.key),"key"in t)for(var l in r={},t)"key"!==l&&(r[l]=t[l]);else r=t;return t=r.ref,{$$typeof:n,type:e,key:o,ref:void 0!==t?t:null,props:r}}return r.Fragment=t,r.jsx=o,r.jsxs=o,r}():t.exports=s()),t.exports);var i="TextInput-module_container__QXVA9",d="TextInput-module_label__GGFxk",c="TextInput-module_required__qlHAH",m="TextInput-module_inputContainer__-zaWR",_="TextInput-module_icon__F1AYg",p="TextInput-module_input__I8TSn",x="TextInput-module_inputWithIcon__TDgMC",g="TextInput-module_inputWithCharCount__qgvqA",h="TextInput-module_inputError__-Ga78",f="TextInput-module_charCount__RyuVm",T="TextInput-module_charCountNormal__LCUr7",b="TextInput-module_charCountNear__OKroK",I="TextInput-module_charCountLimit__iaB20",v="TextInput-module_charCountIcon__lRD-4",y="TextInput-module_charProgressBar__Wva8D",j="TextInput-module_charProgress__ZUsGs",N="TextInput-module_charProgressNormal__TdFY4",k="TextInput-module_charProgressNear__beyMs",S="TextInput-module_charProgressLimit__Vr6d-",w="TextInput-module_hint__iZiig",C="TextInput-module_validationMessage__3g-wc",R="TextInput-module_validationIcon__q5LT6",z="TextInput-module_validationText__-qAuu",q="TextInput-module_validEmail__Ya1tf",A="TextInput-module_emailSuggestion__ZzQkZ",L="TextInput-module_suggestionButton__Rsxt8",O="TextInput-module_error__ewnmB",M="TextInput-module_errorIcon__JkIpb",P="TextInput-module_errorText__ba7lR",V="TextInput-module_passwordStrength__ICyJU",B="TextInput-module_strengthBar__3c8Yf",E="TextInput-module_strengthSegment__76ih4",F="TextInput-module_strengthSegmentInactive__RK1Q8",Z="TextInput-module_strengthSegmentWeak__BFvgT",$="TextInput-module_strengthSegmentFair__AOJW5",G="TextInput-module_strengthSegmentGood__uGgTx",D="TextInput-module_strengthSegmentStrong__vP5Yi",U="TextInput-module_strengthSegmentVeryStrong__4Tull",W="TextInput-module_strengthLabel__PpEO9",Y="TextInput-module_strengthText__jfVUh",K="TextInput-module_strengthValue__04hhw",Q="TextInput-module_strengthValueWeak__8Ek8Q",J="TextInput-module_strengthValueFair__70N63",H="TextInput-module_strengthValueGood__NgsOd",X="TextInput-module_strengthValueStrong__qaKsi",ee="TextInput-module_strengthValueVeryStrong__80d9m",ne="TextInput-module_requirements__eD6oz",te="TextInput-module_requirement__KoZx2",re="TextInput-module_requirementIcon__VjQXJ",oe="TextInput-module_requirementIconMet__UNZFD",le="TextInput-module_requirementIconUnmet__1MF9h",ae="TextInput-module_requirementText__fFcdn",se="TextInput-module_requirementTextMet__eGbSi";!function(e,n){void 0===n&&(n={});var t=n.insertAt;if("undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===t&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}("/* Container */\n.TextInput-module_container__QXVA9 {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n/* Label */\n.TextInput-module_label__GGFxk {\n display: block;\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 500;\n color: #374151;\n}\n\n.TextInput-module_required__qlHAH {\n color: #ef4444;\n margin-left: 0.25rem;\n}\n\n/* Input container */\n.TextInput-module_inputContainer__-zaWR {\n position: relative;\n}\n\n/* Icon */\n.TextInput-module_icon__F1AYg {\n position: absolute;\n left: 0.75rem;\n top: 50%;\n transform: translateY(-50%);\n color: #9ca3af;\n pointer-events: none;\n display: flex;\n align-items: center;\n}\n\n/* Input */\n.TextInput-module_input__I8TSn {\n width: 100%;\n padding: 0.5rem 1rem;\n border-radius: 0.5rem;\n border: 2px solid #d1d5db;\n transition: all 150ms ease;\n outline: none;\n font-weight: 500;\n color: #111827;\n}\n\n.TextInput-module_input__I8TSn::-moz-placeholder {\n color: #9ca3af;\n}\n\n.TextInput-module_input__I8TSn::placeholder {\n color: #9ca3af;\n}\n\n.TextInput-module_inputWithIcon__TDgMC {\n padding-left: 2.5rem;\n}\n\n.TextInput-module_inputWithCharCount__qgvqA {\n padding-right: 5rem;\n}\n\n.TextInput-module_input__I8TSn:hover:not(:disabled) {\n border-color: #9ca3af;\n}\n\n.TextInput-module_input__I8TSn:focus {\n border-color: #3b82f6;\n box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);\n}\n\n.TextInput-module_input__I8TSn:disabled {\n background: #f3f4f6;\n color: #6b7280;\n cursor: not-allowed;\n}\n\n.TextInput-module_inputError__-Ga78 {\n border-color: #ef4444;\n}\n\n.TextInput-module_inputError__-Ga78:focus {\n border-color: #ef4444;\n box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2);\n}\n\n/* Character count */\n.TextInput-module_charCount__RyuVm {\n position: absolute;\n right: 0.75rem;\n top: 50%;\n transform: translateY(-50%);\n font-size: 0.75rem;\n line-height: 1rem;\n font-weight: 500;\n display: flex;\n align-items: center;\n gap: 0.25rem;\n}\n\n.TextInput-module_charCountNormal__LCUr7 {\n color: #6b7280;\n}\n\n.TextInput-module_charCountNear__OKroK {\n color: #d97706;\n}\n\n.TextInput-module_charCountLimit__iaB20 {\n color: #dc2626;\n}\n\n.TextInput-module_charCountIcon__lRD-4 {\n width: 1rem;\n height: 1rem;\n}\n\n/* Progress bar */\n.TextInput-module_charProgressBar__Wva8D {\n width: 100%;\n height: 0.25rem;\n background: #e5e7eb;\n border-radius: 9999px;\n overflow: hidden;\n}\n\n.TextInput-module_charProgress__ZUsGs {\n height: 100%;\n transition: all 150ms ease;\n border-radius: 9999px;\n}\n\n.TextInput-module_charProgressNormal__TdFY4 {\n background: #3b82f6;\n}\n\n.TextInput-module_charProgressNear__beyMs {\n background: #f59e0b;\n}\n\n.TextInput-module_charProgressLimit__Vr6d- {\n background: #ef4444;\n}\n\n/* Hint text */\n.TextInput-module_hint__iZiig {\n font-size: 0.75rem;\n line-height: 1rem;\n color: #6b7280;\n margin-top: 0.25rem;\n}\n\n/* Validation messages */\n.TextInput-module_validationMessage__3g-wc {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n margin-top: 0.25rem;\n}\n\n.TextInput-module_validationIcon__q5LT6 {\n width: 1rem;\n height: 1rem;\n flex-shrink: 0;\n}\n\n.TextInput-module_validationText__-qAuu {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n\n.TextInput-module_validEmail__Ya1tf .TextInput-module_validationIcon__q5LT6 {\n color: #10b981;\n}\n\n.TextInput-module_validEmail__Ya1tf .TextInput-module_validationText__-qAuu {\n color: #059669;\n}\n\n.TextInput-module_emailSuggestion__ZzQkZ .TextInput-module_validationIcon__q5LT6 {\n color: #3b82f6;\n}\n\n.TextInput-module_emailSuggestion__ZzQkZ .TextInput-module_validationText__-qAuu {\n color: #2563eb;\n}\n\n.TextInput-module_suggestionButton__Rsxt8 {\n font-weight: 600;\n text-decoration: underline;\n background: none;\n border: none;\n color: inherit;\n cursor: pointer;\n padding: 0;\n}\n\n.TextInput-module_suggestionButton__Rsxt8:hover {\n color: #1e40af;\n}\n\n/* Error message */\n.TextInput-module_error__ewnmB {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n margin-top: 0.25rem;\n}\n\n.TextInput-module_errorIcon__JkIpb {\n width: 1rem;\n height: 1rem;\n color: #ef4444;\n flex-shrink: 0;\n margin-top: 0.125rem;\n}\n\n.TextInput-module_errorText__ba7lR {\n font-size: 0.875rem;\n line-height: 1.25rem;\n color: #dc2626;\n}\n\n/* Password strength */\n.TextInput-module_passwordStrength__ICyJU {\n margin-top: 0.5rem;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.TextInput-module_strengthBar__3c8Yf {\n display: flex;\n gap: 0.25rem;\n}\n\n.TextInput-module_strengthSegment__76ih4 {\n height: 0.375rem;\n flex: 1;\n border-radius: 9999px;\n transition: background-color 150ms ease;\n}\n\n.TextInput-module_strengthSegmentInactive__RK1Q8 {\n background: #e5e7eb;\n}\n\n.TextInput-module_strengthSegmentWeak__BFvgT {\n background: #ef4444;\n}\n\n.TextInput-module_strengthSegmentFair__AOJW5 {\n background: #f59e0b;\n}\n\n.TextInput-module_strengthSegmentGood__uGgTx {\n background: #eab308;\n}\n\n.TextInput-module_strengthSegmentStrong__vP5Yi {\n background: #84cc16;\n}\n\n.TextInput-module_strengthSegmentVeryStrong__4Tull {\n background: #10b981;\n}\n\n.TextInput-module_strengthLabel__PpEO9 {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n.TextInput-module_strengthText__jfVUh {\n font-size: 0.75rem;\n line-height: 1rem;\n color: #4b5563;\n}\n\n.TextInput-module_strengthValue__04hhw {\n font-weight: 600;\n}\n\n.TextInput-module_strengthValueWeak__8Ek8Q {\n color: #dc2626;\n}\n\n.TextInput-module_strengthValueFair__70N63 {\n color: #d97706;\n}\n\n.TextInput-module_strengthValueGood__NgsOd {\n color: #ca8a04;\n}\n\n.TextInput-module_strengthValueStrong__qaKsi {\n color: #65a30d;\n}\n\n.TextInput-module_strengthValueVeryStrong__80d9m {\n color: #059669;\n}\n\n/* Requirements checklist */\n.TextInput-module_requirements__eD6oz {\n font-size: 0.75rem;\n line-height: 1rem;\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n padding: 0.5rem;\n background: #f9fafb;\n border-radius: 0.375rem;\n border: 1px solid #e5e7eb;\n}\n\n.TextInput-module_requirement__KoZx2 {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.TextInput-module_requirementIcon__VjQXJ {\n width: 0.875rem;\n height: 0.875rem;\n flex-shrink: 0;\n}\n\n.TextInput-module_requirementIconMet__UNZFD {\n color: #10b981;\n}\n\n.TextInput-module_requirementIconUnmet__1MF9h {\n color: #d1d5db;\n}\n\n.TextInput-module_requirementText__fFcdn {\n color: #6b7280;\n}\n\n.TextInput-module_requirementTextMet__eGbSi {\n color: #374151;\n}\n");const ue=(...e)=>e.filter(Boolean).join(" "),ie=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;module.exports=({label:e,value:t,onChange:r,placeholder:o,error:l,required:a=!1,disabled:s=!1,type:de="text",className:ce="",hint:me,maxLength:_e,minLength:pe,pattern:xe,icon:ge,onBlur:he,onFocus:fe,autoComplete:Te,validateEmail:be=!1,showPasswordStrength:Ie=!1})=>{const[ve,ye]=n.useState(!1),je=n.useMemo(()=>be&&t?(e=>{if(!e||!e.includes("@"))return null;const[n,t]=e.split("@");if(!t)return null;const r={"gmial.com":"gmail.com","gmai.com":"gmail.com","gmil.com":"gmail.com","hotmial.com":"hotmail.com","hotmal.com":"hotmail.com","outlok.com":"outlook.com","yahooo.com":"yahoo.com","yaho.com":"yahoo.com"};return r[t.toLowerCase()]?`${n}@${r[t.toLowerCase()]}`:null})(t):null,[be,t]),Ne=n.useMemo(()=>{if(!be||!t)return null;return ie.test(t)&&!(null!==je)},[be,t,je]),ke=be&&t&&!Ne&&!je?"Correo electrónico inválido":null,Se=n.useMemo(()=>"password"===de&&Ie?(e=>{if(!e)return{score:0,strength:"none",label:"Sin contraseña"};let n=0;const t=/[A-Z]/.test(e);return/[a-z]/.test(e)&&n++,t&&n++,/\d/.test(e)&&n++,/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(e)&&n++,e.length>=8&&n++,n<=1?{score:n,strength:"weak",label:"Débil"}:n<=2?{score:n,strength:"fair",label:"Regular"}:n<=3?{score:n,strength:"good",label:"Buena"}:4===n?{score:n,strength:"strong",label:"Fuerte"}:{score:n,strength:"very-strong",label:"Muy fuerte"}})(t):null,[de,t,Ie]),we=_e&&"text"===de&&t,Ce=t.length,Re=_e?Ce/_e*100:0,ze=Re>80,qe=Re>=100;return u.jsxs("div",{className:ue(i,ce),"data-testid":"text-input",children:[e&&u.jsxs("label",{className:d,children:[e,a&&u.jsx("span",{className:c,children:"*"})]}),u.jsxs("div",{className:m,children:[ge&&!ve&&u.jsx("div",{className:_,children:ge}),u.jsx("input",{type:de,value:t,onChange:e=>r(e.target.value),onFocus:()=>{ye(!0),fe?.()},onBlur:()=>{ye(!1),he?.()},placeholder:o,disabled:s,maxLength:_e,minLength:pe,pattern:xe,autoComplete:Te,className:ue(p,ge?x:void 0,we?g:void 0,l?h:void 0),"data-testid":"input-field","data-error":!!l}),we&&u.jsxs("div",{className:ue(f,qe?I:ze?b:T),"data-testid":"char-count",children:[u.jsxs("div",{children:[Ce,"/",_e]}),qe&&u.jsx("svg",{className:v,fill:"currentColor",viewBox:"0 0 20 20",children:u.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z",clipRule:"evenodd"})})]})]}),we&&_e>20&&u.jsx("div",{className:y,children:u.jsx("div",{className:ue(j,qe?S:ze?k:N),style:{width:`${Math.min(Re,100)}%`}})}),me&&!l&&!ke&&u.jsx("p",{className:w,children:me}),be&&t&&Ne&&u.jsxs("div",{className:ue(C,q),children:[u.jsx("svg",{className:R,fill:"currentColor",viewBox:"0 0 20 20",children:u.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),u.jsx("p",{className:z,children:"Correo válido"})]}),je&&!l&&u.jsxs("div",{className:ue(C,A),children:[u.jsx("svg",{className:R,fill:"currentColor",viewBox:"0 0 20 20",children:u.jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z",clipRule:"evenodd"})}),u.jsxs("p",{className:z,children:["¿Quisiste decir"," ",u.jsx("button",{type:"button",onClick:()=>r(je),className:L,children:je}),"?"]})]}),Se&&Se.score>0&&u.jsxs("div",{className:V,children:[u.jsx("div",{className:B,children:[0,1,2,3,4].map(e=>u.jsx("div",{className:ue(E,e<Se.score?"weak"===Se.strength?Z:"fair"===Se.strength?$:"good"===Se.strength?G:"strong"===Se.strength?D:U:F)},e))}),u.jsx("div",{className:W,children:u.jsxs("p",{className:Y,children:["Fortaleza:"," ",u.jsx("span",{className:ue(K,"weak"===Se.strength?Q:"fair"===Se.strength?J:"good"===Se.strength?H:"strong"===Se.strength?X:ee),children:Se.label})]})}),u.jsxs("div",{className:ne,children:[u.jsxs("div",{className:te,children:[u.jsx("svg",{className:ue(re,/[a-z]/.test(t)?oe:le),fill:"currentColor",viewBox:"0 0 20 20",children:u.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),u.jsx("span",{className:ue(ae,/[a-z]/.test(t)&&se),children:"Letras minúsculas"})]}),u.jsxs("div",{className:te,children:[u.jsx("svg",{className:ue(re,/[A-Z]/.test(t)?oe:le),fill:"currentColor",viewBox:"0 0 20 20",children:u.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),u.jsx("span",{className:ue(ae,/[A-Z]/.test(t)&&se),children:"Letras mayúsculas"})]}),u.jsxs("div",{className:te,children:[u.jsx("svg",{className:ue(re,/\d/.test(t)?oe:le),fill:"currentColor",viewBox:"0 0 20 20",children:u.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),u.jsx("span",{className:ue(ae,/\d/.test(t)&&se),children:"Números"})]}),u.jsxs("div",{className:te,children:[u.jsx("svg",{className:ue(re,/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(t)?oe:le),fill:"currentColor",viewBox:"0 0 20 20",children:u.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),u.jsx("span",{className:ue(ae,/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(t)&&se),children:"Caracteres especiales"})]}),u.jsxs("div",{className:te,children:[u.jsx("svg",{className:ue(re,t.length>=8?oe:le),fill:"currentColor",viewBox:"0 0 20 20",children:u.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),u.jsx("span",{className:ue(ae,t.length>=8&&se),children:"Mínimo 8 caracteres"})]})]})]}),(l||ke)&&u.jsxs("div",{className:O,children:[u.jsx("svg",{className:M,fill:"currentColor",viewBox:"0 0 20 20",children:u.jsx("path",{fillRule:"evenodd",d:"M18.101 12.93a1 1 0 00-1.414-1.414L10 15.586l-6.687-6.687a1 1 0 00-1.414 1.414l8 8a1 1 0 001.414 0l8-8z",clipRule:"evenodd"})}),u.jsx("p",{className:P,children:l||ke})]})]})};
11
11
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../node_modules/.pnpm/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/.pnpm/react@19.2.3/node_modules/react/jsx-runtime.js","../../../node_modules/.pnpm/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.production.js","../src/TextInput.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, props, owner, debugStack, debugTask) {\n var refProp = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== refProp ? refProp : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n maybeKey,\n getOwner(),\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n isValidElement(node)\n ? node._store && (node._store.validated = 1)\n : \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_LAZY_TYPE &&\n (\"fulfilled\" === node._payload.status\n ? isValidElement(node._payload.value) &&\n node._payload.value._store &&\n (node._payload.value._store.validated = 1)\n : node._store && (node._store.validated = 1));\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","import React, { useState, useMemo } from \"react\";\n\nexport interface TextInputProps {\n label?: string;\n value: string;\n onChange: (value: string) => void;\n placeholder?: string;\n error?: string;\n warning?: string;\n required?: boolean;\n disabled?: boolean;\n type?: \"text\" | \"email\" | \"tel\" | \"password\" | \"number\" | \"url\";\n className?: string;\n hint?: string;\n maxLength?: number;\n minLength?: number;\n pattern?: string;\n icon?: React.ReactNode;\n onBlur?: () => void;\n onFocus?: () => void;\n autoComplete?: string;\n min?: number;\n max?: number;\n step?: number;\n validateEmail?: boolean;\n showPasswordStrength?: boolean;\n}\n\n// Email validation regex (más completa)\nconst EMAIL_REGEX =\n /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n\n// Common email domains for suggestions\n// const COMMON_DOMAINS = [\n// 'gmail.com',\n// 'hotmail.com',\n// 'outlook.com',\n// 'yahoo.com',\n// 'icloud.com',\n// 'live.com',\n// 'protonmail.com',\n// ];\n\n// Function to suggest email corrections\nconst suggestEmailCorrection = (email: string): string | null => {\n if (!email || !email.includes(\"@\")) return null;\n\n const [localPart, domainPart] = email.split(\"@\");\n if (!domainPart) return null;\n\n // Check for common typos in domains\n const typos: Record<string, string> = {\n \"gmial.com\": \"gmail.com\",\n \"gmai.com\": \"gmail.com\",\n \"gmil.com\": \"gmail.com\",\n \"hotmial.com\": \"hotmail.com\",\n \"hotmal.com\": \"hotmail.com\",\n \"outlok.com\": \"outlook.com\",\n \"yahooo.com\": \"yahoo.com\",\n \"yaho.com\": \"yahoo.com\",\n };\n\n if (typos[domainPart.toLowerCase()]) {\n return `${localPart}@${typos[domainPart.toLowerCase()]}`;\n }\n\n return null;\n};\n\n// Password strength checker\nconst checkPasswordStrength = (password: string) => {\n if (!password) return { score: 0, strength: \"none\", label: \"Sin contraseña\" };\n\n let score = 0;\n const hasUpperCase = /[A-Z]/.test(password);\n const hasLowerCase = /[a-z]/.test(password);\n const hasNumbers = /\\d/.test(password);\n const hasSpecialChar = /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/.test(password);\n const isLongEnough = password.length >= 8;\n\n if (hasLowerCase) score++;\n if (hasUpperCase) score++;\n if (hasNumbers) score++;\n if (hasSpecialChar) score++;\n if (isLongEnough) score++;\n\n if (score <= 1) return { score, strength: \"weak\", label: \"Débil\" };\n if (score <= 2) return { score, strength: \"fair\", label: \"Regular\" };\n if (score <= 3) return { score, strength: \"good\", label: \"Buena\" };\n if (score === 4) return { score, strength: \"strong\", label: \"Fuerte\" };\n return { score, strength: \"very-strong\", label: \"Muy fuerte\" };\n};\n\nconst TextInput: React.FC<TextInputProps> = ({\n label,\n value,\n onChange,\n placeholder,\n error,\n required = false,\n disabled = false,\n type = \"text\",\n className = \"\",\n hint,\n maxLength,\n minLength,\n pattern,\n icon,\n onBlur,\n onFocus,\n autoComplete,\n validateEmail = false,\n showPasswordStrength = false,\n}) => {\n const [isFocused, setIsFocused] = useState(false);\n\n // Email suggestion (check typos first, before validation)\n const emailSuggestion = useMemo(() => {\n if (!validateEmail || !value) return null;\n return suggestEmailCorrection(value);\n }, [validateEmail, value]);\n\n // Validate email (email is valid if it matches regex AND has no typo suggestion)\n const isValidEmail = useMemo(() => {\n if (!validateEmail || !value) return null;\n const matchesFormat = EMAIL_REGEX.test(value);\n const hasSuggestion = emailSuggestion !== null;\n return matchesFormat && !hasSuggestion;\n }, [validateEmail, value, emailSuggestion]);\n\n const emailError =\n validateEmail && value && !isValidEmail && !emailSuggestion\n ? \"Correo electrónico inválido\"\n : null;\n\n // Password strength\n const passwordStrength = useMemo(() => {\n if (type !== \"password\" || !showPasswordStrength) return null;\n return checkPasswordStrength(value);\n }, [type, value, showPasswordStrength]);\n\n // Number inputs are handled as regular text inputs for now\n // TODO: Implement NumericUpPicker component\n // if (type === 'number') {\n // return (\n // <NumericUpPicker ... />\n // );\n // }\n\n const handleFocus = () => {\n setIsFocused(true);\n onFocus?.();\n };\n\n const handleBlur = () => {\n setIsFocused(false);\n onBlur?.();\n };\n\n // Character count for inputs with maxLength\n const showCharCount = maxLength && type === \"text\" && value;\n const charCount = value.length;\n const charPercentage = maxLength ? (charCount / maxLength) * 100 : 0;\n const isNearLimit = charPercentage > 80;\n const isAtLimit = charPercentage >= 100;\n\n return (\n <div className={`flex flex-col gap-2 ${className}`}>\n {/* Label */}\n {label && (\n <label className=\"block text-sm font-medium text-gray-700\">\n {label}\n {required && <span className=\"text-red-500 ml-1\">*</span>}\n </label>\n )}\n\n {/* Input Field */}\n <div className=\"relative\">\n {/* Icon before input */}\n {icon && !isFocused && (\n <div className=\"absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400 pointer-events-none flex items-center\">\n {icon}\n </div>\n )}\n\n <input\n type={type}\n value={value}\n onChange={(e) => onChange(e.target.value)}\n onFocus={handleFocus}\n onBlur={handleBlur}\n placeholder={placeholder}\n disabled={disabled}\n maxLength={maxLength}\n minLength={minLength}\n pattern={pattern}\n autoComplete={autoComplete}\n className={`\n w-full px-4 py-2 rounded-lg border-2 transition-all outline-none\n font-medium text-gray-900 placeholder-gray-400\n disabled:bg-gray-100 disabled:text-gray-500 disabled:cursor-not-allowed\n ${icon ? \"pl-10\" : \"\"}\n ${\n error\n ? \"border-red-500 focus:border-red-500 focus:ring-2 focus:ring-red-200\"\n : isFocused\n ? \"border-blue-500 focus:ring-2 focus:ring-blue-200\"\n : \"border-gray-300 hover:border-gray-400\"\n }\n `}\n />\n\n {/* Character count */}\n {showCharCount && (\n <div className=\"absolute right-3 top-1/2 transform -translate-y-1/2 text-xs font-medium flex items-center gap-1\">\n <div\n className={`${isAtLimit ? \"text-red-600\" : isNearLimit ? \"text-amber-600\" : \"text-gray-500\"}`}\n >\n {charCount}/{maxLength}\n </div>\n {isAtLimit && (\n <svg\n className=\"w-4 h-4 text-red-600\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\"\n clipRule=\"evenodd\"\n />\n </svg>\n )}\n </div>\n )}\n </div>\n\n {/* Character count bar (for long text) */}\n {showCharCount && maxLength > 20 && (\n <div className=\"w-full h-1 bg-gray-200 rounded-full overflow-hidden\">\n <div\n className={`h-full transition-all rounded-full ${\n isAtLimit\n ? \"bg-red-500\"\n : isNearLimit\n ? \"bg-amber-500\"\n : \"bg-blue-500\"\n }`}\n style={{ width: `${Math.min(charPercentage, 100)}%` }}\n />\n </div>\n )}\n\n {/* Hint Text */}\n {hint && !error && !emailError && (\n <p className=\"text-xs text-gray-500 mt-1\">{hint}</p>\n )}\n\n {/* Email validation info */}\n {validateEmail && value && isValidEmail && (\n <div className=\"flex items-center gap-2 mt-1\">\n <svg\n className=\"w-4 h-4 text-green-500 flex-shrink-0\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <p className=\"text-xs text-green-600\">Correo válido</p>\n </div>\n )}\n\n {/* Email suggestion for typos */}\n {emailSuggestion && !error && (\n <div className=\"flex items-center gap-2 mt-1\">\n <svg\n className=\"w-4 h-4 text-blue-500 flex-shrink-0\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <p className=\"text-xs text-blue-600\">\n ¿Quisiste decir{\" \"}\n <button\n type=\"button\"\n onClick={() => onChange(emailSuggestion)}\n className=\"font-semibold underline hover:text-blue-800\"\n >\n {emailSuggestion}\n </button>\n ?\n </p>\n </div>\n )}\n\n {/* Password strength indicator */}\n {passwordStrength && passwordStrength.score > 0 && (\n <div className=\"mt-2 space-y-2\">\n {/* Strength bar */}\n <div className=\"flex gap-1\">\n {[0, 1, 2, 3, 4].map((index) => (\n <div\n key={index}\n className={`h-1.5 flex-1 rounded-full transition-colors ${\n index < passwordStrength.score\n ? passwordStrength.strength === \"weak\"\n ? \"bg-red-500\"\n : passwordStrength.strength === \"fair\"\n ? \"bg-amber-500\"\n : passwordStrength.strength === \"good\"\n ? \"bg-yellow-500\"\n : passwordStrength.strength === \"strong\"\n ? \"bg-lime-500\"\n : \"bg-green-500\"\n : \"bg-gray-200\"\n }`}\n />\n ))}\n </div>\n\n {/* Strength label */}\n <div className=\"flex items-center justify-between\">\n <p className=\"text-xs text-gray-600\">\n Fortaleza:{\" \"}\n <span\n className={`font-semibold ${\n passwordStrength.strength === \"weak\"\n ? \"text-red-600\"\n : passwordStrength.strength === \"fair\"\n ? \"text-amber-600\"\n : passwordStrength.strength === \"good\"\n ? \"text-yellow-600\"\n : passwordStrength.strength === \"strong\"\n ? \"text-lime-600\"\n : \"text-green-600\"\n }`}\n >\n {passwordStrength.label}\n </span>\n </p>\n </div>\n\n {/* Requirements checklist */}\n <div className=\"text-xs space-y-1 p-2 bg-gray-50 rounded border border-gray-200\">\n <div className=\"flex items-center gap-2\">\n <svg\n className={`w-3.5 h-3.5 flex-shrink-0 ${/[a-z]/.test(value) ? \"text-green-500\" : \"text-gray-300\"}`}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span\n className={\n /[a-z]/.test(value) ? \"text-gray-700\" : \"text-gray-500\"\n }\n >\n Letras minúsculas\n </span>\n </div>\n <div className=\"flex items-center gap-2\">\n <svg\n className={`w-3.5 h-3.5 flex-shrink-0 ${/[A-Z]/.test(value) ? \"text-green-500\" : \"text-gray-300\"}`}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span\n className={\n /[A-Z]/.test(value) ? \"text-gray-700\" : \"text-gray-500\"\n }\n >\n Letras mayúsculas\n </span>\n </div>\n <div className=\"flex items-center gap-2\">\n <svg\n className={`w-3.5 h-3.5 flex-shrink-0 ${/\\d/.test(value) ? \"text-green-500\" : \"text-gray-300\"}`}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span\n className={/\\d/.test(value) ? \"text-gray-700\" : \"text-gray-500\"}\n >\n Números\n </span>\n </div>\n <div className=\"flex items-center gap-2\">\n <svg\n className={`w-3.5 h-3.5 flex-shrink-0 ${/[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/.test(value) ? \"text-green-500\" : \"text-gray-300\"}`}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span\n className={\n /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/.test(value)\n ? \"text-gray-700\"\n : \"text-gray-500\"\n }\n >\n Caracteres especiales\n </span>\n </div>\n <div className=\"flex items-center gap-2\">\n <svg\n className={`w-3.5 h-3.5 flex-shrink-0 ${value.length >= 8 ? \"text-green-500\" : \"text-gray-300\"}`}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span\n className={\n value.length >= 8 ? \"text-gray-700\" : \"text-gray-500\"\n }\n >\n Mínimo 8 caracteres\n </span>\n </div>\n </div>\n </div>\n )}\n\n {/* Error Message */}\n {(error || emailError) && (\n <div className=\"flex items-start gap-2 mt-1\">\n <svg\n className=\"w-4 h-4 text-red-500 flex-shrink-0 mt-0.5\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M18.101 12.93a1 1 0 00-1.414-1.414L10 15.586l-6.687-6.687a1 1 0 00-1.414 1.414l8 8a1 1 0 001.414 0l8-8z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <p className=\"text-sm text-red-600\">{error || emailError}</p>\n </div>\n )}\n </div>\n );\n};\n\nexport default TextInput;\n"],"names":["process","env","NODE_ENV","getComponentNameFromType","type","$$typeof","REACT_CLIENT_REFERENCE","displayName","name","REACT_FRAGMENT_TYPE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","tag","console","error","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","_context","REACT_FORWARD_REF_TYPE","innerType","render","REACT_MEMO_TYPE","REACT_LAZY_TYPE","_payload","_init","x","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","e","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","Symbol","toStringTag","constructor","call","getTaskName","UnknownOwner","Error","elementRefGetterWithDeprecationWarning","componentName","this","didWarnAboutElementRef","props","ref","jsxDEVImpl","config","maybeKey","isStaticChildren","debugStack","debugTask","dispatcher","children","isArrayImpl","length","validateChildKeys","Object","freeze","hasOwnProperty","keys","filter","k","join","didWarnAboutKeySpread","getter","getOwnPropertyDescriptor","get","isReactWarning","key","hasValidKey","propName","warnAboutAccessingKey","specialPropKeyWarningShown","defineProperty","configurable","defineKeyPropWarningGetter","owner","refProp","REACT_ELEMENT_TYPE","_owner","enumerable","_store","writable","ReactElement","ReactSharedInternals","A","getOwner","node","isValidElement","validated","status","object","React","require$$0","for","__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE","prototype","Array","isArray","createTask","unknownOwnerDebugStack","react_stack_bottom_frame","callStackForError","bind","unknownOwnerDebugTask","reactJsxRuntime_development","Fragment","jsx","trackActualOwner","recentlyCreatedOwnerStacks","jsxs","jsxRuntimeModule","exports","jsxProd","reactJsxRuntime_production","require$$1","EMAIL_REGEX","label","onChange","placeholder","required","disabled","className","hint","maxLength","minLength","pattern","icon","onBlur","onFocus","autoComplete","validateEmail","showPasswordStrength","isFocused","setIsFocused","useState","emailSuggestion","useMemo","email","includes","localPart","domainPart","split","typos","toLowerCase","suggestEmailCorrection","isValidEmail","test","emailError","passwordStrength","password","score","strength","hasUpperCase","checkPasswordStrength","showCharCount","charCount","charPercentage","isNearLimit","isAtLimit","_jsxs","_jsx","target","fill","viewBox","fillRule","d","clipRule","style","width","Math","min","onClick","map","index"],"mappings":"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","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../node_modules/.pnpm/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/.pnpm/react@19.2.3/node_modules/react/jsx-runtime.js","../../../node_modules/.pnpm/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.production.js","../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js","../src/TextInput.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, props, owner, debugStack, debugTask) {\n var refProp = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== refProp ? refProp : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n maybeKey,\n getOwner(),\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n isValidElement(node)\n ? node._store && (node._store.validated = 1)\n : \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_LAZY_TYPE &&\n (\"fulfilled\" === node._payload.status\n ? isValidElement(node._payload.value) &&\n node._payload.value._store &&\n (node._payload.value._store.validated = 1)\n : node._store && (node._store.validated = 1));\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React, { useState, useMemo } from \"react\";\nimport styles from \"./TextInput.module.css\";\n\nexport interface TextInputProps {\n label?: string;\n value: string;\n onChange: (value: string) => void;\n placeholder?: string;\n error?: string;\n warning?: string;\n required?: boolean;\n disabled?: boolean;\n type?: \"text\" | \"email\" | \"tel\" | \"password\" | \"number\" | \"url\";\n className?: string;\n hint?: string;\n maxLength?: number;\n minLength?: number;\n pattern?: string;\n icon?: React.ReactNode;\n onBlur?: () => void;\n onFocus?: () => void;\n autoComplete?: string;\n min?: number;\n max?: number;\n step?: number;\n validateEmail?: boolean;\n showPasswordStrength?: boolean;\n}\n\nconst classNames = (...classes: Array<string | undefined | false>) =>\n classes.filter(Boolean).join(\" \");\n\n// Email validation regex (más completa)\nconst EMAIL_REGEX =\n /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n\n// Function to suggest email corrections\nconst suggestEmailCorrection = (email: string): string | null => {\n if (!email || !email.includes(\"@\")) return null;\n\n const [localPart, domainPart] = email.split(\"@\");\n if (!domainPart) return null;\n\n // Check for common typos in domains\n const typos: Record<string, string> = {\n \"gmial.com\": \"gmail.com\",\n \"gmai.com\": \"gmail.com\",\n \"gmil.com\": \"gmail.com\",\n \"hotmial.com\": \"hotmail.com\",\n \"hotmal.com\": \"hotmail.com\",\n \"outlok.com\": \"outlook.com\",\n \"yahooo.com\": \"yahoo.com\",\n \"yaho.com\": \"yahoo.com\",\n };\n\n if (typos[domainPart.toLowerCase()]) {\n return `${localPart}@${typos[domainPart.toLowerCase()]}`;\n }\n\n return null;\n};\n\n// Password strength checker\nconst checkPasswordStrength = (password: string) => {\n if (!password) return { score: 0, strength: \"none\", label: \"Sin contraseña\" };\n\n let score = 0;\n const hasUpperCase = /[A-Z]/.test(password);\n const hasLowerCase = /[a-z]/.test(password);\n const hasNumbers = /\\d/.test(password);\n const hasSpecialChar = /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/.test(password);\n const isLongEnough = password.length >= 8;\n\n if (hasLowerCase) score++;\n if (hasUpperCase) score++;\n if (hasNumbers) score++;\n if (hasSpecialChar) score++;\n if (isLongEnough) score++;\n\n if (score <= 1) return { score, strength: \"weak\", label: \"Débil\" };\n if (score <= 2) return { score, strength: \"fair\", label: \"Regular\" };\n if (score <= 3) return { score, strength: \"good\", label: \"Buena\" };\n if (score === 4) return { score, strength: \"strong\", label: \"Fuerte\" };\n return { score, strength: \"very-strong\", label: \"Muy fuerte\" };\n};\n\nconst TextInput: React.FC<TextInputProps> = ({\n label,\n value,\n onChange,\n placeholder,\n error,\n required = false,\n disabled = false,\n type = \"text\",\n className = \"\",\n hint,\n maxLength,\n minLength,\n pattern,\n icon,\n onBlur,\n onFocus,\n autoComplete,\n validateEmail = false,\n showPasswordStrength = false,\n}) => {\n const [isFocused, setIsFocused] = useState(false);\n\n // Email suggestion (check typos first, before validation)\n const emailSuggestion = useMemo(() => {\n if (!validateEmail || !value) return null;\n return suggestEmailCorrection(value);\n }, [validateEmail, value]);\n\n // Validate email (email is valid if it matches regex AND has no typo suggestion)\n const isValidEmail = useMemo(() => {\n if (!validateEmail || !value) return null;\n const matchesFormat = EMAIL_REGEX.test(value);\n const hasSuggestion = emailSuggestion !== null;\n return matchesFormat && !hasSuggestion;\n }, [validateEmail, value, emailSuggestion]);\n\n const emailError =\n validateEmail && value && !isValidEmail && !emailSuggestion\n ? \"Correo electrónico inválido\"\n : null;\n\n // Password strength\n const passwordStrength = useMemo(() => {\n if (type !== \"password\" || !showPasswordStrength) return null;\n return checkPasswordStrength(value);\n }, [type, value, showPasswordStrength]);\n\n const handleFocus = () => {\n setIsFocused(true);\n onFocus?.();\n };\n\n const handleBlur = () => {\n setIsFocused(false);\n onBlur?.();\n };\n\n // Character count for inputs with maxLength\n const showCharCount = maxLength && type === \"text\" && value;\n const charCount = value.length;\n const charPercentage = maxLength ? (charCount / maxLength) * 100 : 0;\n const isNearLimit = charPercentage > 80;\n const isAtLimit = charPercentage >= 100;\n\n return (\n <div\n className={classNames(styles.container, className)}\n data-testid=\"text-input\"\n >\n {/* Label */}\n {label && (\n <label className={styles.label}>\n {label}\n {required && <span className={styles.required}>*</span>}\n </label>\n )}\n\n {/* Input Field */}\n <div className={styles.inputContainer}>\n {/* Icon before input */}\n {icon && !isFocused && <div className={styles.icon}>{icon}</div>}\n\n <input\n type={type}\n value={value}\n onChange={(e) => onChange(e.target.value)}\n onFocus={handleFocus}\n onBlur={handleBlur}\n placeholder={placeholder}\n disabled={disabled}\n maxLength={maxLength}\n minLength={minLength}\n pattern={pattern}\n autoComplete={autoComplete}\n className={classNames(\n styles.input,\n icon ? styles.inputWithIcon : undefined,\n showCharCount ? styles.inputWithCharCount : undefined,\n error ? styles.inputError : undefined,\n )}\n data-testid=\"input-field\"\n data-error={!!error}\n />\n\n {/* Character count */}\n {showCharCount && (\n <div\n className={classNames(\n styles.charCount,\n isAtLimit\n ? styles.charCountLimit\n : isNearLimit\n ? styles.charCountNear\n : styles.charCountNormal,\n )}\n data-testid=\"char-count\"\n >\n <div>\n {charCount}/{maxLength}\n </div>\n {isAtLimit && (\n <svg\n className={styles.charCountIcon}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\"\n clipRule=\"evenodd\"\n />\n </svg>\n )}\n </div>\n )}\n </div>\n\n {/* Character count bar (for long text) */}\n {showCharCount && maxLength > 20 && (\n <div className={styles.charProgressBar}>\n <div\n className={classNames(\n styles.charProgress,\n isAtLimit\n ? styles.charProgressLimit\n : isNearLimit\n ? styles.charProgressNear\n : styles.charProgressNormal,\n )}\n style={{ width: `${Math.min(charPercentage, 100)}%` }}\n />\n </div>\n )}\n\n {/* Hint Text */}\n {hint && !error && !emailError && <p className={styles.hint}>{hint}</p>}\n\n {/* Email validation info */}\n {validateEmail && value && isValidEmail && (\n <div\n className={classNames(styles.validationMessage, styles.validEmail)}\n >\n <svg\n className={styles.validationIcon}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <p className={styles.validationText}>Correo válido</p>\n </div>\n )}\n\n {/* Email suggestion for typos */}\n {emailSuggestion && !error && (\n <div\n className={classNames(\n styles.validationMessage,\n styles.emailSuggestion,\n )}\n >\n <svg\n className={styles.validationIcon}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <p className={styles.validationText}>\n ¿Quisiste decir{\" \"}\n <button\n type=\"button\"\n onClick={() => onChange(emailSuggestion)}\n className={styles.suggestionButton}\n >\n {emailSuggestion}\n </button>\n ?\n </p>\n </div>\n )}\n\n {/* Password strength indicator */}\n {passwordStrength && passwordStrength.score > 0 && (\n <div className={styles.passwordStrength}>\n {/* Strength bar */}\n <div className={styles.strengthBar}>\n {[0, 1, 2, 3, 4].map((index) => (\n <div\n key={index}\n className={classNames(\n styles.strengthSegment,\n index < passwordStrength.score\n ? passwordStrength.strength === \"weak\"\n ? styles.strengthSegmentWeak\n : passwordStrength.strength === \"fair\"\n ? styles.strengthSegmentFair\n : passwordStrength.strength === \"good\"\n ? styles.strengthSegmentGood\n : passwordStrength.strength === \"strong\"\n ? styles.strengthSegmentStrong\n : styles.strengthSegmentVeryStrong\n : styles.strengthSegmentInactive,\n )}\n />\n ))}\n </div>\n\n {/* Strength label */}\n <div className={styles.strengthLabel}>\n <p className={styles.strengthText}>\n Fortaleza:{\" \"}\n <span\n className={classNames(\n styles.strengthValue,\n passwordStrength.strength === \"weak\"\n ? styles.strengthValueWeak\n : passwordStrength.strength === \"fair\"\n ? styles.strengthValueFair\n : passwordStrength.strength === \"good\"\n ? styles.strengthValueGood\n : passwordStrength.strength === \"strong\"\n ? styles.strengthValueStrong\n : styles.strengthValueVeryStrong,\n )}\n >\n {passwordStrength.label}\n </span>\n </p>\n </div>\n\n {/* Requirements checklist */}\n <div className={styles.requirements}>\n <div className={styles.requirement}>\n <svg\n className={classNames(\n styles.requirementIcon,\n /[a-z]/.test(value)\n ? styles.requirementIconMet\n : styles.requirementIconUnmet,\n )}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span\n className={classNames(\n styles.requirementText,\n /[a-z]/.test(value) && styles.requirementTextMet,\n )}\n >\n Letras minúsculas\n </span>\n </div>\n <div className={styles.requirement}>\n <svg\n className={classNames(\n styles.requirementIcon,\n /[A-Z]/.test(value)\n ? styles.requirementIconMet\n : styles.requirementIconUnmet,\n )}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span\n className={classNames(\n styles.requirementText,\n /[A-Z]/.test(value) && styles.requirementTextMet,\n )}\n >\n Letras mayúsculas\n </span>\n </div>\n <div className={styles.requirement}>\n <svg\n className={classNames(\n styles.requirementIcon,\n /\\d/.test(value)\n ? styles.requirementIconMet\n : styles.requirementIconUnmet,\n )}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span\n className={classNames(\n styles.requirementText,\n /\\d/.test(value) && styles.requirementTextMet,\n )}\n >\n Números\n </span>\n </div>\n <div className={styles.requirement}>\n <svg\n className={classNames(\n styles.requirementIcon,\n /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/.test(value)\n ? styles.requirementIconMet\n : styles.requirementIconUnmet,\n )}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span\n className={classNames(\n styles.requirementText,\n /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/.test(value) &&\n styles.requirementTextMet,\n )}\n >\n Caracteres especiales\n </span>\n </div>\n <div className={styles.requirement}>\n <svg\n className={classNames(\n styles.requirementIcon,\n value.length >= 8\n ? styles.requirementIconMet\n : styles.requirementIconUnmet,\n )}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span\n className={classNames(\n styles.requirementText,\n value.length >= 8 && styles.requirementTextMet,\n )}\n >\n Mínimo 8 caracteres\n </span>\n </div>\n </div>\n </div>\n )}\n\n {/* Error Message */}\n {(error || emailError) && (\n <div className={styles.error}>\n <svg\n className={styles.errorIcon}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M18.101 12.93a1 1 0 00-1.414-1.414L10 15.586l-6.687-6.687a1 1 0 00-1.414 1.414l8 8a1 1 0 001.414 0l8-8z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <p className={styles.errorText}>{error || emailError}</p>\n </div>\n )}\n </div>\n );\n};\n\nexport default TextInput;\n"],"names":["process","env","NODE_ENV","getComponentNameFromType","type","$$typeof","REACT_CLIENT_REFERENCE","displayName","name","REACT_FRAGMENT_TYPE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","tag","console","error","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","_context","REACT_FORWARD_REF_TYPE","innerType","render","REACT_MEMO_TYPE","REACT_LAZY_TYPE","_payload","_init","x","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","e","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","Symbol","toStringTag","constructor","call","getTaskName","UnknownOwner","Error","elementRefGetterWithDeprecationWarning","componentName","this","didWarnAboutElementRef","props","ref","jsxDEVImpl","config","maybeKey","isStaticChildren","debugStack","debugTask","dispatcher","children","isArrayImpl","length","validateChildKeys","Object","freeze","hasOwnProperty","keys","filter","k","join","didWarnAboutKeySpread","getter","getOwnPropertyDescriptor","get","isReactWarning","key","hasValidKey","propName","warnAboutAccessingKey","specialPropKeyWarningShown","defineProperty","configurable","defineKeyPropWarningGetter","owner","refProp","REACT_ELEMENT_TYPE","_owner","enumerable","_store","writable","ReactElement","ReactSharedInternals","A","getOwner","node","isValidElement","validated","status","object","React","require$$0","for","__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE","prototype","Array","isArray","createTask","unknownOwnerDebugStack","react_stack_bottom_frame","callStackForError","bind","unknownOwnerDebugTask","reactJsxRuntime_development","Fragment","jsx","trackActualOwner","recentlyCreatedOwnerStacks","jsxs","jsxRuntimeModule","exports","jsxProd","reactJsxRuntime_production","require$$1","css","insertAt","document","head","getElementsByTagName","style","createElement","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","classNames","classes","Boolean","EMAIL_REGEX","label","onChange","placeholder","required","disabled","className","hint","maxLength","minLength","pattern","icon","onBlur","onFocus","autoComplete","validateEmail","showPasswordStrength","isFocused","setIsFocused","useState","emailSuggestion","useMemo","email","includes","localPart","domainPart","split","typos","toLowerCase","suggestEmailCorrection","isValidEmail","test","emailError","passwordStrength","password","score","strength","hasUpperCase","checkPasswordStrength","showCharCount","charCount","charPercentage","isNearLimit","isAtLimit","_jsxs","styles","_jsx","target","undefined","fill","viewBox","fillRule","d","clipRule","width","Math","min","onClick","map","index"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
package/dist/index.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- import e,{useState as t,useMemo as r}from"react";var l,a={exports:{}},n={};var s,o,i={};
1
+ import e,{useState as n,useMemo as t}from"react";var r,o={exports:{}},l={};var a,s,u={};
2
2
  /**
3
3
  * @license React
4
4
  * react-jsx-runtime.development.js
@@ -7,5 +7,5 @@ import e,{useState as t,useMemo as r}from"react";var l,a={exports:{}},n={};var s
7
7
  *
8
8
  * This source code is licensed under the MIT license found in the
9
9
  * LICENSE file in the root directory of this source tree.
10
- */function c(){return s||(s=1,"production"!==process.env.NODE_ENV&&function(){function t(e){if(null==e)return null;if("function"==typeof e)return e.$$typeof===S?null:e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case x:return"Fragment";case g:return"Profiler";case y:return"StrictMode";case j:return"Suspense";case N:return"SuspenseList";case _:return"Activity"}if("object"==typeof e)switch("number"==typeof e.tag&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case p:return"Portal";case b:return e.displayName||"Context";case h:return(e._context.displayName||"Context")+".Consumer";case v:var r=e.render;return(e=e.displayName)||(e=""!==(e=r.displayName||r.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case w:return null!==(r=e.displayName||null)?r:t(e.type)||"Memo";case k:r=e._payload,e=e._init;try{return t(e(r))}catch(e){}}return null}function r(e){return""+e}function l(e){try{r(e);var t=!1}catch(e){t=!0}if(t){var l=(t=console).error,a="function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return l.call(t,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",a),r(e)}}function a(e){if(e===x)return"<>";if("object"==typeof e&&null!==e&&e.$$typeof===k)return"<...>";try{var r=t(e);return r?"<"+r+">":"<...>"}catch(e){return"<...>"}}function n(){return Error("react-stack-top-frame")}function s(){var e=t(this.type);return $[e]||($[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),void 0!==(e=this.props.ref)?e:null}function o(e,r,a,n,o,i){var d,f=r.children;if(void 0!==f)if(n)if(C(f)){for(n=0;n<f.length;n++)c(f[n]);Object.freeze&&Object.freeze(f)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else c(f);if(z.call(r,"key")){f=t(e);var p=Object.keys(r).filter(function(e){return"key"!==e});n=0<p.length?"{key: someKey, "+p.join(": ..., ")+": ...}":"{key: someKey}",E[f+n]||(p=0<p.length?"{"+p.join(": ..., ")+": ...}":"{}",console.error('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',n,f,p,f),E[f+n]=!0)}if(f=null,void 0!==a&&(l(a),f=""+a),function(e){if(z.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}(r)&&(l(r.key),f=""+r.key),"key"in r)for(var x in a={},r)"key"!==x&&(a[x]=r[x]);else a=r;return f&&function(e,t){function r(){u||(u=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",t))}r.isReactWarning=!0,Object.defineProperty(e,"key",{get:r,configurable:!0})}(a,"function"==typeof e?e.displayName||e.name||"Unknown":e),function(e,t,r,l,a,n){var o=r.ref;return e={$$typeof:m,type:e,key:t,props:r,_owner:l},null!==(void 0!==o?o:null)?Object.defineProperty(e,"ref",{enumerable:!1,get:s}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:a}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:n}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}(e,f,a,null===(d=R.A)?null:d.getOwner(),o,i)}function c(e){d(e)?e._store&&(e._store.validated=1):"object"==typeof e&&null!==e&&e.$$typeof===k&&("fulfilled"===e._payload.status?d(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function d(e){return"object"==typeof e&&null!==e&&e.$$typeof===m}var u,f=e,m=Symbol.for("react.transitional.element"),p=Symbol.for("react.portal"),x=Symbol.for("react.fragment"),y=Symbol.for("react.strict_mode"),g=Symbol.for("react.profiler"),h=Symbol.for("react.consumer"),b=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),j=Symbol.for("react.suspense"),N=Symbol.for("react.suspense_list"),w=Symbol.for("react.memo"),k=Symbol.for("react.lazy"),_=Symbol.for("react.activity"),S=Symbol.for("react.client.reference"),R=f.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,z=Object.prototype.hasOwnProperty,C=Array.isArray,O=console.createTask?console.createTask:function(){return null},$={},L=(f={react_stack_bottom_frame:function(e){return e()}}).react_stack_bottom_frame.bind(f,n)(),A=O(a(n)),E={};i.Fragment=x,i.jsx=function(e,t,r){var l=1e4>R.recentlyCreatedOwnerStacks++;return o(e,t,r,!1,l?Error("react-stack-top-frame"):L,l?O(a(e)):A)},i.jsxs=function(e,t,r){var l=1e4>R.recentlyCreatedOwnerStacks++;return o(e,t,r,!0,l?Error("react-stack-top-frame"):L,l?O(a(e)):A)}}()),i}var d=(o||(o=1,"production"===process.env.NODE_ENV?a.exports=function(){if(l)return n;l=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function r(t,r,l){var a=null;if(void 0!==l&&(a=""+l),void 0!==r.key&&(a=""+r.key),"key"in r)for(var n in l={},r)"key"!==n&&(l[n]=r[n]);else l=r;return r=l.ref,{$$typeof:e,type:t,key:a,ref:void 0!==r?r:null,props:l}}return n.Fragment=t,n.jsx=r,n.jsxs=r,n}():a.exports=c()),a.exports);const u=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,f=({label:e,value:l,onChange:a,placeholder:n,error:s,required:o=!1,disabled:i=!1,type:c="text",className:f="",hint:m,maxLength:p,minLength:x,pattern:y,icon:g,onBlur:h,onFocus:b,autoComplete:v,validateEmail:j=!1,showPasswordStrength:N=!1})=>{const[w,k]=t(!1),_=r(()=>j&&l?(e=>{if(!e||!e.includes("@"))return null;const[t,r]=e.split("@");if(!r)return null;const l={"gmial.com":"gmail.com","gmai.com":"gmail.com","gmil.com":"gmail.com","hotmial.com":"hotmail.com","hotmal.com":"hotmail.com","outlok.com":"outlook.com","yahooo.com":"yahoo.com","yaho.com":"yahoo.com"};return l[r.toLowerCase()]?`${t}@${l[r.toLowerCase()]}`:null})(l):null,[j,l]),S=r(()=>{if(!j||!l)return null;return u.test(l)&&!(null!==_)},[j,l,_]),R=j&&l&&!S&&!_?"Correo electrónico inválido":null,z=r(()=>"password"===c&&N?(e=>{if(!e)return{score:0,strength:"none",label:"Sin contraseña"};let t=0;const r=/[A-Z]/.test(e);return/[a-z]/.test(e)&&t++,r&&t++,/\d/.test(e)&&t++,/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(e)&&t++,e.length>=8&&t++,t<=1?{score:t,strength:"weak",label:"Débil"}:t<=2?{score:t,strength:"fair",label:"Regular"}:t<=3?{score:t,strength:"good",label:"Buena"}:4===t?{score:t,strength:"strong",label:"Fuerte"}:{score:t,strength:"very-strong",label:"Muy fuerte"}})(l):null,[c,l,N]),C=p&&"text"===c&&l,O=l.length,$=p?O/p*100:0,L=$>80,A=$>=100;return d.jsxs("div",{className:`flex flex-col gap-2 ${f}`,children:[e&&d.jsxs("label",{className:"block text-sm font-medium text-gray-700",children:[e,o&&d.jsx("span",{className:"text-red-500 ml-1",children:"*"})]}),d.jsxs("div",{className:"relative",children:[g&&!w&&d.jsx("div",{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400 pointer-events-none flex items-center",children:g}),d.jsx("input",{type:c,value:l,onChange:e=>a(e.target.value),onFocus:()=>{k(!0),b?.()},onBlur:()=>{k(!1),h?.()},placeholder:n,disabled:i,maxLength:p,minLength:x,pattern:y,autoComplete:v,className:`\n w-full px-4 py-2 rounded-lg border-2 transition-all outline-none\n font-medium text-gray-900 placeholder-gray-400\n disabled:bg-gray-100 disabled:text-gray-500 disabled:cursor-not-allowed\n ${g?"pl-10":""}\n ${s?"border-red-500 focus:border-red-500 focus:ring-2 focus:ring-red-200":w?"border-blue-500 focus:ring-2 focus:ring-blue-200":"border-gray-300 hover:border-gray-400"}\n `}),C&&d.jsxs("div",{className:"absolute right-3 top-1/2 transform -translate-y-1/2 text-xs font-medium flex items-center gap-1",children:[d.jsxs("div",{className:""+(A?"text-red-600":L?"text-amber-600":"text-gray-500"),children:[O,"/",p]}),A&&d.jsx("svg",{className:"w-4 h-4 text-red-600",fill:"currentColor",viewBox:"0 0 20 20",children:d.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z",clipRule:"evenodd"})})]})]}),C&&p>20&&d.jsx("div",{className:"w-full h-1 bg-gray-200 rounded-full overflow-hidden",children:d.jsx("div",{className:"h-full transition-all rounded-full "+(A?"bg-red-500":L?"bg-amber-500":"bg-blue-500"),style:{width:`${Math.min($,100)}%`}})}),m&&!s&&!R&&d.jsx("p",{className:"text-xs text-gray-500 mt-1",children:m}),j&&l&&S&&d.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[d.jsx("svg",{className:"w-4 h-4 text-green-500 flex-shrink-0",fill:"currentColor",viewBox:"0 0 20 20",children:d.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),d.jsx("p",{className:"text-xs text-green-600",children:"Correo válido"})]}),_&&!s&&d.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[d.jsx("svg",{className:"w-4 h-4 text-blue-500 flex-shrink-0",fill:"currentColor",viewBox:"0 0 20 20",children:d.jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z",clipRule:"evenodd"})}),d.jsxs("p",{className:"text-xs text-blue-600",children:["¿Quisiste decir"," ",d.jsx("button",{type:"button",onClick:()=>a(_),className:"font-semibold underline hover:text-blue-800",children:_}),"?"]})]}),z&&z.score>0&&d.jsxs("div",{className:"mt-2 space-y-2",children:[d.jsx("div",{className:"flex gap-1",children:[0,1,2,3,4].map(e=>d.jsx("div",{className:"h-1.5 flex-1 rounded-full transition-colors "+(e<z.score?"weak"===z.strength?"bg-red-500":"fair"===z.strength?"bg-amber-500":"good"===z.strength?"bg-yellow-500":"strong"===z.strength?"bg-lime-500":"bg-green-500":"bg-gray-200")},e))}),d.jsx("div",{className:"flex items-center justify-between",children:d.jsxs("p",{className:"text-xs text-gray-600",children:["Fortaleza:"," ",d.jsx("span",{className:"font-semibold "+("weak"===z.strength?"text-red-600":"fair"===z.strength?"text-amber-600":"good"===z.strength?"text-yellow-600":"strong"===z.strength?"text-lime-600":"text-green-600"),children:z.label})]})}),d.jsxs("div",{className:"text-xs space-y-1 p-2 bg-gray-50 rounded border border-gray-200",children:[d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("svg",{className:"w-3.5 h-3.5 flex-shrink-0 "+(/[a-z]/.test(l)?"text-green-500":"text-gray-300"),fill:"currentColor",viewBox:"0 0 20 20",children:d.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),d.jsx("span",{className:/[a-z]/.test(l)?"text-gray-700":"text-gray-500",children:"Letras minúsculas"})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("svg",{className:"w-3.5 h-3.5 flex-shrink-0 "+(/[A-Z]/.test(l)?"text-green-500":"text-gray-300"),fill:"currentColor",viewBox:"0 0 20 20",children:d.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),d.jsx("span",{className:/[A-Z]/.test(l)?"text-gray-700":"text-gray-500",children:"Letras mayúsculas"})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("svg",{className:"w-3.5 h-3.5 flex-shrink-0 "+(/\d/.test(l)?"text-green-500":"text-gray-300"),fill:"currentColor",viewBox:"0 0 20 20",children:d.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),d.jsx("span",{className:/\d/.test(l)?"text-gray-700":"text-gray-500",children:"Números"})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("svg",{className:"w-3.5 h-3.5 flex-shrink-0 "+(/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(l)?"text-green-500":"text-gray-300"),fill:"currentColor",viewBox:"0 0 20 20",children:d.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),d.jsx("span",{className:/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(l)?"text-gray-700":"text-gray-500",children:"Caracteres especiales"})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("svg",{className:"w-3.5 h-3.5 flex-shrink-0 "+(l.length>=8?"text-green-500":"text-gray-300"),fill:"currentColor",viewBox:"0 0 20 20",children:d.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),d.jsx("span",{className:l.length>=8?"text-gray-700":"text-gray-500",children:"Mínimo 8 caracteres"})]})]})]}),(s||R)&&d.jsxs("div",{className:"flex items-start gap-2 mt-1",children:[d.jsx("svg",{className:"w-4 h-4 text-red-500 flex-shrink-0 mt-0.5",fill:"currentColor",viewBox:"0 0 20 20",children:d.jsx("path",{fillRule:"evenodd",d:"M18.101 12.93a1 1 0 00-1.414-1.414L10 15.586l-6.687-6.687a1 1 0 00-1.414 1.414l8 8a1 1 0 001.414 0l8-8z",clipRule:"evenodd"})}),d.jsx("p",{className:"text-sm text-red-600",children:s||R})]})]})};export{f as default};
10
+ */function i(){return a||(a=1,"production"!==process.env.NODE_ENV&&function(){function n(e){if(null==e)return null;if("function"==typeof e)return e.$$typeof===k?null:e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case x:return"Fragment";case h:return"Profiler";case g:return"StrictMode";case I:return"Suspense";case v:return"SuspenseList";case N:return"Activity"}if("object"==typeof e)switch("number"==typeof e.tag&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case p:return"Portal";case T:return e.displayName||"Context";case f:return(e._context.displayName||"Context")+".Consumer";case b:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case y:return null!==(t=e.displayName||null)?t:n(e.type)||"Memo";case j:t=e._payload,e=e._init;try{return n(e(t))}catch(e){}}return null}function t(e){return""+e}function r(e){try{t(e);var n=!1}catch(e){n=!0}if(n){var r=(n=console).error,o="function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return r.call(n,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",o),t(e)}}function o(e){if(e===x)return"<>";if("object"==typeof e&&null!==e&&e.$$typeof===j)return"<...>";try{var t=n(e);return t?"<"+t+">":"<...>"}catch(e){return"<...>"}}function l(){return Error("react-stack-top-frame")}function a(){var e=n(this.type);return z[e]||(z[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),void 0!==(e=this.props.ref)?e:null}function s(e,t,o,l,s,u){var d,m=t.children;if(void 0!==m)if(l)if(C(m)){for(l=0;l<m.length;l++)i(m[l]);Object.freeze&&Object.freeze(m)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else i(m);if(w.call(t,"key")){m=n(e);var p=Object.keys(t).filter(function(e){return"key"!==e});l=0<p.length?"{key: someKey, "+p.join(": ..., ")+": ...}":"{key: someKey}",O[m+l]||(p=0<p.length?"{"+p.join(": ..., ")+": ...}":"{}",console.error('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',l,m,p,m),O[m+l]=!0)}if(m=null,void 0!==o&&(r(o),m=""+o),function(e){if(w.call(e,"key")){var n=Object.getOwnPropertyDescriptor(e,"key").get;if(n&&n.isReactWarning)return!1}return void 0!==e.key}(t)&&(r(t.key),m=""+t.key),"key"in t)for(var x in o={},t)"key"!==x&&(o[x]=t[x]);else o=t;return m&&function(e,n){function t(){c||(c=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",n))}t.isReactWarning=!0,Object.defineProperty(e,"key",{get:t,configurable:!0})}(o,"function"==typeof e?e.displayName||e.name||"Unknown":e),function(e,n,t,r,o,l){var s=t.ref;return e={$$typeof:_,type:e,key:n,props:t,_owner:r},null!==(void 0!==s?s:null)?Object.defineProperty(e,"ref",{enumerable:!1,get:a}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:o}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:l}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}(e,m,o,null===(d=S.A)?null:d.getOwner(),s,u)}function i(e){d(e)?e._store&&(e._store.validated=1):"object"==typeof e&&null!==e&&e.$$typeof===j&&("fulfilled"===e._payload.status?d(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function d(e){return"object"==typeof e&&null!==e&&e.$$typeof===_}var c,m=e,_=Symbol.for("react.transitional.element"),p=Symbol.for("react.portal"),x=Symbol.for("react.fragment"),g=Symbol.for("react.strict_mode"),h=Symbol.for("react.profiler"),f=Symbol.for("react.consumer"),T=Symbol.for("react.context"),b=Symbol.for("react.forward_ref"),I=Symbol.for("react.suspense"),v=Symbol.for("react.suspense_list"),y=Symbol.for("react.memo"),j=Symbol.for("react.lazy"),N=Symbol.for("react.activity"),k=Symbol.for("react.client.reference"),S=m.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,w=Object.prototype.hasOwnProperty,C=Array.isArray,R=console.createTask?console.createTask:function(){return null},z={},A=(m={react_stack_bottom_frame:function(e){return e()}}).react_stack_bottom_frame.bind(m,l)(),L=R(o(l)),O={};u.Fragment=x,u.jsx=function(e,n,t){var r=1e4>S.recentlyCreatedOwnerStacks++;return s(e,n,t,!1,r?Error("react-stack-top-frame"):A,r?R(o(e)):L)},u.jsxs=function(e,n,t){var r=1e4>S.recentlyCreatedOwnerStacks++;return s(e,n,t,!0,r?Error("react-stack-top-frame"):A,r?R(o(e)):L)}}()),u}var d=(s||(s=1,"production"===process.env.NODE_ENV?o.exports=function(){if(r)return l;r=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function t(n,t,r){var o=null;if(void 0!==r&&(o=""+r),void 0!==t.key&&(o=""+t.key),"key"in t)for(var l in r={},t)"key"!==l&&(r[l]=t[l]);else r=t;return t=r.ref,{$$typeof:e,type:n,key:o,ref:void 0!==t?t:null,props:r}}return l.Fragment=n,l.jsx=t,l.jsxs=t,l}():o.exports=i()),o.exports);var c="TextInput-module_container__QXVA9",m="TextInput-module_label__GGFxk",_="TextInput-module_required__qlHAH",p="TextInput-module_inputContainer__-zaWR",x="TextInput-module_icon__F1AYg",g="TextInput-module_input__I8TSn",h="TextInput-module_inputWithIcon__TDgMC",f="TextInput-module_inputWithCharCount__qgvqA",T="TextInput-module_inputError__-Ga78",b="TextInput-module_charCount__RyuVm",I="TextInput-module_charCountNormal__LCUr7",v="TextInput-module_charCountNear__OKroK",y="TextInput-module_charCountLimit__iaB20",j="TextInput-module_charCountIcon__lRD-4",N="TextInput-module_charProgressBar__Wva8D",k="TextInput-module_charProgress__ZUsGs",S="TextInput-module_charProgressNormal__TdFY4",w="TextInput-module_charProgressNear__beyMs",C="TextInput-module_charProgressLimit__Vr6d-",R="TextInput-module_hint__iZiig",z="TextInput-module_validationMessage__3g-wc",A="TextInput-module_validationIcon__q5LT6",L="TextInput-module_validationText__-qAuu",O="TextInput-module_validEmail__Ya1tf",q="TextInput-module_emailSuggestion__ZzQkZ",P="TextInput-module_suggestionButton__Rsxt8",V="TextInput-module_error__ewnmB",B="TextInput-module_errorIcon__JkIpb",E="TextInput-module_errorText__ba7lR",F="TextInput-module_passwordStrength__ICyJU",M="TextInput-module_strengthBar__3c8Yf",Z="TextInput-module_strengthSegment__76ih4",$="TextInput-module_strengthSegmentInactive__RK1Q8",G="TextInput-module_strengthSegmentWeak__BFvgT",D="TextInput-module_strengthSegmentFair__AOJW5",U="TextInput-module_strengthSegmentGood__uGgTx",W="TextInput-module_strengthSegmentStrong__vP5Yi",Y="TextInput-module_strengthSegmentVeryStrong__4Tull",K="TextInput-module_strengthLabel__PpEO9",Q="TextInput-module_strengthText__jfVUh",J="TextInput-module_strengthValue__04hhw",H="TextInput-module_strengthValueWeak__8Ek8Q",X="TextInput-module_strengthValueFair__70N63",ee="TextInput-module_strengthValueGood__NgsOd",ne="TextInput-module_strengthValueStrong__qaKsi",te="TextInput-module_strengthValueVeryStrong__80d9m",re="TextInput-module_requirements__eD6oz",oe="TextInput-module_requirement__KoZx2",le="TextInput-module_requirementIcon__VjQXJ",ae="TextInput-module_requirementIconMet__UNZFD",se="TextInput-module_requirementIconUnmet__1MF9h",ue="TextInput-module_requirementText__fFcdn",ie="TextInput-module_requirementTextMet__eGbSi";!function(e,n){void 0===n&&(n={});var t=n.insertAt;if("undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===t&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}("/* Container */\n.TextInput-module_container__QXVA9 {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n/* Label */\n.TextInput-module_label__GGFxk {\n display: block;\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 500;\n color: #374151;\n}\n\n.TextInput-module_required__qlHAH {\n color: #ef4444;\n margin-left: 0.25rem;\n}\n\n/* Input container */\n.TextInput-module_inputContainer__-zaWR {\n position: relative;\n}\n\n/* Icon */\n.TextInput-module_icon__F1AYg {\n position: absolute;\n left: 0.75rem;\n top: 50%;\n transform: translateY(-50%);\n color: #9ca3af;\n pointer-events: none;\n display: flex;\n align-items: center;\n}\n\n/* Input */\n.TextInput-module_input__I8TSn {\n width: 100%;\n padding: 0.5rem 1rem;\n border-radius: 0.5rem;\n border: 2px solid #d1d5db;\n transition: all 150ms ease;\n outline: none;\n font-weight: 500;\n color: #111827;\n}\n\n.TextInput-module_input__I8TSn::-moz-placeholder {\n color: #9ca3af;\n}\n\n.TextInput-module_input__I8TSn::placeholder {\n color: #9ca3af;\n}\n\n.TextInput-module_inputWithIcon__TDgMC {\n padding-left: 2.5rem;\n}\n\n.TextInput-module_inputWithCharCount__qgvqA {\n padding-right: 5rem;\n}\n\n.TextInput-module_input__I8TSn:hover:not(:disabled) {\n border-color: #9ca3af;\n}\n\n.TextInput-module_input__I8TSn:focus {\n border-color: #3b82f6;\n box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);\n}\n\n.TextInput-module_input__I8TSn:disabled {\n background: #f3f4f6;\n color: #6b7280;\n cursor: not-allowed;\n}\n\n.TextInput-module_inputError__-Ga78 {\n border-color: #ef4444;\n}\n\n.TextInput-module_inputError__-Ga78:focus {\n border-color: #ef4444;\n box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2);\n}\n\n/* Character count */\n.TextInput-module_charCount__RyuVm {\n position: absolute;\n right: 0.75rem;\n top: 50%;\n transform: translateY(-50%);\n font-size: 0.75rem;\n line-height: 1rem;\n font-weight: 500;\n display: flex;\n align-items: center;\n gap: 0.25rem;\n}\n\n.TextInput-module_charCountNormal__LCUr7 {\n color: #6b7280;\n}\n\n.TextInput-module_charCountNear__OKroK {\n color: #d97706;\n}\n\n.TextInput-module_charCountLimit__iaB20 {\n color: #dc2626;\n}\n\n.TextInput-module_charCountIcon__lRD-4 {\n width: 1rem;\n height: 1rem;\n}\n\n/* Progress bar */\n.TextInput-module_charProgressBar__Wva8D {\n width: 100%;\n height: 0.25rem;\n background: #e5e7eb;\n border-radius: 9999px;\n overflow: hidden;\n}\n\n.TextInput-module_charProgress__ZUsGs {\n height: 100%;\n transition: all 150ms ease;\n border-radius: 9999px;\n}\n\n.TextInput-module_charProgressNormal__TdFY4 {\n background: #3b82f6;\n}\n\n.TextInput-module_charProgressNear__beyMs {\n background: #f59e0b;\n}\n\n.TextInput-module_charProgressLimit__Vr6d- {\n background: #ef4444;\n}\n\n/* Hint text */\n.TextInput-module_hint__iZiig {\n font-size: 0.75rem;\n line-height: 1rem;\n color: #6b7280;\n margin-top: 0.25rem;\n}\n\n/* Validation messages */\n.TextInput-module_validationMessage__3g-wc {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n margin-top: 0.25rem;\n}\n\n.TextInput-module_validationIcon__q5LT6 {\n width: 1rem;\n height: 1rem;\n flex-shrink: 0;\n}\n\n.TextInput-module_validationText__-qAuu {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n\n.TextInput-module_validEmail__Ya1tf .TextInput-module_validationIcon__q5LT6 {\n color: #10b981;\n}\n\n.TextInput-module_validEmail__Ya1tf .TextInput-module_validationText__-qAuu {\n color: #059669;\n}\n\n.TextInput-module_emailSuggestion__ZzQkZ .TextInput-module_validationIcon__q5LT6 {\n color: #3b82f6;\n}\n\n.TextInput-module_emailSuggestion__ZzQkZ .TextInput-module_validationText__-qAuu {\n color: #2563eb;\n}\n\n.TextInput-module_suggestionButton__Rsxt8 {\n font-weight: 600;\n text-decoration: underline;\n background: none;\n border: none;\n color: inherit;\n cursor: pointer;\n padding: 0;\n}\n\n.TextInput-module_suggestionButton__Rsxt8:hover {\n color: #1e40af;\n}\n\n/* Error message */\n.TextInput-module_error__ewnmB {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n margin-top: 0.25rem;\n}\n\n.TextInput-module_errorIcon__JkIpb {\n width: 1rem;\n height: 1rem;\n color: #ef4444;\n flex-shrink: 0;\n margin-top: 0.125rem;\n}\n\n.TextInput-module_errorText__ba7lR {\n font-size: 0.875rem;\n line-height: 1.25rem;\n color: #dc2626;\n}\n\n/* Password strength */\n.TextInput-module_passwordStrength__ICyJU {\n margin-top: 0.5rem;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.TextInput-module_strengthBar__3c8Yf {\n display: flex;\n gap: 0.25rem;\n}\n\n.TextInput-module_strengthSegment__76ih4 {\n height: 0.375rem;\n flex: 1;\n border-radius: 9999px;\n transition: background-color 150ms ease;\n}\n\n.TextInput-module_strengthSegmentInactive__RK1Q8 {\n background: #e5e7eb;\n}\n\n.TextInput-module_strengthSegmentWeak__BFvgT {\n background: #ef4444;\n}\n\n.TextInput-module_strengthSegmentFair__AOJW5 {\n background: #f59e0b;\n}\n\n.TextInput-module_strengthSegmentGood__uGgTx {\n background: #eab308;\n}\n\n.TextInput-module_strengthSegmentStrong__vP5Yi {\n background: #84cc16;\n}\n\n.TextInput-module_strengthSegmentVeryStrong__4Tull {\n background: #10b981;\n}\n\n.TextInput-module_strengthLabel__PpEO9 {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n.TextInput-module_strengthText__jfVUh {\n font-size: 0.75rem;\n line-height: 1rem;\n color: #4b5563;\n}\n\n.TextInput-module_strengthValue__04hhw {\n font-weight: 600;\n}\n\n.TextInput-module_strengthValueWeak__8Ek8Q {\n color: #dc2626;\n}\n\n.TextInput-module_strengthValueFair__70N63 {\n color: #d97706;\n}\n\n.TextInput-module_strengthValueGood__NgsOd {\n color: #ca8a04;\n}\n\n.TextInput-module_strengthValueStrong__qaKsi {\n color: #65a30d;\n}\n\n.TextInput-module_strengthValueVeryStrong__80d9m {\n color: #059669;\n}\n\n/* Requirements checklist */\n.TextInput-module_requirements__eD6oz {\n font-size: 0.75rem;\n line-height: 1rem;\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n padding: 0.5rem;\n background: #f9fafb;\n border-radius: 0.375rem;\n border: 1px solid #e5e7eb;\n}\n\n.TextInput-module_requirement__KoZx2 {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.TextInput-module_requirementIcon__VjQXJ {\n width: 0.875rem;\n height: 0.875rem;\n flex-shrink: 0;\n}\n\n.TextInput-module_requirementIconMet__UNZFD {\n color: #10b981;\n}\n\n.TextInput-module_requirementIconUnmet__1MF9h {\n color: #d1d5db;\n}\n\n.TextInput-module_requirementText__fFcdn {\n color: #6b7280;\n}\n\n.TextInput-module_requirementTextMet__eGbSi {\n color: #374151;\n}\n");const de=(...e)=>e.filter(Boolean).join(" "),ce=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,me=({label:e,value:r,onChange:o,placeholder:l,error:a,required:s=!1,disabled:u=!1,type:i="text",className:me="",hint:_e,maxLength:pe,minLength:xe,pattern:ge,icon:he,onBlur:fe,onFocus:Te,autoComplete:be,validateEmail:Ie=!1,showPasswordStrength:ve=!1})=>{const[ye,je]=n(!1),Ne=t(()=>Ie&&r?(e=>{if(!e||!e.includes("@"))return null;const[n,t]=e.split("@");if(!t)return null;const r={"gmial.com":"gmail.com","gmai.com":"gmail.com","gmil.com":"gmail.com","hotmial.com":"hotmail.com","hotmal.com":"hotmail.com","outlok.com":"outlook.com","yahooo.com":"yahoo.com","yaho.com":"yahoo.com"};return r[t.toLowerCase()]?`${n}@${r[t.toLowerCase()]}`:null})(r):null,[Ie,r]),ke=t(()=>{if(!Ie||!r)return null;return ce.test(r)&&!(null!==Ne)},[Ie,r,Ne]),Se=Ie&&r&&!ke&&!Ne?"Correo electrónico inválido":null,we=t(()=>"password"===i&&ve?(e=>{if(!e)return{score:0,strength:"none",label:"Sin contraseña"};let n=0;const t=/[A-Z]/.test(e);return/[a-z]/.test(e)&&n++,t&&n++,/\d/.test(e)&&n++,/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(e)&&n++,e.length>=8&&n++,n<=1?{score:n,strength:"weak",label:"Débil"}:n<=2?{score:n,strength:"fair",label:"Regular"}:n<=3?{score:n,strength:"good",label:"Buena"}:4===n?{score:n,strength:"strong",label:"Fuerte"}:{score:n,strength:"very-strong",label:"Muy fuerte"}})(r):null,[i,r,ve]),Ce=pe&&"text"===i&&r,Re=r.length,ze=pe?Re/pe*100:0,Ae=ze>80,Le=ze>=100;return d.jsxs("div",{className:de(c,me),"data-testid":"text-input",children:[e&&d.jsxs("label",{className:m,children:[e,s&&d.jsx("span",{className:_,children:"*"})]}),d.jsxs("div",{className:p,children:[he&&!ye&&d.jsx("div",{className:x,children:he}),d.jsx("input",{type:i,value:r,onChange:e=>o(e.target.value),onFocus:()=>{je(!0),Te?.()},onBlur:()=>{je(!1),fe?.()},placeholder:l,disabled:u,maxLength:pe,minLength:xe,pattern:ge,autoComplete:be,className:de(g,he?h:void 0,Ce?f:void 0,a?T:void 0),"data-testid":"input-field","data-error":!!a}),Ce&&d.jsxs("div",{className:de(b,Le?y:Ae?v:I),"data-testid":"char-count",children:[d.jsxs("div",{children:[Re,"/",pe]}),Le&&d.jsx("svg",{className:j,fill:"currentColor",viewBox:"0 0 20 20",children:d.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z",clipRule:"evenodd"})})]})]}),Ce&&pe>20&&d.jsx("div",{className:N,children:d.jsx("div",{className:de(k,Le?C:Ae?w:S),style:{width:`${Math.min(ze,100)}%`}})}),_e&&!a&&!Se&&d.jsx("p",{className:R,children:_e}),Ie&&r&&ke&&d.jsxs("div",{className:de(z,O),children:[d.jsx("svg",{className:A,fill:"currentColor",viewBox:"0 0 20 20",children:d.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),d.jsx("p",{className:L,children:"Correo válido"})]}),Ne&&!a&&d.jsxs("div",{className:de(z,q),children:[d.jsx("svg",{className:A,fill:"currentColor",viewBox:"0 0 20 20",children:d.jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z",clipRule:"evenodd"})}),d.jsxs("p",{className:L,children:["¿Quisiste decir"," ",d.jsx("button",{type:"button",onClick:()=>o(Ne),className:P,children:Ne}),"?"]})]}),we&&we.score>0&&d.jsxs("div",{className:F,children:[d.jsx("div",{className:M,children:[0,1,2,3,4].map(e=>d.jsx("div",{className:de(Z,e<we.score?"weak"===we.strength?G:"fair"===we.strength?D:"good"===we.strength?U:"strong"===we.strength?W:Y:$)},e))}),d.jsx("div",{className:K,children:d.jsxs("p",{className:Q,children:["Fortaleza:"," ",d.jsx("span",{className:de(J,"weak"===we.strength?H:"fair"===we.strength?X:"good"===we.strength?ee:"strong"===we.strength?ne:te),children:we.label})]})}),d.jsxs("div",{className:re,children:[d.jsxs("div",{className:oe,children:[d.jsx("svg",{className:de(le,/[a-z]/.test(r)?ae:se),fill:"currentColor",viewBox:"0 0 20 20",children:d.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),d.jsx("span",{className:de(ue,/[a-z]/.test(r)&&ie),children:"Letras minúsculas"})]}),d.jsxs("div",{className:oe,children:[d.jsx("svg",{className:de(le,/[A-Z]/.test(r)?ae:se),fill:"currentColor",viewBox:"0 0 20 20",children:d.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),d.jsx("span",{className:de(ue,/[A-Z]/.test(r)&&ie),children:"Letras mayúsculas"})]}),d.jsxs("div",{className:oe,children:[d.jsx("svg",{className:de(le,/\d/.test(r)?ae:se),fill:"currentColor",viewBox:"0 0 20 20",children:d.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),d.jsx("span",{className:de(ue,/\d/.test(r)&&ie),children:"Números"})]}),d.jsxs("div",{className:oe,children:[d.jsx("svg",{className:de(le,/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(r)?ae:se),fill:"currentColor",viewBox:"0 0 20 20",children:d.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),d.jsx("span",{className:de(ue,/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(r)&&ie),children:"Caracteres especiales"})]}),d.jsxs("div",{className:oe,children:[d.jsx("svg",{className:de(le,r.length>=8?ae:se),fill:"currentColor",viewBox:"0 0 20 20",children:d.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),d.jsx("span",{className:de(ue,r.length>=8&&ie),children:"Mínimo 8 caracteres"})]})]})]}),(a||Se)&&d.jsxs("div",{className:V,children:[d.jsx("svg",{className:B,fill:"currentColor",viewBox:"0 0 20 20",children:d.jsx("path",{fillRule:"evenodd",d:"M18.101 12.93a1 1 0 00-1.414-1.414L10 15.586l-6.687-6.687a1 1 0 00-1.414 1.414l8 8a1 1 0 001.414 0l8-8z",clipRule:"evenodd"})}),d.jsx("p",{className:E,children:a||Se})]})]})};export{me as default};
11
11
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../node_modules/.pnpm/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/.pnpm/react@19.2.3/node_modules/react/jsx-runtime.js","../../../node_modules/.pnpm/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.production.js","../src/TextInput.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, props, owner, debugStack, debugTask) {\n var refProp = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== refProp ? refProp : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n maybeKey,\n getOwner(),\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n isValidElement(node)\n ? node._store && (node._store.validated = 1)\n : \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_LAZY_TYPE &&\n (\"fulfilled\" === node._payload.status\n ? isValidElement(node._payload.value) &&\n node._payload.value._store &&\n (node._payload.value._store.validated = 1)\n : node._store && (node._store.validated = 1));\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","import React, { useState, useMemo } from \"react\";\n\nexport interface TextInputProps {\n label?: string;\n value: string;\n onChange: (value: string) => void;\n placeholder?: string;\n error?: string;\n warning?: string;\n required?: boolean;\n disabled?: boolean;\n type?: \"text\" | \"email\" | \"tel\" | \"password\" | \"number\" | \"url\";\n className?: string;\n hint?: string;\n maxLength?: number;\n minLength?: number;\n pattern?: string;\n icon?: React.ReactNode;\n onBlur?: () => void;\n onFocus?: () => void;\n autoComplete?: string;\n min?: number;\n max?: number;\n step?: number;\n validateEmail?: boolean;\n showPasswordStrength?: boolean;\n}\n\n// Email validation regex (más completa)\nconst EMAIL_REGEX =\n /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n\n// Common email domains for suggestions\n// const COMMON_DOMAINS = [\n// 'gmail.com',\n// 'hotmail.com',\n// 'outlook.com',\n// 'yahoo.com',\n// 'icloud.com',\n// 'live.com',\n// 'protonmail.com',\n// ];\n\n// Function to suggest email corrections\nconst suggestEmailCorrection = (email: string): string | null => {\n if (!email || !email.includes(\"@\")) return null;\n\n const [localPart, domainPart] = email.split(\"@\");\n if (!domainPart) return null;\n\n // Check for common typos in domains\n const typos: Record<string, string> = {\n \"gmial.com\": \"gmail.com\",\n \"gmai.com\": \"gmail.com\",\n \"gmil.com\": \"gmail.com\",\n \"hotmial.com\": \"hotmail.com\",\n \"hotmal.com\": \"hotmail.com\",\n \"outlok.com\": \"outlook.com\",\n \"yahooo.com\": \"yahoo.com\",\n \"yaho.com\": \"yahoo.com\",\n };\n\n if (typos[domainPart.toLowerCase()]) {\n return `${localPart}@${typos[domainPart.toLowerCase()]}`;\n }\n\n return null;\n};\n\n// Password strength checker\nconst checkPasswordStrength = (password: string) => {\n if (!password) return { score: 0, strength: \"none\", label: \"Sin contraseña\" };\n\n let score = 0;\n const hasUpperCase = /[A-Z]/.test(password);\n const hasLowerCase = /[a-z]/.test(password);\n const hasNumbers = /\\d/.test(password);\n const hasSpecialChar = /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/.test(password);\n const isLongEnough = password.length >= 8;\n\n if (hasLowerCase) score++;\n if (hasUpperCase) score++;\n if (hasNumbers) score++;\n if (hasSpecialChar) score++;\n if (isLongEnough) score++;\n\n if (score <= 1) return { score, strength: \"weak\", label: \"Débil\" };\n if (score <= 2) return { score, strength: \"fair\", label: \"Regular\" };\n if (score <= 3) return { score, strength: \"good\", label: \"Buena\" };\n if (score === 4) return { score, strength: \"strong\", label: \"Fuerte\" };\n return { score, strength: \"very-strong\", label: \"Muy fuerte\" };\n};\n\nconst TextInput: React.FC<TextInputProps> = ({\n label,\n value,\n onChange,\n placeholder,\n error,\n required = false,\n disabled = false,\n type = \"text\",\n className = \"\",\n hint,\n maxLength,\n minLength,\n pattern,\n icon,\n onBlur,\n onFocus,\n autoComplete,\n validateEmail = false,\n showPasswordStrength = false,\n}) => {\n const [isFocused, setIsFocused] = useState(false);\n\n // Email suggestion (check typos first, before validation)\n const emailSuggestion = useMemo(() => {\n if (!validateEmail || !value) return null;\n return suggestEmailCorrection(value);\n }, [validateEmail, value]);\n\n // Validate email (email is valid if it matches regex AND has no typo suggestion)\n const isValidEmail = useMemo(() => {\n if (!validateEmail || !value) return null;\n const matchesFormat = EMAIL_REGEX.test(value);\n const hasSuggestion = emailSuggestion !== null;\n return matchesFormat && !hasSuggestion;\n }, [validateEmail, value, emailSuggestion]);\n\n const emailError =\n validateEmail && value && !isValidEmail && !emailSuggestion\n ? \"Correo electrónico inválido\"\n : null;\n\n // Password strength\n const passwordStrength = useMemo(() => {\n if (type !== \"password\" || !showPasswordStrength) return null;\n return checkPasswordStrength(value);\n }, [type, value, showPasswordStrength]);\n\n // Number inputs are handled as regular text inputs for now\n // TODO: Implement NumericUpPicker component\n // if (type === 'number') {\n // return (\n // <NumericUpPicker ... />\n // );\n // }\n\n const handleFocus = () => {\n setIsFocused(true);\n onFocus?.();\n };\n\n const handleBlur = () => {\n setIsFocused(false);\n onBlur?.();\n };\n\n // Character count for inputs with maxLength\n const showCharCount = maxLength && type === \"text\" && value;\n const charCount = value.length;\n const charPercentage = maxLength ? (charCount / maxLength) * 100 : 0;\n const isNearLimit = charPercentage > 80;\n const isAtLimit = charPercentage >= 100;\n\n return (\n <div className={`flex flex-col gap-2 ${className}`}>\n {/* Label */}\n {label && (\n <label className=\"block text-sm font-medium text-gray-700\">\n {label}\n {required && <span className=\"text-red-500 ml-1\">*</span>}\n </label>\n )}\n\n {/* Input Field */}\n <div className=\"relative\">\n {/* Icon before input */}\n {icon && !isFocused && (\n <div className=\"absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400 pointer-events-none flex items-center\">\n {icon}\n </div>\n )}\n\n <input\n type={type}\n value={value}\n onChange={(e) => onChange(e.target.value)}\n onFocus={handleFocus}\n onBlur={handleBlur}\n placeholder={placeholder}\n disabled={disabled}\n maxLength={maxLength}\n minLength={minLength}\n pattern={pattern}\n autoComplete={autoComplete}\n className={`\n w-full px-4 py-2 rounded-lg border-2 transition-all outline-none\n font-medium text-gray-900 placeholder-gray-400\n disabled:bg-gray-100 disabled:text-gray-500 disabled:cursor-not-allowed\n ${icon ? \"pl-10\" : \"\"}\n ${\n error\n ? \"border-red-500 focus:border-red-500 focus:ring-2 focus:ring-red-200\"\n : isFocused\n ? \"border-blue-500 focus:ring-2 focus:ring-blue-200\"\n : \"border-gray-300 hover:border-gray-400\"\n }\n `}\n />\n\n {/* Character count */}\n {showCharCount && (\n <div className=\"absolute right-3 top-1/2 transform -translate-y-1/2 text-xs font-medium flex items-center gap-1\">\n <div\n className={`${isAtLimit ? \"text-red-600\" : isNearLimit ? \"text-amber-600\" : \"text-gray-500\"}`}\n >\n {charCount}/{maxLength}\n </div>\n {isAtLimit && (\n <svg\n className=\"w-4 h-4 text-red-600\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\"\n clipRule=\"evenodd\"\n />\n </svg>\n )}\n </div>\n )}\n </div>\n\n {/* Character count bar (for long text) */}\n {showCharCount && maxLength > 20 && (\n <div className=\"w-full h-1 bg-gray-200 rounded-full overflow-hidden\">\n <div\n className={`h-full transition-all rounded-full ${\n isAtLimit\n ? \"bg-red-500\"\n : isNearLimit\n ? \"bg-amber-500\"\n : \"bg-blue-500\"\n }`}\n style={{ width: `${Math.min(charPercentage, 100)}%` }}\n />\n </div>\n )}\n\n {/* Hint Text */}\n {hint && !error && !emailError && (\n <p className=\"text-xs text-gray-500 mt-1\">{hint}</p>\n )}\n\n {/* Email validation info */}\n {validateEmail && value && isValidEmail && (\n <div className=\"flex items-center gap-2 mt-1\">\n <svg\n className=\"w-4 h-4 text-green-500 flex-shrink-0\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <p className=\"text-xs text-green-600\">Correo válido</p>\n </div>\n )}\n\n {/* Email suggestion for typos */}\n {emailSuggestion && !error && (\n <div className=\"flex items-center gap-2 mt-1\">\n <svg\n className=\"w-4 h-4 text-blue-500 flex-shrink-0\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <p className=\"text-xs text-blue-600\">\n ¿Quisiste decir{\" \"}\n <button\n type=\"button\"\n onClick={() => onChange(emailSuggestion)}\n className=\"font-semibold underline hover:text-blue-800\"\n >\n {emailSuggestion}\n </button>\n ?\n </p>\n </div>\n )}\n\n {/* Password strength indicator */}\n {passwordStrength && passwordStrength.score > 0 && (\n <div className=\"mt-2 space-y-2\">\n {/* Strength bar */}\n <div className=\"flex gap-1\">\n {[0, 1, 2, 3, 4].map((index) => (\n <div\n key={index}\n className={`h-1.5 flex-1 rounded-full transition-colors ${\n index < passwordStrength.score\n ? passwordStrength.strength === \"weak\"\n ? \"bg-red-500\"\n : passwordStrength.strength === \"fair\"\n ? \"bg-amber-500\"\n : passwordStrength.strength === \"good\"\n ? \"bg-yellow-500\"\n : passwordStrength.strength === \"strong\"\n ? \"bg-lime-500\"\n : \"bg-green-500\"\n : \"bg-gray-200\"\n }`}\n />\n ))}\n </div>\n\n {/* Strength label */}\n <div className=\"flex items-center justify-between\">\n <p className=\"text-xs text-gray-600\">\n Fortaleza:{\" \"}\n <span\n className={`font-semibold ${\n passwordStrength.strength === \"weak\"\n ? \"text-red-600\"\n : passwordStrength.strength === \"fair\"\n ? \"text-amber-600\"\n : passwordStrength.strength === \"good\"\n ? \"text-yellow-600\"\n : passwordStrength.strength === \"strong\"\n ? \"text-lime-600\"\n : \"text-green-600\"\n }`}\n >\n {passwordStrength.label}\n </span>\n </p>\n </div>\n\n {/* Requirements checklist */}\n <div className=\"text-xs space-y-1 p-2 bg-gray-50 rounded border border-gray-200\">\n <div className=\"flex items-center gap-2\">\n <svg\n className={`w-3.5 h-3.5 flex-shrink-0 ${/[a-z]/.test(value) ? \"text-green-500\" : \"text-gray-300\"}`}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span\n className={\n /[a-z]/.test(value) ? \"text-gray-700\" : \"text-gray-500\"\n }\n >\n Letras minúsculas\n </span>\n </div>\n <div className=\"flex items-center gap-2\">\n <svg\n className={`w-3.5 h-3.5 flex-shrink-0 ${/[A-Z]/.test(value) ? \"text-green-500\" : \"text-gray-300\"}`}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span\n className={\n /[A-Z]/.test(value) ? \"text-gray-700\" : \"text-gray-500\"\n }\n >\n Letras mayúsculas\n </span>\n </div>\n <div className=\"flex items-center gap-2\">\n <svg\n className={`w-3.5 h-3.5 flex-shrink-0 ${/\\d/.test(value) ? \"text-green-500\" : \"text-gray-300\"}`}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span\n className={/\\d/.test(value) ? \"text-gray-700\" : \"text-gray-500\"}\n >\n Números\n </span>\n </div>\n <div className=\"flex items-center gap-2\">\n <svg\n className={`w-3.5 h-3.5 flex-shrink-0 ${/[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/.test(value) ? \"text-green-500\" : \"text-gray-300\"}`}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span\n className={\n /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/.test(value)\n ? \"text-gray-700\"\n : \"text-gray-500\"\n }\n >\n Caracteres especiales\n </span>\n </div>\n <div className=\"flex items-center gap-2\">\n <svg\n className={`w-3.5 h-3.5 flex-shrink-0 ${value.length >= 8 ? \"text-green-500\" : \"text-gray-300\"}`}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span\n className={\n value.length >= 8 ? \"text-gray-700\" : \"text-gray-500\"\n }\n >\n Mínimo 8 caracteres\n </span>\n </div>\n </div>\n </div>\n )}\n\n {/* Error Message */}\n {(error || emailError) && (\n <div className=\"flex items-start gap-2 mt-1\">\n <svg\n className=\"w-4 h-4 text-red-500 flex-shrink-0 mt-0.5\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M18.101 12.93a1 1 0 00-1.414-1.414L10 15.586l-6.687-6.687a1 1 0 00-1.414 1.414l8 8a1 1 0 001.414 0l8-8z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <p className=\"text-sm text-red-600\">{error || emailError}</p>\n </div>\n )}\n </div>\n );\n};\n\nexport default TextInput;\n"],"names":["process","env","NODE_ENV","getComponentNameFromType","type","$$typeof","REACT_CLIENT_REFERENCE","displayName","name","REACT_FRAGMENT_TYPE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","tag","console","error","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","_context","REACT_FORWARD_REF_TYPE","innerType","render","REACT_MEMO_TYPE","REACT_LAZY_TYPE","_payload","_init","x","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","e","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","Symbol","toStringTag","constructor","call","getTaskName","UnknownOwner","Error","elementRefGetterWithDeprecationWarning","componentName","this","didWarnAboutElementRef","props","ref","jsxDEVImpl","config","maybeKey","isStaticChildren","debugStack","debugTask","dispatcher","children","isArrayImpl","length","validateChildKeys","Object","freeze","hasOwnProperty","keys","filter","k","join","didWarnAboutKeySpread","getter","getOwnPropertyDescriptor","get","isReactWarning","key","hasValidKey","propName","warnAboutAccessingKey","specialPropKeyWarningShown","defineProperty","configurable","defineKeyPropWarningGetter","owner","refProp","REACT_ELEMENT_TYPE","_owner","enumerable","_store","writable","ReactElement","ReactSharedInternals","A","getOwner","node","isValidElement","validated","status","object","React","require$$0","for","__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE","prototype","Array","isArray","createTask","unknownOwnerDebugStack","react_stack_bottom_frame","callStackForError","bind","unknownOwnerDebugTask","reactJsxRuntime_development","Fragment","jsx","trackActualOwner","recentlyCreatedOwnerStacks","jsxs","jsxRuntimeModule","exports","jsxProd","reactJsxRuntime_production","require$$1","EMAIL_REGEX","TextInput","label","onChange","placeholder","required","disabled","className","hint","maxLength","minLength","pattern","icon","onBlur","onFocus","autoComplete","validateEmail","showPasswordStrength","isFocused","setIsFocused","useState","emailSuggestion","useMemo","email","includes","localPart","domainPart","split","typos","toLowerCase","suggestEmailCorrection","isValidEmail","test","emailError","passwordStrength","password","score","strength","hasUpperCase","checkPasswordStrength","showCharCount","charCount","charPercentage","isNearLimit","isAtLimit","_jsxs","_jsx","target","fill","viewBox","fillRule","d","clipRule","style","width","Math","min","onClick","map","index"],"mappings":"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","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../node_modules/.pnpm/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/.pnpm/react@19.2.3/node_modules/react/jsx-runtime.js","../../../node_modules/.pnpm/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.production.js","../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js","../src/TextInput.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, props, owner, debugStack, debugTask) {\n var refProp = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== refProp ? refProp : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n maybeKey,\n getOwner(),\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n isValidElement(node)\n ? node._store && (node._store.validated = 1)\n : \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_LAZY_TYPE &&\n (\"fulfilled\" === node._payload.status\n ? isValidElement(node._payload.value) &&\n node._payload.value._store &&\n (node._payload.value._store.validated = 1)\n : node._store && (node._store.validated = 1));\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React, { useState, useMemo } from \"react\";\nimport styles from \"./TextInput.module.css\";\n\nexport interface TextInputProps {\n label?: string;\n value: string;\n onChange: (value: string) => void;\n placeholder?: string;\n error?: string;\n warning?: string;\n required?: boolean;\n disabled?: boolean;\n type?: \"text\" | \"email\" | \"tel\" | \"password\" | \"number\" | \"url\";\n className?: string;\n hint?: string;\n maxLength?: number;\n minLength?: number;\n pattern?: string;\n icon?: React.ReactNode;\n onBlur?: () => void;\n onFocus?: () => void;\n autoComplete?: string;\n min?: number;\n max?: number;\n step?: number;\n validateEmail?: boolean;\n showPasswordStrength?: boolean;\n}\n\nconst classNames = (...classes: Array<string | undefined | false>) =>\n classes.filter(Boolean).join(\" \");\n\n// Email validation regex (más completa)\nconst EMAIL_REGEX =\n /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n\n// Function to suggest email corrections\nconst suggestEmailCorrection = (email: string): string | null => {\n if (!email || !email.includes(\"@\")) return null;\n\n const [localPart, domainPart] = email.split(\"@\");\n if (!domainPart) return null;\n\n // Check for common typos in domains\n const typos: Record<string, string> = {\n \"gmial.com\": \"gmail.com\",\n \"gmai.com\": \"gmail.com\",\n \"gmil.com\": \"gmail.com\",\n \"hotmial.com\": \"hotmail.com\",\n \"hotmal.com\": \"hotmail.com\",\n \"outlok.com\": \"outlook.com\",\n \"yahooo.com\": \"yahoo.com\",\n \"yaho.com\": \"yahoo.com\",\n };\n\n if (typos[domainPart.toLowerCase()]) {\n return `${localPart}@${typos[domainPart.toLowerCase()]}`;\n }\n\n return null;\n};\n\n// Password strength checker\nconst checkPasswordStrength = (password: string) => {\n if (!password) return { score: 0, strength: \"none\", label: \"Sin contraseña\" };\n\n let score = 0;\n const hasUpperCase = /[A-Z]/.test(password);\n const hasLowerCase = /[a-z]/.test(password);\n const hasNumbers = /\\d/.test(password);\n const hasSpecialChar = /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/.test(password);\n const isLongEnough = password.length >= 8;\n\n if (hasLowerCase) score++;\n if (hasUpperCase) score++;\n if (hasNumbers) score++;\n if (hasSpecialChar) score++;\n if (isLongEnough) score++;\n\n if (score <= 1) return { score, strength: \"weak\", label: \"Débil\" };\n if (score <= 2) return { score, strength: \"fair\", label: \"Regular\" };\n if (score <= 3) return { score, strength: \"good\", label: \"Buena\" };\n if (score === 4) return { score, strength: \"strong\", label: \"Fuerte\" };\n return { score, strength: \"very-strong\", label: \"Muy fuerte\" };\n};\n\nconst TextInput: React.FC<TextInputProps> = ({\n label,\n value,\n onChange,\n placeholder,\n error,\n required = false,\n disabled = false,\n type = \"text\",\n className = \"\",\n hint,\n maxLength,\n minLength,\n pattern,\n icon,\n onBlur,\n onFocus,\n autoComplete,\n validateEmail = false,\n showPasswordStrength = false,\n}) => {\n const [isFocused, setIsFocused] = useState(false);\n\n // Email suggestion (check typos first, before validation)\n const emailSuggestion = useMemo(() => {\n if (!validateEmail || !value) return null;\n return suggestEmailCorrection(value);\n }, [validateEmail, value]);\n\n // Validate email (email is valid if it matches regex AND has no typo suggestion)\n const isValidEmail = useMemo(() => {\n if (!validateEmail || !value) return null;\n const matchesFormat = EMAIL_REGEX.test(value);\n const hasSuggestion = emailSuggestion !== null;\n return matchesFormat && !hasSuggestion;\n }, [validateEmail, value, emailSuggestion]);\n\n const emailError =\n validateEmail && value && !isValidEmail && !emailSuggestion\n ? \"Correo electrónico inválido\"\n : null;\n\n // Password strength\n const passwordStrength = useMemo(() => {\n if (type !== \"password\" || !showPasswordStrength) return null;\n return checkPasswordStrength(value);\n }, [type, value, showPasswordStrength]);\n\n const handleFocus = () => {\n setIsFocused(true);\n onFocus?.();\n };\n\n const handleBlur = () => {\n setIsFocused(false);\n onBlur?.();\n };\n\n // Character count for inputs with maxLength\n const showCharCount = maxLength && type === \"text\" && value;\n const charCount = value.length;\n const charPercentage = maxLength ? (charCount / maxLength) * 100 : 0;\n const isNearLimit = charPercentage > 80;\n const isAtLimit = charPercentage >= 100;\n\n return (\n <div\n className={classNames(styles.container, className)}\n data-testid=\"text-input\"\n >\n {/* Label */}\n {label && (\n <label className={styles.label}>\n {label}\n {required && <span className={styles.required}>*</span>}\n </label>\n )}\n\n {/* Input Field */}\n <div className={styles.inputContainer}>\n {/* Icon before input */}\n {icon && !isFocused && <div className={styles.icon}>{icon}</div>}\n\n <input\n type={type}\n value={value}\n onChange={(e) => onChange(e.target.value)}\n onFocus={handleFocus}\n onBlur={handleBlur}\n placeholder={placeholder}\n disabled={disabled}\n maxLength={maxLength}\n minLength={minLength}\n pattern={pattern}\n autoComplete={autoComplete}\n className={classNames(\n styles.input,\n icon ? styles.inputWithIcon : undefined,\n showCharCount ? styles.inputWithCharCount : undefined,\n error ? styles.inputError : undefined,\n )}\n data-testid=\"input-field\"\n data-error={!!error}\n />\n\n {/* Character count */}\n {showCharCount && (\n <div\n className={classNames(\n styles.charCount,\n isAtLimit\n ? styles.charCountLimit\n : isNearLimit\n ? styles.charCountNear\n : styles.charCountNormal,\n )}\n data-testid=\"char-count\"\n >\n <div>\n {charCount}/{maxLength}\n </div>\n {isAtLimit && (\n <svg\n className={styles.charCountIcon}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\"\n clipRule=\"evenodd\"\n />\n </svg>\n )}\n </div>\n )}\n </div>\n\n {/* Character count bar (for long text) */}\n {showCharCount && maxLength > 20 && (\n <div className={styles.charProgressBar}>\n <div\n className={classNames(\n styles.charProgress,\n isAtLimit\n ? styles.charProgressLimit\n : isNearLimit\n ? styles.charProgressNear\n : styles.charProgressNormal,\n )}\n style={{ width: `${Math.min(charPercentage, 100)}%` }}\n />\n </div>\n )}\n\n {/* Hint Text */}\n {hint && !error && !emailError && <p className={styles.hint}>{hint}</p>}\n\n {/* Email validation info */}\n {validateEmail && value && isValidEmail && (\n <div\n className={classNames(styles.validationMessage, styles.validEmail)}\n >\n <svg\n className={styles.validationIcon}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <p className={styles.validationText}>Correo válido</p>\n </div>\n )}\n\n {/* Email suggestion for typos */}\n {emailSuggestion && !error && (\n <div\n className={classNames(\n styles.validationMessage,\n styles.emailSuggestion,\n )}\n >\n <svg\n className={styles.validationIcon}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <p className={styles.validationText}>\n ¿Quisiste decir{\" \"}\n <button\n type=\"button\"\n onClick={() => onChange(emailSuggestion)}\n className={styles.suggestionButton}\n >\n {emailSuggestion}\n </button>\n ?\n </p>\n </div>\n )}\n\n {/* Password strength indicator */}\n {passwordStrength && passwordStrength.score > 0 && (\n <div className={styles.passwordStrength}>\n {/* Strength bar */}\n <div className={styles.strengthBar}>\n {[0, 1, 2, 3, 4].map((index) => (\n <div\n key={index}\n className={classNames(\n styles.strengthSegment,\n index < passwordStrength.score\n ? passwordStrength.strength === \"weak\"\n ? styles.strengthSegmentWeak\n : passwordStrength.strength === \"fair\"\n ? styles.strengthSegmentFair\n : passwordStrength.strength === \"good\"\n ? styles.strengthSegmentGood\n : passwordStrength.strength === \"strong\"\n ? styles.strengthSegmentStrong\n : styles.strengthSegmentVeryStrong\n : styles.strengthSegmentInactive,\n )}\n />\n ))}\n </div>\n\n {/* Strength label */}\n <div className={styles.strengthLabel}>\n <p className={styles.strengthText}>\n Fortaleza:{\" \"}\n <span\n className={classNames(\n styles.strengthValue,\n passwordStrength.strength === \"weak\"\n ? styles.strengthValueWeak\n : passwordStrength.strength === \"fair\"\n ? styles.strengthValueFair\n : passwordStrength.strength === \"good\"\n ? styles.strengthValueGood\n : passwordStrength.strength === \"strong\"\n ? styles.strengthValueStrong\n : styles.strengthValueVeryStrong,\n )}\n >\n {passwordStrength.label}\n </span>\n </p>\n </div>\n\n {/* Requirements checklist */}\n <div className={styles.requirements}>\n <div className={styles.requirement}>\n <svg\n className={classNames(\n styles.requirementIcon,\n /[a-z]/.test(value)\n ? styles.requirementIconMet\n : styles.requirementIconUnmet,\n )}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span\n className={classNames(\n styles.requirementText,\n /[a-z]/.test(value) && styles.requirementTextMet,\n )}\n >\n Letras minúsculas\n </span>\n </div>\n <div className={styles.requirement}>\n <svg\n className={classNames(\n styles.requirementIcon,\n /[A-Z]/.test(value)\n ? styles.requirementIconMet\n : styles.requirementIconUnmet,\n )}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span\n className={classNames(\n styles.requirementText,\n /[A-Z]/.test(value) && styles.requirementTextMet,\n )}\n >\n Letras mayúsculas\n </span>\n </div>\n <div className={styles.requirement}>\n <svg\n className={classNames(\n styles.requirementIcon,\n /\\d/.test(value)\n ? styles.requirementIconMet\n : styles.requirementIconUnmet,\n )}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span\n className={classNames(\n styles.requirementText,\n /\\d/.test(value) && styles.requirementTextMet,\n )}\n >\n Números\n </span>\n </div>\n <div className={styles.requirement}>\n <svg\n className={classNames(\n styles.requirementIcon,\n /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/.test(value)\n ? styles.requirementIconMet\n : styles.requirementIconUnmet,\n )}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span\n className={classNames(\n styles.requirementText,\n /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/.test(value) &&\n styles.requirementTextMet,\n )}\n >\n Caracteres especiales\n </span>\n </div>\n <div className={styles.requirement}>\n <svg\n className={classNames(\n styles.requirementIcon,\n value.length >= 8\n ? styles.requirementIconMet\n : styles.requirementIconUnmet,\n )}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span\n className={classNames(\n styles.requirementText,\n value.length >= 8 && styles.requirementTextMet,\n )}\n >\n Mínimo 8 caracteres\n </span>\n </div>\n </div>\n </div>\n )}\n\n {/* Error Message */}\n {(error || emailError) && (\n <div className={styles.error}>\n <svg\n className={styles.errorIcon}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M18.101 12.93a1 1 0 00-1.414-1.414L10 15.586l-6.687-6.687a1 1 0 00-1.414 1.414l8 8a1 1 0 001.414 0l8-8z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <p className={styles.errorText}>{error || emailError}</p>\n </div>\n )}\n </div>\n );\n};\n\nexport default TextInput;\n"],"names":["process","env","NODE_ENV","getComponentNameFromType","type","$$typeof","REACT_CLIENT_REFERENCE","displayName","name","REACT_FRAGMENT_TYPE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","tag","console","error","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","_context","REACT_FORWARD_REF_TYPE","innerType","render","REACT_MEMO_TYPE","REACT_LAZY_TYPE","_payload","_init","x","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","e","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","Symbol","toStringTag","constructor","call","getTaskName","UnknownOwner","Error","elementRefGetterWithDeprecationWarning","componentName","this","didWarnAboutElementRef","props","ref","jsxDEVImpl","config","maybeKey","isStaticChildren","debugStack","debugTask","dispatcher","children","isArrayImpl","length","validateChildKeys","Object","freeze","hasOwnProperty","keys","filter","k","join","didWarnAboutKeySpread","getter","getOwnPropertyDescriptor","get","isReactWarning","key","hasValidKey","propName","warnAboutAccessingKey","specialPropKeyWarningShown","defineProperty","configurable","defineKeyPropWarningGetter","owner","refProp","REACT_ELEMENT_TYPE","_owner","enumerable","_store","writable","ReactElement","ReactSharedInternals","A","getOwner","node","isValidElement","validated","status","object","React","require$$0","for","__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE","prototype","Array","isArray","createTask","unknownOwnerDebugStack","react_stack_bottom_frame","callStackForError","bind","unknownOwnerDebugTask","reactJsxRuntime_development","Fragment","jsx","trackActualOwner","recentlyCreatedOwnerStacks","jsxs","jsxRuntimeModule","exports","jsxProd","reactJsxRuntime_production","require$$1","css","insertAt","document","head","getElementsByTagName","style","createElement","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","classNames","classes","Boolean","EMAIL_REGEX","TextInput","label","onChange","placeholder","required","disabled","className","hint","maxLength","minLength","pattern","icon","onBlur","onFocus","autoComplete","validateEmail","showPasswordStrength","isFocused","setIsFocused","useState","emailSuggestion","useMemo","email","includes","localPart","domainPart","split","typos","toLowerCase","suggestEmailCorrection","isValidEmail","test","emailError","passwordStrength","password","score","strength","hasUpperCase","checkPasswordStrength","showCharCount","charCount","charPercentage","isNearLimit","isAtLimit","_jsxs","styles","_jsx","target","undefined","fill","viewBox","fillRule","d","clipRule","width","Math","min","onClick","map","index"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rubenpazch/text-input",
3
- "version": "3.0.0",
3
+ "version": "4.0.0",
4
4
  "description": "TextInput component for Lbyte UI library",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
@@ -15,18 +15,22 @@
15
15
  "files": [
16
16
  "dist"
17
17
  ],
18
+ "sideEffects": [
19
+ "**/*.css"
20
+ ],
18
21
  "peerDependencies": {
19
22
  "react": "^19.2.3",
20
23
  "react-dom": "^19.2.3"
21
24
  },
22
25
  "dependencies": {
23
- "@rubenpazch/shared": "3.0.0"
26
+ "@rubenpazch/shared": "4.0.0"
24
27
  },
25
28
  "devDependencies": {
26
29
  "@rollup/plugin-commonjs": "^28.0.2",
27
30
  "@rollup/plugin-node-resolve": "^16.0.0",
28
31
  "@rollup/plugin-terser": "^0.4.3",
29
32
  "@rollup/plugin-typescript": "^12.1.2",
33
+ "@tailwindcss/postcss": "^4.0.0",
30
34
  "@testing-library/react": "^16.1.0",
31
35
  "@types/jest": "^29.5.1",
32
36
  "@types/react": "^19.0.2",
@@ -46,7 +50,7 @@
46
50
  "rollup-plugin-typescript2": "^0.36.0",
47
51
  "tslib": "^2.5.2",
48
52
  "typescript": "^5.0.4",
49
- "@rubenpazch/eslint-config": "3.0.0",
53
+ "@rubenpazch/eslint-config": "4.0.0",
50
54
  "@rubenpazch/typescript-config": "3.0.0"
51
55
  },
52
56
  "publishConfig": {