@dipusevilla/componentes-iu 1.0.33 → 1.0.35
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.cjs.js +1 -1
- package/dist/index.es.js +1 -2
- package/dist/index.umd.js +7 -7
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -33,7 +33,7 @@ attempted value: ${o}
|
|
|
33
33
|
shadow-lg ${q} max-h-48 overflow-auto z-10
|
|
34
34
|
`,children:S.map(j=>i.jsx("li",{className:`px-2 ${H} flex items-center cursor-pointer
|
|
35
35
|
text-[var(--color-ds-text-primary)]
|
|
36
|
-
hover:bg-[var(--color-ds-background-surface)]`,onClick:()=>{const O=String(j.value).trim();x(r,O,{shouldDirty:!0,shouldValidate:!0}),K(j.label??O),Q.current=!1,U.current=!1,F(!1)},children:j.label},String(j.value)))})]})}})}const ft=(r,e)=>r[e],ys=r=>r instanceof Date?r.getTime():r;function qi(r,e,t){const s=ys(r),n=ys(e);return typeof s=="number"&&typeof n=="number"||typeof s=="string"&&typeof n=="string"?t==="gt"?s>n:t==="gte"?s>=n:t==="lt"?s<n:s<=n:!1}function Pt(r,e){if(!r)return!1;switch(r.op){case"eq":return ft(e,r.field)===r.value;case"neq":return ft(e,r.field)!==r.value;case"in":return r.values.includes(ft(e,r.field));case"notIn":return!r.values.includes(ft(e,r.field));case"gt":case"gte":case"lt":case"lte":return qi(ft(e,r.field),r.value,r.op);case"and":return r.rules.every(t=>Pt(t,e));case"or":return r.rules.some(t=>Pt(t,e));default:return!1}}const Gi=r=>r.type!=="inputGroup"&&r.type!=="button";function Yi({schema:r,resolver:e}){const{layout:t,fields:s,onSubmit:n,successMessage:a,errorMessage:o,footerButtons:l,defaultValues:c,loadDefaultValues:d,validationSchema:u}=r,{show:p}=jn(),{t:h}=Er(),y=v.useMemo(()=>{if(e)return e;try{const C=u??ki(r);return zo(C)}catch{return}},[e,r,u]),x=ho({resolver:y,mode:"onBlur",reValidateMode:"onChange",defaultValues:c??{}}),{control:k,reset:S,handleSubmit:w,formState:{errors:g,isSubmitting:T}}=x,[R,F]=v.useState(!1);v.useEffect(()=>{d&&(F(!0),d().then(C=>S(C)).finally(()=>F(!1)))},[d,S]);const W=v.useMemo(()=>(s??[]).filter(Gi),[s]),{loadingCount:K,optionsMap:_}=Di(W),D=Vi(s),Q=Ui(s,k),U=v.useMemo(()=>{const C={};return t.forEach((m,Z)=>{m.type==="tabs"&&(C[Z]=m.tabs[0].key)}),C},[t]),[$,Y]=v.useState(U),J=v.useCallback((C,m)=>{if(!(C!=null&&C.enabled)||!C.rule)return m;try{return!!Pt(C.rule,x.getValues())}catch{return m}},[x]),q=v.useMemo(()=>s.map(C=>C).filter(C=>{var m;return((m=C.clearWhen)==null?void 0:m.enabled)&&C.clearWhen.rule}).map(C=>({name:C.name,rule:C.clearWhen.rule,clearTo:C.clearWhen.clearTo})),[s]);v.useEffect(()=>{if(!q.length)return;const C=Z=>{q.forEach(({name:E,rule:j,clearTo:O})=>{try{if(!!Pt(j,Z)){const ee=O??"";Z[E]!==ee&&x.setValue(E,ee,{shouldDirty:!0,shouldValidate:!0})}}catch{}})};C(x.getValues());const m=x.watch(()=>C(x.getValues()));return()=>{var Z;return(Z=m==null?void 0:m.unsubscribe)==null?void 0:Z.call(m)}},[x,q]);const H=v.useCallback(C=>{var ne,ae,he,ge;let m;if(typeof C=="string"){if(m=D[C],!m)return null}else m=C;const Z=m.visibleWhen;if(!J(Z,!0))return null;let j=!!m.disabled;const O=m.disabledWhen,I=J(O,!1);if(O!=null&&O.enabled&&(j=I),!(O!=null&&O.enabled)&&"name"in m&&m.name&&Q[m.name]&&(j=!0),m.type==="search"){const re=Se=>m.searchFn(Se,{getValues:x.getValues,watch:x.watch}),ue={};return m.searchMode&&(ue.searchMode=m.searchMode),m.minChars&&(ue.minChars=m.minChars),m.debounceMs&&(ue.debounceMs=m.debounceMs),m.resolveByValue&&(ue.resolveByValue=m.resolveByValue),i.jsx(Nn,{name:m.name,control:k,searchFn:re,label:m.label,size:m.size,width:m.width,disabled:j||T,...ue},m.name)}if(m.type==="inputGroup"){const re=m,ue=re.inputs.map(Se=>{var ot;const de=typeof Se=="string"?D[Se]:Se;if(!de)return null;const Oe=de.disabledWhen;let at=!!de.disabled;const Zt=J(Oe,!1);Oe!=null&&Oe.enabled&&(at=Zt),!(Oe!=null&&Oe.enabled)&&Q[de.name]&&(at=!0);const Wt={name:de.name,control:k,rules:de.validation,defaultValue:void 0,label:de.label,size:de.size,width:de.width,placeholder:de.placeholder,hasError:!!g[de.name],errorMessage:((ot=g[de.name])==null?void 0:ot.message)||"",loading:R,disabled:at,suffixButton:de.suffixButton,reserveErrorSpace:!0};return de.type==="select"?{...Wt,options:de.options??_[de.name]??[],loadOptions:de.options?void 0:de.loadOptions}:Wt}).filter(Se=>Se!==null);return i.jsx(yn,{groupLabel:re.groupLabel,inputs:ue,separator:re.separator,useSeparator:re.useSeparator,className:re.className,showVisibleLabel:re.showVisibleLabel,size:re.size},`inputGroup_${re.groupLabel}`)}if(m.type==="button"){const re=m;return i.jsx("div",{className:"self-center",children:i.jsx(Pe,{type:"button",variant:re.variant,size:re.size,width:re.width,icon:re.icon,iconPosition:re.iconPosition,ariaLabel:re.ariaLabel,onClick:re.onClick,disabled:j||T,children:re.label})},re.name)}const ee=m.suffixButton,se=typeof ee=="string"?H(ee):ee,ce={name:m.name,control:k,disabled:j||T,label:m.label,size:m.size,width:m.width,placeholder:m.placeholder,info:m.info,suffixButton:se};switch(m.type){case"select":return i.jsx(Ce,{name:m.name,control:k,render:({field:re})=>{var ue;return i.jsx(pt,{...ce,value:re.value,onChange:re.onChange,options:m.options??_[m.name]??[],loadOptions:m.options?void 0:m.loadOptions,hasError:!!g[m.name],errorMessage:(ue=g[m.name])==null?void 0:ue.message,suffixButton:se})}},m.name);case"textarea":return i.jsx(Ce,{name:m.name,control:k,render:({field:re,fieldState:ue})=>{var Se;return i.jsx(_r,{...ce,value:re.value,onChange:re.onChange,maxLength:m.maxLength,showCounter:!!m.showCounter,hasError:!!ue.error,errorMessage:((Se=ue.error)==null?void 0:Se.message)||""})}},m.name);case"file":return i.jsx(Js,{...ce,defaultValue:[],maxFiles:m.maxFiles,accept:m.accept,hasError:!!g[m.name],errorMessage:(ne=g[m.name])==null?void 0:ne.message},m.name);case"checkbox":return i.jsx(En,{...ce,defaultValue:!1,hasError:!!g[m.name],errorMessage:(ae=g[m.name])==null?void 0:ae.message,name:m.name},m.name);case"date":return i.jsx(Hs,{...ce,defaultValue:"",showTime:!!m.showTime,hasError:!!g[m.name],errorMessage:(he=g[m.name])==null?void 0:he.message},m.name);case"optionGroup":return i.jsx(vn,{...ce,options:m.options||[],multiple:m.multiple,vertical:m.vertical,groupLabel:m.groupLabel,defaultValue:m.defaultValue,className:m.width?void 0:"w-full",name:m.name},m.name);default:return i.jsx(Nr,{...ce,type:m.type,loadingDefaults:R,hasError:!!g[m.name],errorMessage:(ge=g[m.name])==null?void 0:ge.message,suffixButton:se,name:m.name},m.name)}},[D,k,g,T,R,_,J,Q,x.getValues,x.watch]);return i.jsx(Ja,{...x,children:i.jsxs("form",{noValidate:!0,onSubmit:w(async C=>{await n(C),p(a??h("ds.form.saveSuccess"),"success")},C=>{console.log("❌ errores de validación:",C),Ei(C),p(o??h("ds.form.saveError"),"error")}),className:"space-y-6",children:[t.map((C,m)=>C.type==="rows"?i.jsx(v.Fragment,{children:C.sections.map((Z,E)=>i.jsx("div",{className:"mb-6",children:i.jsx(rr,{title:Z.sectionTitle,defaultOpen:Z.defaultOpen,children:Z.rows.map((j,O)=>i.jsxs("div",{children:[j.title&&i.jsx("h2",{className:"mb-2 text-lg text-[var(--color-ds-text-primary)]",children:j.title}),i.jsx("div",{className:"flex flex-wrap -mx-2",children:j.columns.map((I,ee)=>{var se;return i.jsx("div",{className:`${I.width} px-2 flex flex-col`,children:i.jsx("div",{className:"space-y-4",children:I.fields?I.fields.map(ce=>H(ce)):(se=I.rows)==null?void 0:se.map((ce,ne)=>i.jsx("div",{className:"mb-1",children:i.jsx("div",{className:"flex flex-wrap -mx-2",children:ce.columns.map((ae,he)=>{var ge;return i.jsx("div",{className:`${ae.width} px-2`,children:(ge=ae.fields)==null?void 0:ge.map(re=>H(re))},he)})})},ne))})},ee)})})]},O))})},E))},m):i.jsx(bn,{options:C.tabs.map(Z=>({label:Z.label,value:Z.key})),value:$[m],onChange:Z=>Y(E=>({...E,[m]:Z})),children:Object.fromEntries(C.tabs.map(Z=>[Z.key,i.jsx("div",{className:"space-y-6",children:Z.sections.map((E,j)=>i.jsx("div",{className:"mb-6",children:i.jsx(rr,{title:E.sectionTitle,defaultOpen:E.defaultOpen,children:E.rows.map((O,I)=>i.jsx("div",{children:i.jsx("div",{className:"flex flex-wrap -mx-2",children:O.columns.map((ee,se)=>{var ce;return i.jsx("div",{className:`${ee.width??"flex-1"} px-2 flex flex-col`,children:i.jsx("div",{className:"space-y-4",children:(ce=ee.fields)==null?void 0:ce.map((ne,ae)=>i.jsx(v.Fragment,{children:H(ne)},ae))})},se)})})},I))})},j))},Z.key)]))},m)),i.jsx("footer",{className:"py-4 w-full flex justify-center space-x-4",children:l??i.jsx(Pe,{type:"submit",variant:"primary",icon:Yn,size:"sm",disabled:T||R||K>0,children:h(T?"ds.form.sending":"ds.form.submit")})})]})})}const Hi={sm:"h-8 w-8",md:"h-10 w-10",lg:"h-12 w-12"};function Sn({icon:r,size:e="md",ariaLabel:t,disabled:s=!1,onClick:n,...a}){return i.jsx("button",{type:"button","aria-label":t,disabled:s,onClick:n,className:L("inline-flex items-center justify-center","rounded-full","bg-transparent","text-[var(--color-ds-text-primary)]","transition-transform","focus:outline-none",Hi[e],s?"opacity-50 cursor-not-allowed":["hover:scale-110","hover:animate-pulse"]),...a,children:i.jsx(r,{className:L(e==="sm"?"h-4 w-4":e==="md"?"h-5 w-5":"h-6 w-6")})})}function _n({dark:r,onToggle:e}){return i.jsx("button",{type:"button","aria-pressed":r,"aria-label":r?"Cambiar a modo claro":"Cambiar a modo oscuro",onClick:e,className:L("relative inline-flex items-center transition-colors focus:outline-none duration-200 ease-in-out","bg-[var(--color-ds-background-accent)]","h-6 w-12 rounded-full"),children:i.jsxs("div",{className:L("absolute bg-[var(--color-ds-background-page)] flex items-center justify-center rounded-full transition-transform duration-200 ease-in-out","h-5 w-5",r?"translate-x-6":"translate-x-1"),children:[i.jsx(Me,{component:ma,size:"sm",className:L("absolute transition-opacity duration-200 ease-in-out",r?"opacity-0":"opacity-100 text-[var(--color-ds-background-accent)]")}),i.jsx(Me,{component:da,size:"sm",className:L("absolute transition-opacity duration-200 ease-in-out",r?"opacity-100 text-[var(--color-ds-background-accent)]":"opacity-0")})]})})}const Fn=v.createContext({theme:"light",toggle:()=>{}});function Xi({children:r}){const[e,t]=v.useState(!1),[s,n]=v.useState("light");v.useEffect(()=>{if(typeof window>"u")return;const o=localStorage.getItem("ds-theme");o==="light"||o==="dark"?n(o):window.matchMedia("(prefers-color-scheme: dark)").matches&&n("dark"),t(!0)},[]),v.useEffect(()=>{e&&(document.documentElement.classList.toggle("dark",s==="dark"),s==="dark"?localStorage.setItem("ds-theme","dark"):localStorage.removeItem("ds-theme"))},[s,e]);const a=()=>n(o=>o==="light"?"dark":"light");return e?i.jsx(Fn.Provider,{value:{theme:s,toggle:a},children:r}):null}const Tn=()=>v.useContext(Fn),An=({pinnedPages:r,onRemovePinned:e,onBack:t,dark:s,locale:n,languageOptions:a,onChangeLocale:o,profile:l,profileOptions:c,onChangeProfile:d})=>{const u=r.slice(0,3),{toggle:p}=Tn(),{t:h,i18n:y}=Er(),x=k=>{o(k)};return i.jsxs("header",{className:"flex items-center bg-[var(--color-ds-background-page)] py-2",children:[i.jsx("div",{className:"flex items-center space-x-2",children:u.map(k=>i.jsxs("div",{className:"flex items-center",children:[i.jsx("a",{href:k.href,className:L("inline-flex items-center rounded-lg","py-1 px-1 my-1 text-ds-sm","bg-transparent text-[var(--color-ds-text-primary)]","transition-colors duration-200 ease-in-out","hover:bg-[var(--color-ds-border-muted)] hover:animate-pulse"),children:k.label}),i.jsx(Sn,{icon:xr,size:"sm",ariaLabel:`${h("remove")} ${k.label}`,onClick:()=>e(k.id)})]},k.id))}),i.jsx("div",{className:"flex-grow"}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(pt,{size:"sm",width:"auto",options:a,value:n,onChange:x,disableErrorPlaceholder:!0}),i.jsx(pt,{size:"sm",width:"auto",options:c,value:l,onChange:d,disableErrorPlaceholder:!0}),i.jsx(_n,{dark:s,onToggle:p})]})]})},Ki=({loading:r=!1,ariaLabel:e="Cargando..."})=>r?i.jsxs("div",{className:`\r
|
|
36
|
+
hover:bg-[var(--color-ds-background-surface)]`,onClick:()=>{const O=String(j.value).trim();x(r,O,{shouldDirty:!0,shouldValidate:!0}),K(j.label??O),Q.current=!1,U.current=!1,F(!1)},children:j.label},String(j.value)))})]})}})}const ft=(r,e)=>r[e],ys=r=>r instanceof Date?r.getTime():r;function qi(r,e,t){const s=ys(r),n=ys(e);return typeof s=="number"&&typeof n=="number"||typeof s=="string"&&typeof n=="string"?t==="gt"?s>n:t==="gte"?s>=n:t==="lt"?s<n:s<=n:!1}function Pt(r,e){if(!r)return!1;switch(r.op){case"eq":return ft(e,r.field)===r.value;case"neq":return ft(e,r.field)!==r.value;case"in":return r.values.includes(ft(e,r.field));case"notIn":return!r.values.includes(ft(e,r.field));case"gt":case"gte":case"lt":case"lte":return qi(ft(e,r.field),r.value,r.op);case"and":return r.rules.every(t=>Pt(t,e));case"or":return r.rules.some(t=>Pt(t,e));default:return!1}}const Gi=r=>r.type!=="inputGroup"&&r.type!=="button";function Yi({schema:r,resolver:e}){const{layout:t,fields:s,onSubmit:n,successMessage:a,errorMessage:o,footerButtons:l,defaultValues:c,loadDefaultValues:d,validationSchema:u}=r,{show:p}=jn(),{t:h}=Er(),y=v.useMemo(()=>{if(e)return e;try{const C=u??ki(r);return zo(C)}catch{return}},[e,r,u]),x=ho({resolver:y,mode:"onBlur",reValidateMode:"onChange",defaultValues:c??{}}),{control:k,reset:S,handleSubmit:w,formState:{errors:g,isSubmitting:T}}=x,[R,F]=v.useState(!1);v.useEffect(()=>{d&&(F(!0),d().then(C=>S(C)).finally(()=>F(!1)))},[d,S]);const W=v.useMemo(()=>(s??[]).filter(Gi),[s]),{loadingCount:K,optionsMap:_}=Di(W),D=Vi(s),Q=Ui(s,k),U=v.useMemo(()=>{const C={};return t.forEach((m,Z)=>{m.type==="tabs"&&(C[Z]=m.tabs[0].key)}),C},[t]),[$,Y]=v.useState(U),J=v.useCallback((C,m)=>{if(!(C!=null&&C.enabled)||!C.rule)return m;try{return!!Pt(C.rule,x.getValues())}catch{return m}},[x]),q=v.useMemo(()=>s.map(C=>C).filter(C=>{var m;return((m=C.clearWhen)==null?void 0:m.enabled)&&C.clearWhen.rule}).map(C=>({name:C.name,rule:C.clearWhen.rule,clearTo:C.clearWhen.clearTo})),[s]);v.useEffect(()=>{if(!q.length)return;const C=Z=>{q.forEach(({name:E,rule:j,clearTo:O})=>{try{if(!!Pt(j,Z)){const ee=O??"";Z[E]!==ee&&x.setValue(E,ee,{shouldDirty:!0,shouldValidate:!0})}}catch{}})};C(x.getValues());const m=x.watch(()=>C(x.getValues()));return()=>{var Z;return(Z=m==null?void 0:m.unsubscribe)==null?void 0:Z.call(m)}},[x,q]);const H=v.useCallback(C=>{var ne,ae,he,ge;let m;if(typeof C=="string"){if(m=D[C],!m)return null}else m=C;const Z=m.visibleWhen;if(!J(Z,!0))return null;let j=!!m.disabled;const O=m.disabledWhen,I=J(O,!1);if(O!=null&&O.enabled&&(j=I),!(O!=null&&O.enabled)&&"name"in m&&m.name&&Q[m.name]&&(j=!0),m.type==="search"){const re=Se=>m.searchFn(Se,{getValues:x.getValues,watch:x.watch}),ue={};return m.searchMode&&(ue.searchMode=m.searchMode),m.minChars&&(ue.minChars=m.minChars),m.debounceMs&&(ue.debounceMs=m.debounceMs),m.resolveByValue&&(ue.resolveByValue=m.resolveByValue),i.jsx(Nn,{name:m.name,control:k,searchFn:re,label:m.label,size:m.size,width:m.width,disabled:j||T,...ue},m.name)}if(m.type==="inputGroup"){const re=m,ue=re.inputs.map(Se=>{var ot;const de=typeof Se=="string"?D[Se]:Se;if(!de)return null;const Oe=de.disabledWhen;let at=!!de.disabled;const Zt=J(Oe,!1);Oe!=null&&Oe.enabled&&(at=Zt),!(Oe!=null&&Oe.enabled)&&Q[de.name]&&(at=!0);const Wt={name:de.name,control:k,type:de.type,label:de.label,size:de.size,width:de.width,placeholder:de.placeholder,hasError:!!g[de.name],errorMessage:((ot=g[de.name])==null?void 0:ot.message)||"",loading:R,disabled:at,suffixButton:de.suffixButton,reserveErrorSpace:!0};return de.type==="select"?{...Wt,options:de.options??_[de.name]??[],loadOptions:de.options?void 0:de.loadOptions}:Wt}).filter(Se=>Se!==null);return i.jsx(yn,{groupLabel:re.groupLabel,inputs:ue,separator:re.separator,useSeparator:re.useSeparator,className:re.className,showVisibleLabel:re.showVisibleLabel,size:re.size},`inputGroup_${re.groupLabel}`)}if(m.type==="button"){const re=m;return i.jsx("div",{className:"self-center",children:i.jsx(Pe,{type:"button",variant:re.variant,size:re.size,width:re.width,icon:re.icon,iconPosition:re.iconPosition,ariaLabel:re.ariaLabel,onClick:re.onClick,disabled:j||T,children:re.label})},re.name)}const ee=m.suffixButton,se=typeof ee=="string"?H(ee):ee,ce={name:m.name,control:k,disabled:j||T,label:m.label,size:m.size,width:m.width,placeholder:m.placeholder,info:m.info,suffixButton:se};switch(m.type){case"select":return i.jsx(Ce,{name:m.name,control:k,render:({field:re})=>{var ue;return i.jsx(pt,{...ce,value:re.value,onChange:re.onChange,options:m.options??_[m.name]??[],loadOptions:m.options?void 0:m.loadOptions,hasError:!!g[m.name],errorMessage:(ue=g[m.name])==null?void 0:ue.message,suffixButton:se})}},m.name);case"textarea":return i.jsx(Ce,{name:m.name,control:k,render:({field:re,fieldState:ue})=>{var Se;return i.jsx(_r,{...ce,value:re.value,onChange:re.onChange,maxLength:m.maxLength,showCounter:!!m.showCounter,hasError:!!ue.error,errorMessage:((Se=ue.error)==null?void 0:Se.message)||""})}},m.name);case"file":return i.jsx(Js,{...ce,defaultValue:[],maxFiles:m.maxFiles,accept:m.accept,hasError:!!g[m.name],errorMessage:(ne=g[m.name])==null?void 0:ne.message},m.name);case"checkbox":return i.jsx(En,{...ce,defaultValue:!1,hasError:!!g[m.name],errorMessage:(ae=g[m.name])==null?void 0:ae.message,name:m.name},m.name);case"date":return i.jsx(Hs,{...ce,defaultValue:"",showTime:!!m.showTime,hasError:!!g[m.name],errorMessage:(he=g[m.name])==null?void 0:he.message},m.name);case"optionGroup":return i.jsx(vn,{...ce,options:m.options||[],multiple:m.multiple,vertical:m.vertical,groupLabel:m.groupLabel,defaultValue:m.defaultValue,className:m.width?void 0:"w-full",name:m.name},m.name);default:return i.jsx(Nr,{...ce,type:m.type,loadingDefaults:R,hasError:!!g[m.name],errorMessage:(ge=g[m.name])==null?void 0:ge.message,suffixButton:se,name:m.name},m.name)}},[D,k,g,T,R,_,J,Q,x.getValues,x.watch]);return i.jsx(Ja,{...x,children:i.jsxs("form",{noValidate:!0,onSubmit:w(async C=>{await n(C),p(a??h("ds.form.saveSuccess"),"success")},C=>{console.log("❌ errores de validación:",C),Ei(C),p(o??h("ds.form.saveError"),"error")}),className:"space-y-6",children:[t.map((C,m)=>C.type==="rows"?i.jsx(v.Fragment,{children:C.sections.map((Z,E)=>i.jsx("div",{className:"mb-6",children:i.jsx(rr,{title:Z.sectionTitle,defaultOpen:Z.defaultOpen,children:Z.rows.map((j,O)=>i.jsxs("div",{children:[j.title&&i.jsx("h2",{className:"mb-2 text-lg text-[var(--color-ds-text-primary)]",children:j.title}),i.jsx("div",{className:"flex flex-wrap -mx-2",children:j.columns.map((I,ee)=>{var se;return i.jsx("div",{className:`${I.width} px-2 flex flex-col`,children:i.jsx("div",{className:"space-y-4",children:I.fields?I.fields.map(ce=>H(ce)):(se=I.rows)==null?void 0:se.map((ce,ne)=>i.jsx("div",{className:"mb-1",children:i.jsx("div",{className:"flex flex-wrap -mx-2",children:ce.columns.map((ae,he)=>{var ge;return i.jsx("div",{className:`${ae.width} px-2`,children:(ge=ae.fields)==null?void 0:ge.map(re=>H(re))},he)})})},ne))})},ee)})})]},O))})},E))},m):i.jsx(bn,{options:C.tabs.map(Z=>({label:Z.label,value:Z.key})),value:$[m],onChange:Z=>Y(E=>({...E,[m]:Z})),children:Object.fromEntries(C.tabs.map(Z=>[Z.key,i.jsx("div",{className:"space-y-6",children:Z.sections.map((E,j)=>i.jsx("div",{className:"mb-6",children:i.jsx(rr,{title:E.sectionTitle,defaultOpen:E.defaultOpen,children:E.rows.map((O,I)=>i.jsx("div",{children:i.jsx("div",{className:"flex flex-wrap -mx-2",children:O.columns.map((ee,se)=>{var ce;return i.jsx("div",{className:`${ee.width??"flex-1"} px-2 flex flex-col`,children:i.jsx("div",{className:"space-y-4",children:(ce=ee.fields)==null?void 0:ce.map((ne,ae)=>i.jsx(v.Fragment,{children:H(ne)},ae))})},se)})})},I))})},j))},Z.key)]))},m)),i.jsx("footer",{className:"py-4 w-full flex justify-center space-x-4",children:l??i.jsx(Pe,{type:"submit",variant:"primary",icon:Yn,size:"sm",disabled:T||R||K>0,children:h(T?"ds.form.sending":"ds.form.submit")})})]})})}const Hi={sm:"h-8 w-8",md:"h-10 w-10",lg:"h-12 w-12"};function Sn({icon:r,size:e="md",ariaLabel:t,disabled:s=!1,onClick:n,...a}){return i.jsx("button",{type:"button","aria-label":t,disabled:s,onClick:n,className:L("inline-flex items-center justify-center","rounded-full","bg-transparent","text-[var(--color-ds-text-primary)]","transition-transform","focus:outline-none",Hi[e],s?"opacity-50 cursor-not-allowed":["hover:scale-110","hover:animate-pulse"]),...a,children:i.jsx(r,{className:L(e==="sm"?"h-4 w-4":e==="md"?"h-5 w-5":"h-6 w-6")})})}function _n({dark:r,onToggle:e}){return i.jsx("button",{type:"button","aria-pressed":r,"aria-label":r?"Cambiar a modo claro":"Cambiar a modo oscuro",onClick:e,className:L("relative inline-flex items-center transition-colors focus:outline-none duration-200 ease-in-out","bg-[var(--color-ds-background-accent)]","h-6 w-12 rounded-full"),children:i.jsxs("div",{className:L("absolute bg-[var(--color-ds-background-page)] flex items-center justify-center rounded-full transition-transform duration-200 ease-in-out","h-5 w-5",r?"translate-x-6":"translate-x-1"),children:[i.jsx(Me,{component:ma,size:"sm",className:L("absolute transition-opacity duration-200 ease-in-out",r?"opacity-0":"opacity-100 text-[var(--color-ds-background-accent)]")}),i.jsx(Me,{component:da,size:"sm",className:L("absolute transition-opacity duration-200 ease-in-out",r?"opacity-100 text-[var(--color-ds-background-accent)]":"opacity-0")})]})})}const Fn=v.createContext({theme:"light",toggle:()=>{}});function Xi({children:r}){const[e,t]=v.useState(!1),[s,n]=v.useState("light");v.useEffect(()=>{if(typeof window>"u")return;const o=localStorage.getItem("ds-theme");o==="light"||o==="dark"?n(o):window.matchMedia("(prefers-color-scheme: dark)").matches&&n("dark"),t(!0)},[]),v.useEffect(()=>{e&&(document.documentElement.classList.toggle("dark",s==="dark"),s==="dark"?localStorage.setItem("ds-theme","dark"):localStorage.removeItem("ds-theme"))},[s,e]);const a=()=>n(o=>o==="light"?"dark":"light");return e?i.jsx(Fn.Provider,{value:{theme:s,toggle:a},children:r}):null}const Tn=()=>v.useContext(Fn),An=({pinnedPages:r,onRemovePinned:e,onBack:t,dark:s,locale:n,languageOptions:a,onChangeLocale:o,profile:l,profileOptions:c,onChangeProfile:d})=>{const u=r.slice(0,3),{toggle:p}=Tn(),{t:h,i18n:y}=Er(),x=k=>{o(k)};return i.jsxs("header",{className:"flex items-center bg-[var(--color-ds-background-page)] py-2",children:[i.jsx("div",{className:"flex items-center space-x-2",children:u.map(k=>i.jsxs("div",{className:"flex items-center",children:[i.jsx("a",{href:k.href,className:L("inline-flex items-center rounded-lg","py-1 px-1 my-1 text-ds-sm","bg-transparent text-[var(--color-ds-text-primary)]","transition-colors duration-200 ease-in-out","hover:bg-[var(--color-ds-border-muted)] hover:animate-pulse"),children:k.label}),i.jsx(Sn,{icon:xr,size:"sm",ariaLabel:`${h("remove")} ${k.label}`,onClick:()=>e(k.id)})]},k.id))}),i.jsx("div",{className:"flex-grow"}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(pt,{size:"sm",width:"auto",options:a,value:n,onChange:x,disableErrorPlaceholder:!0}),i.jsx(pt,{size:"sm",width:"auto",options:c,value:l,onChange:d,disableErrorPlaceholder:!0}),i.jsx(_n,{dark:s,onToggle:p})]})]})},Ki=({loading:r=!1,ariaLabel:e="Cargando..."})=>r?i.jsxs("div",{className:`\r
|
|
37
37
|
fixed inset-0\r
|
|
38
38
|
flex items-center justify-center\r
|
|
39
39
|
bg-[var(--color-ds-background-surface)]/90\r
|