@gambito-corp/mbs-library
Version:
Librería de componentes React reutilizables - Sistema de diseño modular y escalable
14 lines • 56.6 kB
JavaScript
"use strict";var React=require("react"),e=require("@fortawesome/react-fontawesome"),t=require("react/jsx-runtime");function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var o,r={exports:{}},a={exports:{}},i={};var l,s,c,u,d,f,p,m,g,b,h,y,x,w,v={};
/** @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 O(){return s||(s=1,"production"===process.env.NODE_ENV?a.exports=function(){if(o)return i;o=1;var e="function"==typeof Symbol&&Symbol.for,t=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,r=e?Symbol.for("react.fragment"):60107,a=e?Symbol.for("react.strict_mode"):60108,l=e?Symbol.for("react.profiler"):60114,s=e?Symbol.for("react.provider"):60109,c=e?Symbol.for("react.context"):60110,u=e?Symbol.for("react.async_mode"):60111,d=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,w=e?Symbol.for("react.scope"):60119;function v(e){if("object"==typeof e&&null!==e){var o=e.$$typeof;switch(o){case t:switch(e=e.type){case u:case d:case r:case l:case a:case p:return e;default:switch(e=e&&e.$$typeof){case c:case f:case b:case g:case s:return e;default:return o}}case n:return o}}}function O(e){return v(e)===d}return i.AsyncMode=u,i.ConcurrentMode=d,i.ContextConsumer=c,i.ContextProvider=s,i.Element=t,i.ForwardRef=f,i.Fragment=r,i.Lazy=b,i.Memo=g,i.Portal=n,i.Profiler=l,i.StrictMode=a,i.Suspense=p,i.isAsyncMode=function(e){return O(e)||v(e)===u},i.isConcurrentMode=O,i.isContextConsumer=function(e){return v(e)===c},i.isContextProvider=function(e){return v(e)===s},i.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===t},i.isForwardRef=function(e){return v(e)===f},i.isFragment=function(e){return v(e)===r},i.isLazy=function(e){return v(e)===b},i.isMemo=function(e){return v(e)===g},i.isPortal=function(e){return v(e)===n},i.isProfiler=function(e){return v(e)===l},i.isStrictMode=function(e){return v(e)===a},i.isSuspense=function(e){return v(e)===p},i.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===r||e===d||e===l||e===a||e===p||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===b||e.$$typeof===g||e.$$typeof===s||e.$$typeof===c||e.$$typeof===f||e.$$typeof===y||e.$$typeof===x||e.$$typeof===w||e.$$typeof===h)},i.typeOf=v,i}():a.exports=(l||(l=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,a=e?Symbol.for("react.profiler"):60114,i=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 a:case r:case d:return g;default:var b=g&&g.$$typeof;switch(b){case l:case u:case m:case p:case i:return b;default:return f}}case n:return f}}}var w=s,O=c,k=l,I=i,j=t,$=u,C=o,T=m,N=p,S=n,B=a,E=r,R=d,L=!1;function z(e){return x(e)===c}v.AsyncMode=w,v.ConcurrentMode=O,v.ContextConsumer=k,v.ContextProvider=I,v.Element=j,v.ForwardRef=$,v.Fragment=C,v.Lazy=T,v.Memo=N,v.Portal=S,v.Profiler=B,v.StrictMode=E,v.Suspense=R,v.isAsyncMode=function(e){return L||(L=!0),z(e)||x(e)===s},v.isConcurrentMode=z,v.isContextConsumer=function(e){return x(e)===l},v.isContextProvider=function(e){return x(e)===i},v.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===t},v.isForwardRef=function(e){return x(e)===u},v.isFragment=function(e){return x(e)===o},v.isLazy=function(e){return x(e)===m},v.isMemo=function(e){return x(e)===p},v.isPortal=function(e){return x(e)===n},v.isProfiler=function(e){return x(e)===a},v.isStrictMode=function(e){return x(e)===r},v.isSuspense=function(e){return x(e)===d},v.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===c||e===a||e===r||e===d||e===f||"object"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===p||e.$$typeof===i||e.$$typeof===l||e.$$typeof===u||e.$$typeof===b||e.$$typeof===h||e.$$typeof===y||e.$$typeof===g)},v.typeOf=x}()),v)),a.exports}
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/function k(){if(u)return c;u=1;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;return c=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 a,i,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 a=Object(arguments[s]))t.call(a,c)&&(l[c]=a[c]);if(e){i=e(a);for(var u=0;u<i.length;u++)n.call(a,i[u])&&(l[i[u]]=a[i[u]])}}return l},c}function I(){if(f)return d;f=1;return d="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}function j(){return m?p:(m=1,p=Function.call.bind(Object.prototype.hasOwnProperty))}if("production"!==process.env.NODE_ENV){var $=O();r.exports=function(){if(y)return h;y=1;var e=O(),t=k(),n=I(),o=j(),r=function(){if(b)return g;b=1;var e=function(){};if("production"!==process.env.NODE_ENV){var t=I(),n={},o=j();e=function(e){var t="Warning: "+e;try{throw new Error(t)}catch(e){}}}function r(r,a,i,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")+": "+i+" 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](a,c,l,i,null,t)}catch(e){u=e}if(!u||u instanceof Error||e((l||"React class")+": type specification of "+i+" `"+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 "+i+" type: "+u.message+(null!=f?f:""))}}}return r.resetWarningCache=function(){"production"!==process.env.NODE_ENV&&(n={})},g=r}(),a=function(){};function i(){return null}return"production"!==process.env.NODE_ENV&&(a=function(e){var t="Warning: "+e;try{throw new Error(t)}catch(e){}}),h=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(i),arrayOf:function(e){return m((function(t,o,r,a,i){if("function"!=typeof e)return new p("Property `"+i+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var l=t[o];if(!Array.isArray(l))return new p("Invalid "+a+" `"+i+"` of type `"+y(l)+"` supplied to `"+r+"`, expected an array.");for(var s=0;s<l.length;s++){var c=e(l,s,r,a,i+"["+s+"]",n);if(c instanceof Error)return c}return null}))},element:m((function(e,t,n,o,r){var a=e[t];return l(a)?null:new p("Invalid "+o+" `"+r+"` of type `"+y(a)+"` supplied to `"+n+"`, expected a single ReactElement.")})),elementType:m((function(t,n,o,r,a){var i=t[n];return e.isValidElementType(i)?null:new p("Invalid "+r+" `"+a+"` of type `"+y(i)+"` supplied to `"+o+"`, expected a single ReactElement type.")})),instanceOf:function(e){return m((function(t,n,o,r,a){if(!(t[n]instanceof e)){var i=e.name||u;return new p("Invalid "+r+" `"+a+"` of type `"+((l=t[n]).constructor&&l.constructor.name?l.constructor.name:u)+"` supplied to `"+o+"`, expected instance of `"+i+"`.")}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,a,i,l){if("function"!=typeof e)return new p("Property `"+l+"` of component `"+a+"` has invalid PropType notation inside objectOf.");var s=t[r],c=y(s);if("object"!==c)return new p("Invalid "+i+" `"+l+"` of type `"+c+"` supplied to `"+a+"`, expected an object.");for(var u in s)if(o(s,u)){var d=e(s,u,a,i,l+"."+u,n);if(d instanceof Error)return d}return null}))},oneOf:function(e){return Array.isArray(e)?m((function(t,n,o,r,a){for(var i=t[n],l=0;l<e.length;l++)if(f(i,e[l]))return null;var s=JSON.stringify(e,(function(e,t){return"symbol"===x(t)?String(t):t}));return new p("Invalid "+r+" `"+a+"` of value `"+String(i)+"` supplied to `"+o+"`, expected one of "+s+".")})):("production"!==process.env.NODE_ENV&&a(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."),i)},oneOfType:function(e){if(!Array.isArray(e))return"production"!==process.env.NODE_ENV&&a("Invalid argument supplied to oneOfType, expected an instance of array."),i;for(var t=0;t<e.length;t++){var r=e[t];if("function"!=typeof r)return a("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+w(r)+" at index "+t+"."),i}return m((function(t,r,a,i,l){for(var s=[],c=0;c<e.length;c++){var u=(0,e[c])(t,r,a,i,l,n);if(null==u)return null;u.data&&o(u.data,"expectedType")&&s.push(u.data.expectedType)}return new p("Invalid "+i+" `"+l+"` supplied to `"+a+"`"+(s.length>0?", expected one of type ["+s.join(", ")+"]":"")+".")}))},shape:function(e){return m((function(t,o,r,a,i){var l=t[o],s=y(l);if("object"!==s)return new p("Invalid "+a+" `"+i+"` of type `"+s+"` supplied to `"+r+"`, expected `object`.");for(var c in e){var u=e[c];if("function"!=typeof u)return b(r,a,i,c,x(u));var d=u(l,c,r,a,i+"."+c,n);if(d)return d}return null}))},exact:function(e){return m((function(r,a,i,l,s){var c=r[a],u=y(c);if("object"!==u)return new p("Invalid "+l+" `"+s+"` of type `"+u+"` supplied to `"+i+"`, expected `object`.");var d=t({},r[a],e);for(var f in d){var m=e[f];if(o(e,f)&&"function"!=typeof m)return b(i,l,s,f,x(m));if(!m)return new p("Invalid "+l+" `"+s+"` key `"+f+"` supplied to `"+i+"`.\nBad object: "+JSON.stringify(r[a],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(e),null," "));var g=m(c,f,i,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,i,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&&(a("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==i[l]?r?null===i[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(i,l,c,d,f)}var i=r.bind(null,!1);return i.isRequired=r.bind(null,!0),i}function g(e){return m((function(t,n,o,r,a,i){var l=t[n];return y(l)!==e?new p("Invalid "+r+" `"+a+"` 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 w(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},h}()($.isElement,!0)}else r.exports=function(){if(w)return x;w=1;var e=I();function t(){}function n(){}return n.resetWarningCache=t,x=function(){function o(t,n,o,r,a,i){if(i!==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 a={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 a.PropTypes=a,a}}()();var C=n(r.exports);const T={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"}},N=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"},S=({name:n,icon:o,type:r="fas",svg:a,svgData:i,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:w=!1,ariaLabel:v,title:O,role:k="img",...I})=>{const j=(({size:e="medium",variant:t="default",className:n="",disabled:o=!1,loading:r=!1,textColor:a})=>{const i=T[e]?.className||"icon-md";let l;return l=a?N(a):`icon-${t}`,["icon-component inline-flex items-center justify-center transition-all duration-200",i,l,[o&&"icon-disabled",r&&"icon-loading"].filter(Boolean).join(" "),n].filter(Boolean).join(" ").trim()})({size:d,variant:f,className:g,disabled:x,loading:w,textColor:m});let $="default";w?$="loading":c?$="emoji":u?$="unicode":i?$="svgData":a?$="svg":l?$="image":(n||o)&&($="fontawesome");const C={color:p,cursor:b&&!x?"pointer":"default",opacity:x?.5:1,...I.style};return t.jsx("span",{className:j,style:C,onClick:x?void 0:b,onMouseEnter:h,onMouseLeave:y,"data-testid":"Icon","data-icon-type":$,role:k,"aria-label":v,title:O,...I,children:(()=>{switch($){case"loading":return t.jsx("span",{className:"icon-loading animate-spin",children:t.jsx(e.FontAwesomeIcon,{icon:"spinner"})});case"emoji":return t.jsx("span",{className:"icon-emoji",role:"img","aria-label":v||s,children:c});case"unicode":return t.jsx("span",{className:"icon-unicode",role:"img","aria-label":v||s,children:String.fromCharCode(u)});case"svgData":return t.jsx("img",{className:"icon-svg-data",src:i,alt:s,"aria-label":v,title:O});case"svg":return"string"==typeof a?t.jsx("span",{className:"icon-svg-custom","data-testid":"custom-svg",dangerouslySetInnerHTML:{__html:a},"aria-label":v,title:O}):a;case"image":return t.jsx("img",{className:"icon-image",src:l,alt:s,"aria-label":v,title:O});case"fontawesome":const d=o||[r,n];return t.jsx(e.FontAwesomeIcon,{icon:d,className:"icon-fontawesome",title:O});default:return t.jsx("span",{className:"icon-default",role:"img","aria-label":"Icon",children:"⚡"})}})()})};S.propTypes={name:C.string,icon:C.oneOfType([C.string,C.array]),type:C.oneOf(["fas","far","fab","fal","fad"]),svg:C.string,svgData:C.string,src:C.string,alt:C.string,emoji:C.string,unicode:C.number,size:C.oneOf(Object.keys(T)),variant:C.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:C.string,textColor:C.string,className:C.string,onClick:C.func,onMouseEnter:C.func,onMouseLeave:C.func,disabled:C.bool,loading:C.bool,ariaLabel:C.string,title:C.string,role:C.string};const B={"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"}},E={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"}},R=({children:e,variant:n="default",size:o="medium",as:r="span",color:a,gradientFrom:i,gradientTo:l,gradientType:s="blue-purple",neonColor:c="cyan",typewriterSpeed:u=80,typewriterLoop:d=!1,typewriterPause:f=300,htmlContent:p=!1,className:m="",...g})=>{const b=r,h=(({variant:e="default",size:t="medium",color:n,className:o=""})=>{const r="text",a=[];return e&&"default"!==e&&a.push(`${r}--${e}`),t&&"medium"!==t&&a.push(`${r}--${t}`),n&&"default"!==n&&a.push(`${r}--color-${n}`),[r,...a,o].filter(Boolean).join(" ").trim()})({variant:n,size:o,color:a,className:m}),[y,x]=React.useState(""),[w,v]=React.useState(0),[O,k]=React.useState(!1),[I,j]=React.useState(!1),$=React.useRef(null),C=React.useRef(null),T=React.useRef(!0),N=String(e||"");React.useEffect((()=>(T.current=!0,"typewriter"!==n?(S(),void x(N)):(R(),()=>{T.current=!1,S()}))),[n,N,u,d,f,p]),React.useEffect((()=>()=>{T.current=!1,S()}),[]);const S=()=>{$.current&&(clearInterval($.current),$.current=null),C.current&&(clearTimeout(C.current),C.current=null)},R=()=>{S(),x(""),j(!0);let e=0;const t=()=>{if(T.current)if(e<N.length){if(p){const t=L(N,e+1);x(t)}else x(N.substring(0,e+1));e++,$.current=setTimeout(t,u)}else j(!1),d&&T.current&&(C.current=setTimeout((()=>{T.current&&R()}),f))};t()},L=(e,t)=>{if(!p)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"),a=(e,n)=>{if(o>=t)return!1;if(e.nodeType===Node.TEXT_NODE){const r=e.textContent||"",a=t-o;if(!(r.length<=a)){const e=r.substring(0,a);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(!a(n,t))break}return o<t};for(let e of n.childNodes)if(!a(e,r))break;return r.innerHTML}catch(n){return e.substring(0,t)}},z={...(()=>{if("gradient"===n||"gradient-animated"===n){let e,t;return i&&l?(e=i,t=l):B[s]?(e=B[s].from,t=B[s].to):(e="#3b82f6",t="#8b5cf6"),{background:`linear-gradient(135deg, ${e}, ${t})`,backgroundSize:"gradient-animated"===n?"300% 300%":"100% 100%",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent",backgroundClip:"text",fontWeight:600,display:"inline-block"}}return{}})(),...(()=>{if("neon"===n){const e=E[c]?.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 t.jsx(b,{className:h,style:Object.keys(z).length>0?z:void 0,"data-testid":"Text",...g,children:"typewriter"===n?t.jsxs(t.Fragment,{children:[p?t.jsx("span",{dangerouslySetInnerHTML:{__html:y}}):y,I&&t.jsx("span",{className:"typewriter-cursor",children:"|"})]}):p?t.jsx("span",{dangerouslySetInnerHTML:{__html:N}}):N})};R.propTypes={children:C.node.isRequired,variant:C.oneOf(["default","bold","bolder","tiny","light","cursiva","subrayado","muted","gradient","gradient-animated","neon","typewriter"]),size:C.oneOf(["xs","small","medium","large","xlarge","2xl"]),color:C.oneOf(["default","primary","secondary","success","warning","error","info","white","black"]),gradientFrom:C.string,gradientTo:C.string,gradientType:C.string,neonColor:C.oneOf(["cyan","pink","green","orange","purple","yellow","red","blue"]),typewriterSpeed:C.number,typewriterLoop:C.bool,typewriterPause:C.number,htmlContent:C.bool,as:C.oneOf(["span","p","h1","h2","h3","h4","h5","h6","div","label"]),className:C.string};const L=({children:e,type:n="button",variant:o="primary",color:r,textColor:a,size:i="medium",icon:l,iconPosition:s="left",iconSize:c,iconColor:u,loading:d=!1,disabled:f=!1,fullWidth:p=!1,as:m="button",href:g,target:b,onClick:h,onMouseEnter:y,onMouseLeave:x,onFocus:w,onBlur:v,className:O="",...k})=>{const I=(({variant:e="primary",size:t="medium",fullWidth:n=!1,disabled:o=!1,loading:r=!1,hasIcon:a=!1,iconPosition:i="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`),a&&u.push(`${c}--with-icon`),a&&"left"!==i&&u.push(`${c}--icon-${i}`),[c,...u,s].filter(Boolean).join(" ")})({variant:o,size:i,fullWidth:p,disabled:f,loading:d,hasIcon:!!l,iconPosition:s,color:r,className:O}),j=a||(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"))(o),$="link"===m?"a":m,C={..."a"===$&&{href:g,target:b},..."button"===$&&{type:n,disabled:f||d},onClick:f||d?void 0:h,onMouseEnter:y,onMouseLeave:x,onFocus:w,onBlur:v,className:I,"data-testid":"Button","aria-disabled":f||d,"aria-busy":d,...k},T=e=>t.jsx(R,{size:P(i),className:"button__text",textColor:j,children:e});return t.jsx($,{...C,children:(()=>{const n=d?t.jsx(S,{name:"spinner",size:c||z(i),className:"button__icon button__icon--loading",color:u||j,ariaLabel:"Cargando"}):l?t.jsx(S,{name:l,size:c||z(i),className:"button__icon",color:u||j}):null,o=d?"Cargando...":e,r=o&&void 0!==o;if(n&&!r)return n;if(!n&&r)return T(o);if(n&&r){const e=T(o);switch(s){case"top":case"left":default:return t.jsxs(t.Fragment,{children:[n,e]});case"bottom":case"right":return t.jsxs(t.Fragment,{children:[e,n]})}}return o})()})},z=e=>{switch(e){case"xs":return"xs";case"small":case"game":case"medium":default:return"small";case"large":return"medium";case"xlarge":return"large"}},P=e=>{switch(e){case"xs":return"xs";case"small":case"game":case"medium":default:return"small";case"large":return"medium";case"xlarge":return"large"}};L.propTypes={children:C.node,type:C.oneOf(["button","submit","reset"]),variant:C.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:C.string,textColor:C.string,size:C.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:C.string,iconPosition:C.oneOf(["left","right","top","bottom"]),iconSize:C.string,iconColor:C.string,loading:C.bool,disabled:C.bool,fullWidth:C.bool,as:C.oneOf(["button","a","link","div"]),href:C.string,target:C.string,onClick:C.func,onMouseEnter:C.func,onMouseLeave:C.func,onFocus:C.func,onBlur:C.func,className:C.string};const D=({value:e,defaultValue:n,placeholder:o="",type:r="text",variant:a="default",size:i="medium",disabled:l=!1,readOnly:s=!1,required:c=!1,error:u,success:d,helperText:f,icon:p,iconLeft:m,iconRight:g,iconPosition:b="left",onIconClick:h,onIconLeftClick:y,onIconRightClick:x,showPasswordToggle:w=!1,label:v,fullWidth:O=!0,onChange:k,onBlur:I,onFocus:j,onKeyDown:$,id:C,name:T,autoComplete:N,autoFocus:B,maxLength:E,minLength:L,className:z="",...P})=>{const[D,F]=React.useState(!1),[A,_]=React.useState(r);React.useEffect((()=>{_(w&&"password"===r?D?"text":"password":r)}),[r,D,w]);const M={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"},W=u?"error":d?"success":a,{leftIconConfig:V,rightIconConfig:q}=(()=>{let e=null,t=null;if(m?e={name:m,onClick:y,clickable:!!y}:p&&"left"===b&&(e={name:p,onClick:h,clickable:!!h}),g?t={name:g,onClick:x,clickable:!!x}:p&&"right"===b&&(t={name:p,onClick:h,clickable:!!h}),w&&"password"===r){t||(t={name:D?"eye-slash":"eye",onClick:()=>F(!D),clickable:!0})}return{leftIconConfig:e,rightIconConfig:t}})(),H=(e,n)=>{if(!e)return null;const o="small"===i?"xs":"large"===i?"medium":"small",r="left"===n?"left-3":"right-3";return t.jsx(S,{name:e.name,size:o,onClick:e.clickable?e.onClick:void 0,className:`\n absolute ${r} 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 t.jsxs("div",{className:"input-container "+(O?"w-full":"inline-block"),children:[v&&t.jsxs(R,{as:"label",htmlFor:C,className:"block text-sm font-medium text-gray-700 mb-2",children:[v,c&&t.jsx("span",{className:"text-red-500 ml-1",children:"*"})]}),t.jsxs("div",{className:"relative",children:[t.jsx("input",{id:C,name:T,type:A,value:e,defaultValue:n,placeholder:o,disabled:l,readOnly:s,required:c,autoComplete:N,autoFocus:B,maxLength:E,minLength:L,onChange:k,onBlur:I,onFocus:j,onKeyDown:$,className:`\n input-field w-full border rounded-lg transition-all duration-200 focus:outline-none\n ${(()=>{const e=M[i];let t="",n="";if(V&&(t="small"===i?"pl-8":"large"===i?"pl-12":"pl-10"),q&&(n="small"===i?"pr-8":"large"===i?"pr-12":"pr-10"),V&&q){const t="small"===i?"px-8":"large"===i?"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 ${M[i].split(" ").find((e=>e.startsWith("text-")))}\n ${M[i].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"}[W]}\n ${l?"opacity-50 cursor-not-allowed bg-gray-100":"bg-white"}\n ${s?"bg-gray-50 cursor-default":""}\n ${z}\n `,"aria-invalid":!!u,"aria-describedby":u?`${C}-error`:f?`${C}-helper`:void 0,"data-testid":C||"input-field",...P}),H(V,"left"),H(q,"right")]}),(()=>{const e=u||d||f;if(!e)return null;const n=u?"text-red-500":d?"text-green-500":"text-gray-500";return t.jsx(R,{size:"xs",className:`mt-1 block ${n}`,children:e})})()]})};D.propTypes={value:C.oneOfType([C.string,C.number]),defaultValue:C.oneOfType([C.string,C.number]),placeholder:C.string,type:C.oneOf(["text","email","password","number","tel","url","search"]),variant:C.oneOf(["default","success","error","warning"]),size:C.oneOf(["small","medium","large"]),disabled:C.bool,readOnly:C.bool,required:C.bool,error:C.string,success:C.string,helperText:C.string,icon:C.string,iconLeft:C.string,iconRight:C.string,iconPosition:C.oneOf(["left","right"]),onIconClick:C.func,onIconLeftClick:C.func,onIconRightClick:C.func,showPasswordToggle:C.bool,label:C.string,fullWidth:C.bool,onChange:C.func,onBlur:C.func,onFocus:C.func,onKeyDown:C.func,id:C.string,name:C.string,autoComplete:C.string,autoFocus:C.bool,maxLength:C.number,minLength:C.number,className:C.string};const F=({value:e,defaultValue:n,placeholder:o="",variant:r="default",size:a="medium",disabled:i=!1,readOnly:l=!1,required:s=!1,error:c,success:u,helperText:d,iconLeft:f,iconRight:p,onIconLeftClick:m,onIconRightClick:g,rows:b=3,cols:h,resize:y="vertical",autoGrow:x=!1,maxRows:w=10,minRows:v=2,label:O,fullWidth:k=!0,onChange:I,onBlur:j,onFocus:$,onKeyDown:C,id:T,name:N,autoComplete:B,autoFocus:E,maxLength:L,minLength:z,className:P="",...D})=>{const[F,A]=React.useState(b),_=React.useRef(null),M={small:"px-3 py-1.5 text-sm",medium:"px-3 py-2 text-base",large:"px-4 py-3 text-lg"},W=c?"error":u?"success":r,V=()=>{if(!x||!_.current)return;const e=_.current;e.style.height="auto";const t=e.scrollHeight,n=parseInt(getComputedStyle(e).lineHeight),o=Math.min(Math.max(Math.ceil(t/n),v),w);A(o),e.style.height=`${t}px`};React.useEffect((()=>{x&&V()}),[e,x]);const q=(e,n,o)=>{if(!e)return null;const r="small"===a?"xs":"large"===a?"medium":"small",i="left"===n?"left-3 top-4":"right-3 top-4";return t.jsx(S,{name:e,size:r,onClick:o,className:`\n absolute ${i}\n ${o?"text-gray-600 cursor-pointer hover:text-blue-500":"text-gray-400 pointer-events-none"}\n transition-colors duration-200\n `})};return t.jsxs("div",{className:"textarea-container "+(k?"w-full":"inline-block"),children:[O?t.jsxs(R,{as:"label",htmlFor:T,size:"small",variant:"bold",className:"block mb-1",children:[O,s&&t.jsx("span",{className:"text-red-500 ml-1",children:"*"})]}):null,t.jsxs("div",{className:"relative",children:[t.jsx("textarea",{ref:_,id:T,name:N,value:e,defaultValue:n,placeholder:o,disabled:i,readOnly:l,required:s,autoComplete:B,autoFocus:E,maxLength:L,minLength:z,rows:x?F:b,cols:h,onChange:e=>{I&&I(e),x&&setTimeout(V,0)},onBlur:j,onFocus:$,onKeyDown:C,className:`\n textarea-field w-full border rounded-lg transition-all duration-200 focus:outline-none\n ${(()=>{const e=M[a];let t="",n="";if(f&&(t="small"===a?"pl-8":"large"===a?"pl-12":"pl-10"),p&&(n="small"===a?"pr-8":"large"===a?"pr-12":"pr-10"),f&&p){const t="small"===a?"px-8":"large"===a?"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 ${M[a].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"}[W]}\n ${{none:"resize-none",horizontal:"resize-x",vertical:"resize-y",both:"resize"}[y]}\n ${i?"opacity-50 cursor-not-allowed bg-gray-100":"bg-white"}\n ${l?"bg-gray-50 cursor-default":""}\n ${x?"overflow-hidden":""}\n ${P}\n `,style:{minHeight:x?1.5*v+"rem":void 0,maxHeight:x?1.5*w+"rem":void 0,lineHeight:"1.5"},"aria-invalid":!!c,"aria-describedby":c?`${T}-error`:d?`${T}-helper`:void 0,...D}),q(f,"left",m),q(p,"right",g)]}),t.jsxs("div",{className:"flex justify-between items-start mt-1",children:[t.jsx("div",{className:"flex-1",children:(()=>{const e=c||u||d;if(!e)return null;const n=c?"text-red-500":u?"text-green-500":"text-gray-500";return t.jsx(R,{size:"xs",className:`mt-1 block ${n}`,children:e})})()}),t.jsx("div",{className:"flex-shrink-0 ml-2",children:(()=>{if(!L)return null;const n=e?e.length:0,o=n>.8*L,r=n>L;return t.jsxs(R,{size:"xs",className:"mt-1 text-right block "+(r?"text-red-500":o?"text-yellow-500":"text-gray-400"),children:[n,L&&`/${L}`]})})()})]})]})};F.propTypes={value:C.string,defaultValue:C.string,placeholder:C.string,variant:C.oneOf(["default","success","error","warning"]),size:C.oneOf(["small","medium","large"]),disabled:C.bool,readOnly:C.bool,required:C.bool,error:C.string,success:C.string,helperText:C.string,iconLeft:C.string,iconRight:C.string,onIconLeftClick:C.func,onIconRightClick:C.func,rows:C.number,cols:C.number,resize:C.oneOf(["none","horizontal","vertical","both"]),autoGrow:C.bool,maxRows:C.number,minRows:C.number,label:C.string,fullWidth:C.bool,onChange:C.func,onBlur:C.func,onFocus:C.func,onKeyDown:C.func,id:C.string,name:C.string,autoComplete:C.string,autoFocus:C.bool,maxLength:C.number,minLength:C.number,className:C.string};const A=({children:e,count:n,variant:o="default",size:r="medium",shape:a="rounded",icon:i,iconPosition:l="left",dismissible:s=!1,onDismiss:c,positioned:u=!1,position:d="top-right",dot:f=!1,invisible:p=!1,showZero:m=!1,max:g=99,onClick:b,className:h="",...y})=>{const x=()=>{if(!i||f)return null;const e="small"===r?"xs":"large"===r?"small":"xs";return t.jsx(S,{name:i,size:e,className:("right"===l?"ml-1":"mr-1")+" flex-shrink-0"})};if(!!p||void 0!==n&&0===n&&!m||!e&&void 0===n&&!f)return null;const w=f?null:void 0!==n?0!==n||m?n>g?`${g}+`:n:null:e,v=["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"}[o],{small:f?"w-2 h-2":"px-1.5 py-0.5 text-xs min-w-[1rem] h-4",medium:f?"w-2.5 h-2.5":"px-2 py-1 text-xs min-w-[1.25rem] h-5",large:f?"w-3 h-3":"px-2.5 py-1 text-sm min-w-[1.5rem] h-6"}[r],{rounded:"rounded",pill:"rounded-full",square:"rounded-none"}[a],u&&{"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"}[d],u&&"z-10",b&&"cursor-pointer hover:opacity-80",f&&"rounded-full",h].filter(Boolean).join(" "),O=t.jsxs("span",{className:v,onClick:b,"data-testid":"Badge","data-variant":o,"data-size":r,"data-positioned":u,"data-dot":f,...y,children:["left"===l&&x(),!f&&w&&t.jsx(R,{size:"large"===r?"small":"xs",className:"leading-none font-medium",children:w}),"right"===l&&x(),(()=>{if(!s)return null;return t.jsx(S,{name:"times",size:"xs",onClick:c,className:"ml-1 cursor-pointer hover:opacity-70 flex-shrink-0"})})()]});return u?t.jsx("div",{className:"relative inline-block",children:O}):O};A.propTypes={children:C.node,count:C.number,variant:C.oneOf(["default","primary","secondary","success","warning","error","info","light","dark"]),size:C.oneOf(["small","medium","large"]),shape:C.oneOf(["rounded","pill","square"]),icon:C.string,iconPosition:C.oneOf(["left","right"]),dismissible:C.bool,onDismiss:C.func,positioned:C.bool,position:C.oneOf(["top-right","top-left","bottom-right","bottom-left"]),dot:C.bool,invisible:C.bool,showZero:C.bool,max:C.number,onClick:C.func,className:C.string};const _=({src:e,alt:n="",w:o,h:r,wType:a="px",hType:i="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:w="cover",lazy:v=!0,loading:O="lazy",placeholder:k="blur",quality:I=75,filter:j,grayscale:$=!1,sepia:C=!1,brightness:T=1,contrast:N=1,saturate:S=1,fadeIn:B=!0,fadeInDuration:E=300,hoverEffect:R="none",transition:L="all 0.3s ease",fallbackSrc:z,retryAttempts:P=3,draggable:D=!1,selectable:F=!1,zoomable:A=!1,onClick:_,onLoad:M,onError:W,onLoadStart:V,onLoadComplete:q,className:H="",...U})=>{const J={width:o?`${o}${a}`:void 0,height:r?`${r}${i}`:void 0,borderRadius:l?`${l}${s}`:void 0,objectFit:w,display:"block",userSelect:F?"auto":"none",filter:(()=>{const e=[];return j&&e.push(j),$&&e.push("grayscale(100%)"),C&&e.push("sepia(100%)"),1!==T&&e.push(`brightness(${T})`),1!==N&&e.push(`contrast(${N})`),1!==S&&e.push(`saturate(${S})`),e.length>0?e.join(" "):void 0})()};if(J.transition="none"!==R?"zoom"===R||"scale"===R?"transform 0.3s ease":"brightness"===R||"blur"===R?"filter 0.3s ease":L:L,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"!==R?`image--hover-${R}`:"",A?"image--zoomable":"",B?"image--fade-in":"",H].filter(Boolean).join(" ");return t.jsx("img",{src:e,alt:n,style:J,className:G,loading:v?O:"eager",draggable:D,onClick:_,onLoad:M,onError:W,onLoadStart:V,"data-testid":"Image",...U})};_.propTypes={src:C.string.isRequired,alt:C.string,w:C.number,h:C.number,wType:C.oneOf(["px","em","rem","%","vw","vh","cm","mm","in","pt","pc"]),hType:C.oneOf(["px","em","rem","%","vw","vh","cm","mm","in","pt","pc"]),borderRadius:C.number,borderRadiusType:C.oneOf(["px","em","rem","%"]),borderWidth:C.number,borderWidthType:C.oneOf(["px","em","rem"]),borderStyle:C.oneOf(["solid","dashed","dotted","double","groove","ridge","inset","outset"]),borderColor:C.string,shadowOffsetX:C.number,shadowOffsetY:C.number,shadowBlur:C.number,shadowSpread:C.number,shadowColor:C.string,shadowOpacity:C.number,shadowInset:C.bool,objectFit:C.oneOf(["fill","contain","cover","none","scale-down"]),lazy:C.bool,loading:C.oneOf(["lazy","eager"]),placeholder:C.oneOf(["blur","empty","skeleton"]),quality:C.number,filter:C.string,grayscale:C.bool,sepia:C.bool,brightness:C.number,contrast:C.number,saturate:C.number,fadeIn:C.bool,fadeInDuration:C.number,hoverEffect:C.oneOf(["none","zoom","brightness","scale","blur"]),transition:C.string,fallbackSrc:C.string,retryAttempts:C.number,draggable:C.bool,selectable:C.bool,zoomable:C.bool,onClick:C.func,onLoad:C.func,onError:C.func,onLoadStart:C.func,onLoadComplete:C.func,className:C.string};const M=({children:e,variant:n="default",size:o="medium",maxWidth:r="full",padding:a="medium",margin:i="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:a=!1,fluid:i=!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`),a&&m.push(`${p}--centered`),i&&m.push(`${p}--fluid`),[p,...m,f].filter(Boolean).join(" ").trim()})({variant:n,size:o,maxWidth:r,padding:a,margin:i,centered:l,fluid:s,shadow:c,fitContent:u,border:d,rounded:f,background:p,className:m}),y=g;return t.jsx(y,{className:h,"data-testid":"Container",...b,children:e})};M.propTypes={children:C.node,variant:C.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:C.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:C.oneOf(["xs","sm","md","lg","xl","2xl","3xl","4xl","5xl","6xl","7xl","full","none"]),padding:C.oneOf(["none","small","medium","large","xlarge"]),margin:C.oneOf(["none","small","medium","large","xlarge","auto"]),centered:C.bool,fluid:C.bool,shadow:C.oneOf(["none","sm","md","lg","xl","2xl"]),fitContent:C.bool,border:C.oneOf(["none","sm","md","lg","dashed","dotted"]),rounded:C.oneOf(["none","sm","md","lg","xl","2xl","3xl","full"]),background:C.oneOf(["transparent","white","gray","primary","secondary","accent"]),className:C.string,as:C.oneOf(["div","section","article","aside","main","header","footer","nav"])};const W={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"},V={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: