UNPKG

@gambito-corp/mbs-library

Version:

Librería de componentes React reutilizables - Sistema de diseño modular y escalable

14 lines 56 kB
import React,{useState as e,useRef as t,useEffect as n}from"react";import{FontAwesomeIcon as o}from"@fortawesome/react-fontawesome";import{jsx as r,jsxs as i,Fragment as a}from"react/jsx-runtime";function l(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var s,c={exports:{}},u={exports:{}},d={};var f,p,m,g,b,h,y,x,v,w,O,k,I,$,C={}; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */function T(){return p||(p=1,"production"===process.env.NODE_ENV?u.exports=function(){if(s)return d;s=1;var e="function"==typeof Symbol&&Symbol.for,t=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,o=e?Symbol.for("react.fragment"):60107,r=e?Symbol.for("react.strict_mode"):60108,i=e?Symbol.for("react.profiler"):60114,a=e?Symbol.for("react.provider"):60109,l=e?Symbol.for("react.context"):60110,c=e?Symbol.for("react.async_mode"):60111,u=e?Symbol.for("react.concurrent_mode"):60111,f=e?Symbol.for("react.forward_ref"):60112,p=e?Symbol.for("react.suspense"):60113,m=e?Symbol.for("react.suspense_list"):60120,g=e?Symbol.for("react.memo"):60115,b=e?Symbol.for("react.lazy"):60116,h=e?Symbol.for("react.block"):60121,y=e?Symbol.for("react.fundamental"):60117,x=e?Symbol.for("react.responder"):60118,v=e?Symbol.for("react.scope"):60119;function w(e){if("object"==typeof e&&null!==e){var s=e.$$typeof;switch(s){case t:switch(e=e.type){case c:case u:case o:case i:case r:case p:return e;default:switch(e=e&&e.$$typeof){case l:case f:case b:case g:case a:return e;default:return s}}case n:return s}}}function O(e){return w(e)===u}return d.AsyncMode=c,d.ConcurrentMode=u,d.ContextConsumer=l,d.ContextProvider=a,d.Element=t,d.ForwardRef=f,d.Fragment=o,d.Lazy=b,d.Memo=g,d.Portal=n,d.Profiler=i,d.StrictMode=r,d.Suspense=p,d.isAsyncMode=function(e){return O(e)||w(e)===c},d.isConcurrentMode=O,d.isContextConsumer=function(e){return w(e)===l},d.isContextProvider=function(e){return w(e)===a},d.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===t},d.isForwardRef=function(e){return w(e)===f},d.isFragment=function(e){return w(e)===o},d.isLazy=function(e){return w(e)===b},d.isMemo=function(e){return w(e)===g},d.isPortal=function(e){return w(e)===n},d.isProfiler=function(e){return w(e)===i},d.isStrictMode=function(e){return w(e)===r},d.isSuspense=function(e){return w(e)===p},d.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===u||e===i||e===r||e===p||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===b||e.$$typeof===g||e.$$typeof===a||e.$$typeof===l||e.$$typeof===f||e.$$typeof===y||e.$$typeof===x||e.$$typeof===v||e.$$typeof===h)},d.typeOf=w,d}():u.exports=(f||(f=1,"production"!==process.env.NODE_ENV&&function(){var e="function"==typeof Symbol&&Symbol.for,t=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,o=e?Symbol.for("react.fragment"):60107,r=e?Symbol.for("react.strict_mode"):60108,i=e?Symbol.for("react.profiler"):60114,a=e?Symbol.for("react.provider"):60109,l=e?Symbol.for("react.context"):60110,s=e?Symbol.for("react.async_mode"):60111,c=e?Symbol.for("react.concurrent_mode"):60111,u=e?Symbol.for("react.forward_ref"):60112,d=e?Symbol.for("react.suspense"):60113,f=e?Symbol.for("react.suspense_list"):60120,p=e?Symbol.for("react.memo"):60115,m=e?Symbol.for("react.lazy"):60116,g=e?Symbol.for("react.block"):60121,b=e?Symbol.for("react.fundamental"):60117,h=e?Symbol.for("react.responder"):60118,y=e?Symbol.for("react.scope"):60119;function x(e){if("object"==typeof e&&null!==e){var f=e.$$typeof;switch(f){case t:var g=e.type;switch(g){case s:case c:case o:case i:case r:case d:return g;default:var b=g&&g.$$typeof;switch(b){case l:case u:case m:case p:case a:return b;default:return f}}case n:return f}}}var v=s,w=c,O=l,k=a,I=t,$=u,T=o,N=m,S=p,j=n,B=i,E=r,L=d,R=!1;function z(e){return x(e)===c}C.AsyncMode=v,C.ConcurrentMode=w,C.ContextConsumer=O,C.ContextProvider=k,C.Element=I,C.ForwardRef=$,C.Fragment=T,C.Lazy=N,C.Memo=S,C.Portal=j,C.Profiler=B,C.StrictMode=E,C.Suspense=L,C.isAsyncMode=function(e){return R||(R=!0),z(e)||x(e)===s},C.isConcurrentMode=z,C.isContextConsumer=function(e){return x(e)===l},C.isContextProvider=function(e){return x(e)===a},C.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===t},C.isForwardRef=function(e){return x(e)===u},C.isFragment=function(e){return x(e)===o},C.isLazy=function(e){return x(e)===m},C.isMemo=function(e){return x(e)===p},C.isPortal=function(e){return x(e)===n},C.isProfiler=function(e){return x(e)===i},C.isStrictMode=function(e){return x(e)===r},C.isSuspense=function(e){return x(e)===d},C.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===c||e===i||e===r||e===d||e===f||"object"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===p||e.$$typeof===a||e.$$typeof===l||e.$$typeof===u||e.$$typeof===b||e.$$typeof===h||e.$$typeof===y||e.$$typeof===g)},C.typeOf=x}()),C)),u.exports} /* object-assign (c) Sindre Sorhus @license MIT */function N(){if(g)return m;g=1;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;return m=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var o={};return"abcdefghijklmnopqrst".split("").forEach((function(e){o[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},o)).join("")}catch(e){return!1}}()?Object.assign:function(o,r){for(var i,a,l=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(o),s=1;s<arguments.length;s++){for(var c in i=Object(arguments[s]))t.call(i,c)&&(l[c]=i[c]);if(e){a=e(i);for(var u=0;u<a.length;u++)n.call(i,a[u])&&(l[a[u]]=i[a[u]])}}return l},m}function S(){if(h)return b;h=1;return b="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}function j(){return x?y:(x=1,y=Function.call.bind(Object.prototype.hasOwnProperty))}if("production"!==process.env.NODE_ENV){var B=T();c.exports=function(){if(k)return O;k=1;var e=T(),t=N(),n=S(),o=j(),r=function(){if(w)return v;w=1;var e=function(){};if("production"!==process.env.NODE_ENV){var t=S(),n={},o=j();e=function(e){var t="Warning: "+e;try{throw new Error(t)}catch(e){}}}function r(r,i,a,l,s){if("production"!==process.env.NODE_ENV)for(var c in r)if(o(r,c)){var u;try{if("function"!=typeof r[c]){var d=Error((l||"React class")+": "+a+" type `"+c+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof r[c]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw d.name="Invariant Violation",d}u=r[c](i,c,l,a,null,t)}catch(e){u=e}if(!u||u instanceof Error||e((l||"React class")+": type specification of "+a+" `"+c+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof u+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),u instanceof Error&&!(u.message in n)){n[u.message]=!0;var f=s?s():"";e("Failed "+a+" type: "+u.message+(null!=f?f:""))}}}return r.resetWarningCache=function(){"production"!==process.env.NODE_ENV&&(n={})},v=r}(),i=function(){};function a(){return null}return"production"!==process.env.NODE_ENV&&(i=function(e){var t="Warning: "+e;try{throw new Error(t)}catch(e){}}),O=function(l,s){var c="function"==typeof Symbol&&Symbol.iterator,u="<<anonymous>>",d={array:g("array"),bigint:g("bigint"),bool:g("boolean"),func:g("function"),number:g("number"),object:g("object"),string:g("string"),symbol:g("symbol"),any:m(a),arrayOf:function(e){return m((function(t,o,r,i,a){if("function"!=typeof e)return new p("Property `"+a+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var l=t[o];if(!Array.isArray(l))return new p("Invalid "+i+" `"+a+"` of type `"+y(l)+"` supplied to `"+r+"`, expected an array.");for(var s=0;s<l.length;s++){var c=e(l,s,r,i,a+"["+s+"]",n);if(c instanceof Error)return c}return null}))},element:m((function(e,t,n,o,r){var i=e[t];return l(i)?null:new p("Invalid "+o+" `"+r+"` of type `"+y(i)+"` supplied to `"+n+"`, expected a single ReactElement.")})),elementType:m((function(t,n,o,r,i){var a=t[n];return e.isValidElementType(a)?null:new p("Invalid "+r+" `"+i+"` of type `"+y(a)+"` supplied to `"+o+"`, expected a single ReactElement type.")})),instanceOf:function(e){return m((function(t,n,o,r,i){if(!(t[n]instanceof e)){var a=e.name||u;return new p("Invalid "+r+" `"+i+"` of type `"+((l=t[n]).constructor&&l.constructor.name?l.constructor.name:u)+"` supplied to `"+o+"`, expected instance of `"+a+"`.")}var l;return null}))},node:m((function(e,t,n,o,r){return h(e[t])?null:new p("Invalid "+o+" `"+r+"` supplied to `"+n+"`, expected a ReactNode.")})),objectOf:function(e){return m((function(t,r,i,a,l){if("function"!=typeof e)return new p("Property `"+l+"` of component `"+i+"` has invalid PropType notation inside objectOf.");var s=t[r],c=y(s);if("object"!==c)return new p("Invalid "+a+" `"+l+"` of type `"+c+"` supplied to `"+i+"`, expected an object.");for(var u in s)if(o(s,u)){var d=e(s,u,i,a,l+"."+u,n);if(d instanceof Error)return d}return null}))},oneOf:function(e){return Array.isArray(e)?m((function(t,n,o,r,i){for(var a=t[n],l=0;l<e.length;l++)if(f(a,e[l]))return null;var s=JSON.stringify(e,(function(e,t){return"symbol"===x(t)?String(t):t}));return new p("Invalid "+r+" `"+i+"` of value `"+String(a)+"` supplied to `"+o+"`, expected one of "+s+".")})):("production"!==process.env.NODE_ENV&&i(arguments.length>1?"Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).":"Invalid argument supplied to oneOf, expected an array."),a)},oneOfType:function(e){if(!Array.isArray(e))return"production"!==process.env.NODE_ENV&&i("Invalid argument supplied to oneOfType, expected an instance of array."),a;for(var t=0;t<e.length;t++){var r=e[t];if("function"!=typeof r)return i("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+v(r)+" at index "+t+"."),a}return m((function(t,r,i,a,l){for(var s=[],c=0;c<e.length;c++){var u=(0,e[c])(t,r,i,a,l,n);if(null==u)return null;u.data&&o(u.data,"expectedType")&&s.push(u.data.expectedType)}return new p("Invalid "+a+" `"+l+"` supplied to `"+i+"`"+(s.length>0?", expected one of type ["+s.join(", ")+"]":"")+".")}))},shape:function(e){return m((function(t,o,r,i,a){var l=t[o],s=y(l);if("object"!==s)return new p("Invalid "+i+" `"+a+"` of type `"+s+"` supplied to `"+r+"`, expected `object`.");for(var c in e){var u=e[c];if("function"!=typeof u)return b(r,i,a,c,x(u));var d=u(l,c,r,i,a+"."+c,n);if(d)return d}return null}))},exact:function(e){return m((function(r,i,a,l,s){var c=r[i],u=y(c);if("object"!==u)return new p("Invalid "+l+" `"+s+"` of type `"+u+"` supplied to `"+a+"`, expected `object`.");var d=t({},r[i],e);for(var f in d){var m=e[f];if(o(e,f)&&"function"!=typeof m)return b(a,l,s,f,x(m));if(!m)return new p("Invalid "+l+" `"+s+"` key `"+f+"` supplied to `"+a+"`.\nBad object: "+JSON.stringify(r[i],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(e),null," "));var g=m(c,f,a,l,s+"."+f,n);if(g)return g}return null}))}};function f(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function p(e,t){this.message=e,this.data=t&&"object"==typeof t?t:{},this.stack=""}function m(e){if("production"!==process.env.NODE_ENV)var t={},o=0;function r(r,a,l,c,d,f,m){if(c=c||u,f=f||l,m!==n){if(s){var g=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw g.name="Invariant Violation",g}if("production"!==process.env.NODE_ENV&&"undefined"!=typeof console){var b=c+":"+l;!t[b]&&o<3&&(i("You are manually calling a React.PropTypes validation function for the `"+f+"` prop on `"+c+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),t[b]=!0,o++)}}return null==a[l]?r?null===a[l]?new p("The "+d+" `"+f+"` is marked as required in `"+c+"`, but its value is `null`."):new p("The "+d+" `"+f+"` is marked as required in `"+c+"`, but its value is `undefined`."):null:e(a,l,c,d,f)}var a=r.bind(null,!1);return a.isRequired=r.bind(null,!0),a}function g(e){return m((function(t,n,o,r,i,a){var l=t[n];return y(l)!==e?new p("Invalid "+r+" `"+i+"` of type `"+x(l)+"` supplied to `"+o+"`, expected `"+e+"`.",{expectedType:e}):null}))}function b(e,t,n,o,r){return new p((e||"React class")+": "+t+" type `"+n+"."+o+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+r+"`.")}function h(e){switch(typeof e){case"number":case"string":case"undefined":return!0;case"boolean":return!e;case"object":if(Array.isArray(e))return e.every(h);if(null===e||l(e))return!0;var t=function(e){var t=e&&(c&&e[c]||e["@@iterator"]);if("function"==typeof t)return t}(e);if(!t)return!1;var n,o=t.call(e);if(t!==e.entries){for(;!(n=o.next()).done;)if(!h(n.value))return!1}else for(;!(n=o.next()).done;){var r=n.value;if(r&&!h(r[1]))return!1}return!0;default:return!1}}function y(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":function(e,t){return"symbol"===e||!!t&&("Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol)}(t,e)?"symbol":t}function x(e){if(null==e)return""+e;var t=y(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function v(e){var t=x(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}return p.prototype=Error.prototype,d.checkPropTypes=r,d.resetWarningCache=r.resetWarningCache,d.PropTypes=d,d},O}()(B.isElement,!0)}else c.exports=function(){if($)return I;$=1;var e=S();function t(){}function n(){}return n.resetWarningCache=t,I=function(){function o(t,n,o,r,i,a){if(a!==e){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function r(){return o}o.isRequired=o;var i={array:o,bigint:o,bool:o,func:o,number:o,object:o,string:o,symbol:o,any:o,arrayOf:r,element:o,elementType:o,instanceOf:r,node:o,objectOf:r,oneOf:r,oneOfType:r,shape:r,exact:r,checkPropTypes:n,resetWarningCache:t};return i.PropTypes=i,i}}()();var E=l(c.exports);const L={xs:{label:"Extra pequeño",description:"Icono muy pequeño",size:"12px",className:"icon-xs"},small:{label:"Pequeño",description:"Icono pequeño",size:"16px",className:"icon-sm"},medium:{label:"Mediano",description:"Icono estándar",size:"20px",className:"icon-md"},large:{label:"Grande",description:"Icono grande",size:"24px",className:"icon-lg"},xlarge:{label:"Extra grande",description:"Icono muy grande",size:"32px",className:"icon-xl"},"2x":{label:"2X",description:"Icono 2 veces más grande",size:"40px",className:"icon-2x"},"3x":{label:"3X",description:"Icono 3 veces más grande",size:"60px",className:"icon-3x"}},R=e=>{if(!e)return"";return{blue:"text-blue-500",red:"text-red-500",green:"text-green-500",yellow:"text-yellow-500",purple:"text-purple-500",pink:"text-pink-500",indigo:"text-indigo-500",gray:"text-gray-500",orange:"text-orange-500",teal:"text-teal-500",cyan:"text-cyan-500",emerald:"text-emerald-500",white:"text-white",black:"text-black","blue-600":"text-blue-600","red-600":"text-red-600","green-600":"text-green-600","gray-600":"text-gray-600","gray-700":"text-gray-700","gray-800":"text-gray-800","gray-900":"text-gray-900","blue-400":"text-blue-400","blue-700":"text-blue-700","red-400":"text-red-400","red-700":"text-red-700","green-400":"text-green-400","green-700":"text-green-700"}[e]||"text-gray-500"},z=({name:e,icon:t,type:n="fas",svg:i,svgData:a,src:l,alt:s="",emoji:c,unicode:u,size:d="medium",variant:f="default",color:p,textColor:m,className:g="",onClick:b,onMouseEnter:h,onMouseLeave:y,disabled:x=!1,loading:v=!1,ariaLabel:w,title:O,role:k="img",...I})=>{const $=(({size:e="medium",variant:t="default",className:n="",disabled:o=!1,loading:r=!1,textColor:i})=>{const a=L[e]?.className||"icon-md";let l;return l=i?R(i):`icon-${t}`,["icon-component inline-flex items-center justify-center transition-all duration-200",a,l,[o&&"icon-disabled",r&&"icon-loading"].filter(Boolean).join(" "),n].filter(Boolean).join(" ").trim()})({size:d,variant:f,className:g,disabled:x,loading:v,textColor:m});let C="default";v?C="loading":c?C="emoji":u?C="unicode":a?C="svgData":i?C="svg":l?C="image":(e||t)&&(C="fontawesome");const T={color:p,cursor:b&&!x?"pointer":"default",opacity:x?.5:1,...I.style};return r("span",{className:$,style:T,onClick:x?void 0:b,onMouseEnter:h,onMouseLeave:y,"data-testid":"Icon","data-icon-type":C,role:k,"aria-label":w,title:O,...I,children:(()=>{switch(C){case"loading":return r("span",{className:"icon-loading animate-spin",children:r(o,{icon:"spinner"})});case"emoji":return r("span",{className:"icon-emoji",role:"img","aria-label":w||s,children:c});case"unicode":return r("span",{className:"icon-unicode",role:"img","aria-label":w||s,children:String.fromCharCode(u)});case"svgData":return r("img",{className:"icon-svg-data",src:a,alt:s,"aria-label":w,title:O});case"svg":return"string"==typeof i?r("span",{className:"icon-svg-custom","data-testid":"custom-svg",dangerouslySetInnerHTML:{__html:i},"aria-label":w,title:O}):i;case"image":return r("img",{className:"icon-image",src:l,alt:s,"aria-label":w,title:O});case"fontawesome":return r(o,{icon:t||[n,e],className:"icon-fontawesome",title:O});default:return r("span",{className:"icon-default",role:"img","aria-label":"Icon",children:"⚡"})}})()})};z.propTypes={name:E.string,icon:E.oneOfType([E.string,E.array]),type:E.oneOf(["fas","far","fab","fal","fad"]),svg:E.string,svgData:E.string,src:E.string,alt:E.string,emoji:E.string,unicode:E.number,size:E.oneOf(Object.keys(L)),variant:E.oneOf(Object.keys({default:{label:"Por defecto",description:"Icono estándar sin estilos especiales"},primary:{label:"Primario",description:"Icono con color primario"},secondary:{label:"Secundario",description:"Icono con color secundario"},success:{label:"Éxito",description:"Icono verde de éxito"},warning:{label:"Advertencia",description:"Icono amarillo de advertencia"},error:{label:"Error",description:"Icono rojo de error"},info:{label:"Información",description:"Icono azul informativo"},muted:{label:"Silenciado",description:"Icono con menor prominencia"},inverse:{label:"Inverso",description:"Icono para fondos oscuros"}})),color:E.string,textColor:E.string,className:E.string,onClick:E.func,onMouseEnter:E.func,onMouseLeave:E.func,disabled:E.bool,loading:E.bool,ariaLabel:E.string,title:E.string,role:E.string};const P={"blue-purple":{label:"Azul a Púrpura",from:"#3b82f6",to:"#8b5cf6"},"red-orange":{label:"Rojo a Naranja",from:"#ef4444",to:"#f97316"},"green-blue":{label:"Verde a Azul",from:"#10b981",to:"#06b6d4"},"purple-pink":{label:"Púrpura a Rosa",from:"#8b5cf6",to:"#ec4899"},"yellow-red":{label:"Amarillo a Rojo",from:"#f59e0b",to:"#ef4444"},"cyan-purple":{label:"Cian a Púrpura",from:"#06b6d4",to:"#8b5cf6"}},D={cyan:{label:"Cian neón",color:"#00ffff",description:"Neón azul cian clásico"},pink:{label:"Rosa neón",color:"#ff00ff",description:"Neón rosa vibrante"},green:{label:"Verde neón",color:"#00ff00",description:"Neón verde brillante"},orange:{label:"Naranja neón",color:"#ff6600",description:"Neón naranja intenso"},purple:{label:"Púrpura neón",color:"#9900ff",description:"Neón púrpura eléctrico"},yellow:{label:"Amarillo neón",color:"#ffff00",description:"Neón amarillo brillante"},red:{label:"Rojo neón",color:"#ff0040",description:"Neón rojo intenso"},blue:{label:"Azul neón",color:"#0080ff",description:"Neón azul eléctrico"}},_=({children:o,variant:l="default",size:s="medium",as:c="span",color:u,gradientFrom:d,gradientTo:f,gradientType:p="blue-purple",neonColor:m="cyan",typewriterSpeed:g=80,typewriterLoop:b=!1,typewriterPause:h=300,htmlContent:y=!1,className:x="",...v})=>{const w=c,O=(({variant:e="default",size:t="medium",color:n,className:o=""})=>{const r="text",i=[];return e&&"default"!==e&&i.push(`${r}--${e}`),t&&"medium"!==t&&i.push(`${r}--${t}`),n&&"default"!==n&&i.push(`${r}--color-${n}`),[r,...i,o].filter(Boolean).join(" ").trim()})({variant:l,size:s,color:u,className:x}),[k,I]=e(""),[$,C]=e(0),[T,N]=e(!1),[S,j]=e(!1),B=t(null),E=t(null),L=t(!0),R=String(o||"");n((()=>(L.current=!0,"typewriter"!==l?(z(),void I(R)):(_(),()=>{L.current=!1,z()}))),[l,R,g,b,h,y]),n((()=>()=>{L.current=!1,z()}),[]);const z=()=>{B.current&&(clearInterval(B.current),B.current=null),E.current&&(clearTimeout(E.current),E.current=null)},_=()=>{z(),I(""),j(!0);let e=0;const t=()=>{if(L.current)if(e<R.length){if(y){const t=A(R,e+1);I(t)}else I(R.substring(0,e+1));e++,B.current=setTimeout(t,g)}else j(!1),b&&L.current&&(E.current=setTimeout((()=>{L.current&&_()}),h))};t()},A=(e,t)=>{if(!y)return e.substring(0,t);if(!e||t<=0)return"";if(t>=e.length)return e;try{const n=document.createElement("div");n.innerHTML=e;let o=0;const r=document.createElement("div"),i=(e,n)=>{if(o>=t)return!1;if(e.nodeType===Node.TEXT_NODE){const r=e.textContent||"",i=t-o;if(!(r.length<=i)){const e=r.substring(0,i);return n.appendChild(document.createTextNode(e)),o+=e.length,!1}n.appendChild(document.createTextNode(r)),o+=r.length}else if(e.nodeType===Node.ELEMENT_NODE){const t=document.createElement(e.tagName.toLowerCase());for(let n=0;n<e.attributes.length;n++){const o=e.attributes[n];t.setAttribute(o.name,o.value)}n.appendChild(t);for(let n of e.childNodes)if(!i(n,t))break}return o<t};for(let e of n.childNodes)if(!i(e,r))break;return r.innerHTML}catch(n){return e.substring(0,t)}},F={...(()=>{if("gradient"===l||"gradient-animated"===l){let e,t;return d&&f?(e=d,t=f):P[p]?(e=P[p].from,t=P[p].to):(e="#3b82f6",t="#8b5cf6"),{background:`linear-gradient(135deg, ${e}, ${t})`,backgroundSize:"gradient-animated"===l?"300% 300%":"100% 100%",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent",backgroundClip:"text",fontWeight:600,display:"inline-block"}}return{}})(),...(()=>{if("neon"===l){const e=D[m]?.color||"#00ffff";return{color:e,textShadow:`\n 0 0 5px ${e},\n 0 0 10px ${e},\n 0 0 15px ${e},\n 0 0 20px ${e},\n 0 0 35px ${e}\n `,fontWeight:600,display:"inline-block",animation:"neonPulse 2s ease-in-out infinite alternate"}}return{}})()};return r(w,{className:O,style:Object.keys(F).length>0?F:void 0,"data-testid":"Text",...v,children:"typewriter"===l?i(a,{children:[y?r("span",{dangerouslySetInnerHTML:{__html:k}}):k,S&&r("span",{className:"typewriter-cursor",children:"|"})]}):y?r("span",{dangerouslySetInnerHTML:{__html:R}}):R})};_.propTypes={children:E.node.isRequired,variant:E.oneOf(["default","bold","bolder","tiny","light","cursiva","subrayado","muted","gradient","gradient-animated","neon","typewriter"]),size:E.oneOf(["xs","small","medium","large","xlarge","2xl"]),color:E.oneOf(["default","primary","secondary","success","warning","error","info","white","black"]),gradientFrom:E.string,gradientTo:E.string,gradientType:E.string,neonColor:E.oneOf(["cyan","pink","green","orange","purple","yellow","red","blue"]),typewriterSpeed:E.number,typewriterLoop:E.bool,typewriterPause:E.number,htmlContent:E.bool,as:E.oneOf(["span","p","h1","h2","h3","h4","h5","h6","div","label"]),className:E.string};const A=({children:e,type:t="button",variant:n="primary",color:o,textColor:l,size:s="medium",icon:c,iconPosition:u="left",iconSize:d,iconColor:f,loading:p=!1,disabled:m=!1,fullWidth:g=!1,as:b="button",href:h,target:y,onClick:x,onMouseEnter:v,onMouseLeave:w,onFocus:O,onBlur:k,className:I="",...$})=>{const C=(({variant:e="primary",size:t="medium",fullWidth:n=!1,disabled:o=!1,loading:r=!1,hasIcon:i=!1,iconPosition:a="left",color:l,className:s=""})=>{const c="button",u=[];return u.push(`${c}--${e}`),u.push(`${c}--${t}`),n&&u.push(`${c}--full`),o&&u.push(`${c}--disabled`),r&&u.push(`${c}--loading`),i&&u.push(`${c}--with-icon`),i&&"left"!==a&&u.push(`${c}--icon-${a}`),[c,...u,s].filter(Boolean).join(" ")})({variant:n,size:s,fullWidth:g,disabled:m,loading:p,hasIcon:!!c,iconPosition:u,color:o,className:I}),T=l||(e=>({primary:"#ffffff",gradient:"#ffffff",secondary:"#ffffff",success:"#ffffff",danger:"#ffffff",warning:"#ffffff",outline:"#2563eb",ghost:"#2563eb",gameReveal:"#195b81",gameCorrect:"#ffffff",gameIncorrect:"#ffffff",gameRestart:"#ffffff",gameExit:"#ffffff"}[e]||"#ffffff"))(n),N="link"===b?"a":b,S={..."a"===N&&{href:h,target:y},..."button"===N&&{type:t,disabled:m||p},onClick:m||p?void 0:x,onMouseEnter:v,onMouseLeave:w,onFocus:O,onBlur:k,className:C,"data-testid":"Button","aria-disabled":m||p,"aria-busy":p,...$},j=e=>r(_,{size:M(s),className:"button__text",textColor:T,children:e});return r(N,{...S,children:(()=>{const t=p?r(z,{name:"spinner",size:d||F(s),className:"button__icon button__icon--loading",color:f||T,ariaLabel:"Cargando"}):c?r(z,{name:c,size:d||F(s),className:"button__icon",color:f||T}):null,n=p?"Cargando...":e,o=n&&void 0!==n;if(t&&!o)return t;if(!t&&o)return j(n);if(t&&o){const e=j(n);switch(u){case"top":case"left":default:return i(a,{children:[t,e]});case"bottom":case"right":return i(a,{children:[e,t]})}}return n})()})},F=e=>{switch(e){case"xs":return"xs";case"small":case"game":case"medium":default:return"small";case"large":return"medium";case"xlarge":return"large"}},M=e=>{switch(e){case"xs":return"xs";case"small":case"game":case"medium":default:return"small";case"large":return"medium";case"xlarge":return"large"}};A.propTypes={children:E.node,type:E.oneOf(["button","submit","reset"]),variant:E.oneOf(Object.keys({primary:{label:"Primario",description:"Botón plano, color sólido"},gradient:{label:"Degradado",description:"Botón con degradado y sombra"},secondary:{label:"Secundario",description:"Botón secundario con gradiente gris"},success:{label:"Éxito",description:"Botón de éxito con gradiente verde"},danger:{label:"Peligro",description:"Botón de peligro con gradiente rojo"},warning:{label:"Advertencia",description:"Botón de advertencia con gradiente amarillo"},outline:{label:"Contorno",description:"Botón con solo borde"},ghost:{label:"Fantasma",description:"Botón transparente"},gameReveal:{label:"Revelar Juego",description:"Botón para revelar en juegos"},gameCorrect:{label:"Correcto Juego",description:"Botón de respuesta correcta"},gameIncorrect:{label:"Incorrecto Juego",description:"Botón de respuesta incorrecta"},gameRestart:{label:"Reiniciar Juego",description:"Botón para reiniciar juego"},gameExit:{label:"Salir Juego",description:"Botón para salir del juego"}})),color:E.string,textColor:E.string,size:E.oneOf(Object.keys({xs:{label:"Extra pequeño",description:"Botón muy compacto"},small:{label:"Pequeño",description:"Botón compacto"},medium:{label:"Mediano",description:"Botón estándar"},large:{label:"Grande",description:"Botón prominente"},xlarge:{label:"Extra grande",description:"Botón muy prominente"},game:{label:"Juego",description:"Tamaño específico para botones de juego"}})),icon:E.string,iconPosition:E.oneOf(["left","right","top","bottom"]),iconSize:E.string,iconColor:E.string,loading:E.bool,disabled:E.bool,fullWidth:E.bool,as:E.oneOf(["button","a","link","div"]),href:E.string,target:E.string,onClick:E.func,onMouseEnter:E.func,onMouseLeave:E.func,onFocus:E.func,onBlur:E.func,className:E.string};const W=({value:t,defaultValue:n,placeholder:o="",type:a="text",variant:l="default",size:s="medium",disabled:c=!1,readOnly:u=!1,required:d=!1,error:f,success:p,helperText:m,icon:g,iconLeft:b,iconRight:h,iconPosition:y="left",onIconClick:x,onIconLeftClick:v,onIconRightClick:w,showPasswordToggle:O=!1,label:k,fullWidth:I=!0,onChange:$,onBlur:C,onFocus:T,onKeyDown:N,id:S,name:j,autoComplete:B,autoFocus:E,maxLength:L,minLength:R,className:P="",...D})=>{const[A,F]=e(!1),[M,W]=e(a);React.useEffect((()=>{W(O&&"password"===a?A?"text":"password":a)}),[a,A,O]);const V={small:"px-3 py-1.5 text-sm h-8",medium:"px-3 py-2 text-base h-10",large:"px-4 py-3 text-lg h-12"},q=f?"error":p?"success":l,{leftIconConfig:H,rightIconConfig:U}=(()=>{let e=null,t=null;if(b?e={name:b,onClick:v,clickable:!!v}:g&&"left"===y&&(e={name:g,onClick:x,clickable:!!x}),h?t={name:h,onClick:w,clickable:!!w}:g&&"right"===y&&(t={name:g,onClick:x,clickable:!!x}),O&&"password"===a){t||(t={name:A?"eye-slash":"eye",onClick:()=>F(!A),clickable:!0})}return{leftIconConfig:e,rightIconConfig:t}})(),J=(e,t)=>{if(!e)return null;const n="small"===s?"xs":"large"===s?"medium":"small",o="left"===t?"left-3":"right-3";return r(z,{name:e.name,size:n,onClick:e.clickable?e.onClick:void 0,className:`\n absolute ${o} top-1/2 transform -translate-y-1/2 \n ${e.clickable?"text-gray-600 cursor-pointer hover:text-blue-500":"text-gray-400 pointer-events-none"}\n transition-colors duration-200\n `})};return i("div",{className:"input-container "+(I?"w-full":"inline-block"),children:[k&&i(_,{as:"label",htmlFor:S,className:"block text-sm font-medium text-gray-700 mb-2",children:[k,d&&r("span",{className:"text-red-500 ml-1",children:"*"})]}),i("div",{className:"relative",children:[r("input",{id:S,name:j,type:M,value:t,defaultValue:n,placeholder:o,disabled:c,readOnly:u,required:d,autoComplete:B,autoFocus:E,maxLength:L,minLength:R,onChange:$,onBlur:C,onFocus:T,onKeyDown:N,className:`\n input-field w-full border rounded-lg transition-all duration-200 focus:outline-none\n ${(()=>{const e=V[s];let t="",n="";if(H&&(t="small"===s?"pl-8":"large"===s?"pl-12":"pl-10"),U&&(n="small"===s?"pr-8":"large"===s?"pr-12":"pr-10"),H&&U){const t="small"===s?"px-8":"large"===s?"px-12":"px-10";return`py-${e.split(" ")[1].split("-")[1]} ${t}`}if(t||n){return`${e.split(" ").find((e=>e.startsWith("py-")))} ${t} ${n}`.trim()}return e})()}\n ${V[s].split(" ").find((e=>e.startsWith("text-")))}\n ${V[s].split(" ").find((e=>e.startsWith("h-")))}\n ${{default:"border-gray-300 focus:border-blue-500 focus:ring-2 focus:ring-blue-100",success:"border-green-500 bg-green-50 focus:border-green-600 focus:ring-2 focus:ring-green-100",error:"border-red-500 bg-red-50 focus:border-red-600 focus:ring-2 focus:ring-red-100",warning:"border-yellow-500 bg-yellow-50 focus:border-yellow-600 focus:ring-2 focus:ring-yellow-100"}[q]}\n ${c?"opacity-50 cursor-not-allowed bg-gray-100":"bg-white"}\n ${u?"bg-gray-50 cursor-default":""}\n ${P}\n `,"aria-invalid":!!f,"aria-describedby":f?`${S}-error`:m?`${S}-helper`:void 0,"data-testid":S||"input-field",...D}),J(H,"left"),J(U,"right")]}),(()=>{const e=f||p||m;if(!e)return null;return r(_,{size:"xs",className:`mt-1 block ${f?"text-red-500":p?"text-green-500":"text-gray-500"}`,children:e})})()]})};W.propTypes={value:E.oneOfType([E.string,E.number]),defaultValue:E.oneOfType([E.string,E.number]),placeholder:E.string,type:E.oneOf(["text","email","password","number","tel","url","search"]),variant:E.oneOf(["default","success","error","warning"]),size:E.oneOf(["small","medium","large"]),disabled:E.bool,readOnly:E.bool,required:E.bool,error:E.string,success:E.string,helperText:E.string,icon:E.string,iconLeft:E.string,iconRight:E.string,iconPosition:E.oneOf(["left","right"]),onIconClick:E.func,onIconLeftClick:E.func,onIconRightClick:E.func,showPasswordToggle:E.bool,label:E.string,fullWidth:E.bool,onChange:E.func,onBlur:E.func,onFocus:E.func,onKeyDown:E.func,id:E.string,name:E.string,autoComplete:E.string,autoFocus:E.bool,maxLength:E.number,minLength:E.number,className:E.string};const V=({value:o,defaultValue:a,placeholder:l="",variant:s="default",size:c="medium",disabled:u=!1,readOnly:d=!1,required:f=!1,error:p,success:m,helperText:g,iconLeft:b,iconRight:h,onIconLeftClick:y,onIconRightClick:x,rows:v=3,cols:w,resize:O="vertical",autoGrow:k=!1,maxRows:I=10,minRows:$=2,label:C,fullWidth:T=!0,onChange:N,onBlur:S,onFocus:j,onKeyDown:B,id:E,name:L,autoComplete:R,autoFocus:P,maxLength:D,minLength:A,className:F="",...M})=>{const[W,V]=e(v),q=t(null),H={small:"px-3 py-1.5 text-sm",medium:"px-3 py-2 text-base",large:"px-4 py-3 text-lg"},U=p?"error":m?"success":s,J=()=>{if(!k||!q.current)return;const e=q.current;e.style.height="auto";const t=e.scrollHeight,n=parseInt(getComputedStyle(e).lineHeight),o=Math.min(Math.max(Math.ceil(t/n),$),I);V(o),e.style.height=`${t}px`};n((()=>{k&&J()}),[o,k]);const K=(e,t,n)=>{if(!e)return null;return r(z,{name:e,size:"small"===c?"xs":"large"===c?"medium":"small",onClick:n,className:`\n absolute ${"left"===t?"left-3 top-4":"right-3 top-4"}\n ${n?"text-gray-600 cursor-pointer hover:text-blue-500":"text-gray-400 pointer-events-none"}\n transition-colors duration-200\n `})};return i("div",{className:"textarea-container "+(T?"w-full":"inline-block"),children:[C?i(_,{as:"label",htmlFor:E,size:"small",variant:"bold",className:"block mb-1",children:[C,f&&r("span",{className:"text-red-500 ml-1",children:"*"})]}):null,i("div",{className:"relative",children:[r("textarea",{ref:q,id:E,name:L,value:o,defaultValue:a,placeholder:l,disabled:u,readOnly:d,required:f,autoComplete:R,autoFocus:P,maxLength:D,minLength:A,rows:k?W:v,cols:w,onChange:e=>{N&&N(e),k&&setTimeout(J,0)},onBlur:S,onFocus:j,onKeyDown:B,className:`\n textarea-field w-full border rounded-lg transition-all duration-200 focus:outline-none\n ${(()=>{const e=H[c];let t="",n="";if(b&&(t="small"===c?"pl-8":"large"===c?"pl-12":"pl-10"),h&&(n="small"===c?"pr-8":"large"===c?"pr-12":"pr-10"),b&&h){const t="small"===c?"px-8":"large"===c?"px-12":"px-10";return`py-${e.split(" ")[1].split("-")[1]} ${t}`}if(t||n){return`${e.split(" ").find((e=>e.startsWith("py-")))} ${t} ${n}`.trim()}return e})()}\n ${H[c].split(" ").find((e=>e.startsWith("text-")))}\n ${{default:"border-gray-300 focus:border-blue-500 focus:ring-2 focus:ring-blue-100",success:"border-green-500 bg-green-50 focus:border-green-600 focus:ring-2 focus:ring-green-100",error:"border-red-500 bg-red-50 focus:border-red-600 focus:ring-2 focus:ring-red-100",warning:"border-yellow-500 bg-yellow-50 focus:border-yellow-600 focus:ring-2 focus:ring-yellow-100"}[U]}\n ${{none:"resize-none",horizontal:"resize-x",vertical:"resize-y",both:"resize"}[O]}\n ${u?"opacity-50 cursor-not-allowed bg-gray-100":"bg-white"}\n ${d?"bg-gray-50 cursor-default":""}\n ${k?"overflow-hidden":""}\n ${F}\n `,style:{minHeight:k?1.5*$+"rem":void 0,maxHeight:k?1.5*I+"rem":void 0,lineHeight:"1.5"},"aria-invalid":!!p,"aria-describedby":p?`${E}-error`:g?`${E}-helper`:void 0,...M}),K(b,"left",y),K(h,"right",x)]}),i("div",{className:"flex justify-between items-start mt-1",children:[r("div",{className:"flex-1",children:(()=>{const e=p||m||g;if(!e)return null;return r(_,{size:"xs",className:`mt-1 block ${p?"text-red-500":m?"text-green-500":"text-gray-500"}`,children:e})})()}),r("div",{className:"flex-shrink-0 ml-2",children:(()=>{if(!D)return null;const e=o?o.length:0;return i(_,{size:"xs",className:"mt-1 text-right block "+(e>D?"text-red-500":e>.8*D?"text-yellow-500":"text-gray-400"),children:[e,D&&`/${D}`]})})()})]})]})};V.propTypes={value:E.string,defaultValue:E.string,placeholder:E.string,variant:E.oneOf(["default","success","error","warning"]),size:E.oneOf(["small","medium","large"]),disabled:E.bool,readOnly:E.bool,required:E.bool,error:E.string,success:E.string,helperText:E.string,iconLeft:E.string,iconRight:E.string,onIconLeftClick:E.func,onIconRightClick:E.func,rows:E.number,cols:E.number,resize:E.oneOf(["none","horizontal","vertical","both"]),autoGrow:E.bool,maxRows:E.number,minRows:E.number,label:E.string,fullWidth:E.bool,onChange:E.func,onBlur:E.func,onFocus:E.func,onKeyDown:E.func,id:E.string,name:E.string,autoComplete:E.string,autoFocus:E.bool,maxLength:E.number,minLength:E.number,className:E.string};const q=({children:e,count:t,variant:n="default",size:o="medium",shape:a="rounded",icon:l,iconPosition:s="left",dismissible:c=!1,onDismiss:u,positioned:d=!1,position:f="top-right",dot:p=!1,invisible:m=!1,showZero:g=!1,max:b=99,onClick:h,className:y="",...x})=>{const v=()=>{if(!l||p)return null;return r(z,{name:l,size:"small"===o?"xs":"large"===o?"small":"xs",className:("right"===s?"ml-1":"mr-1")+" flex-shrink-0"})};if(!!m||void 0!==t&&0===t&&!g||!e&&void 0===t&&!p)return null;const w=p?null:void 0!==t?0!==t||g?t>b?`${b}+`:t:null:e,O=["badge-component inline-flex items-center justify-center font-medium transition-all duration-200",{default:"bg-gray-100 text-gray-800 border border-gray-200",primary:"bg-blue-500 text-white",secondary:"bg-gray-500 text-white",success:"bg-green-500 text-white",warning:"bg-yellow-500 text-black",error:"bg-red-500 text-white",info:"bg-blue-400 text-white",light:"bg-gray-50 text-gray-700 border border-gray-200",dark:"bg-gray-800 text-white"}[n],{small:p?"w-2 h-2":"px-1.5 py-0.5 text-xs min-w-[1rem] h-4",medium:p?"w-2.5 h-2.5":"px-2 py-1 text-xs min-w-[1.25rem] h-5",large:p?"w-3 h-3":"px-2.5 py-1 text-sm min-w-[1.5rem] h-6"}[o],{rounded:"rounded",pill:"rounded-full",square:"rounded-none"}[a],d&&{"top-right":"absolute -top-1 -right-1 transform translate-x-1/2 -translate-y-1/2","top-left":"absolute -top-1 -left-1 transform -translate-x-1/2 -translate-y-1/2","bottom-right":"absolute -bottom-1 -right-1 transform translate-x-1/2 translate-y-1/2","bottom-left":"absolute -bottom-1 -left-1 transform -translate-x-1/2 translate-y-1/2"}[f],d&&"z-10",h&&"cursor-pointer hover:opacity-80",p&&"rounded-full",y].filter(Boolean).join(" "),k=i("span",{className:O,onClick:h,"data-testid":"Badge","data-variant":n,"data-size":o,"data-positioned":d,"data-dot":p,...x,children:["left"===s&&v(),!p&&w&&r(_,{size:"large"===o?"small":"xs",className:"leading-none font-medium",children:w}),"right"===s&&v(),(()=>{if(!c)return null;return r(z,{name:"times",size:"xs",onClick:u,className:"ml-1 cursor-pointer hover:opacity-70 flex-shrink-0"})})()]});return d?r("div",{className:"relative inline-block",children:k}):k};q.propTypes={children:E.node,count:E.number,variant:E.oneOf(["default","primary","secondary","success","warning","error","info","light","dark"]),size:E.oneOf(["small","medium","large"]),shape:E.oneOf(["rounded","pill","square"]),icon:E.string,iconPosition:E.oneOf(["left","right"]),dismissible:E.bool,onDismiss:E.func,positioned:E.bool,position:E.oneOf(["top-right","top-left","bottom-right","bottom-left"]),dot:E.bool,invisible:E.bool,showZero:E.bool,max:E.number,onClick:E.func,className:E.string};const H=({src:e,alt:t="",w:n,h:o,wType:i="px",hType:a="px",borderRadius:l,borderRadiusType:s="px",borderWidth:c,borderWidthType:u="px",borderStyle:d="solid",borderColor:f="#000000",shadowOffsetX:p=0,shadowOffsetY:m=0,shadowBlur:g=0,shadowSpread:b=0,shadowColor:h="#000000",shadowOpacity:y=.3,shadowInset:x=!1,objectFit:v="cover",lazy:w=!0,loading:O="lazy",placeholder:k="blur",quality:I=75,filter:$,grayscale:C=!1,sepia:T=!1,brightness:N=1,contrast:S=1,saturate:j=1,fadeIn:B=!0,fadeInDuration:E=300,hoverEffect:L="none",transition:R="all 0.3s ease",fallbackSrc:z,retryAttempts:P=3,draggable:D=!1,selectable:_=!1,zoomable:A=!1,onClick:F,onLoad:M,onError:W,onLoadStart:V,onLoadComplete:q,className:H="",...U})=>{const J={width:n?`${n}${i}`:void 0,height:o?`${o}${a}`:void 0,borderRadius:l?`${l}${s}`:void 0,objectFit:v,display:"block",userSelect:_?"auto":"none",filter:(()=>{const e=[];return $&&e.push($),C&&e.push("grayscale(100%)"),T&&e.push("sepia(100%)"),1!==N&&e.push(`brightness(${N})`),1!==S&&e.push(`contrast(${S})`),1!==j&&e.push(`saturate(${j})`),e.length>0?e.join(" "):void 0})()};if(J.transition="none"!==L?"zoom"===L||"scale"===L?"transform 0.3s ease":"brightness"===L||"blur"===L?"filter 0.3s ease":R:R,c&&(J.border=`${c}${u} ${d} ${f}`),p||m||g||b){const e=(K=h,Y=y,`rgba(${parseInt(K.slice(1,3),16)}, ${parseInt(K.slice(3,5),16)}, ${parseInt(K.slice(5,7),16)}, ${Y})`),t=x?"inset ":"";J.boxShadow=`${t}${p}px ${m}px ${g}px ${b}px ${e}`}var K,Y;const G=["image","none"!==L?`image--hover-${L}`:"",A?"image--zoomable":"",B?"image--fade-in":"",H].filter(Boolean).join(" ");return r("img",{src:e,alt:t,style:J,className:G,loading:w?O:"eager",draggable:D,onClick:F,onLoad:M,onError:W,onLoadStart:V,"data-testid":"Image",...U})};H.propTypes={src:E.string.isRequired,alt:E.string,w:E.number,h:E.number,wType:E.oneOf(["px","em","rem","%","vw","vh","cm","mm","in","pt","pc"]),hType:E.oneOf(["px","em","rem","%","vw","vh","cm","mm","in","pt","pc"]),borderRadius:E.number,borderRadiusType:E.oneOf(["px","em","rem","%"]),borderWidth:E.number,borderWidthType:E.oneOf(["px","em","rem"]),borderStyle:E.oneOf(["solid","dashed","dotted","double","groove","ridge","inset","outset"]),borderColor:E.string,shadowOffsetX:E.number,shadowOffsetY:E.number,shadowBlur:E.number,shadowSpread:E.number,shadowColor:E.string,shadowOpacity:E.number,shadowInset:E.bool,objectFit:E.oneOf(["fill","contain","cover","none","scale-down"]),lazy:E.bool,loading:E.oneOf(["lazy","eager"]),placeholder:E.oneOf(["blur","empty","skeleton"]),quality:E.number,filter:E.string,grayscale:E.bool,sepia:E.bool,brightness:E.number,contrast:E.number,saturate:E.number,fadeIn:E.bool,fadeInDuration:E.number,hoverEffect:E.oneOf(["none","zoom","brightness","scale","blur"]),transition:E.string,fallbackSrc:E.string,retryAttempts:E.number,draggable:E.bool,selectable:E.bool,zoomable:E.bool,onClick:E.func,onLoad:E.func,onError:E.func,onLoadStart:E.func,onLoadComplete:E.func,className:E.string};const U=({children:e,variant:t="default",size:n="medium",maxWidth:o="full",padding:i="medium",margin:a="none",centered:l=!1,fluid:s=!1,shadow:c="none",fitContent:u=!1,border:d="none",rounded:f="none",background:p="transparent",className:m="",as:g="div",...b})=>{const h=(({variant:e="default",size:t="medium",maxWidth:n="full",padding:o="medium",margin:r="none",centered:i=!1,fluid:a=!1,shadow:l="none",fitContent:s=!1,border:c="none",rounded:u="none",background:d="transparent",className:f=""})=>{const p="container",m=[];return e&&"default"!==e&&m.push(`${p}--${e}`),t&&"medium"!==t&&m.push(`${p}--${t}`),n&&"full"!==n&&m.push(`${p}--max-${n}`),o&&"medium"!==o&&m.push(`${p}--padding-${o}`),r&&"none"!==r&&m.push(`${p}--margin-${r}`),l&&"none"!==l&&m.push(`${p}--shadow-${l}`),c&&"none"!==c&&m.push(`${p}--border-${c}`),u&&"none"!==u&&m.push(`${p}--rounded-${u}`),d&&"transparent"!==d&&m.push(`${p}--bg-${d}`),s&&m.push(`${p}--fit-content`),i&&m.push(`${p}--centered`),a&&m.push(`${p}--fluid`),[p,...m,f].filter(Boolean).join(" ").trim()})({variant:t,size:n,maxWidth:o,padding:i,margin:a,centered:l,fluid:s,shadow:c,fitContent:u,border:d,rounded:f,background:p,className:m});return r(g,{className:h,"data-testid":"Container",...b,children:e})};U.propTypes={children:E.node,variant:E.oneOf(Object.keys({default:{label:"Por defecto",description:"Contenedor básico sin estilos especiales"},card:{label:"Tarjeta",description:"Contenedor con apariencia de tarjeta"},panel:{label:"Panel",description:"Contenedor con bordes y fondo"},hero:{label:"Héroe",description:"Contenedor para secciones destacadas"},sidebar:{label:"Sidebar",description:"Contenedor para barras laterales"},modal:{label:"Modal",description:"Contenedor para contenido modal"}})),size:E.oneOf(Object.keys({xs:{label:"Extra pequeño",description:"Contenedor muy compacto (320px)"},small:{label:"Pequeño",description:"Contenedor compacto (480px)"},medium:{label:"Mediano",description:"Contenedor estándar (640px)"},large:{label:"Grande",description:"Contenedor amplio (768px)"},xlarge:{label:"Extra grande",description:"Contenedor muy amplio (1024px)"},full:{label:"Completo",description:"Contenedor de ancho completo"}})),maxWidth:E.oneOf(["xs","sm","md","lg","xl","2xl","3xl","4xl","5xl","6xl","7xl","full","none"]),padding:E.oneOf(["none","small","medium","large","xlarge"]),margin:E.oneOf(["none","small","medium","large","xlarge","auto"]),centered:E.bool,fluid:E.bool,shadow:E.oneOf(["none","sm","md","lg","xl","2xl"]),fitContent:E.bool,border:E.oneOf(["none","sm","md","lg","dashed","dotted"]),rounded:E.oneOf(["none","sm","md","lg","xl","2xl","3xl","full"]),background:E.oneOf(["transparent","white","gray","primary","secondary","accent"]),className:E.string,as:E.oneOf(["div","section","article","aside","main","header","footer","nav"])};const J={fadeIn:"fade-in",fadeInTop:"fade-in-top",fadeInBottom:"fade-in-bottom",fadeInLeft:"fade-in-left",fadeInRight:"fade-in-right",fadeInTopLeft:"fade-in-top-left",fadeInTopRight:"fade-in-top-right",fadeInBottomLeft:"fade-in-bottom-left",fadeInBottomRight:"fade-in-bottom-right",fadeInBig:"fade-in-big",fadeInDown:"fade-in-down",fadeInDownBig:"fade-in-down-big",fadeInUp:"fade-in-up",fadeInUpBig:"fade-in-up-big",scaleIn:"scale-in-center",scaleInTop:"scale-in-top",scaleInBottom:"scale-in-bottom",scaleInLeft:"scale-in-left",scaleInRight:"scale-in-right",scaleInTopLeft:"scale-in-top-left",scaleInTopRight:"scale-in-top-right",scaleInBottomLeft:"scale-in-bottom-left",scaleInBottomRight:"scale-in-bottom-right",scaleInHor:"scale-in-hor-center",scaleInVer:"scale-in-ver-center",slideIn:"slide-in-center",slideInTop:"slide-in-top",slideInBottom:"slide-in-bottom",slideInLeft:"slide-in-left",slideInRight:"slide-in-right",slideInBlurredTop:"slide-in-blurred-top",slideInBlurredBottom:"slide-in-blurred-bottom",slideInBlurredLeft:"slide-in-blurred-left",slideInBlurredRight:"slide-in-blurred-right",slideInEllipticTop:"slide-in-elliptic-top-fwd",slideInEllipticBottom:"slide-in-elliptic-bottom-fwd",rotateIn:"rotate-in-center",rotateInLeft:"rotate-in-left",rotateInRight:"rotate-in-right",rotateInTop:"rotate-in-top",rotateInBottom:"rotate-in-bottom",rotateInDiag1:"rotate-in-diag-1",rotateInDiag2:"rotate-in-diag-2",rotateInHor:"rotate-in-hor",rotateInVer:"rotate-in-ver",bounceIn:"bounce-in-center",bounceInTop:"bounce-in-top",bounceInBottom:"bounce-in-bottom",bounceInLeft:"bounce-in-left",bounceInRight:"bounce-in-right",bounceInFwd:"bounce-in-fwd",bounceInBck:"bounce-in-bck",puffIn:"puff-in-center",puffInTop:"puff-in-top",puffInBottom:"puff-in-bottom",puffInLeft:"puff-in-left",puffInRight:"puff-in-right",puffInHor:"puff-in-hor",puffInVer:"puff-in-ver",flipIn:"flip-in-hor-bottom",flipInTop:"flip-in-hor-top",flipInLeft:"flip-in-ver-left",flipInRight:"flip-in-ver-right",flipInDiag1:"flip-in-diag-1-tr",flipInDiag2:"flip-in-diag-2-tl",swingIn:"swing-in-top-fwd",swingInBottom:"swing-in-bottom-fwd",swingInLeft:"swing-in-left-fwd",swingInRight:"swing-in-right-fwd",rollIn:"roll-in-left",rollInRight:"roll-in-right",rollInTop:"roll-in-top",rollInBottom:"roll-in-bottom",rollInBlurred:"roll-in-blurred-left",tiltIn:"tilt-in-fwd-tr",tiltInLeft:"tilt-in-fwd-tl",tiltInBottom:"tilt-in-fwd-br",tiltInRight:"tilt-in-fwd-bl",kenburnsTop:"kenburns-top",kenburnsBottom:"kenburns-bottom",kenburnsLeft:"kenburns-left",kenburnsRight:"kenburns-right",slitIn:"slit-in-vertical",slitInHorizontal:"slit-in-horizontal",slitInDiag1:"slit-in-diagonal-1",slitInDiag2:"slit-in-diagonal-2"},K={fadeOut:"fade-out",fadeOutTop:"fade-out-top",fadeOutBottom:"fade-out-bottom",fadeOutLeft:"fade-out-left",fadeOutRight:"fade-out-right",fadeOutTopLeft:"fade-out-top-left",fadeOutTopRight:"fade-out-top-right",fadeOutBottomLeft:"fade-out-bottom-left",fadeOutBottomRight:"fade-out-bottom-right",fadeOutBig:"fade-out-big",fadeOutDown:"fade-out-down",fadeOutDownBig:"fade-out-down-big",fadeOutUp:"fade-out-up",fadeOutUpBig:"fade-out-up-big",scaleOut:"scale-out-center",scaleOutTop:"scale-out-top",scaleOutBottom:"scale-out-bottom",scaleOutLeft:"scale-out-left",scaleOutRight:"scale-out-right",scaleOutHor:"scale-out-horizontal",scaleOutVer:"scale-out-vertical",slideOut:"slide-out-center",slideOutTop:"slide-out-top",slideOutBottom:"slide-out-bottom",slideOutLeft:"slide-out-left",slideOutRight:"slide-out-right",slideOutBlurredTop:"slide-out-blurred-top",slideOutBlurredBottom:"slide-out-blurred-bottom",slideOutBlurredLeft:"slide-out-blurred-left",slideOutBlurredRight:"slide-out-blurred-right",rotateOut:"rotate-out-center",rotateOutLeft:"rotate-out-left",rotateOutRight:"rotate-out-right",rotateOutTop:"rotate-out-top",rotateOutBottom:"rotate-out-bottom",rotateOutDiag1:"rotate-out-diag-1",rotateOutDiag2:"rotate-out-diag-2",bounceOut:"bounce-out-center",bounceOutTop:"bounce-out-top",bounceOutBottom:"bounce-out-bottom",bounceOutLeft:"bounce-out-left",bounceOutRight:"bounce-out-right",puffOut:"puff-out-center",puffOutTop:"puff-out-top",puffOutBottom:"puff-out-bottom",puffOutLeft:"puff-out-left",puffOutRight:"puff-out-right",flipOut:"flip-out-hor-bottom",flipOutTop:"flip-out-hor-top",flipOutLeft:"flip-out-ver-left",flipOutRight:"flip-out-ver-right",swingOut:"swing-out-top-fwd",swingOutBottom:"swing-out-bottom-fwd",swingOutLeft:"swing-out-left-fwd",swingOutRight:"swing-out-right-fwd",rollOut:"roll-out-left",rollOutRight:"roll-out-right",rollOutTop:"roll-out-top",rollOutBottom:"roll-out-bottom",tiltOut:"tilt-out-fwd-tr",tiltOutLeft:"tilt-out-fwd-tl",tiltOutBottom:"tilt-out-fwd-br",tiltOutRight:"tilt-out-fwd-bl"},Y={bounce:"bounce-top",boun