@asteby/metacore-starter-core 8.0.0 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`clsx`),l=require(`tailwind-merge`),u=require(`zustand`),d=require(`sonner`),f=require(`axios`);f=s(f,1);let p=require(`react`);p=s(p,1);let m=require(`@radix-ui/react-accordion`);m=s(m,1);let h=require(`lucide-react`),g=require(`react/jsx-runtime`),_=require(`class-variance-authority`),v=require(`@radix-ui/react-alert-dialog`);v=s(v,1);let y=require(`@radix-ui/react-slot`),b=require(`@radix-ui/react-avatar`);b=s(b,1);let x=require(`react-day-picker`),S=require(`@radix-ui/react-checkbox`);S=s(S,1);let C=require(`@radix-ui/react-collapsible`);C=s(C,1);let w=require(`cmdk`),T=require(`@radix-ui/react-dialog`);T=s(T,1);let E=require(`@radix-ui/react-dropdown-menu`);E=s(E,1);let D=require(`react-hook-form`),O=require(`@radix-ui/react-label`);O=s(O,1);let ee=require(`input-otp`),k=require(`@radix-ui/react-popover`);k=s(k,1);let A=require(`react-phone-number-input`);A=s(A,1);let te=require(`react-phone-number-input/flags`);te=s(te,1);let j=require(`@radix-ui/react-scroll-area`);j=s(j,1);let M=require(`@radix-ui/react-progress`);M=s(M,1);let N=require(`@radix-ui/react-radio-group`);N=s(N,1);let P=require(`@radix-ui/react-select`);P=s(P,1);let F=require(`@radix-ui/react-separator`);F=s(F,1);let I=require(`@radix-ui/react-tooltip`);I=s(I,1);let L=require(`@radix-ui/react-switch`);L=s(L,1);let R=require(`@radix-ui/react-tabs`);R=s(R,1);function z(...e){return(0,l.twMerge)((0,c.clsx)(e))}function ne(){return(globalThis.__METACORE_BACKEND_URL__||`http://localhost:8080`).replace(/\/api\/?$/,``).replace(/\/+$/,``)}function re(e,t){if(!e)return``;if(e.startsWith(`http://`)||e.startsWith(`https://`))return e;let n=ne();return e.startsWith(`/storage/`)?`${n}${e}`:`${n}/storage/${t}/${e}`}function ie(e){return e?e.startsWith(`http://`)||e.startsWith(`https://`)?e:`${ne()}${e.startsWith(`/`)?e:`/${e}`}`:``}function ae(e=1e3){return new Promise(t=>setTimeout(t,e))}function oe(e,t){let n=[];if(t<=5)for(let e=1;e<=t;e++)n.push(e);else if(n.push(1),e<=3){for(let e=2;e<=4;e++)n.push(e);n.push(`...`,t)}else if(e>=t-2){n.push(`...`);for(let e=t-3;e<=t;e++)n.push(e)}else{n.push(`...`);for(let t=e-1;t<=e+1;t++)n.push(t);n.push(`...`,t)}return n}var B=`auth_token`,V=`auth_user`,H=(0,u.create)()(e=>{let t=localStorage.getItem(B)||``,n=localStorage.getItem(V);return{auth:{user:n?JSON.parse(n):null,setUser:t=>e(e=>(t?localStorage.setItem(V,JSON.stringify(t)):localStorage.removeItem(V),{...e,auth:{...e.auth,user:t}})),accessToken:t,setAccessToken:t=>e(e=>(localStorage.setItem(B,t),{...e,auth:{...e.auth,accessToken:t}})),resetAccessToken:()=>e(e=>(localStorage.removeItem(B),localStorage.removeItem(V),{...e,auth:{...e.auth,accessToken:``,user:null}})),reset:()=>e(e=>(localStorage.removeItem(B),localStorage.removeItem(V),{...e,auth:{...e.auth,user:null,accessToken:``}}))}}}),se={PEN:`S/`,VES:`Bs.`,BOB:`Bs.`,GTQ:`Q`,HNL:`L`,NIO:`C$`,CRC:`₡`,PAB:`B/.`,PYG:`₲`,MXN:`$`,COP:`$`,ARS:`$`,CLP:`$`,UYU:`$`,DOP:`$`,CUP:`$`,EUR:`€`,USD:`$`};function U(e,t=`USD`,n=`es`){try{return new Intl.NumberFormat(n,{style:`currency`,currency:t}).format(e)}catch{return`${t} ${e}`}}function ce(e){return se[e]||(typeof Intl<`u`?new Intl.NumberFormat(`en-US`,{style:`currency`,currency:e,currencyDisplay:`narrowSymbol`}).formatToParts(0).find(e=>e.type===`currency`)?.value||e:`$`)}function le(){let e=H(e=>e.auth.user?.currency_code)||`USD`;return t=>U(t,e)}function ue(e){return U(e,H.getState().auth.user?.currency_code||`USD`)}function de(){let e=typeof Intl<`u`&&Intl.supportedValuesOf?Intl.supportedValuesOf(`timeZone`):[`UTC`,`America/Mexico_City`,`America/Bogota`,`America/Santiago`,`America/Argentina/Buenos_Aires`,`America/New_York`,`America/Los_Angeles`,`Europe/Madrid`,`Europe/London`,`Europe/Paris`,`Asia/Tokyo`,`Asia/Shanghai`,`Asia/Dubai`,`Australia/Sydney`],t=new Date;return e.map(e=>{try{let n=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`shortOffset`}).formatToParts(t).find(e=>e.type===`timeZoneName`)?.value||``;return{value:e,label:`(${n}) ${e.replace(/_/g,` `)}`,offset:n}}catch{return{value:e,label:e,offset:``}}}).sort((e,t)=>{let n=e=>{if(!e||e===`GMT`)return 0;let t=e.match(/GMT([+-])(\d+)(?::(\d+))?/);if(!t)return 0;let n=t[1]===`+`?1:-1,r=parseInt(t[2]),i=parseInt(t[3]||`0`);return n*(r*60+i)},r=n(e.offset),i=n(t.offset);return r===i?e.value.localeCompare(t.value):r-i})}var fe=`AR.AT.AU.AE.AL.AO.AZ.BA.BB.BD.BE.BG.BH.BO.BR.BS.BY.BZ.CA.CD.CH.CI.CL.CM.CN.CO.CR.CU.CY.CZ.DE.DK.DO.DZ.EC.EE.EG.ES.ET.SV.FI.FJ.FR.GB.GE.GH.GR.GT.GY.HK.HN.HR.HT.HU.ID.IE.IL.IN.IQ.IR.IS.IT.JM.JO.JP.KE.KH.KR.KW.KZ.LA.LB.LK.LT.LU.LV.LY.MA.MD.ME.MK.MM.MN.MT.MU.MX.MY.MZ.NG.NI.NL.NO.NP.NZ.OM.PA.PE.PG.PH.PK.PL.PR.PT.PY.QA.RO.RS.RU.RW.SA.SE.SG.SI.SK.SN.SR.TH.TN.TR.TT.TW.TZ.UA.UG.US.UY.UZ.VE.VN.ZA`.split(`.`);function pe(e){return String.fromCodePoint(...e.toUpperCase().split(``).map(e=>127462+e.charCodeAt(0)-65))}function me(e){let t=e||navigator.language||`es`,n=new Intl.DisplayNames([t],{type:`region`});return fe.map(e=>({code:e,name:n.of(e)||e,flag:pe(e)})).sort((e,n)=>e.name.localeCompare(n.name,t))}var he={red:`ef4444`,orange:`f97316`,amber:`f59e0b`,yellow:`eab308`,lime:`84cc16`,green:`22c55e`,emerald:`10b981`,teal:`14b8a6`,cyan:`06b6d4`,sky:`0ea5e9`,blue:`3b82f6`,indigo:`6366f1`,violet:`8b5cf6`,purple:`a855f7`,fuchsia:`d946ef`,pink:`ec4899`,rose:`f43f5e`,gray:`6b7280`,slate:`64748b`,zinc:`71717a`,neutral:`737373`,stone:`78716c`},W=e=>e?he[e.toLowerCase()]||e.replace(`#`,``):``,ge=e=>{let t=W(e);return t?`#${t}`:``},_e=(e,{isDark:t})=>{let n=W(e);if(n.length<6)return{};let r=parseInt(n.substring(0,2),16),i=parseInt(n.substring(2,4),16),a=parseInt(n.substring(4,6),16);return t?{backgroundColor:`rgba(${r}, ${i}, ${a}, 0.2)`,color:`rgb(${Math.min(255,Math.floor(r*1.2))}, ${Math.min(255,Math.floor(i*1.2))}, ${Math.min(255,Math.floor(a*1.2))})`,border:`1px solid rgba(${r}, ${i}, ${a}, 0.5)`,fontWeight:500}:{backgroundColor:`rgba(${r}, ${i}, ${a}, 0.12)`,color:`rgb(${Math.floor(r*.5)}, ${Math.floor(i*.5)}, ${Math.floor(a*.5)})`,border:`1px solid rgba(${r}, ${i}, ${a}, 0.25)`,fontWeight:500}},ve=3600*24*7;function ye(e){if(typeof document>`u`)return;let t=`; ${document.cookie}`.split(`; ${e}=`);if(t.length===2)return t.pop()?.split(`;`).shift()}function be(e,t,n=ve){typeof document>`u`||(document.cookie=`${e}=${t}; path=/; max-age=${n}`)}function xe(e){typeof document>`u`||(document.cookie=`${e}=; path=/; max-age=0`)}function Se(){try{let e=window.AudioContext||window.webkitAudioContext;if(!e)return;let t=new e,n=t.createOscillator(),r=t.createGain();n.connect(r),r.connect(t.destination),n.type=`sine`,n.frequency.setValueAtTime(880,t.currentTime),n.frequency.exponentialRampToValueAtTime(500,t.currentTime+.5),r.gain.setValueAtTime(.1,t.currentTime),r.gain.exponentialRampToValueAtTime(.001,t.currentTime+.4),n.start(t.currentTime),n.stop(t.currentTime+.5)}catch(e){console.error(`Error playing notification sound:`,e)}}var Ce=new class{permission=`default`;constructor(){`Notification`in window&&(this.permission=Notification.permission)}async requestPermission(){if(!(`Notification`in window))return d.toast.error(`Este navegador no soporta notificaciones`),!1;if(this.permission===`granted`)return!0;try{let e=await Notification.requestPermission();return this.permission=e,e===`granted`?(d.toast.success(`Notificaciones activadas`),!0):(d.toast.error(`Permiso de notificaciones denegado`),!1)}catch(e){return console.error(`Error requesting notification permission:`,e),d.toast.error(`Error al solicitar permisos`),!1}}async show(e){if(!(`Notification`in window)){(0,d.toast)(e.title,{description:e.body});return}if(this.permission!==`granted`&&!await this.requestPermission()){(0,d.toast)(e.title,{description:e.body});return}try{if(`serviceWorker`in navigator&&navigator.serviceWorker.controller)await(await navigator.serviceWorker.ready).showNotification(e.title,{body:e.body,icon:e.icon||`/images/icons/android/android-launchericon-192-192.png`,badge:`/images/icons/android/android-launchericon-96-96.png`,tag:e.tag,data:e.data,requireInteraction:e.requireInteraction||!1,silent:e.silent||!1});else{let t=new Notification(e.title,{body:e.body,icon:e.icon||`/images/icons/android/android-launchericon-192-192.png`,tag:e.tag,data:e.data,requireInteraction:e.requireInteraction||!1,silent:e.silent||!1});t.onclick=()=>{window.focus(),t.close()}}(0,d.toast)(e.title,{description:e.body,duration:5e3})}catch(t){console.error(`Error showing notification:`,t),(0,d.toast)(e.title,{description:e.body})}}isSupported(){return`Notification`in window}getPermission(){return this.permission}},we={language:`es`},G=f.default.create({baseURL:`/api`,headers:{"Content-Type":`application/json`}});G.interceptors.request.use(e=>{let t=localStorage.getItem(`auth_token`);t&&(e.headers.Authorization=`Bearer ${t}`),e.headers[`Accept-Language`]=we.language||`es`;try{let t=JSON.parse(localStorage.getItem(`current_branch`)||`{}`);t?.id&&(e.headers[`X-Branch-ID`]=t.id)}catch{}return e.data instanceof FormData&&delete e.headers[`Content-Type`],e}),G.interceptors.response.use(e=>e,e=>{let t=e.response?.status,n=e.response?.data,r=e.config?.method?.toUpperCase()+` `+e.config?.url,i=n?.message||n?.error||n?.title||e.message;if(console.error(`[API Error] ${r} → ${t}: ${i}`,n),t===401){let{reset:e}=H.getState().auth;e(),window.location.href=`/sign-in`}return Promise.reject(e)});var Te=new class{vapidPublicKey=null;subscription=null;isSupported=!1;constructor(){this.isSupported=`serviceWorker`in navigator&&`PushManager`in window}async init(){if(!this.isSupported){console.log(`⚠️ Push notifications not supported`);return}try{let e=await G.get(`/push/public-key`);e.data?.publicKey&&(this.vapidPublicKey=e.data.publicKey,console.log(`✅ VAPID public key loaded`)),this.subscription=await(await navigator.serviceWorker.ready).pushManager.getSubscription(),this.subscription&&console.log(`✅ Existing push subscription found`)}catch(e){console.error(`Failed to initialize push service:`,e)}}async subscribe(){if(!this.isSupported)return d.toast.error(`Tu navegador no soporta notificaciones push`),!1;if(!this.vapidPublicKey&&(await this.init(),!this.vapidPublicKey))return d.toast.error(`No se pudo obtener la clave del servidor`),!1;try{if(await Notification.requestPermission()!==`granted`)return d.toast.error(`Permiso de notificaciones denegado`),!1;let e=await(await navigator.serviceWorker.ready).pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:this.urlBase64ToUint8Array(this.vapidPublicKey)});this.subscription=e;let t=e.toJSON().keys;return await G.post(`/push/subscribe`,{endpoint:e.endpoint,p256dh:t.p256dh,auth:t.auth,device_type:this.detectDeviceType()}),d.toast.success(`🔔 Notificaciones push activadas`),console.log(`✅ Push subscription registered`),!0}catch(e){return console.error(`Failed to subscribe to push:`,e),d.toast.error(`Error al activar notificaciones push`),!1}}async unsubscribe(){if(!this.subscription)return!0;try{return await this.subscription.unsubscribe(),await G.post(`/push/unsubscribe`,{endpoint:this.subscription.endpoint}),this.subscription=null,d.toast.success(`Notificaciones push desactivadas`),!0}catch(e){return console.error(`Failed to unsubscribe:`,e),d.toast.error(`Error al desactivar notificaciones`),!1}}async testNotification(){try{await G.post(`/push/test`),d.toast.success(`Notificación de prueba enviada`)}catch(e){console.error(`Failed to send test notification:`,e),d.toast.error(`Error al enviar notificación de prueba`)}}isSubscribed(){return this.subscription!==null}getSupported(){return this.isSupported}urlBase64ToUint8Array(e){let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=window.atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;++e)r[e]=n.charCodeAt(e);return r}detectDeviceType(){let e=navigator.userAgent.toLowerCase();return/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(e)?`mobile`:/electron/i.test(e)?`desktop`:`web`}};function Ee(e){console.log(e);let t=`Something went wrong!`;e&&typeof e==`object`&&`status`in e&&Number(e.status)===204&&(t=`Content not found.`),e instanceof f.AxiosError&&(t=e.response?.data?.message||e.response?.data?.title||e.message),d.toast.error(t)}var De=m.Root,Oe=p.forwardRef(({className:e,...t},n)=>(0,g.jsx)(m.Item,{ref:n,className:z(`border-b`,e),...t}));Oe.displayName=`AccordionItem`;var ke=p.forwardRef(({className:e,children:t,...n},r)=>(0,g.jsx)(m.Header,{className:`flex`,children:(0,g.jsxs)(m.Trigger,{ref:r,className:z(`flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180`,e),...n,children:[t,(0,g.jsx)(h.ChevronDown,{className:`h-4 w-4 shrink-0 transition-transform duration-200`})]})}));ke.displayName=m.Trigger.displayName;var Ae=p.forwardRef(({className:e,children:t,...n},r)=>(0,g.jsx)(m.Content,{ref:r,className:`overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down`,...n,children:(0,g.jsx)(`div`,{className:z(`pb-4 pt-0`,e),children:t})}));Ae.displayName=m.Content.displayName;var je=(0,_.cva)(`relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current`,{variants:{variant:{default:`bg-card text-card-foreground`,destructive:`text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90`}},defaultVariants:{variant:`default`}});function Me({className:e,variant:t,...n}){return(0,g.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:z(je({variant:t}),e),...n})}function Ne({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`alert-title`,className:z(`col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight`,e),...t})}function Pe({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`alert-description`,className:z(`text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed`,e),...t})}var K=(0,_.cva)(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground shadow-xs hover:bg-primary/90`,destructive:`bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`}},defaultVariants:{variant:`default`,size:`default`}});function q({className:e,variant:t,size:n,asChild:r=!1,...i}){return(0,g.jsx)(r?y.Slot:`button`,{"data-slot":`button`,className:z(K({variant:t,size:n,className:e})),...i})}function Fe({...e}){return(0,g.jsx)(v.Root,{"data-slot":`alert-dialog`,...e})}function Ie({...e}){return(0,g.jsx)(v.Trigger,{"data-slot":`alert-dialog-trigger`,...e})}function Le({...e}){return(0,g.jsx)(v.Portal,{"data-slot":`alert-dialog-portal`,...e})}function Re({className:e,...t}){return(0,g.jsx)(v.Overlay,{"data-slot":`alert-dialog-overlay`,className:z(`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50`,e),...t})}function ze({className:e,...t}){return(0,g.jsxs)(Le,{children:[(0,g.jsx)(Re,{}),(0,g.jsx)(v.Content,{"data-slot":`alert-dialog-content`,className:z(`bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg`,e),...t})]})}function Be({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`alert-dialog-header`,className:z(`flex flex-col gap-2 text-center sm:text-start`,e),...t})}function Ve({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`alert-dialog-footer`,className:z(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...t})}function He({className:e,...t}){return(0,g.jsx)(v.Title,{"data-slot":`alert-dialog-title`,className:z(`text-lg font-semibold`,e),...t})}function Ue({className:e,...t}){return(0,g.jsx)(v.Description,{"data-slot":`alert-dialog-description`,className:z(`text-muted-foreground text-sm`,e),...t})}function We({className:e,...t}){return(0,g.jsx)(v.Action,{className:z(K(),e),...t})}function Ge({className:e,...t}){return(0,g.jsx)(v.Cancel,{className:z(K({variant:`outline`}),e),...t})}function Ke({className:e,...t}){return(0,g.jsx)(b.Root,{"data-slot":`avatar`,className:z(`relative flex size-8 shrink-0 overflow-hidden rounded-full`,e),...t})}function qe({className:e,...t}){return(0,g.jsx)(b.Image,{"data-slot":`avatar-image`,className:z(`aspect-square size-full object-cover`,e),...t})}function Je({className:e,...t}){return(0,g.jsx)(b.Fallback,{"data-slot":`avatar-fallback`,className:z(`bg-muted flex size-full items-center justify-center rounded-full`,e),...t})}var Ye=(0,_.cva)(`inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90`,secondary:`border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90`,destructive:`border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`}},defaultVariants:{variant:`default`}});function Xe({className:e,variant:t,asChild:n=!1,...r}){return(0,g.jsx)(n?y.Slot:`span`,{"data-slot":`badge`,className:z(Ye({variant:t}),e),...r})}function Ze({className:e,classNames:t,showOutsideDays:n=!0,captionLayout:r=`label`,buttonVariant:i=`ghost`,formatters:a,components:o,...s}){let c=(0,x.getDefaultClassNames)();return(0,g.jsx)(x.DayPicker,{showOutsideDays:n,className:z(`bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent`,String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:r,formatters:{formatMonthDropdown:e=>e.toLocaleString(`default`,{month:`short`}),...a},classNames:{root:z(`w-fit`,c.root),months:z(`flex gap-4 flex-col md:flex-row relative`,c.months),month:z(`flex flex-col w-full gap-4`,c.month),nav:z(`flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between`,c.nav),button_previous:z(K({variant:i}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,c.button_previous),button_next:z(K({variant:i}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,c.button_next),month_caption:z(`flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)`,c.month_caption),dropdowns:z(`w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5`,c.dropdowns),dropdown_root:z(`relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md`,c.dropdown_root),dropdown:z(`absolute bg-popover inset-0 opacity-0`,c.dropdown),caption_label:z(`select-none font-medium`,r===`label`?`text-sm`:`rounded-md ps-2 pe-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5`,c.caption_label),table:`w-full border-collapse`,weekdays:z(`flex`,c.weekdays),weekday:z(`text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none`,c.weekday),week:z(`flex w-full mt-2`,c.week),week_number_header:z(`select-none w-(--cell-size)`,c.week_number_header),week_number:z(`text-[0.8rem] select-none text-muted-foreground`,c.week_number),day:z(`relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none`,c.day),range_start:z(`rounded-l-md bg-accent`,c.range_start),range_middle:z(`rounded-none`,c.range_middle),range_end:z(`rounded-r-md bg-accent`,c.range_end),today:z(`bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none`,c.today),outside:z(`text-muted-foreground aria-selected:text-muted-foreground`,c.outside),disabled:z(`text-muted-foreground opacity-50`,c.disabled),hidden:z(`invisible`,c.hidden),...t},components:{Root:({className:e,rootRef:t,...n})=>(0,g.jsx)(`div`,{"data-slot":`calendar`,ref:t,className:z(e),...n}),Chevron:({className:e,orientation:t,...n})=>t===`left`?(0,g.jsx)(h.ChevronLeftIcon,{className:z(`size-4`,e),...n}):t===`right`?(0,g.jsx)(h.ChevronRightIcon,{className:z(`size-4`,e),...n}):(0,g.jsx)(h.ChevronDownIcon,{className:z(`size-4`,e),...n}),DayButton:Qe,WeekNumber:({children:e,...t})=>(0,g.jsx)(`td`,{...t,children:(0,g.jsx)(`div`,{className:`flex size-(--cell-size) items-center justify-center text-center`,children:e})}),...o},...s})}function Qe({className:e,day:t,modifiers:n,...r}){let i=(0,x.getDefaultClassNames)(),a=p.useRef(null);return p.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),(0,g.jsx)(q,{ref:a,variant:`ghost`,size:`icon`,"data-day":t.date.toLocaleDateString(),"data-selected-single":n.selected&&!n.range_start&&!n.range_end&&!n.range_middle,"data-range-start":n.range_start,"data-range-end":n.range_end,"data-range-middle":n.range_middle,className:z(`data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70`,i.day,e),...r})}function $e({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card`,className:z(`bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm`,e),...t})}function et({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-header`,className:z(`@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6`,e),...t})}function tt({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-title`,className:z(`leading-none font-semibold`,e),...t})}function nt({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-description`,className:z(`text-muted-foreground text-sm`,e),...t})}function rt({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-action`,className:z(`col-start-2 row-span-2 row-start-1 self-start justify-self-end`,e),...t})}function it({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-content`,className:z(`px-6`,e),...t})}function at({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-footer`,className:z(`flex items-center px-6 [.border-t]:pt-6`,e),...t})}function ot({className:e,...t}){return(0,g.jsx)(S.Root,{"data-slot":`checkbox`,className:z(`peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50`,e),...t,children:(0,g.jsx)(S.Indicator,{"data-slot":`checkbox-indicator`,className:`flex items-center justify-center text-current transition-none`,children:(0,g.jsx)(h.CheckIcon,{className:`size-3.5`})})})}function st({...e}){return(0,g.jsx)(C.Root,{"data-slot":`collapsible`,...e})}function ct({...e}){return(0,g.jsx)(C.CollapsibleTrigger,{"data-slot":`collapsible-trigger`,...e})}function lt({...e}){return(0,g.jsx)(C.CollapsibleContent,{"data-slot":`collapsible-content`,...e})}function ut({...e}){return(0,g.jsx)(T.Root,{"data-slot":`dialog`,...e})}function dt({...e}){return(0,g.jsx)(T.Trigger,{"data-slot":`dialog-trigger`,...e})}function ft({...e}){return(0,g.jsx)(T.Portal,{"data-slot":`dialog-portal`,...e})}function pt({...e}){return(0,g.jsx)(T.Close,{"data-slot":`dialog-close`,...e})}function mt({className:e,...t}){return(0,g.jsx)(T.Overlay,{"data-slot":`dialog-overlay`,className:z(`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50`,e),...t})}function ht({className:e,children:t,showCloseButton:n=!0,...r}){return(0,g.jsxs)(ft,{"data-slot":`dialog-portal`,children:[(0,g.jsx)(mt,{}),(0,g.jsxs)(T.Content,{"data-slot":`dialog-content`,className:z(`bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg`,e),...r,children:[t,n&&(0,g.jsxs)(T.Close,{"data-slot":`dialog-close`,className:`ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute end-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,children:[(0,g.jsx)(h.XIcon,{}),(0,g.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function gt({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`dialog-header`,className:z(`flex flex-col gap-2 text-center sm:text-start`,e),...t})}function _t({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`dialog-footer`,className:z(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...t})}function vt({className:e,...t}){return(0,g.jsx)(T.Title,{"data-slot":`dialog-title`,className:z(`text-lg leading-none font-semibold`,e),...t})}function yt({className:e,...t}){return(0,g.jsx)(T.Description,{"data-slot":`dialog-description`,className:z(`text-muted-foreground text-sm`,e),...t})}function J({className:e,...t}){return(0,g.jsx)(w.Command,{"data-slot":`command`,className:z(`bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md`,e),...t})}function bt({title:e=`Command Palette`,description:t=`Search for a command to run...`,children:n,className:r,showCloseButton:i=!0,...a}){return(0,g.jsxs)(ut,{...a,children:[(0,g.jsxs)(gt,{className:`sr-only`,children:[(0,g.jsx)(vt,{children:e}),(0,g.jsx)(yt,{children:t})]}),(0,g.jsx)(ht,{className:z(`overflow-hidden p-0`,r),showCloseButton:i,children:(0,g.jsx)(J,{className:`[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5`,children:n})})]})}function Y({className:e,...t}){return(0,g.jsxs)(`div`,{"data-slot":`command-input-wrapper`,className:`flex h-10 items-center gap-2 border-b px-3`,children:[(0,g.jsx)(h.SearchIcon,{className:`size-4 shrink-0 opacity-50`}),(0,g.jsx)(w.Command.Input,{"data-slot":`command-input`,className:z(`placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50`,e),...t})]})}function X({className:e,...t}){return(0,g.jsx)(w.Command.List,{"data-slot":`command-list`,className:z(`max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto`,e),...t})}function Z({...e}){return(0,g.jsx)(w.Command.Empty,{"data-slot":`command-empty`,className:`py-6 text-center text-sm`,...e})}function xt({className:e,...t}){return(0,g.jsx)(w.Command.Group,{"data-slot":`command-group`,className:z(`text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium`,e),...t})}function St({className:e,...t}){return(0,g.jsx)(w.Command.Separator,{"data-slot":`command-separator`,className:z(`bg-border -mx-1 h-px`,e),...t})}function Ct({className:e,...t}){return(0,g.jsx)(w.Command.Item,{"data-slot":`command-item`,className:z(`data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...t})}function wt({className:e,...t}){return(0,g.jsx)(`span`,{"data-slot":`command-shortcut`,className:z(`text-muted-foreground ms-auto text-xs tracking-widest`,e),...t})}function Tt({...e}){return(0,g.jsx)(E.Root,{"data-slot":`dropdown-menu`,...e})}function Et({...e}){return(0,g.jsx)(E.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function Dt({...e}){return(0,g.jsx)(E.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function Ot({className:e,sideOffset:t=4,...n}){return(0,g.jsx)(E.Portal,{children:(0,g.jsx)(E.Content,{"data-slot":`dropdown-menu-content`,sideOffset:t,className:z(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md`,e),...n})})}function kt({...e}){return(0,g.jsx)(E.Group,{"data-slot":`dropdown-menu-group`,...e})}function At({className:e,inset:t,variant:n=`default`,...r}){return(0,g.jsx)(E.Item,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:z(`focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:ps-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r})}function jt({className:e,children:t,checked:n,...r}){return(0,g.jsxs)(E.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:z(`focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 ps-8 pe-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),checked:n,...r,children:[(0,g.jsx)(`span`,{className:`pointer-events-none absolute start-2 flex size-3.5 items-center justify-center`,children:(0,g.jsx)(E.ItemIndicator,{children:(0,g.jsx)(h.CheckIcon,{className:`size-4`})})}),t]})}function Mt({...e}){return(0,g.jsx)(E.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function Nt({className:e,children:t,...n}){return(0,g.jsxs)(E.RadioItem,{"data-slot":`dropdown-menu-radio-item`,className:z(`focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 ps-8 pe-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...n,children:[(0,g.jsx)(`span`,{className:`pointer-events-none absolute start-2 flex size-3.5 items-center justify-center`,children:(0,g.jsx)(E.ItemIndicator,{children:(0,g.jsx)(h.CircleIcon,{className:`size-2 fill-current`})})}),t]})}function Pt({className:e,inset:t,...n}){return(0,g.jsx)(E.Label,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:z(`px-2 py-1.5 text-sm font-medium data-[inset]:ps-8`,e),...n})}function Ft({className:e,...t}){return(0,g.jsx)(E.Separator,{"data-slot":`dropdown-menu-separator`,className:z(`bg-border -mx-1 my-1 h-px`,e),...t})}function It({className:e,...t}){return(0,g.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:z(`text-muted-foreground ms-auto text-xs tracking-widest`,e),...t})}function Lt({...e}){return(0,g.jsx)(E.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function Rt({className:e,inset:t,children:n,...r}){return(0,g.jsxs)(E.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":t,className:z(`focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:ps-8`,e),...r,children:[n,(0,g.jsx)(h.ChevronRightIcon,{className:`ms-auto size-4`})]})}function zt({className:e,...t}){return(0,g.jsx)(E.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:z(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg`,e),...t})}function Bt({className:e,...t}){return(0,g.jsx)(O.Root,{"data-slot":`label`,className:z(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}var Vt=D.FormProvider,Ht=p.createContext({}),Ut=({...e})=>(0,g.jsx)(Ht.Provider,{value:{name:e.name},children:(0,g.jsx)(D.Controller,{...e})}),Q=()=>{let e=p.useContext(Ht),t=p.useContext(Wt),{getFieldState:n}=(0,D.useFormContext)(),r=(0,D.useFormState)({name:e.name}),i=n(e.name,r);if(!e)throw Error(`useFormField should be used within <FormField>`);let{id:a}=t;return{id:a,name:e.name,formItemId:`${a}-form-item`,formDescriptionId:`${a}-form-item-description`,formMessageId:`${a}-form-item-message`,...i}},Wt=p.createContext({});function Gt({className:e,...t}){let n=p.useId();return(0,g.jsx)(Wt.Provider,{value:{id:n},children:(0,g.jsx)(`div`,{"data-slot":`form-item`,className:z(`grid gap-2`,e),...t})})}function Kt({className:e,...t}){let{error:n,formItemId:r}=Q();return(0,g.jsx)(Bt,{"data-slot":`form-label`,"data-error":!!n,className:z(`data-[error=true]:text-destructive`,e),htmlFor:r,...t})}function qt({...e}){let{error:t,formItemId:n,formDescriptionId:r,formMessageId:i}=Q();return(0,g.jsx)(y.Slot,{"data-slot":`form-control`,id:n,"aria-describedby":t?`${r} ${i}`:`${r}`,"aria-invalid":!!t,...e})}function Jt({className:e,...t}){let{formDescriptionId:n}=Q();return(0,g.jsx)(`p`,{"data-slot":`form-description`,id:n,className:z(`text-muted-foreground text-sm`,e),...t})}function Yt({className:e,...t}){let{error:n,formMessageId:r}=Q(),i=n?String(n?.message??``):t.children;return i?(0,g.jsx)(`p`,{"data-slot":`form-message`,id:r,className:z(`text-destructive text-sm`,e),...t,children:i}):null}function Xt({value:e,onChange:t,label:n=`Imagen`,disabled:r,multiple:i=!1,className:a}){let o=(0,p.useRef)(null),[s,c]=(0,p.useState)(!1),[l,u]=(0,p.useState)([]);(0,p.useEffect)(()=>{u(Array.isArray(e)?e:e?[e]:[])},[e]);let f=async e=>{let t=e.target.files;if(!t||t.length===0)return;let n=[];for(let e=0;e<t.length;e++){let r=t[e];if(!r.type.startsWith(`image/`)){d.toast.error(`Archivo ${r.name} no es una imagen válida`);continue}if(r.size>5*1024*1024){d.toast.error(`Imagen ${r.name} supera los 5MB`);continue}n.push(r)}n.length>0&&await m(n)},m=async e=>{c(!0);try{let n=e.map(async e=>{let t=new FormData;t.append(`file`,e);try{return(await G.post(`/upload`,t,{headers:{"Content-Type":`multipart/form-data`}})).data.url}catch(e){return console.error(`Single file upload failed`,e),null}}),r=(await Promise.all(n)).filter(e=>e!==null);r.length>0&&(t(i?[...l,...r]:r[0]),d.toast.success(`${r.length} imagen(es) cargada(s)`))}catch(e){console.error(`Upload Error:`,e),d.toast.error(`Error al subir imágenes`)}finally{c(!1),o.current&&(o.current.value=``)}},_=e=>{t(i?l.filter(t=>t!==e):``)};return(0,g.jsxs)(`div`,{className:z(`space-y-4`,a),children:[(0,g.jsx)(Bt,{children:n}),l.length>0&&(0,g.jsx)(`div`,{className:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-4 mb-4`,children:l.map((e,t)=>(0,g.jsxs)(`div`,{className:`relative group rounded-lg overflow-hidden border bg-background aspect-square flex items-center justify-center bg-gray-50 dark:bg-gray-800/50`,children:[(0,g.jsx)(`img`,{src:e,alt:`Image ${t+1}`,className:`h-full w-full object-contain p-1`}),!r&&(0,g.jsx)(`div`,{className:`absolute top-1 right-1 opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,g.jsx)(q,{type:`button`,variant:`destructive`,size:`icon`,className:`h-6 w-6 rounded-full`,onClick:()=>_(e),children:(0,g.jsx)(h.X,{className:`h-3 w-3`})})})]},t))}),!r&&(i||l.length===0)&&(0,g.jsxs)(`div`,{className:`
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`clsx`),l=require(`tailwind-merge`),u=require(`zustand`),d=require(`sonner`),f=require(`axios`);f=s(f,1);let p=require(`react`);p=s(p,1);let m=require(`@radix-ui/react-accordion`);m=s(m,1);let h=require(`lucide-react`),g=require(`react/jsx-runtime`),_=require(`class-variance-authority`),v=require(`@radix-ui/react-alert-dialog`);v=s(v,1);let y=require(`@radix-ui/react-slot`),b=require(`@radix-ui/react-avatar`);b=s(b,1);let x=require(`react-day-picker`),S=require(`@radix-ui/react-checkbox`);S=s(S,1);let C=require(`@radix-ui/react-collapsible`);C=s(C,1);let w=require(`cmdk`),T=require(`@radix-ui/react-dialog`);T=s(T,1);let E=require(`@radix-ui/react-dropdown-menu`);E=s(E,1);let D=require(`react-hook-form`),O=require(`@radix-ui/react-label`);O=s(O,1);let ee=require(`input-otp`),k=require(`@radix-ui/react-popover`);k=s(k,1);let A=require(`react-phone-number-input`);A=s(A,1);let te=require(`react-phone-number-input/flags`);te=s(te,1);let j=require(`@radix-ui/react-scroll-area`);j=s(j,1);let M=require(`@radix-ui/react-progress`);M=s(M,1);let N=require(`@radix-ui/react-radio-group`);N=s(N,1);let P=require(`@radix-ui/react-select`);P=s(P,1);let F=require(`@radix-ui/react-separator`);F=s(F,1);let I=require(`@radix-ui/react-tooltip`);I=s(I,1);let L=require(`@radix-ui/react-switch`);L=s(L,1);let R=require(`@radix-ui/react-tabs`);R=s(R,1);function z(...e){return(0,l.twMerge)((0,c.clsx)(e))}function ne(){return(globalThis.__METACORE_BACKEND_URL__||`http://localhost:8080`).replace(/\/api\/?$/,``).replace(/\/+$/,``)}function re(e,t){if(!e)return``;if(e.startsWith(`http://`)||e.startsWith(`https://`))return e;let n=ne();return e.startsWith(`/storage/`)?`${n}${e}`:`${n}/storage/${t}/${e}`}function ie(e){return e?e.startsWith(`http://`)||e.startsWith(`https://`)?e:`${ne()}${e.startsWith(`/`)?e:`/${e}`}`:``}function ae(e=1e3){return new Promise(t=>setTimeout(t,e))}function oe(e,t){let n=[];if(t<=5)for(let e=1;e<=t;e++)n.push(e);else if(n.push(1),e<=3){for(let e=2;e<=4;e++)n.push(e);n.push(`...`,t)}else if(e>=t-2){n.push(`...`);for(let e=t-3;e<=t;e++)n.push(e)}else{n.push(`...`);for(let t=e-1;t<=e+1;t++)n.push(t);n.push(`...`,t)}return n}var B=`auth_token`,V=`auth_user`,H=(0,u.create)()(e=>{let t=localStorage.getItem(B)||``,n=localStorage.getItem(V);return{auth:{user:n?JSON.parse(n):null,setUser:t=>e(e=>(t?localStorage.setItem(V,JSON.stringify(t)):localStorage.removeItem(V),{...e,auth:{...e.auth,user:t}})),accessToken:t,setAccessToken:t=>e(e=>(localStorage.setItem(B,t),{...e,auth:{...e.auth,accessToken:t}})),resetAccessToken:()=>e(e=>(localStorage.removeItem(B),localStorage.removeItem(V),{...e,auth:{...e.auth,accessToken:``,user:null}})),reset:()=>e(e=>(localStorage.removeItem(B),localStorage.removeItem(V),{...e,auth:{...e.auth,user:null,accessToken:``}}))}}}),se={PEN:`S/`,VES:`Bs.`,BOB:`Bs.`,GTQ:`Q`,HNL:`L`,NIO:`C$`,CRC:`₡`,PAB:`B/.`,PYG:`₲`,MXN:`$`,COP:`$`,ARS:`$`,CLP:`$`,UYU:`$`,DOP:`$`,CUP:`$`,EUR:`€`,USD:`$`};function U(e,t=`USD`,n=`es`){try{return new Intl.NumberFormat(n,{style:`currency`,currency:t}).format(e)}catch{return`${t} ${e}`}}function ce(e){return se[e]||(typeof Intl<`u`?new Intl.NumberFormat(`en-US`,{style:`currency`,currency:e,currencyDisplay:`narrowSymbol`}).formatToParts(0).find(e=>e.type===`currency`)?.value||e:`$`)}function le(){let e=H(e=>e.auth.user?.currency_code)||`USD`;return t=>U(t,e)}function ue(e){return U(e,H.getState().auth.user?.currency_code||`USD`)}function de(){let e=typeof Intl<`u`&&Intl.supportedValuesOf?Intl.supportedValuesOf(`timeZone`):[`UTC`,`America/Mexico_City`,`America/Bogota`,`America/Santiago`,`America/Argentina/Buenos_Aires`,`America/New_York`,`America/Los_Angeles`,`Europe/Madrid`,`Europe/London`,`Europe/Paris`,`Asia/Tokyo`,`Asia/Shanghai`,`Asia/Dubai`,`Australia/Sydney`],t=new Date;return e.map(e=>{try{let n=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`shortOffset`}).formatToParts(t).find(e=>e.type===`timeZoneName`)?.value||``;return{value:e,label:`(${n}) ${e.replace(/_/g,` `)}`,offset:n}}catch{return{value:e,label:e,offset:``}}}).sort((e,t)=>{let n=e=>{if(!e||e===`GMT`)return 0;let t=e.match(/GMT([+-])(\d+)(?::(\d+))?/);if(!t)return 0;let n=t[1]===`+`?1:-1,r=parseInt(t[2]),i=parseInt(t[3]||`0`);return n*(r*60+i)},r=n(e.offset),i=n(t.offset);return r===i?e.value.localeCompare(t.value):r-i})}var fe=`AR.AT.AU.AE.AL.AO.AZ.BA.BB.BD.BE.BG.BH.BO.BR.BS.BY.BZ.CA.CD.CH.CI.CL.CM.CN.CO.CR.CU.CY.CZ.DE.DK.DO.DZ.EC.EE.EG.ES.ET.SV.FI.FJ.FR.GB.GE.GH.GR.GT.GY.HK.HN.HR.HT.HU.ID.IE.IL.IN.IQ.IR.IS.IT.JM.JO.JP.KE.KH.KR.KW.KZ.LA.LB.LK.LT.LU.LV.LY.MA.MD.ME.MK.MM.MN.MT.MU.MX.MY.MZ.NG.NI.NL.NO.NP.NZ.OM.PA.PE.PG.PH.PK.PL.PR.PT.PY.QA.RO.RS.RU.RW.SA.SE.SG.SI.SK.SN.SR.TH.TN.TR.TT.TW.TZ.UA.UG.US.UY.UZ.VE.VN.ZA`.split(`.`);function pe(e){return String.fromCodePoint(...e.toUpperCase().split(``).map(e=>127462+e.charCodeAt(0)-65))}function me(e){let t=e||navigator.language||`es`,n=new Intl.DisplayNames([t],{type:`region`});return fe.map(e=>({code:e,name:n.of(e)||e,flag:pe(e)})).sort((e,n)=>e.name.localeCompare(n.name,t))}var he={red:`ef4444`,orange:`f97316`,amber:`f59e0b`,yellow:`eab308`,lime:`84cc16`,green:`22c55e`,emerald:`10b981`,teal:`14b8a6`,cyan:`06b6d4`,sky:`0ea5e9`,blue:`3b82f6`,indigo:`6366f1`,violet:`8b5cf6`,purple:`a855f7`,fuchsia:`d946ef`,pink:`ec4899`,rose:`f43f5e`,gray:`6b7280`,slate:`64748b`,zinc:`71717a`,neutral:`737373`,stone:`78716c`},W=e=>e?he[e.toLowerCase()]||e.replace(`#`,``):``,ge=e=>{let t=W(e);return t?`#${t}`:``},_e=(e,{isDark:t})=>{let n=W(e);if(n.length<6)return{};let r=parseInt(n.substring(0,2),16),i=parseInt(n.substring(2,4),16),a=parseInt(n.substring(4,6),16);return t?{backgroundColor:`rgba(${r}, ${i}, ${a}, 0.2)`,color:`rgb(${Math.min(255,Math.floor(r*1.2))}, ${Math.min(255,Math.floor(i*1.2))}, ${Math.min(255,Math.floor(a*1.2))})`,border:`1px solid rgba(${r}, ${i}, ${a}, 0.5)`,fontWeight:500}:{backgroundColor:`rgba(${r}, ${i}, ${a}, 0.12)`,color:`rgb(${Math.floor(r*.5)}, ${Math.floor(i*.5)}, ${Math.floor(a*.5)})`,border:`1px solid rgba(${r}, ${i}, ${a}, 0.25)`,fontWeight:500}},ve=3600*24*7;function ye(e){if(typeof document>`u`)return;let t=`; ${document.cookie}`.split(`; ${e}=`);if(t.length===2)return t.pop()?.split(`;`).shift()}function be(e,t,n=ve){typeof document>`u`||(document.cookie=`${e}=${t}; path=/; max-age=${n}`)}function xe(e){typeof document>`u`||(document.cookie=`${e}=; path=/; max-age=0`)}function Se(){try{let e=window.AudioContext||window.webkitAudioContext;if(!e)return;let t=new e,n=t.createOscillator(),r=t.createGain();n.connect(r),r.connect(t.destination),n.type=`sine`,n.frequency.setValueAtTime(880,t.currentTime),n.frequency.exponentialRampToValueAtTime(500,t.currentTime+.5),r.gain.setValueAtTime(.1,t.currentTime),r.gain.exponentialRampToValueAtTime(.001,t.currentTime+.4),n.start(t.currentTime),n.stop(t.currentTime+.5)}catch(e){console.error(`Error playing notification sound:`,e)}}var Ce=new class{permission=`default`;constructor(){`Notification`in window&&(this.permission=Notification.permission)}async requestPermission(){if(!(`Notification`in window))return d.toast.error(`Este navegador no soporta notificaciones`),!1;if(this.permission===`granted`)return!0;try{let e=await Notification.requestPermission();return this.permission=e,e===`granted`?(d.toast.success(`Notificaciones activadas`),!0):(d.toast.error(`Permiso de notificaciones denegado`),!1)}catch(e){return console.error(`Error requesting notification permission:`,e),d.toast.error(`Error al solicitar permisos`),!1}}async show(e){if(!(`Notification`in window)){(0,d.toast)(e.title,{description:e.body});return}if(this.permission!==`granted`&&!await this.requestPermission()){(0,d.toast)(e.title,{description:e.body});return}try{if(`serviceWorker`in navigator&&navigator.serviceWorker.controller)await(await navigator.serviceWorker.ready).showNotification(e.title,{body:e.body,icon:e.icon||`/images/icons/android/android-launchericon-192-192.png`,badge:`/images/icons/android/android-launchericon-96-96.png`,tag:e.tag,data:e.data,requireInteraction:e.requireInteraction||!1,silent:e.silent||!1});else{let t=new Notification(e.title,{body:e.body,icon:e.icon||`/images/icons/android/android-launchericon-192-192.png`,tag:e.tag,data:e.data,requireInteraction:e.requireInteraction||!1,silent:e.silent||!1});t.onclick=()=>{window.focus(),t.close()}}(0,d.toast)(e.title,{description:e.body,duration:5e3})}catch(t){console.error(`Error showing notification:`,t),(0,d.toast)(e.title,{description:e.body})}}isSupported(){return`Notification`in window}getPermission(){return this.permission}},we={language:`es`},G=f.default.create({baseURL:`/api`,headers:{"Content-Type":`application/json`}});G.interceptors.request.use(e=>{let t=localStorage.getItem(`auth_token`);t&&(e.headers.Authorization=`Bearer ${t}`),e.headers[`Accept-Language`]=we.language||`es`;try{let t=JSON.parse(localStorage.getItem(`current_branch`)||`{}`);t?.id&&(e.headers[`X-Branch-ID`]=t.id)}catch{}return e.data instanceof FormData&&delete e.headers[`Content-Type`],e}),G.interceptors.response.use(e=>e,e=>{let t=e.response?.status,n=e.response?.data,r=e.config?.method?.toUpperCase()+` `+e.config?.url,i=n?.message||n?.error||n?.title||e.message;if(console.error(`[API Error] ${r} → ${t}: ${i}`,n),t===401){let{reset:e}=H.getState().auth;e(),window.location.href=`/sign-in`}return Promise.reject(e)});var Te=new class{vapidPublicKey=null;subscription=null;isSupported=!1;constructor(){this.isSupported=`serviceWorker`in navigator&&`PushManager`in window}async init(){if(!this.isSupported){console.log(`⚠️ Push notifications not supported`);return}try{let e=await G.get(`/push/public-key`);e.data?.publicKey&&(this.vapidPublicKey=e.data.publicKey,console.log(`✅ VAPID public key loaded`));let t=await navigator.serviceWorker.ready;this.subscription=await t.pushManager.getSubscription(),this.subscription&&console.log(`✅ Existing push subscription found`)}catch(e){console.error(`Failed to initialize push service:`,e)}}async subscribe(){if(!this.isSupported)return d.toast.error(`Tu navegador no soporta notificaciones push`),!1;if(!this.vapidPublicKey&&(await this.init(),!this.vapidPublicKey))return d.toast.error(`No se pudo obtener la clave del servidor`),!1;try{if(await Notification.requestPermission()!==`granted`)return d.toast.error(`Permiso de notificaciones denegado`),!1;let e=await(await navigator.serviceWorker.ready).pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:this.urlBase64ToUint8Array(this.vapidPublicKey)});this.subscription=e;let t=e.toJSON().keys;return await G.post(`/push/subscribe`,{endpoint:e.endpoint,p256dh:t.p256dh,auth:t.auth,device_type:this.detectDeviceType()}),d.toast.success(`🔔 Notificaciones push activadas`),console.log(`✅ Push subscription registered`),!0}catch(e){return console.error(`Failed to subscribe to push:`,e),d.toast.error(`Error al activar notificaciones push`),!1}}async unsubscribe(){if(!this.subscription)return!0;try{return await this.subscription.unsubscribe(),await G.post(`/push/unsubscribe`,{endpoint:this.subscription.endpoint}),this.subscription=null,d.toast.success(`Notificaciones push desactivadas`),!0}catch(e){return console.error(`Failed to unsubscribe:`,e),d.toast.error(`Error al desactivar notificaciones`),!1}}async testNotification(){try{await G.post(`/push/test`),d.toast.success(`Notificación de prueba enviada`)}catch(e){console.error(`Failed to send test notification:`,e),d.toast.error(`Error al enviar notificación de prueba`)}}isSubscribed(){return this.subscription!==null}getSupported(){return this.isSupported}urlBase64ToUint8Array(e){let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=window.atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;++e)r[e]=n.charCodeAt(e);return r}detectDeviceType(){let e=navigator.userAgent.toLowerCase();return/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(e)?`mobile`:/electron/i.test(e)?`desktop`:`web`}};function Ee(e){console.log(e);let t=`Something went wrong!`;e&&typeof e==`object`&&`status`in e&&Number(e.status)===204&&(t=`Content not found.`),e instanceof f.AxiosError&&(t=e.response?.data?.message||e.response?.data?.title||e.message),d.toast.error(t)}var De=m.Root,Oe=p.forwardRef(({className:e,...t},n)=>(0,g.jsx)(m.Item,{ref:n,className:z(`border-b`,e),...t}));Oe.displayName=`AccordionItem`;var ke=p.forwardRef(({className:e,children:t,...n},r)=>(0,g.jsx)(m.Header,{className:`flex`,children:(0,g.jsxs)(m.Trigger,{ref:r,className:z(`flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180`,e),...n,children:[t,(0,g.jsx)(h.ChevronDown,{className:`h-4 w-4 shrink-0 transition-transform duration-200`})]})}));ke.displayName=m.Trigger.displayName;var Ae=p.forwardRef(({className:e,children:t,...n},r)=>(0,g.jsx)(m.Content,{ref:r,className:`overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down`,...n,children:(0,g.jsx)(`div`,{className:z(`pb-4 pt-0`,e),children:t})}));Ae.displayName=m.Content.displayName;var je=(0,_.cva)(`relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current`,{variants:{variant:{default:`bg-card text-card-foreground`,destructive:`text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90`}},defaultVariants:{variant:`default`}});function Me({className:e,variant:t,...n}){return(0,g.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:z(je({variant:t}),e),...n})}function Ne({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`alert-title`,className:z(`col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight`,e),...t})}function Pe({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`alert-description`,className:z(`text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed`,e),...t})}var K=(0,_.cva)(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground shadow-xs hover:bg-primary/90`,destructive:`bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`}},defaultVariants:{variant:`default`,size:`default`}});function q({className:e,variant:t,size:n,asChild:r=!1,...i}){return(0,g.jsx)(r?y.Slot:`button`,{"data-slot":`button`,className:z(K({variant:t,size:n,className:e})),...i})}function Fe({...e}){return(0,g.jsx)(v.Root,{"data-slot":`alert-dialog`,...e})}function Ie({...e}){return(0,g.jsx)(v.Trigger,{"data-slot":`alert-dialog-trigger`,...e})}function Le({...e}){return(0,g.jsx)(v.Portal,{"data-slot":`alert-dialog-portal`,...e})}function Re({className:e,...t}){return(0,g.jsx)(v.Overlay,{"data-slot":`alert-dialog-overlay`,className:z(`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50`,e),...t})}function ze({className:e,...t}){return(0,g.jsxs)(Le,{children:[(0,g.jsx)(Re,{}),(0,g.jsx)(v.Content,{"data-slot":`alert-dialog-content`,className:z(`bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg`,e),...t})]})}function Be({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`alert-dialog-header`,className:z(`flex flex-col gap-2 text-center sm:text-start`,e),...t})}function Ve({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`alert-dialog-footer`,className:z(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...t})}function He({className:e,...t}){return(0,g.jsx)(v.Title,{"data-slot":`alert-dialog-title`,className:z(`text-lg font-semibold`,e),...t})}function Ue({className:e,...t}){return(0,g.jsx)(v.Description,{"data-slot":`alert-dialog-description`,className:z(`text-muted-foreground text-sm`,e),...t})}function We({className:e,...t}){return(0,g.jsx)(v.Action,{className:z(K(),e),...t})}function Ge({className:e,...t}){return(0,g.jsx)(v.Cancel,{className:z(K({variant:`outline`}),e),...t})}function Ke({className:e,...t}){return(0,g.jsx)(b.Root,{"data-slot":`avatar`,className:z(`relative flex size-8 shrink-0 overflow-hidden rounded-full`,e),...t})}function qe({className:e,...t}){return(0,g.jsx)(b.Image,{"data-slot":`avatar-image`,className:z(`aspect-square size-full object-cover`,e),...t})}function Je({className:e,...t}){return(0,g.jsx)(b.Fallback,{"data-slot":`avatar-fallback`,className:z(`bg-muted flex size-full items-center justify-center rounded-full`,e),...t})}var Ye=(0,_.cva)(`inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90`,secondary:`border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90`,destructive:`border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`}},defaultVariants:{variant:`default`}});function Xe({className:e,variant:t,asChild:n=!1,...r}){return(0,g.jsx)(n?y.Slot:`span`,{"data-slot":`badge`,className:z(Ye({variant:t}),e),...r})}function Ze({className:e,classNames:t,showOutsideDays:n=!0,captionLayout:r=`label`,buttonVariant:i=`ghost`,formatters:a,components:o,...s}){let c=(0,x.getDefaultClassNames)();return(0,g.jsx)(x.DayPicker,{showOutsideDays:n,className:z(`bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent`,String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:r,formatters:{formatMonthDropdown:e=>e.toLocaleString(`default`,{month:`short`}),...a},classNames:{root:z(`w-fit`,c.root),months:z(`flex gap-4 flex-col md:flex-row relative`,c.months),month:z(`flex flex-col w-full gap-4`,c.month),nav:z(`flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between`,c.nav),button_previous:z(K({variant:i}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,c.button_previous),button_next:z(K({variant:i}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,c.button_next),month_caption:z(`flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)`,c.month_caption),dropdowns:z(`w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5`,c.dropdowns),dropdown_root:z(`relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md`,c.dropdown_root),dropdown:z(`absolute bg-popover inset-0 opacity-0`,c.dropdown),caption_label:z(`select-none font-medium`,r===`label`?`text-sm`:`rounded-md ps-2 pe-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5`,c.caption_label),table:`w-full border-collapse`,weekdays:z(`flex`,c.weekdays),weekday:z(`text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none`,c.weekday),week:z(`flex w-full mt-2`,c.week),week_number_header:z(`select-none w-(--cell-size)`,c.week_number_header),week_number:z(`text-[0.8rem] select-none text-muted-foreground`,c.week_number),day:z(`relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none`,c.day),range_start:z(`rounded-l-md bg-accent`,c.range_start),range_middle:z(`rounded-none`,c.range_middle),range_end:z(`rounded-r-md bg-accent`,c.range_end),today:z(`bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none`,c.today),outside:z(`text-muted-foreground aria-selected:text-muted-foreground`,c.outside),disabled:z(`text-muted-foreground opacity-50`,c.disabled),hidden:z(`invisible`,c.hidden),...t},components:{Root:({className:e,rootRef:t,...n})=>(0,g.jsx)(`div`,{"data-slot":`calendar`,ref:t,className:z(e),...n}),Chevron:({className:e,orientation:t,...n})=>t===`left`?(0,g.jsx)(h.ChevronLeftIcon,{className:z(`size-4`,e),...n}):t===`right`?(0,g.jsx)(h.ChevronRightIcon,{className:z(`size-4`,e),...n}):(0,g.jsx)(h.ChevronDownIcon,{className:z(`size-4`,e),...n}),DayButton:Qe,WeekNumber:({children:e,...t})=>(0,g.jsx)(`td`,{...t,children:(0,g.jsx)(`div`,{className:`flex size-(--cell-size) items-center justify-center text-center`,children:e})}),...o},...s})}function Qe({className:e,day:t,modifiers:n,...r}){let i=(0,x.getDefaultClassNames)(),a=p.useRef(null);return p.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),(0,g.jsx)(q,{ref:a,variant:`ghost`,size:`icon`,"data-day":t.date.toLocaleDateString(),"data-selected-single":n.selected&&!n.range_start&&!n.range_end&&!n.range_middle,"data-range-start":n.range_start,"data-range-end":n.range_end,"data-range-middle":n.range_middle,className:z(`data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70`,i.day,e),...r})}function $e({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card`,className:z(`bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm`,e),...t})}function et({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-header`,className:z(`@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6`,e),...t})}function tt({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-title`,className:z(`leading-none font-semibold`,e),...t})}function nt({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-description`,className:z(`text-muted-foreground text-sm`,e),...t})}function rt({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-action`,className:z(`col-start-2 row-span-2 row-start-1 self-start justify-self-end`,e),...t})}function it({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-content`,className:z(`px-6`,e),...t})}function at({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-footer`,className:z(`flex items-center px-6 [.border-t]:pt-6`,e),...t})}function ot({className:e,...t}){return(0,g.jsx)(S.Root,{"data-slot":`checkbox`,className:z(`peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50`,e),...t,children:(0,g.jsx)(S.Indicator,{"data-slot":`checkbox-indicator`,className:`flex items-center justify-center text-current transition-none`,children:(0,g.jsx)(h.CheckIcon,{className:`size-3.5`})})})}function st({...e}){return(0,g.jsx)(C.Root,{"data-slot":`collapsible`,...e})}function ct({...e}){return(0,g.jsx)(C.CollapsibleTrigger,{"data-slot":`collapsible-trigger`,...e})}function lt({...e}){return(0,g.jsx)(C.CollapsibleContent,{"data-slot":`collapsible-content`,...e})}function ut({...e}){return(0,g.jsx)(T.Root,{"data-slot":`dialog`,...e})}function dt({...e}){return(0,g.jsx)(T.Trigger,{"data-slot":`dialog-trigger`,...e})}function ft({...e}){return(0,g.jsx)(T.Portal,{"data-slot":`dialog-portal`,...e})}function pt({...e}){return(0,g.jsx)(T.Close,{"data-slot":`dialog-close`,...e})}function mt({className:e,...t}){return(0,g.jsx)(T.Overlay,{"data-slot":`dialog-overlay`,className:z(`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50`,e),...t})}function ht({className:e,children:t,showCloseButton:n=!0,...r}){return(0,g.jsxs)(ft,{"data-slot":`dialog-portal`,children:[(0,g.jsx)(mt,{}),(0,g.jsxs)(T.Content,{"data-slot":`dialog-content`,className:z(`bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg`,e),...r,children:[t,n&&(0,g.jsxs)(T.Close,{"data-slot":`dialog-close`,className:`ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute end-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,children:[(0,g.jsx)(h.XIcon,{}),(0,g.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function gt({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`dialog-header`,className:z(`flex flex-col gap-2 text-center sm:text-start`,e),...t})}function _t({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`dialog-footer`,className:z(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...t})}function vt({className:e,...t}){return(0,g.jsx)(T.Title,{"data-slot":`dialog-title`,className:z(`text-lg leading-none font-semibold`,e),...t})}function yt({className:e,...t}){return(0,g.jsx)(T.Description,{"data-slot":`dialog-description`,className:z(`text-muted-foreground text-sm`,e),...t})}function J({className:e,...t}){return(0,g.jsx)(w.Command,{"data-slot":`command`,className:z(`bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md`,e),...t})}function bt({title:e=`Command Palette`,description:t=`Search for a command to run...`,children:n,className:r,showCloseButton:i=!0,...a}){return(0,g.jsxs)(ut,{...a,children:[(0,g.jsxs)(gt,{className:`sr-only`,children:[(0,g.jsx)(vt,{children:e}),(0,g.jsx)(yt,{children:t})]}),(0,g.jsx)(ht,{className:z(`overflow-hidden p-0`,r),showCloseButton:i,children:(0,g.jsx)(J,{className:`[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5`,children:n})})]})}function Y({className:e,...t}){return(0,g.jsxs)(`div`,{"data-slot":`command-input-wrapper`,className:`flex h-10 items-center gap-2 border-b px-3`,children:[(0,g.jsx)(h.SearchIcon,{className:`size-4 shrink-0 opacity-50`}),(0,g.jsx)(w.Command.Input,{"data-slot":`command-input`,className:z(`placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50`,e),...t})]})}function X({className:e,...t}){return(0,g.jsx)(w.Command.List,{"data-slot":`command-list`,className:z(`max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto`,e),...t})}function Z({...e}){return(0,g.jsx)(w.Command.Empty,{"data-slot":`command-empty`,className:`py-6 text-center text-sm`,...e})}function xt({className:e,...t}){return(0,g.jsx)(w.Command.Group,{"data-slot":`command-group`,className:z(`text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium`,e),...t})}function St({className:e,...t}){return(0,g.jsx)(w.Command.Separator,{"data-slot":`command-separator`,className:z(`bg-border -mx-1 h-px`,e),...t})}function Ct({className:e,...t}){return(0,g.jsx)(w.Command.Item,{"data-slot":`command-item`,className:z(`data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...t})}function wt({className:e,...t}){return(0,g.jsx)(`span`,{"data-slot":`command-shortcut`,className:z(`text-muted-foreground ms-auto text-xs tracking-widest`,e),...t})}function Tt({...e}){return(0,g.jsx)(E.Root,{"data-slot":`dropdown-menu`,...e})}function Et({...e}){return(0,g.jsx)(E.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function Dt({...e}){return(0,g.jsx)(E.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function Ot({className:e,sideOffset:t=4,...n}){return(0,g.jsx)(E.Portal,{children:(0,g.jsx)(E.Content,{"data-slot":`dropdown-menu-content`,sideOffset:t,className:z(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md`,e),...n})})}function kt({...e}){return(0,g.jsx)(E.Group,{"data-slot":`dropdown-menu-group`,...e})}function At({className:e,inset:t,variant:n=`default`,...r}){return(0,g.jsx)(E.Item,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:z(`focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:ps-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r})}function jt({className:e,children:t,checked:n,...r}){return(0,g.jsxs)(E.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:z(`focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 ps-8 pe-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),checked:n,...r,children:[(0,g.jsx)(`span`,{className:`pointer-events-none absolute start-2 flex size-3.5 items-center justify-center`,children:(0,g.jsx)(E.ItemIndicator,{children:(0,g.jsx)(h.CheckIcon,{className:`size-4`})})}),t]})}function Mt({...e}){return(0,g.jsx)(E.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function Nt({className:e,children:t,...n}){return(0,g.jsxs)(E.RadioItem,{"data-slot":`dropdown-menu-radio-item`,className:z(`focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 ps-8 pe-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...n,children:[(0,g.jsx)(`span`,{className:`pointer-events-none absolute start-2 flex size-3.5 items-center justify-center`,children:(0,g.jsx)(E.ItemIndicator,{children:(0,g.jsx)(h.CircleIcon,{className:`size-2 fill-current`})})}),t]})}function Pt({className:e,inset:t,...n}){return(0,g.jsx)(E.Label,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:z(`px-2 py-1.5 text-sm font-medium data-[inset]:ps-8`,e),...n})}function Ft({className:e,...t}){return(0,g.jsx)(E.Separator,{"data-slot":`dropdown-menu-separator`,className:z(`bg-border -mx-1 my-1 h-px`,e),...t})}function It({className:e,...t}){return(0,g.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:z(`text-muted-foreground ms-auto text-xs tracking-widest`,e),...t})}function Lt({...e}){return(0,g.jsx)(E.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function Rt({className:e,inset:t,children:n,...r}){return(0,g.jsxs)(E.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":t,className:z(`focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:ps-8`,e),...r,children:[n,(0,g.jsx)(h.ChevronRightIcon,{className:`ms-auto size-4`})]})}function zt({className:e,...t}){return(0,g.jsx)(E.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:z(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg`,e),...t})}function Bt({className:e,...t}){return(0,g.jsx)(O.Root,{"data-slot":`label`,className:z(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}var Vt=D.FormProvider,Ht=p.createContext({}),Ut=({...e})=>(0,g.jsx)(Ht.Provider,{value:{name:e.name},children:(0,g.jsx)(D.Controller,{...e})}),Q=()=>{let e=p.useContext(Ht),t=p.useContext(Wt),{getFieldState:n}=(0,D.useFormContext)(),r=(0,D.useFormState)({name:e.name}),i=n(e.name,r);if(!e)throw Error(`useFormField should be used within <FormField>`);let{id:a}=t;return{id:a,name:e.name,formItemId:`${a}-form-item`,formDescriptionId:`${a}-form-item-description`,formMessageId:`${a}-form-item-message`,...i}},Wt=p.createContext({});function Gt({className:e,...t}){let n=p.useId();return(0,g.jsx)(Wt.Provider,{value:{id:n},children:(0,g.jsx)(`div`,{"data-slot":`form-item`,className:z(`grid gap-2`,e),...t})})}function Kt({className:e,...t}){let{error:n,formItemId:r}=Q();return(0,g.jsx)(Bt,{"data-slot":`form-label`,"data-error":!!n,className:z(`data-[error=true]:text-destructive`,e),htmlFor:r,...t})}function qt({...e}){let{error:t,formItemId:n,formDescriptionId:r,formMessageId:i}=Q();return(0,g.jsx)(y.Slot,{"data-slot":`form-control`,id:n,"aria-describedby":t?`${r} ${i}`:`${r}`,"aria-invalid":!!t,...e})}function Jt({className:e,...t}){let{formDescriptionId:n}=Q();return(0,g.jsx)(`p`,{"data-slot":`form-description`,id:n,className:z(`text-muted-foreground text-sm`,e),...t})}function Yt({className:e,...t}){let{error:n,formMessageId:r}=Q(),i=n?String(n?.message??``):t.children;return i?(0,g.jsx)(`p`,{"data-slot":`form-message`,id:r,className:z(`text-destructive text-sm`,e),...t,children:i}):null}function Xt({value:e,onChange:t,label:n=`Imagen`,disabled:r,multiple:i=!1,className:a}){let o=(0,p.useRef)(null),[s,c]=(0,p.useState)(!1),[l,u]=(0,p.useState)([]);(0,p.useEffect)(()=>{u(Array.isArray(e)?e:e?[e]:[])},[e]);let f=async e=>{let t=e.target.files;if(!t||t.length===0)return;let n=[];for(let e=0;e<t.length;e++){let r=t[e];if(!r.type.startsWith(`image/`)){d.toast.error(`Archivo ${r.name} no es una imagen válida`);continue}if(r.size>5*1024*1024){d.toast.error(`Imagen ${r.name} supera los 5MB`);continue}n.push(r)}n.length>0&&await m(n)},m=async e=>{c(!0);try{let n=e.map(async e=>{let t=new FormData;t.append(`file`,e);try{return(await G.post(`/upload`,t,{headers:{"Content-Type":`multipart/form-data`}})).data.url}catch(e){return console.error(`Single file upload failed`,e),null}}),r=(await Promise.all(n)).filter(e=>e!==null);r.length>0&&(t(i?[...l,...r]:r[0]),d.toast.success(`${r.length} imagen(es) cargada(s)`))}catch(e){console.error(`Upload Error:`,e),d.toast.error(`Error al subir imágenes`)}finally{c(!1),o.current&&(o.current.value=``)}},_=e=>{t(i?l.filter(t=>t!==e):``)};return(0,g.jsxs)(`div`,{className:z(`space-y-4`,a),children:[(0,g.jsx)(Bt,{children:n}),l.length>0&&(0,g.jsx)(`div`,{className:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-4 mb-4`,children:l.map((e,t)=>(0,g.jsxs)(`div`,{className:`relative group rounded-lg overflow-hidden border bg-background aspect-square flex items-center justify-center bg-gray-50 dark:bg-gray-800/50`,children:[(0,g.jsx)(`img`,{src:e,alt:`Image ${t+1}`,className:`h-full w-full object-contain p-1`}),!r&&(0,g.jsx)(`div`,{className:`absolute top-1 right-1 opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,g.jsx)(q,{type:`button`,variant:`destructive`,size:`icon`,className:`h-6 w-6 rounded-full`,onClick:()=>_(e),children:(0,g.jsx)(h.X,{className:`h-3 w-3`})})})]},t))}),!r&&(i||l.length===0)&&(0,g.jsxs)(`div`,{className:`
|
|
2
2
|
border-2 border-dashed border-muted-foreground/25 rounded-lg
|
|
3
3
|
flex flex-col items-center justify-center p-6 gap-2
|
|
4
4
|
transition-all hover:bg-accent/50 cursor-pointer hover:border-primary/50
|