@iniguezmarc/design-system 0.0.14 → 0.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -1,4 +1,4 @@
1
- (function($,y){typeof exports=="object"&&typeof module<"u"?y(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],y):($=typeof globalThis<"u"?globalThis:$||self,y($.DesignSystem={},$.React))})(this,function($,y){"use strict";var B={exports:{}},_={};/**
1
+ (function(v,$){typeof exports=="object"&&typeof module<"u"?$(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],$):(v=typeof globalThis<"u"?globalThis:v||self,$(v.DesignSystem={},v.React))})(this,function(v,$){"use strict";var Y={exports:{}},D={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.js
4
4
  *
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var U;function ne(){if(U)return _;U=1;var n=Symbol.for("react.transitional.element"),d=Symbol.for("react.fragment");function u(s,t,a){var f=null;if(a!==void 0&&(f=""+a),t.key!==void 0&&(f=""+t.key),"key"in t){a={};for(var i in t)i!=="key"&&(a[i]=t[i])}else a=t;return t=a.ref,{$$typeof:n,type:s,key:f,ref:t!==void 0?t:null,props:a}}return _.Fragment=d,_.jsx=u,_.jsxs=u,_}var R={};/**
9
+ */var X;function ue(){if(X)return D;X=1;var o=Symbol.for("react.transitional.element"),l=Symbol.for("react.fragment");function i(s,t,a){var x=null;if(a!==void 0&&(x=""+a),t.key!==void 0&&(x=""+t.key),"key"in t){a={};for(var n in t)n!=="key"&&(a[n]=t[n])}else a=t;return t=a.ref,{$$typeof:o,type:s,key:x,ref:t!==void 0?t:null,props:a}}return D.Fragment=l,D.jsx=i,D.jsxs=i,D}var I={};/**
10
10
  * @license React
11
11
  * react-jsx-runtime.development.js
12
12
  *
@@ -14,53 +14,59 @@
14
14
  *
15
15
  * This source code is licensed under the MIT license found in the
16
16
  * LICENSE file in the root directory of this source tree.
17
- */var X;function oe(){return X||(X=1,process.env.NODE_ENV!=="production"&&function(){function n(r){if(r==null)return null;if(typeof r=="function")return r.$$typeof===ge?null:r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case k:return"Fragment";case E:return"Profiler";case N:return"StrictMode";case C:return"Suspense";case M:return"SuspenseList";case fe:return"Activity"}if(typeof r=="object")switch(typeof r.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),r.$$typeof){case v:return"Portal";case S:return r.displayName||"Context";case O:return(r._context.displayName||"Context")+".Consumer";case P:var c=r.render;return r=r.displayName,r||(r=c.displayName||c.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case D:return c=r.displayName||null,c!==null?c:n(r.type)||"Memo";case W:c=r._payload,r=r._init;try{return n(r(c))}catch{}}return null}function d(r){return""+r}function u(r){try{d(r);var c=!1}catch{c=!0}if(c){c=console;var p=c.error,j=typeof Symbol=="function"&&Symbol.toStringTag&&r[Symbol.toStringTag]||r.constructor.name||"Object";return p.call(c,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",j),d(r)}}function s(r){if(r===k)return"<>";if(typeof r=="object"&&r!==null&&r.$$typeof===W)return"<...>";try{var c=n(r);return c?"<"+c+">":"<...>"}catch{return"<...>"}}function t(){var r=F.A;return r===null?null:r.getOwner()}function a(){return Error("react-stack-top-frame")}function f(r){if(K.call(r,"key")){var c=Object.getOwnPropertyDescriptor(r,"key").get;if(c&&c.isReactWarning)return!1}return r.key!==void 0}function i(r,c){function p(){ee||(ee=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",c))}p.isReactWarning=!0,Object.defineProperty(r,"key",{get:p,configurable:!0})}function x(){var r=n(this.type);return re[r]||(re[r]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),r=this.props.ref,r!==void 0?r:null}function g(r,c,p,j,L,H){var w=p.ref;return r={$$typeof:h,type:r,key:c,props:p,_owner:j},(w!==void 0?w:null)!==null?Object.defineProperty(r,"ref",{enumerable:!1,get:x}):Object.defineProperty(r,"ref",{enumerable:!1,value:null}),r._store={},Object.defineProperty(r._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(r,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(r,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:L}),Object.defineProperty(r,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:H}),Object.freeze&&(Object.freeze(r.props),Object.freeze(r)),r}function b(r,c,p,j,L,H){var w=c.children;if(w!==void 0)if(j)if(me(w)){for(j=0;j<w.length;j++)o(w[j]);Object.freeze&&Object.freeze(w)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else o(w);if(K.call(c,"key")){w=n(r);var T=Object.keys(c).filter(function(be){return be!=="key"});j=0<T.length?"{key: someKey, "+T.join(": ..., ")+": ...}":"{key: someKey}",se[w+j]||(T=0<T.length?"{"+T.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
17
+ */var J;function xe(){return J||(J=1,process.env.NODE_ENV!=="production"&&function(){function o(r){if(r==null)return null;if(typeof r=="function")return r.$$typeof===z?null:r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case j:return"Fragment";case T:return"Profiler";case E:return"StrictMode";case y:return"Suspense";case _:return"SuspenseList";case G:return"Activity"}if(typeof r=="object")switch(typeof r.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),r.$$typeof){case p:return"Portal";case R:return r.displayName||"Context";case A:return(r._context.displayName||"Context")+".Consumer";case P:var b=r.render;return r=r.displayName,r||(r=b.displayName||b.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case V:return b=r.displayName||null,b!==null?b:o(r.type)||"Memo";case B:b=r._payload,r=r._init;try{return o(r(b))}catch{}}return null}function l(r){return""+r}function i(r){try{l(r);var b=!1}catch{b=!0}if(b){b=console;var w=b.error,N=typeof Symbol=="function"&&Symbol.toStringTag&&r[Symbol.toStringTag]||r.constructor.name||"Object";return w.call(b,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",N),l(r)}}function s(r){if(r===j)return"<>";if(typeof r=="object"&&r!==null&&r.$$typeof===B)return"<...>";try{var b=o(r);return b?"<"+b+">":"<...>"}catch{return"<...>"}}function t(){var r=O.A;return r===null?null:r.getOwner()}function a(){return Error("react-stack-top-frame")}function x(r){if(ne.call(r,"key")){var b=Object.getOwnPropertyDescriptor(r,"key").get;if(b&&b.isReactWarning)return!1}return r.key!==void 0}function n(r,b){function w(){oe||(oe=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",b))}w.isReactWarning=!0,Object.defineProperty(r,"key",{get:w,configurable:!0})}function c(){var r=o(this.type);return le[r]||(le[r]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),r=this.props.ref,r!==void 0?r:null}function f(r,b,w,N,W,q){var k=w.ref;return r={$$typeof:h,type:r,key:b,props:w,_owner:N},(k!==void 0?k:null)!==null?Object.defineProperty(r,"ref",{enumerable:!1,get:c}):Object.defineProperty(r,"ref",{enumerable:!1,value:null}),r._store={},Object.defineProperty(r._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(r,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(r,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:W}),Object.defineProperty(r,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:q}),Object.freeze&&(Object.freeze(r.props),Object.freeze(r)),r}function g(r,b,w,N,W,q){var k=b.children;if(k!==void 0)if(N)if(Ne(k)){for(N=0;N<k.length;N++)d(k[N]);Object.freeze&&Object.freeze(k)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else d(k);if(ne.call(b,"key")){k=o(r);var M=Object.keys(b).filter(function(ke){return ke!=="key"});N=0<M.length?"{key: someKey, "+M.join(": ..., ")+": ...}":"{key: someKey}",de[k+N]||(M=0<M.length?"{"+M.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
18
18
  let props = %s;
19
19
  <%s {...props} />
20
20
  React keys must be passed directly to JSX without using spread:
21
21
  let props = %s;
22
- <%s key={someKey} {...props} />`,j,w,T,w),se[w+j]=!0)}if(w=null,p!==void 0&&(u(p),w=""+p),f(c)&&(u(c.key),w=""+c.key),"key"in c){p={};for(var G in c)G!=="key"&&(p[G]=c[G])}else p=c;return w&&i(p,typeof r=="function"?r.displayName||r.name||"Unknown":r),g(r,w,p,t(),L,H)}function o(r){m(r)?r._store&&(r._store.validated=1):typeof r=="object"&&r!==null&&r.$$typeof===W&&(r._payload.status==="fulfilled"?m(r._payload.value)&&r._payload.value._store&&(r._payload.value._store.validated=1):r._store&&(r._store.validated=1))}function m(r){return typeof r=="object"&&r!==null&&r.$$typeof===h}var l=y,h=Symbol.for("react.transitional.element"),v=Symbol.for("react.portal"),k=Symbol.for("react.fragment"),N=Symbol.for("react.strict_mode"),E=Symbol.for("react.profiler"),O=Symbol.for("react.consumer"),S=Symbol.for("react.context"),P=Symbol.for("react.forward_ref"),C=Symbol.for("react.suspense"),M=Symbol.for("react.suspense_list"),D=Symbol.for("react.memo"),W=Symbol.for("react.lazy"),fe=Symbol.for("react.activity"),ge=Symbol.for("react.client.reference"),F=l.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,K=Object.prototype.hasOwnProperty,me=Array.isArray,V=console.createTask?console.createTask:function(){return null};l={react_stack_bottom_frame:function(r){return r()}};var ee,re={},te=l.react_stack_bottom_frame.bind(l,a)(),ae=V(s(a)),se={};R.Fragment=k,R.jsx=function(r,c,p){var j=1e4>F.recentlyCreatedOwnerStacks++;return b(r,c,p,!1,j?Error("react-stack-top-frame"):te,j?V(s(r)):ae)},R.jsxs=function(r,c,p){var j=1e4>F.recentlyCreatedOwnerStacks++;return b(r,c,p,!0,j?Error("react-stack-top-frame"):te,j?V(s(r)):ae)}}()),R}process.env.NODE_ENV==="production"?B.exports=ne():B.exports=oe();var e=B.exports;const J=({src:n,alt:d="Avatar",size:u="md",imageFit:s="cover",customStyles:t={},className:a="",borderColor:f="border-gray-200",darkBorderColor:i="dark:border-gray-700",backgroundColor:x="bg-gray-100",darkBackgroundColor:g="dark:bg-gray-800",loading:b="lazy"})=>{const o={sm:"h-8 w-8",md:"h-12 w-12",lg:"h-16 w-16",xl:"h-32 w-32"},m=s==="contain"?"object-contain":"object-cover",l=`border ${f} ${i}`,h=`${x} ${g}`;return e.jsx("div",{className:`
22
+ <%s key={someKey} {...props} />`,N,k,M,k),de[k+N]=!0)}if(k=null,w!==void 0&&(i(w),k=""+w),x(b)&&(i(b.key),k=""+b.key),"key"in b){w={};for(var U in b)U!=="key"&&(w[U]=b[U])}else w=b;return k&&n(w,typeof r=="function"?r.displayName||r.name||"Unknown":r),f(r,k,w,t(),W,q)}function d(r){m(r)?r._store&&(r._store.validated=1):typeof r=="object"&&r!==null&&r.$$typeof===B&&(r._payload.status==="fulfilled"?m(r._payload.value)&&r._payload.value._store&&(r._payload.value._store.validated=1):r._store&&(r._store.validated=1))}function m(r){return typeof r=="object"&&r!==null&&r.$$typeof===h}var u=$,h=Symbol.for("react.transitional.element"),p=Symbol.for("react.portal"),j=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),T=Symbol.for("react.profiler"),A=Symbol.for("react.consumer"),R=Symbol.for("react.context"),P=Symbol.for("react.forward_ref"),y=Symbol.for("react.suspense"),_=Symbol.for("react.suspense_list"),V=Symbol.for("react.memo"),B=Symbol.for("react.lazy"),G=Symbol.for("react.activity"),z=Symbol.for("react.client.reference"),O=u.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ne=Object.prototype.hasOwnProperty,Ne=Array.isArray,H=console.createTask?console.createTask:function(){return null};u={react_stack_bottom_frame:function(r){return r()}};var oe,le={},ie=u.react_stack_bottom_frame.bind(u,a)(),ce=H(s(a)),de={};I.Fragment=j,I.jsx=function(r,b,w){var N=1e4>O.recentlyCreatedOwnerStacks++;return g(r,b,w,!1,N?Error("react-stack-top-frame"):ie,N?H(s(r)):ce)},I.jsxs=function(r,b,w){var N=1e4>O.recentlyCreatedOwnerStacks++;return g(r,b,w,!0,N?Error("react-stack-top-frame"):ie,N?H(s(r)):ce)}}()),I}process.env.NODE_ENV==="production"?Y.exports=ue():Y.exports=xe();var e=Y.exports;const Z=({src:o,alt:l="Avatar",size:i="md",imageFit:s="cover",customStyles:t={},className:a="",borderColor:x="border-gray-200",darkBorderColor:n="dark:border-gray-700",backgroundColor:c="bg-gray-100",darkBackgroundColor:f="dark:bg-gray-800",loading:g="lazy"})=>{const d={sm:"h-8 w-8",md:"h-12 w-12",lg:"h-16 w-16",xl:"h-32 w-32"},m=s==="contain"?"object-contain":"object-cover",u=`border ${x} ${n}`,h=`${c} ${f}`;return e.jsx("div",{className:`
23
23
  ds-avatar relative rounded-full overflow-hidden flex-shrink-0
24
- ${o[u]}
24
+ ${d[i]}
25
25
  ${h}
26
- ${l}
26
+ ${u}
27
27
  ${t.container||""}
28
28
  ${a}
29
- `,children:e.jsx("img",{src:n,alt:d,loading:b,decoding:"async",className:`
29
+ `,children:e.jsx("img",{src:o,alt:l,loading:g,decoding:"async",className:`
30
30
  w-full h-full
31
31
  ${m}
32
32
  ${t.image||""}
33
- `})})},I=({label:n,variant:d="primary",customStyles:u={},className:s="",endIcon:t,primaryColor:a="bg-blue-100 text-blue-800",darkPrimaryColor:f="dark:bg-blue-900/50 dark:text-blue-200",secondaryColor:i="bg-gray-100 text-gray-800",darkSecondaryColor:x="dark:bg-gray-700 dark:text-gray-300",outlineColor:g="border border-gray-300 text-gray-600 bg-transparent",darkOutlineColor:b="dark:border-gray-600 dark:text-gray-400",successColor:o="bg-green-100 text-green-800",darkSuccessColor:m="dark:bg-green-900/50 dark:text-green-200"})=>{const l="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium transition-colors gap-1",h={primary:`${a} ${f}`,secondary:`${i} ${x}`,outline:`${g} ${b}`,success:`${o} ${m}`};return e.jsxs("span",{className:`
33
+ `})})},F=({label:o,variant:l="primary",customStyles:i={},className:s="",endIcon:t,primaryColor:a="bg-blue-100 text-blue-800",darkPrimaryColor:x="dark:bg-blue-900/50 dark:text-blue-200",secondaryColor:n="bg-gray-100 text-gray-800",darkSecondaryColor:c="dark:bg-gray-700 dark:text-gray-300",outlineColor:f="border border-gray-300 text-gray-600 bg-transparent",darkOutlineColor:g="dark:border-gray-600 dark:text-gray-400",successColor:d="bg-green-100 text-green-800",darkSuccessColor:m="dark:bg-green-900/50 dark:text-green-200"})=>{const u="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium transition-colors gap-1",h={primary:`${a} ${x}`,secondary:`${n} ${c}`,outline:`${f} ${g}`,success:`${d} ${m}`};return e.jsxs("span",{className:`
34
34
  ds-badge
35
- ${l}
36
- ${h[d]}
37
- ${u.container||""}
35
+ ${u}
36
+ ${h[l]}
37
+ ${i.container||""}
38
38
  ${s}
39
- `,children:[e.jsx("span",{className:u.label||"",children:n}),t&&e.jsx("span",{className:"flex items-center",children:t})]})},A=({label:n,variant:d="primary",size:u="medium",onClick:s,className:t="",customStyles:a={},href:f,target:i,primaryColor:x="bg-blue-600",primaryHoverColor:g="hover:bg-blue-700",darkPrimaryColor:b="dark:bg-blue-600",darkPrimaryHoverColor:o="dark:hover:bg-blue-500",secondaryColor:m="bg-gray-100",secondaryHoverColor:l="hover:bg-gray-200",darkSecondaryColor:h="dark:bg-gray-800",darkSecondaryHoverColor:v="dark:hover:bg-gray-700",outlineColor:k="text-blue-600 border-blue-600",outlineHoverColor:N="hover:bg-blue-50",darkOutlineColor:E="dark:text-blue-400 dark:border-blue-400",darkOutlineHoverColor:O="dark:hover:bg-blue-950"})=>{const S="relative group inline-flex justify-center items-center font-bold rounded-lg cursor-pointer transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 no-underline",P={primary:`${x} text-white ${g} focus:ring-blue-500 border-2 border-transparent ${b} ${o}`,secondary:`${m} text-gray-800 ${l} focus:ring-gray-500 border-2 border-transparent ${h} dark:text-gray-100 ${v}`,outline:`bg-transparent ${k} border-2 ${N} focus:ring-blue-500 ${E} ${O}`},C={small:"px-3 py-1.5 text-sm",medium:"px-5 py-2.5 text-base",large:"px-8 py-3.5 text-lg"},M=`${S} ${P[d]} ${C[u]} ${a.container||""} ${t}`,D=e.jsx("span",{className:`relative z-10 flex items-center justify-center gap-2 ${a.label||""}`,children:n});return f?e.jsx("a",{href:f,className:M,target:i,rel:i==="_blank"?"noopener noreferrer":void 0,onClick:s,children:D}):e.jsx("button",{type:"button",className:M,onClick:s,children:D})},Z=y.forwardRef(({label:n,error:d,className:u,customStyles:s={},startIcon:t,endIcon:a,labelColor:f="text-gray-700",darkLabelColor:i="dark:text-gray-200",inputBgColor:x="bg-white",darkInputBgColor:g="dark:bg-gray-800",inputBorderColor:b="border-gray-300",darkInputBorderColor:o="dark:border-gray-600",inputTextColor:m="text-gray-900",darkInputTextColor:l="dark:text-white",focusRingColor:h="focus:ring-blue-500",errorBorderColor:v="border-red-500",darkErrorBorderColor:k="dark:border-red-500",errorTextColor:N="text-red-500",darkErrorTextColor:E="dark:text-red-400",...O},S)=>{const P=`
39
+ `,children:[e.jsx("span",{className:i.label||"",children:o}),t&&e.jsx("span",{className:"flex items-center",children:t})]})},S=({label:o,variant:l="primary",size:i="medium",onClick:s,className:t="",customStyles:a={},href:x,target:n,primaryColor:c="bg-blue-600",primaryHoverColor:f="hover:bg-blue-700",darkPrimaryColor:g="dark:bg-blue-600",darkPrimaryHoverColor:d="dark:hover:bg-blue-500",secondaryColor:m="bg-gray-100",secondaryHoverColor:u="hover:bg-gray-200",darkSecondaryColor:h="dark:bg-gray-800",darkSecondaryHoverColor:p="dark:hover:bg-gray-700",outlineColor:j="text-blue-600 border-blue-600",outlineHoverColor:E="hover:bg-blue-50",darkOutlineColor:T="dark:text-blue-400 dark:border-blue-400",darkOutlineHoverColor:A="dark:hover:bg-blue-950",ghostColor:R="text-gray-600 bg-transparent",ghostHoverColor:P="hover:bg-gray-100",darkGhostColor:y="dark:text-gray-300",darkGhostHoverColor:_="dark:hover:bg-gray-800"})=>{const V="relative group inline-flex justify-center items-center font-bold rounded-lg cursor-pointer transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 no-underline",B={primary:`${c} text-white ${f} focus:ring-blue-500 border-2 border-transparent ${g} ${d}`,secondary:`${m} text-gray-800 ${u} focus:ring-gray-500 border-2 border-transparent ${h} dark:text-gray-100 ${p}`,outline:`bg-transparent ${j} border-2 ${E} focus:ring-blue-500 ${T} ${A}`,ghost:`${R} border-2 border-transparent ${P} focus:ring-gray-500 ${y} ${_}`},G={small:"px-3 py-1.5 text-sm",medium:"px-5 py-2.5 text-base",large:"px-8 py-3.5 text-lg"},z=`${V} ${B[l]} ${G[i]} ${a.container||""} ${t}`,O=e.jsx("span",{className:`relative z-10 flex items-center justify-center gap-2 ${a.label||""}`,children:o});return x?e.jsx("a",{href:x,className:z,target:n,rel:n==="_blank"?"noopener noreferrer":void 0,onClick:s,children:O}):e.jsx("button",{type:"button",className:z,onClick:s,children:O})},K=$.forwardRef(({label:o,error:l,className:i,customStyles:s={},startIcon:t,endIcon:a,labelColor:x="text-gray-700",darkLabelColor:n="dark:text-gray-200",inputBgColor:c="bg-white",darkInputBgColor:f="dark:bg-gray-800",inputBorderColor:g="border-gray-300",darkInputBorderColor:d="dark:border-gray-600",inputTextColor:m="text-gray-900",darkInputTextColor:u="dark:text-white",focusRingColor:h="focus:ring-blue-500",errorBorderColor:p="border-red-500",darkErrorBorderColor:j="dark:border-red-500",errorTextColor:E="text-red-500",darkErrorTextColor:T="dark:text-red-400",...A},R)=>{const P=`
40
40
  w-full py-2 border rounded-lg shadow-sm focus:outline-none focus:ring-2 transition-all
41
41
  ${t?"pl-10":"px-3"}
42
42
  ${a?"pr-10":"px-3"}
43
- ${x} ${g}
44
- ${m} ${l}
43
+ ${c} ${f}
44
+ ${m} ${u}
45
45
  ${h}
46
- `,C=d?`${v} focus:ring-red-500 ${k}`:`${b} ${o}`;return e.jsxs("div",{className:`w-full ${s.container||""} ${u}`,children:[n&&e.jsx("label",{className:`block text-sm font-medium ${f} ${i} mb-1 ${s.label||""}`,children:n}),e.jsxs("div",{className:"relative",children:[t&&e.jsx("div",{className:`absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none ${s.iconContainer||""}`,children:t}),e.jsx("input",{ref:S,className:`
46
+ `,y=l?`${p} focus:ring-red-500 ${j}`:`${g} ${d}`;return e.jsxs("div",{className:`w-full ${s.container||""} ${i}`,children:[o&&e.jsx("label",{className:`block text-sm font-medium ${x} ${n} mb-1 ${s.label||""}`,children:o}),e.jsxs("div",{className:"relative",children:[t&&e.jsx("div",{className:`absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none ${s.iconContainer||""}`,children:t}),e.jsx("input",{ref:R,className:`
47
47
  ${P}
48
- ${C}
48
+ ${y}
49
49
  ${s.input||""}
50
- `,...O}),a&&e.jsx("div",{className:`absolute inset-y-0 right-0 pr-3 flex items-center ${s.iconContainer||""}`,children:a})]}),d&&e.jsx("p",{className:`mt-1 text-xs ${N} ${E} ${s.error||""}`,children:d})]})});Z.displayName="BasicInput";const q=({isToggled:n,onToggle:d,iconOn:u,iconOff:s,imageOn:t,imageOff:a,imageFit:f="contain",customStyles:i={},className:x="",title:g})=>{const b=`w-6 h-6 ${i.icon||""}`,o=()=>{const m=f==="contain"?"object-contain":"object-cover";return n?t?e.jsx("img",{src:t,alt:"Toggled On",className:`${b} ${m}`}):u:a?e.jsx("img",{src:a,alt:"Toggled Off",className:`${b} ${m}`}):s};return e.jsx("button",{onClick:d,title:g,className:`
50
+ `,...A}),a&&e.jsx("div",{className:`absolute inset-y-0 right-0 pr-3 flex items-center ${s.iconContainer||""}`,children:a})]}),l&&e.jsx("p",{className:`mt-1 text-xs ${E} ${T} ${s.error||""}`,children:l})]})});K.displayName="BasicInput";const Q=({isToggled:o,onToggle:l,iconOn:i,iconOff:s,imageOn:t,imageOff:a,imageFit:x="contain",customStyles:n={},className:c="",title:f})=>{const g=`w-6 h-6 ${n.icon||""}`,d=()=>{const m=x==="contain"?"object-contain":"object-cover";return o?t?e.jsx("img",{src:t,alt:"Toggled On",className:`${g} ${m}`}):i:a?e.jsx("img",{src:a,alt:"Toggled Off",className:`${g} ${m}`}):s};return e.jsx("button",{onClick:l,title:f,className:`
51
51
  p-2 rounded-full transition-all duration-300 ease-in-out
52
52
  focus:outline-none focus:ring-2 focus:ring-blue-500 hover:rotate-12 hover:scale-110 overflow-hidden
53
- ${n?"bg-gray-800 text-white hover:bg-gray-700":"bg-gray-200 text-gray-800 hover:bg-gray-300"}
54
- ${i.container||""}
55
- ${x}
56
- `,children:o()})},Y=({isDark:n,onToggle:d,iconSun:u,iconMoon:s,sunImage:t,moonImage:a,customStyles:f={},...i})=>{const[x,g]=y.useState(!1);y.useEffect(()=>{const v=()=>{const N=document.documentElement.classList.contains("dark");g(N)};v();const k=new MutationObserver(v);return k.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>k.disconnect()},[]);const b=()=>{const v=document.documentElement;v.classList.contains("dark")?(v.classList.remove("dark"),localStorage.setItem("theme","light")):(v.classList.add("dark"),localStorage.setItem("theme","dark")),d&&d()},o=n!==void 0?n:x,m=`w-6 h-6 ${f.icon||""}`,l=e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:m,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"})}),h=e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:m,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})});return e.jsx(q,{...i,isToggled:o,onToggle:b,iconOn:u||l,iconOff:s||h,imageOn:t,imageOff:a,customStyles:f,title:i.title||(o?"Switch to light mode":"Switch to dark mode")})},z=({initialLanguage:n="en",onLanguageChange:d,className:u="",customStyles:s={},englishColor:t="!bg-transparent hover:!bg-gray-100 dark:hover:!bg-gray-800",englishBorderColor:a="border-2 border-transparent",englishTextColor:f="!text-gray-600 dark:!text-gray-300",spanishColor:i="!bg-transparent hover:!bg-gray-100 dark:hover:!bg-gray-800",spanishBorderColor:x="border-2 border-transparent",spanishTextColor:g="!text-gray-600 dark:!text-gray-300",isDark:b=!1})=>{const[o,m]=y.useState(n==="es"),l=()=>{const v=!o;m(v),d&&d(v?"es":"en")},h=o?`${i} ${g} ${x}`:`${t} ${f} ${a}`;return e.jsx("div",{className:b?"dark":"",children:e.jsx(q,{isToggled:o,onToggle:l,className:u,title:o?"Switch to English":"Cambiar a Español",iconOn:e.jsx("span",{className:"font-bold text-xs",children:"ES"}),iconOff:e.jsx("span",{className:"font-bold text-xs",children:"EN"}),customStyles:{container:`${h} ${s.container||""}`,icon:`w-6 h-6 flex items-center justify-center ${s.icon||""}`}})})},Q=({title:n,description:d,image:u,tags:s=[],orientation:t="vertical",actionLabel:a="View Project",projectUrl:f,linkTarget:i="_self",onViewProject:x,customStyles:g={},className:b=""})=>{const o=t==="horizontal";return e.jsxs("div",{className:`
53
+ ${o?"bg-gray-800 text-white hover:bg-gray-700":"bg-gray-200 text-gray-800 hover:bg-gray-300"}
54
+ ${n.container||""}
55
+ ${c}
56
+ `,children:d()})},L=({isDark:o,onToggle:l,iconSun:i,iconMoon:s,sunImage:t,moonImage:a,customStyles:x={},...n})=>{const[c,f]=$.useState(!1);$.useEffect(()=>{const p=()=>{const E=document.documentElement.classList.contains("dark");f(E)};p();const j=new MutationObserver(p);return j.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>j.disconnect()},[]);const g=()=>{const p=document.documentElement;p.classList.contains("dark")?(p.classList.remove("dark"),localStorage.setItem("theme","light")):(p.classList.add("dark"),localStorage.setItem("theme","dark")),l&&l()},d=o!==void 0?o:c,m=`w-6 h-6 ${x.icon||""}`,u=e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:m,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"})}),h=e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:m,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})});return e.jsx(Q,{...n,isToggled:d,onToggle:g,iconOn:i||u,iconOff:s||h,imageOn:t,imageOff:a,customStyles:x,title:n.title||(d?"Switch to light mode":"Switch to dark mode")})},C=({initialLanguage:o="en",onLanguageChange:l,className:i="",customStyles:s={},englishColor:t="!bg-transparent hover:!bg-gray-100 dark:hover:!bg-gray-800",englishBorderColor:a="border-2 border-transparent",englishTextColor:x="!text-gray-600 dark:!text-gray-300",spanishColor:n="!bg-transparent hover:!bg-gray-100 dark:hover:!bg-gray-800",spanishBorderColor:c="border-2 border-transparent",spanishTextColor:f="!text-gray-600 dark:!text-gray-300",isDark:g=!1})=>{const[d,m]=$.useState(o==="es"),u=()=>{const p=!d;m(p),l&&l(p?"es":"en")},h=d?`${n} ${f} ${c}`:`${t} ${x} ${a}`;return e.jsx("div",{className:g?"dark":"",children:e.jsx(Q,{isToggled:d,onToggle:u,className:i,title:d?"Switch to English":"Cambiar a Español",iconOn:e.jsx("span",{className:"font-bold text-xs",children:"ES"}),iconOff:e.jsx("span",{className:"font-bold text-xs",children:"EN"}),customStyles:{container:`${h} ${s.container||""}`,icon:`w-6 h-6 flex items-center justify-center ${s.icon||""}`}})})},fe=({label:o,value:l,onChange:i,min:s=0,max:t=100,step:a=1,className:x="",customStyles:n={},disabled:c,...f})=>e.jsxs("div",{className:`flex flex-col gap-2 ${n.container||""} ${x}`,children:[o&&e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsx("label",{className:`text-sm font-medium text-gray-700 dark:text-gray-300 ${n.label||""}`,children:o}),e.jsx("span",{className:"text-xs text-gray-500 font-mono",children:l})]}),e.jsx("input",{type:"range",min:s,max:t,step:a,value:l,onChange:g=>i(Number(g.target.value)),disabled:c,className:`
57
+ w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700
58
+ accent-blue-600 dark:accent-blue-500
59
+ disabled:opacity-50 disabled:cursor-not-allowed
60
+ focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 dark:focus:ring-offset-gray-900
61
+ ${n.input||""}
62
+ `,...f})]}),ge=o=>e.jsx(fe,{...o}),ee=({title:o,description:l,image:i,tags:s=[],orientation:t="vertical",actionLabel:a="View Project",projectUrl:x,linkTarget:n="_self",onViewProject:c,customStyles:f={},className:g=""})=>{const d=t==="horizontal";return e.jsxs("div",{className:`
57
63
  /* 1. IDENTIFIER CLASS */
58
64
  ds-card
59
65
 
60
66
  /* 2. BASE STRUCTURE */
61
67
  group w-full rounded-xl overflow-hidden border transition-all duration-300
62
68
  /* Switch layout based on orientation prop */
63
- ${o?"flex flex-col md:flex-row":"flex flex-col"}
69
+ ${d?"flex flex-col md:flex-row":"flex flex-col"}
64
70
 
65
71
  /* 3. LIGHT MODE (Default) */
66
72
  /* White background, gray border, black shadow on hover */
@@ -84,86 +90,120 @@ React keys must be passed directly to JSX without using spread:
84
90
  dark:hover:!shadow-[0_20px_25px_-5px_rgba(255,255,255,0.30)]
85
91
 
86
92
  /* 5. EXTERNAL INJECTIONS */
87
- ${g.container||""}
88
- ${b}
93
+ ${f.container||""}
94
+ ${g}
89
95
  `,children:[e.jsxs("div",{className:`
90
96
  ds-card-image overflow-hidden relative
91
- ${o?"w-full h-48 md:w-2/5 md:h-auto":"w-full h-48"}
92
- ${g.imageWrapper||""}
93
- `,children:[e.jsx("img",{src:u,alt:n,loading:"lazy",decoding:"async",className:"w-full h-full object-cover transition-transform duration-700 group-hover:scale-105"}),e.jsx("div",{className:"absolute inset-0 bg-transparent dark:bg-black/20 transition-colors pointer-events-none"})]}),e.jsxs("div",{className:`ds-card-content p-6 flex flex-col justify-between flex-1 ${g.content||""}`,children:[e.jsxs("div",{children:[e.jsx("h3",{className:`
97
+ ${d?"w-full h-48 md:w-2/5 md:h-auto":"w-full h-48"}
98
+ ${f.imageWrapper||""}
99
+ `,children:[e.jsx("img",{src:i,alt:o,loading:"lazy",decoding:"async",className:"w-full h-full object-cover transition-transform duration-700 group-hover:scale-105"}),e.jsx("div",{className:"absolute inset-0 bg-transparent dark:bg-black/20 transition-colors pointer-events-none"})]}),e.jsxs("div",{className:`ds-card-content p-6 flex flex-col justify-between flex-1 ${f.content||""}`,children:[e.jsxs("div",{children:[e.jsx("h3",{className:`
94
100
  ds-card-title text-2xl font-bold mb-3 transition-colors text-gray-900 dark:text-white
95
- ${g.title||""}
96
- `,children:n}),e.jsx("p",{className:`
101
+ ${f.title||""}
102
+ `,children:o}),e.jsx("p",{className:`
97
103
  ds-card-description mb-4 line-clamp-3 leading-relaxed transition-colors text-gray-600 dark:text-gray-300
98
- ${g.description||""}
99
- `,children:d}),e.jsx("div",{className:`ds-card-tags flex flex-wrap gap-2 mb-6 ${g.tagsContainer||""}`,children:s.map(m=>e.jsx(I,{label:m,variant:"secondary"},m))})]}),e.jsx("div",{className:"ds-card-actions flex justify-start mt-auto",children:e.jsx(A,{label:a,onClick:x,href:f,target:i,size:"medium",variant:"primary"})})]})]})},le=({title:n="Featured Content",items:d,layout:u="grid",itemButtonLabel:s="View Details",onItemClick:t,customStyles:a={},backgroundColor:f="bg-gray-50",darkBackgroundColor:i="dark:bg-gray-900",titleColor:x="text-gray-900",darkTitleColor:g="dark:text-white"})=>{const b=u==="grid"?"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8":"flex flex-col gap-12 max-w-4xl mx-auto";return e.jsx("section",{className:`
104
+ ${f.description||""}
105
+ `,children:l}),e.jsx("div",{className:`ds-card-tags flex flex-wrap gap-2 mb-6 ${f.tagsContainer||""}`,children:s.map(m=>e.jsx(F,{label:m,variant:"secondary"},m))})]}),e.jsx("div",{className:"ds-card-actions flex justify-start mt-auto",children:e.jsx(S,{label:a,onClick:c,href:x,target:n,size:"medium",variant:"primary"})})]})]})},me=({children:o,title:l,actions:i,className:s="",customStyles:t={}})=>e.jsxs("div",{className:`
106
+ bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700
107
+ rounded-xl shadow-sm overflow-hidden
108
+ ${t.container||""} ${s}
109
+ `,children:[(l||i)&&e.jsxs("div",{className:`
110
+ px-4 py-3 border-b border-gray-100 dark:border-gray-700
111
+ flex justify-between items-center bg-gray-50/50 dark:bg-gray-900/50
112
+ ${t.header||""}
113
+ `,children:[l&&e.jsx("h3",{className:`text-sm font-semibold text-gray-900 dark:text-gray-100 ${t.title||""}`,children:l}),i&&e.jsx("div",{className:`flex items-center gap-2 ${t.actions||""}`,children:i})]}),e.jsx("div",{className:`p-4 ${t.content||""}`,children:o})]}),he=o=>e.jsx(me,{...o}),re=({title:o="Featured Content",items:l,layout:i="grid",itemButtonLabel:s="View Details",onItemClick:t,customStyles:a={},backgroundColor:x="bg-gray-50",darkBackgroundColor:n="dark:bg-gray-900",titleColor:c="text-gray-900",darkTitleColor:f="dark:text-white"})=>{const g=i==="grid"?"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8":"flex flex-col gap-12 max-w-4xl mx-auto";return e.jsx("section",{className:`
100
114
  py-16 px-4 transition-colors duration-300
101
- ${f} ${i}
115
+ ${x} ${n}
102
116
  ${a.container||""}
103
- `,children:e.jsxs("div",{className:"max-w-7xl mx-auto",children:[n&&e.jsxs("div",{className:"mb-12 text-start",children:[e.jsx("h2",{className:`
117
+ `,children:e.jsxs("div",{className:"max-w-7xl mx-auto",children:[o&&e.jsxs("div",{className:"mb-12 text-start",children:[e.jsx("h2",{className:`
104
118
  text-4xl font-extrabold mb-4 tracking-tight transition-colors
105
- ${x} ${g}
119
+ ${c} ${f}
106
120
  ${a.title||""}
107
- `,children:n}),e.jsx("div",{className:"h-1.5 w-24 bg-blue-600 mx-auto rounded-full"})]}),e.jsx("div",{className:b,children:d.map(o=>e.jsx(Q,{title:o.title,description:o.description,image:o.image,tags:o.tags,projectUrl:o.url,orientation:u==="list"?"horizontal":"vertical",actionLabel:s,onViewProject:()=>t==null?void 0:t(o.id)},o.id))})]})})},ie=({copyrightOwner:n,copyrightText:d=`© ${new Date().getFullYear()} All rights reserved.`,socialLinks:u,secondaryLinks:s=[],customStyles:t={},backgroundColor:a="bg-gray-900",darkBackgroundColor:f="dark:bg-black",borderColor:i="border-gray-800",darkBorderColor:x="dark:border-gray-800",textColor:g="text-white",darkTextColor:b="dark:text-white",linksColor:o="text-gray-400",linksHoverColor:m="hover:text-white"})=>e.jsx("footer",{className:`
121
+ `,children:o}),e.jsx("div",{className:"h-1.5 w-24 bg-blue-600 mx-auto rounded-full"})]}),e.jsx("div",{className:g,children:l.map(d=>e.jsx(ee,{title:d.title,description:d.description,image:d.image,tags:d.tags,projectUrl:d.url,orientation:i==="list"?"horizontal":"vertical",actionLabel:s,onViewProject:()=>t==null?void 0:t(d.id)},d.id))})]})})},te=({copyrightOwner:o,copyrightText:l=`© ${new Date().getFullYear()} All rights reserved.`,socialLinks:i,secondaryLinks:s=[],customStyles:t={},backgroundColor:a="bg-gray-900",darkBackgroundColor:x="dark:bg-black",borderColor:n="border-gray-800",darkBorderColor:c="dark:border-gray-800",textColor:f="text-white",darkTextColor:g="dark:text-white",linksColor:d="text-gray-400",linksHoverColor:m="hover:text-white"})=>e.jsx("footer",{className:`
108
122
  py-12 border-t transition-colors duration-300
109
- ${a} ${f}
110
- ${i} ${x}
123
+ ${a} ${x}
124
+ ${n} ${c}
111
125
  ${t.container||""}
112
- `,children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsxs("div",{className:"flex flex-col md:flex-row justify-between items-center gap-6",children:[e.jsxs("div",{className:`text-center md:text-left ${t.text||""}`,children:[e.jsx("p",{className:`text-lg font-bold ${g} ${b}`,children:n}),e.jsx("p",{className:`text-sm mt-1 ${o} opacity-80`,children:d})]}),s.length>0&&e.jsx("div",{className:"flex gap-6 flex-wrap justify-center",children:s.map(l=>e.jsx("a",{href:l.href,className:`
126
+ `,children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsxs("div",{className:"flex flex-col md:flex-row justify-between items-center gap-6",children:[e.jsxs("div",{className:`text-center md:text-left ${t.text||""}`,children:[e.jsx("p",{className:`text-lg font-bold ${f} ${g}`,children:o}),e.jsx("p",{className:`text-sm mt-1 ${d} opacity-80`,children:l})]}),s.length>0&&e.jsx("div",{className:"flex gap-6 flex-wrap justify-center",children:s.map(u=>e.jsx("a",{href:u.href,className:`
113
127
  text-sm transition-colors
114
- ${o} ${m}
128
+ ${d} ${m}
115
129
  ${t.link||""}
116
- `,children:l.label},l.label))}),e.jsx("div",{className:"flex space-x-6",children:u.map(l=>e.jsx("a",{href:l.url,target:"_blank",rel:"noopener noreferrer",className:`
130
+ `,children:u.label},u.label))}),e.jsx("div",{className:"flex space-x-6",children:i.map(u=>e.jsx("a",{href:u.url,target:"_blank",rel:"noopener noreferrer",className:`
117
131
  transition-colors text-sm font-medium uppercase tracking-wider
118
- ${o} ${m}
132
+ ${d} ${m}
119
133
  ${t.link||""}
120
- `,children:l.platform},l.platform))})]})})}),ce=({greeting:n="Hello",title:d,subtitle:u,imageUrl:s,actions:t=[],customStyles:a={},backgroundColor:f="bg-white",darkBackgroundColor:i="dark:bg-gray-900",greetingColor:x="text-blue-600",darkGreetingColor:g="dark:text-blue-400",titleColor:b="text-gray-900",darkTitleColor:o="dark:text-white",subtitleColor:m="text-gray-500",darkSubtitleColor:l="dark:text-gray-400"})=>{const h=s?"flex flex-col lg:flex-row items-center gap-12 lg:gap-16":"flex flex-col items-center text-center max-w-4xl mx-auto",v=s?"flex-1 text-center lg:text-left":"w-full",k=s?"justify-center lg:justify-start":"justify-center";return e.jsx("section",{className:`
134
+ `,children:u.platform},u.platform))})]})})}),ae=({greeting:o="Hello",title:l,subtitle:i,imageUrl:s,actions:t=[],customStyles:a={},backgroundColor:x="bg-white",darkBackgroundColor:n="dark:bg-gray-900",greetingColor:c="text-blue-600",darkGreetingColor:f="dark:text-blue-400",titleColor:g="text-gray-900",darkTitleColor:d="dark:text-white",subtitleColor:m="text-gray-500",darkSubtitleColor:u="dark:text-gray-400"})=>{const h=s?"flex flex-col lg:flex-row items-center gap-12 lg:gap-16":"flex flex-col items-center text-center max-w-4xl mx-auto",p=s?"flex-1 text-center lg:text-left":"w-full",j=s?"justify-center lg:justify-start":"justify-center";return e.jsx("section",{className:`
121
135
  relative pt-32 pb-16 lg:pt-40 lg:pb-24 overflow-hidden transition-colors duration-300
122
- ${f} ${i}
136
+ ${x} ${n}
123
137
  ${a.container||""}
124
- `,children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsxs("div",{className:h,children:[e.jsxs("div",{className:`${v} ${a.content||""}`,children:[n&&e.jsx("p",{className:`
138
+ `,children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsxs("div",{className:h,children:[e.jsxs("div",{className:`${p} ${a.content||""}`,children:[o&&e.jsx("p",{className:`
125
139
  font-semibold tracking-wide uppercase text-sm mb-4
126
- ${x} ${g}
127
- `,children:n}),e.jsx("h1",{className:`
140
+ ${c} ${f}
141
+ `,children:o}),e.jsx("h1",{className:`
128
142
  text-4xl sm:text-5xl lg:text-6xl font-bold leading-tight mb-6 transition-colors
129
- ${b} ${o}
143
+ ${g} ${d}
130
144
  ${a.title||""}
131
- `,children:d}),e.jsx("p",{className:`
145
+ `,children:l}),e.jsx("p",{className:`
132
146
  text-lg sm:text-xl mb-8 leading-relaxed transition-colors
133
- ${m} ${l}
147
+ ${m} ${u}
134
148
  ${!s&&"mx-auto max-w-2xl"}
135
149
  ${a.subtitle||""}
136
- `,children:u}),t.length>0&&e.jsx("div",{className:`flex flex-col sm:flex-row gap-4 ${k}`,children:t.map((N,E)=>e.jsx(A,{label:N.label,variant:N.variant||"primary",size:"large",onClick:N.onClick,className:"w-full sm:w-auto"},E))})]}),s&&e.jsx("div",{className:`
150
+ `,children:i}),t.length>0&&e.jsx("div",{className:`flex flex-col sm:flex-row gap-4 ${j}`,children:t.map((E,T)=>e.jsx(S,{label:E.label,variant:E.variant||"primary",size:"large",onClick:E.onClick,className:"w-full sm:w-auto"},T))})]}),s&&e.jsx("div",{className:`
137
151
  flex-1 w-full max-w-md lg:max-w-full relative
138
152
  ${a.imageWrapper||""}
139
- `,children:e.jsxs("div",{className:"relative rounded-2xl overflow-hidden shadow-2xl dark:shadow-none dark:border dark:border-gray-800 aspect-[4/3] group",children:[e.jsx("div",{className:"absolute inset-0 bg-gray-900/5 dark:bg-black/20 group-hover:bg-transparent transition-colors duration-500"}),e.jsx("img",{src:s,alt:"Hero Visual",decoding:"async",className:"w-full h-full object-cover transform transition-transform duration-700 hover:scale-105"})]})})]})})})},de=({logo:n="Marc.Dev",isLogoImage:d=!1,links:u,actions:s=[],customStyles:t={},isOpen:a=!1,isScrolled:f=!1,onToggleMenu:i,onLinkClick:x,onLogoClick:g,enableLanguageToggle:b=!1,language:o="en",onLanguageChange:m})=>e.jsxs("nav",{className:`
153
+ `,children:e.jsxs("div",{className:"relative rounded-2xl overflow-hidden shadow-2xl dark:shadow-none dark:border dark:border-gray-800 aspect-[4/3] group",children:[e.jsx("div",{className:"absolute inset-0 bg-gray-900/5 dark:bg-black/20 group-hover:bg-transparent transition-colors duration-500"}),e.jsx("img",{src:s,alt:"Hero Visual",decoding:"async",className:"w-full h-full object-cover transform transition-transform duration-700 hover:scale-105"})]})})]})})})},be=({logo:o="Marc.Dev",isLogoImage:l=!1,links:i,actions:s=[],customStyles:t={},isOpen:a=!1,isScrolled:x=!1,onToggleMenu:n,onLinkClick:c,onLogoClick:f,enableLanguageToggle:g=!1,language:d="en",onLanguageChange:m})=>e.jsxs("nav",{className:`
140
154
  fixed top-0 left-0 right-0 z-50 transition-all duration-300
141
155
 
142
- ${f||a?"bg-white/90 dark:bg-gray-900/90 backdrop-blur-md shadow-sm border-b border-gray-100 dark:border-gray-800":"bg-transparent"}
156
+ ${x||a?"bg-white/90 dark:bg-gray-900/90 backdrop-blur-md shadow-sm border-b border-gray-100 dark:border-gray-800":"bg-transparent"}
143
157
  ${t.container||""}
144
- `,children:[e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsxs("div",{className:"flex justify-between items-center h-20",children:[e.jsx("div",{className:`flex-shrink-0 cursor-pointer flex items-center ${t.logo||""}`,onClick:g,children:d?e.jsx("img",{src:n,alt:"Logo",className:"h-8 w-auto"}):e.jsx("span",{className:"text-2xl font-bold text-gray-900 dark:text-white tracking-tighter hover:text-blue-600 dark:hover:text-blue-400 transition-colors",children:n})}),e.jsxs("div",{className:"hidden md:flex space-x-8 items-center",children:[u.map(l=>e.jsx("a",{href:l.href,onClick:h=>x==null?void 0:x(h,l.href),className:`
158
+ `,children:[e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsxs("div",{className:"flex justify-between items-center h-20",children:[e.jsx("div",{className:`flex-shrink-0 cursor-pointer flex items-center ${t.logo||""}`,onClick:f,children:l?e.jsx("img",{src:o,alt:"Logo",className:"h-8 w-auto"}):e.jsx("span",{className:"text-2xl font-bold text-gray-900 dark:text-white tracking-tighter hover:text-blue-600 dark:hover:text-blue-400 transition-colors",children:o})}),e.jsxs("div",{className:"hidden md:flex space-x-8 items-center",children:[i.map(u=>e.jsx("a",{href:u.href,onClick:h=>c==null?void 0:c(h,u.href),className:`
145
159
  text-sm font-medium transition-colors
146
160
  hover:text-blue-600 dark:hover:text-blue-400
147
- ${l.active?"text-blue-600 dark:text-blue-400":"text-gray-600 dark:text-gray-300"}
161
+ ${u.active?"text-blue-600 dark:text-blue-400":"text-gray-600 dark:text-gray-300"}
148
162
  ${t.link||""}
149
- `,children:l.label},l.label)),e.jsxs("div",{className:"flex items-center gap-4 pl-6 border-l border-gray-200 dark:border-gray-700",children:[b&&e.jsx(z,{initialLanguage:o,onLanguageChange:m}),e.jsx(Y,{}),s.map((l,h)=>e.jsx(A,{...l,size:"small"},h))]})]}),e.jsxs("div",{className:"flex items-center gap-4 md:hidden",children:[b&&e.jsx(z,{initialLanguage:o,onLanguageChange:m}),e.jsx(Y,{}),e.jsx("button",{onClick:i,className:"p-2 rounded-md text-gray-600 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors focus:outline-none",children:e.jsx("svg",{className:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:a?e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"}):e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16M4 18h16"})})})]})]})}),e.jsx("div",{className:`
163
+ `,children:u.label},u.label)),e.jsxs("div",{className:"flex items-center gap-4 pl-6 border-l border-gray-200 dark:border-gray-700",children:[g&&e.jsx(C,{initialLanguage:d,onLanguageChange:m}),e.jsx(L,{}),s.map((u,h)=>e.jsx(S,{...u,size:"small"},h))]})]}),e.jsxs("div",{className:"flex items-center gap-4 md:hidden",children:[g&&e.jsx(C,{initialLanguage:d,onLanguageChange:m}),e.jsx(L,{}),e.jsx("button",{onClick:n,className:"p-2 rounded-md text-gray-600 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors focus:outline-none",children:e.jsx("svg",{className:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:a?e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"}):e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16M4 18h16"})})})]})]})}),e.jsx("div",{className:`
150
164
  md:hidden absolute top-20 left-0 w-full
151
165
  bg-white dark:bg-gray-900 border-b border-gray-100 dark:border-gray-800
152
166
  shadow-xl transition-all duration-300 ease-in-out origin-top
153
167
  ${a?"opacity-100 scale-y-100":"opacity-0 scale-y-0 h-0 overflow-hidden"}
154
168
  ${t.mobileMenu||""}
155
- `,children:e.jsxs("div",{className:"px-6 py-6 space-y-4 flex flex-col items-center",children:[u.map(l=>e.jsx("a",{href:l.href,onClick:h=>x==null?void 0:x(h,l.href),className:"block text-lg font-medium text-gray-800 dark:text-gray-200 hover:text-blue-600 dark:hover:text-blue-400 transition-colors",children:l.label},l.label)),s.length>0&&e.jsx("div",{className:"pt-4 w-full flex flex-col gap-3",children:s.map((l,h)=>e.jsx(A,{...l,size:"medium",className:"w-full"},h))})]})})]}),ue=n=>{const[d,u]=y.useState(!1),[s,t]=y.useState(!1);y.useEffect(()=>{let i=!1;const x=()=>{i||(window.requestAnimationFrame(()=>{t(window.scrollY>20),i=!1}),i=!0)};return window.addEventListener("scroll",x),()=>window.removeEventListener("scroll",x)},[]);const a=(i,x)=>{i.preventDefault();const g=document.querySelector(x);g&&(g.scrollIntoView({behavior:"smooth"}),u(!1))},f=()=>{window.scrollTo({top:0,behavior:"smooth"})};return e.jsx(de,{...n,isOpen:d,isScrolled:s,onToggleMenu:()=>u(!d),onLinkClick:a,onLogoClick:f})},xe=({title:n="About Me",avatarUrl:d,bio:u,skillsTitle:s="Tech Stack",skills:t=[],customStyles:a={},id:f,backgroundColor:i="bg-white",darkBackgroundColor:x="dark:bg-gray-900",borderColor:g="border-gray-100",darkBorderColor:b="dark:border-gray-800",titleColor:o="text-gray-900",darkTitleColor:m="dark:text-white",textColor:l="text-gray-600",darkTextColor:h="dark:text-gray-300"})=>e.jsx("section",{id:f,className:`
169
+ `,children:e.jsxs("div",{className:"px-6 py-6 space-y-4 flex flex-col items-center",children:[i.map(u=>e.jsx("a",{href:u.href,onClick:h=>c==null?void 0:c(h,u.href),className:"block text-lg font-medium text-gray-800 dark:text-gray-200 hover:text-blue-600 dark:hover:text-blue-400 transition-colors",children:u.label},u.label)),s.length>0&&e.jsx("div",{className:"pt-4 w-full flex flex-col gap-3",children:s.map((u,h)=>e.jsx(S,{...u,size:"medium",className:"w-full"},h))})]})})]}),pe=o=>{const[l,i]=$.useState(!1),[s,t]=$.useState(!1);$.useEffect(()=>{let n=!1;const c=()=>{n||(window.requestAnimationFrame(()=>{t(window.scrollY>20),n=!1}),n=!0)};return window.addEventListener("scroll",c),()=>window.removeEventListener("scroll",c)},[]);const a=(n,c)=>{n.preventDefault();const f=document.querySelector(c);f&&(f.scrollIntoView({behavior:"smooth"}),i(!1))},x=()=>{window.scrollTo({top:0,behavior:"smooth"})};return e.jsx(be,{...o,isOpen:l,isScrolled:s,onToggleMenu:()=>i(!l),onLinkClick:a,onLogoClick:x})},se=({title:o="About Me",avatarUrl:l,bio:i,skillsTitle:s="Tech Stack",skills:t=[],customStyles:a={},id:x,backgroundColor:n="bg-white",darkBackgroundColor:c="dark:bg-gray-900",borderColor:f="border-gray-100",darkBorderColor:g="dark:border-gray-800",titleColor:d="text-gray-900",darkTitleColor:m="dark:text-white",textColor:u="text-gray-600",darkTextColor:h="dark:text-gray-300"})=>e.jsx("section",{id:x,className:`
156
170
  py-20 transition-colors duration-300
157
171
  border-y
158
- ${i} ${x}
159
- ${g} ${b}
172
+ ${n} ${c}
173
+ ${f} ${g}
160
174
  ${a.container||""}
161
- `,children:e.jsxs("div",{className:`max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 ${a.contentWrapper||""}`,children:[n&&e.jsxs("div",{className:"text-center mb-12",children:[e.jsx("h2",{className:`
175
+ `,children:e.jsxs("div",{className:`max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 ${a.contentWrapper||""}`,children:[o&&e.jsxs("div",{className:"text-center mb-12",children:[e.jsx("h2",{className:`
162
176
  text-3xl font-bold transition-colors
163
- ${o} ${m}
177
+ ${d} ${m}
164
178
  ${a.title||""}
165
- `,children:n}),e.jsx("div",{className:"mt-2 h-1 w-20 bg-blue-600 mx-auto rounded"})]}),e.jsxs("div",{className:"flex flex-col md:flex-row items-center gap-12",children:[e.jsx("div",{className:"flex-shrink-0",children:e.jsx(J,{src:d,size:"xl"})}),e.jsxs("div",{className:`text-lg leading-relaxed ${l} ${h} ${a.textWrapper||""}`,children:[e.jsx("p",{className:`mb-8 whitespace-pre-line ${a.bio||""}`,children:u}),t.length>0&&e.jsxs("div",{children:[s&&e.jsx("h3",{className:`
179
+ `,children:o}),e.jsx("div",{className:"mt-2 h-1 w-20 bg-blue-600 mx-auto rounded"})]}),e.jsxs("div",{className:"flex flex-col md:flex-row items-center gap-12",children:[e.jsx("div",{className:"flex-shrink-0",children:e.jsx(Z,{src:l,size:"xl"})}),e.jsxs("div",{className:`text-lg leading-relaxed ${u} ${h} ${a.textWrapper||""}`,children:[e.jsx("p",{className:`mb-8 whitespace-pre-line ${a.bio||""}`,children:i}),t.length>0&&e.jsxs("div",{children:[s&&e.jsx("h3",{className:`
166
180
  text-sm font-bold uppercase tracking-wide mb-3
167
- ${o} ${m}
181
+ ${d} ${m}
168
182
  ${a.skillsTitle||""}
169
- `,children:s}),e.jsx("div",{className:"flex flex-wrap gap-2",children:t.map(v=>e.jsx(I,{label:v,variant:"secondary"},v))})]})]})]})]})});$.Avatar=J,$.Badge=I,$.Button=A,$.ContentGrid=le,$.Footer=ie,$.Hero=ce,$.Input=Z,$.LanguageToggle=z,$.Navbar=ue,$.ProfileSection=xe,$.ProjectCard=Q,$.ThemeToggle=Y,Object.defineProperty($,Symbol.toStringTag,{value:"Module"})});
183
+ `,children:s}),e.jsx("div",{className:"flex flex-wrap gap-2",children:t.map(p=>e.jsx(F,{label:p,variant:"secondary"},p))})]})]})]})]})}),ve=({logo:o="Marc.Dev",isLogoImage:l=!1,links:i,actions:s=[],customStyles:t={},isOpen:a=!1,onToggleMenu:x,onLinkClick:n,onLogoClick:c,enableLanguageToggle:f=!1,language:g="en",onLanguageChange:d,backgroundColor:m="bg-white",darkBackgroundColor:u="dark:bg-gray-900",borderColor:h="border-gray-100",darkBorderColor:p="dark:border-gray-800",textColor:j="text-gray-900",darkTextColor:E="dark:text-white",activeLinkColor:T="text-blue-600",darkActiveLinkColor:A="dark:text-blue-400",hoverLinkColor:R="hover:text-blue-600",darkHoverLinkColor:P="dark:hover:text-blue-400"})=>e.jsxs("nav",{className:`
184
+ w-full border-b transition-colors duration-300
185
+ ${m} ${u}
186
+ ${h} ${p}
187
+ ${t.container||""}
188
+ `,children:[e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsxs("div",{className:"flex justify-between items-center h-20",children:[e.jsx("div",{className:`flex-shrink-0 cursor-pointer flex items-center ${t.logo||""}`,onClick:c,children:l?e.jsx("img",{src:o,alt:"Logo",className:"h-8 w-auto"}):e.jsx("span",{className:`
189
+ text-2xl font-bold tracking-tighter transition-colors
190
+ ${j} ${E}
191
+ ${R} ${P}
192
+ `,children:o})}),e.jsxs("div",{className:"hidden md:flex space-x-8 items-center",children:[i.map(y=>e.jsx("a",{href:y.href,onClick:_=>n==null?void 0:n(_,y.href),className:`
193
+ text-sm font-medium transition-colors
194
+ ${y.active?`${T} ${A}`:"text-gray-600 dark:text-gray-300"}
195
+ ${R} ${P}
196
+ ${t.link||""}
197
+ `,children:y.label},y.label)),e.jsxs("div",{className:"flex items-center gap-4 pl-6 border-l border-gray-200 dark:border-gray-700",children:[f&&e.jsx(C,{initialLanguage:g,onLanguageChange:d}),e.jsx(L,{}),s.map((y,_)=>e.jsx(S,{...y,size:"small"},_))]})]}),e.jsxs("div",{className:"flex items-center gap-4 md:hidden",children:[f&&e.jsx(C,{initialLanguage:g,onLanguageChange:d}),e.jsx(L,{}),e.jsx("button",{onClick:x,className:"p-2 rounded-md text-gray-600 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors focus:outline-none",children:e.jsx("svg",{className:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:a?e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"}):e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16M4 18h16"})})})]})]})}),e.jsx("div",{className:`
198
+ md:hidden
199
+ border-b border-gray-100 dark:border-gray-800
200
+ transition-all duration-300 ease-in-out
201
+ ${m} ${u}
202
+ ${a?"opacity-100 max-h-screen py-4":"opacity-0 max-h-0 overflow-hidden"}
203
+ ${t.mobileMenu||""}
204
+ `,children:e.jsxs("div",{className:"px-6 space-y-4 flex flex-col items-center",children:[i.map(y=>e.jsx("a",{href:y.href,onClick:_=>n==null?void 0:n(_,y.href),className:`
205
+ block text-lg font-medium transition-colors
206
+ text-gray-800 dark:text-gray-200
207
+ ${R} ${P}
208
+ `,children:y.label},y.label)),s.length>0&&e.jsx("div",{className:"pt-4 w-full flex flex-col gap-3",children:s.map((y,_)=>e.jsx(S,{...y,size:"medium",className:"w-full"},_))})]})})]}),je=[{id:"1",title:"E-commerce Dashboard",description:"Complete admin dashboard with real-time metrics and dark mode.",image:"https://images.unsplash.com/photo-1460925895917-afdab827c52f?auto=format&fit=crop&w=800&q=80",tags:["React","TypeScript","Tailwind"],url:"https://google.com"},{id:"2",title:"Task App",description:"Kanban-style productivity app.",image:"https://images.unsplash.com/photo-1484480974693-6ca0a78fb36b?auto=format&fit=crop&w=800&q=80",tags:["Next.js","Supabase"],url:"#"},{id:"3",title:"Landing Page",description:"High-performance corporate website.",image:"https://images.unsplash.com/photo-1551288049-bebda4e38f71?auto=format&fit=crop&w=800&q=80",tags:["Astro","CSS"],url:"#"}],we=({enableLanguageToggle:o=!1,language:l="en",onLanguageChange:i,items:s=je,text:t={navbar:{contact:"Contact"},hero:{greeting:"Hi, I'm Marc",title:"I transform ideas into digital experiences.",subtitle:"Full Stack Developer passionate about clean code and scalable architecture.",viewProjects:"View Projects",downloadCv:"Download CV"},about:{title:"About Me",bio:`Hi, I'm Marc. I've been passionately developing software for several years.
209
+ I specialize in the JavaScript/TypeScript ecosystem, building applications that only work well but feel good to use.`,skillsTitle:"Tech Stack"},projects:{title:"Featured Projects",viewCaseStudy:"View Case Study"},footer:{legalNotice:"Legal Notice"}}})=>{const a=()=>{const n=document.createElement("a"),c="/design-system/",f=c.endsWith("/")?c+"cv.pdf":c+"/cv.pdf";n.href=f,n.download="Marc_Iniguez_CV.pdf",document.body.appendChild(n),n.click(),document.body.removeChild(n)},x=()=>{const f=`https://mail.google.com/mail/?view=cm&fs=1&to=marc@example.com&su=${encodeURIComponent("Hi Marc, I saw your portfolio")}`;window.open(f,"_blank")};return e.jsxs("div",{className:"bg-gray-50 dark:bg-gray-900 min-h-screen font-sans transition-colors duration-300",children:[e.jsx(ve,{logo:"Marc.Dev",links:[],actions:[{label:t.navbar.contact,onClick:x,variant:"primary"}],enableLanguageToggle:o,language:l,onLanguageChange:i}),e.jsxs("main",{children:[e.jsx("div",{id:"home",children:e.jsx(ae,{greeting:t.hero.greeting,title:t.hero.title,subtitle:t.hero.subtitle,actions:[{label:t.hero.viewProjects,variant:"primary",onClick:()=>{var n;return(n=document.getElementById("projects"))==null?void 0:n.scrollIntoView({behavior:"smooth"})}},{label:t.hero.downloadCv,variant:"secondary",onClick:a}]})}),e.jsx(se,{id:"about",title:t.about.title,avatarUrl:"https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?fit=crop&w=300&h=300",bio:t.about.bio,skillsTitle:t.about.skillsTitle,skills:["React","TypeScript","Tailwind CSS","Node.js","Git","Docker","Storybook"]}),e.jsx("div",{id:"projects",children:e.jsx(re,{title:t.projects.title,items:s,layout:"grid",itemButtonLabel:t.projects.viewCaseStudy})})]}),e.jsx(te,{copyrightOwner:"Marc Iñiguez",socialLinks:[{platform:"GitHub",url:"#"}],secondaryLinks:[{label:t.footer.legalNotice,href:"#"}]})]})},ye=({leftContent:o,rightContent:l,initialLeftWidth:i=30,minWidth:s=20,className:t="",customStyles:a={}})=>{const[x,n]=$.useState(i),[c,f]=$.useState(!1),g=$.useRef(null),d=m=>{m.preventDefault(),f(!0)};return $.useEffect(()=>{const m=h=>{if(!c||!g.current)return;const p=g.current.getBoundingClientRect(),j=(h.clientX-p.left)/p.width*100;j>=s&&j<=100-s&&n(j)},u=()=>{f(!1)};return c&&(document.addEventListener("mousemove",m),document.addEventListener("mouseup",u)),()=>{document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",u)}},[c,s]),e.jsxs("div",{ref:g,className:`flex h-full w-full overflow-hidden ${t} ${a.container||""}`,children:[e.jsx("div",{style:{width:`${x}%`},className:`h-full overflow-auto ${a.leftPanel||""}`,children:o}),e.jsx("div",{className:`w-1 cursor-col-resize bg-gray-200 hover:bg-blue-500 active:bg-blue-600 transition-colors z-10 flex flex-col justify-center items-center ${a.resizer||""}`,onMouseDown:d,children:e.jsx("div",{className:"h-8 w-1 bg-gray-400 rounded-full mx-auto"})}),e.jsx("div",{style:{width:`${100-x}%`},className:`h-full overflow-auto bg-gray-50 dark:bg-gray-900 ${a.rightPanel||""}`,children:l})]})},$e=({rows:o,cols:l,renderCell:i,onCellClick:s,onCellMouseEnter:t,onCellMouseDown:a,onCellMouseUp:x,className:n="",gap:c=1})=>{const f=$.useRef(null),[g,d]=$.useState(!1),m=(h,p,j)=>{h.preventDefault(),d(!0),a==null||a(p,j),s==null||s(p,j)},u=(h,p)=>{g&&(t==null||t(h,p))};return $.useEffect(()=>{const h=()=>{g&&(d(!1),x==null||x(-1,-1))};return window.addEventListener("mouseup",h),()=>window.removeEventListener("mouseup",h)},[g,x]),e.jsx("div",{ref:f,className:`grid select-none ${n}`,style:{display:"grid",gridTemplateRows:`repeat(${o}, 1fr)`,gridTemplateColumns:`repeat(${l}, 1fr)`,gap:`${c}px`,width:"100%",height:"100%"},onMouseLeave:()=>g&&d(!1),children:Array.from({length:o}).map((h,p)=>Array.from({length:l}).map((j,E)=>e.jsx("div",{onMouseDown:T=>m(T,p,E),onMouseEnter:()=>u(p,E),children:i(p,E)},`${p}-${E}`)))})};v.Avatar=Z,v.Badge=F,v.Button=S,v.ContentGrid=re,v.ControlPanel=he,v.Footer=te,v.Hero=ae,v.Input=K,v.InteractiveGrid=$e,v.LanguageToggle=C,v.Navbar=pe,v.PortfolioPage=we,v.ProfileSection=se,v.ProjectCard=ee,v.Slider=ge,v.SplitLayout=ye,v.ThemeToggle=L,Object.defineProperty(v,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@iniguezmarc/design-system",
3
3
  "private": false,
4
- "version": "0.0.14",
4
+ "version": "0.0.17",
5
5
  "type": "module",
6
6
  "main": "./dist/index.umd.js",
7
7
  "module": "./dist/index.es.js",