@asteby/metacore-starter-core 11.0.0 → 12.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/components/ui/form.d.ts +2 -2
- package/dist/components/ui/form.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +9 -9
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { type ControllerProps, type FieldPath, type FieldValues } from 'react-hook-form';
|
|
2
|
+
import { FormProvider, type ControllerProps, type FieldPath, type FieldValues } from 'react-hook-form';
|
|
3
3
|
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
4
4
|
import { Slot } from '@radix-ui/react-slot';
|
|
5
|
-
declare const Form:
|
|
5
|
+
declare const Form: typeof FormProvider;
|
|
6
6
|
declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ ...props }: ControllerProps<TFieldValues, TName>) => import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
declare const useFormField: () => {
|
|
8
8
|
invalid: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../src/components/ui/form.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../src/components/ui/form.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAEL,YAAY,EAGZ,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAI3C,QAAA,MAAM,IAAI,EAAE,OAAO,YAA2B,CAAA;AAa9C,QAAA,MAAM,SAAS,GACb,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,EAC/D,cAEC,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,4CAMtC,CAAA;AAED,QAAA,MAAM,YAAY;;;;;;;;;;;CAqBjB,CAAA;AAUD,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAYrE;AAED,iBAAS,SAAS,CAAC,EACjB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,2CAYlD;AAED,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,2CAgBnE;AAED,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,2CAW1E;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,kDAkBtE;AAED,OAAO,EACL,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,WAAW,EACX,eAAe,EACf,WAAW,EACX,SAAS,GACV,CAAA"}
|
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);let ne=require(`@asteby/metacore-runtime-react`);function z(...e){return(0,l.twMerge)((0,c.clsx)(e))}function re(){return(globalThis.__METACORE_BACKEND_URL__||`http://localhost:8080`).replace(/\/api\/?$/,``).replace(/\/+$/,``)}function ie(e,t){if(!e)return``;if(e.startsWith(`http://`)||e.startsWith(`https://`))return e;let n=re();return e.startsWith(`/storage/`)?`${n}${e}`:`${n}/storage/${t}/${e}`}function ae(e){return e?e.startsWith(`http://`)||e.startsWith(`https://`)?e:`${re()}${e.startsWith(`/`)?e:`/${e}`}`:``}function oe(e=1e3){return new Promise(t=>setTimeout(t,e))}function se(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:``}}))}}}),ce={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 le(e){return ce[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 ue(){let e=H(e=>e.auth.user?.currency_code)||`USD`;return t=>U(t,e)}function de(e){return U(e,H.getState().auth.user?.currency_code||`USD`)}function fe(){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 pe=`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 me(e){return String.fromCodePoint(...e.toUpperCase().split(``).map(e=>127462+e.charCodeAt(0)-65))}function he(e){let t=e||navigator.language||`es`,n=new Intl.DisplayNames([t],{type:`region`});return pe.map(e=>({code:e,name:n.of(e)||e,flag:me(e)})).sort((e,n)=>e.name.localeCompare(n.name,t))}var ge={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?ge[e.toLowerCase()]||e.replace(`#`,``):``,_e=e=>{let t=W(e);return t?`#${t}`:``},ve=(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}},ye=3600*24*7;function be(e){if(typeof document>`u`)return;let t=`; ${document.cookie}`.split(`; ${e}=`);if(t.length===2)return t.pop()?.split(`;`).shift()}function xe(e,t,n=ye){typeof document>`u`||(document.cookie=`${e}=${t}; path=/; max-age=${n}`)}function Se(e){typeof document>`u`||(document.cookie=`${e}=; path=/; max-age=0`)}function Ce(){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 we=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}},Te={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`]=Te.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 Ee=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 De(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 Oe=m.Root,ke=p.forwardRef(({className:e,...t},n)=>(0,g.jsx)(m.Item,{ref:n,className:z(`border-b`,e),...t}));ke.displayName=`AccordionItem`;var Ae=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`})]})}));Ae.displayName=m.Trigger.displayName;var je=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})}));je.displayName=m.Content.displayName;var Me=(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 Ne({className:e,variant:t,...n}){return(0,g.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:z(Me({variant:t}),e),...n})}function Pe({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 Fe({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 Ie({...e}){return(0,g.jsx)(v.Root,{"data-slot":`alert-dialog`,...e})}function Le({...e}){return(0,g.jsx)(v.Trigger,{"data-slot":`alert-dialog-trigger`,...e})}function Re({...e}){return(0,g.jsx)(v.Portal,{"data-slot":`alert-dialog-portal`,...e})}function ze({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 Be({className:e,...t}){return(0,g.jsxs)(Re,{children:[(0,g.jsx)(ze,{}),(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 Ve({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 He({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 Ue({className:e,...t}){return(0,g.jsx)(v.Title,{"data-slot":`alert-dialog-title`,className:z(`text-lg font-semibold`,e),...t})}function We({className:e,...t}){return(0,g.jsx)(v.Description,{"data-slot":`alert-dialog-description`,className:z(`text-muted-foreground text-sm`,e),...t})}function Ge({className:e,...t}){return(0,g.jsx)(v.Action,{className:z(K(),e),...t})}function Ke({className:e,...t}){return(0,g.jsx)(v.Cancel,{className:z(K({variant:`outline`}),e),...t})}function qe({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 Je({className:e,...t}){return(0,g.jsx)(b.Image,{"data-slot":`avatar-image`,className:z(`aspect-square size-full object-cover`,e),...t})}function Ye({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 Xe=(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 Ze({className:e,variant:t,asChild:n=!1,...r}){return(0,g.jsx)(n?y.Slot:`span`,{"data-slot":`badge`,className:z(Xe({variant:t}),e),...r})}function Qe({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:$e,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 $e({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 et({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 tt({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 nt({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-title`,className:z(`leading-none font-semibold`,e),...t})}function rt({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-description`,className:z(`text-muted-foreground text-sm`,e),...t})}function it({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 at({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-content`,className:z(`px-6`,e),...t})}function ot({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 st({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 ct({...e}){return(0,g.jsx)(C.Root,{"data-slot":`collapsible`,...e})}function lt({...e}){return(0,g.jsx)(C.CollapsibleTrigger,{"data-slot":`collapsible-trigger`,...e})}function ut({...e}){return(0,g.jsx)(C.CollapsibleContent,{"data-slot":`collapsible-content`,...e})}function dt({...e}){return(0,g.jsx)(T.Root,{"data-slot":`dialog`,...e})}function ft({...e}){return(0,g.jsx)(T.Trigger,{"data-slot":`dialog-trigger`,...e})}function pt({...e}){return(0,g.jsx)(T.Portal,{"data-slot":`dialog-portal`,...e})}function mt({...e}){return(0,g.jsx)(T.Close,{"data-slot":`dialog-close`,...e})}function ht({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 gt({className:e,children:t,showCloseButton:n=!0,...r}){return(0,g.jsxs)(pt,{"data-slot":`dialog-portal`,children:[(0,g.jsx)(ht,{}),(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 _t({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 vt({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 yt({className:e,...t}){return(0,g.jsx)(T.Title,{"data-slot":`dialog-title`,className:z(`text-lg leading-none font-semibold`,e),...t})}function bt({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 xt({title:e=`Command Palette`,description:t=`Search for a command to run...`,children:n,className:r,showCloseButton:i=!0,...a}){return(0,g.jsxs)(dt,{...a,children:[(0,g.jsxs)(_t,{className:`sr-only`,children:[(0,g.jsx)(yt,{children:e}),(0,g.jsx)(bt,{children:t})]}),(0,g.jsx)(gt,{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 St({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 Ct({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 wt({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 Tt({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 Et({...e}){return(0,g.jsx)(E.Root,{"data-slot":`dropdown-menu`,...e})}function Dt({...e}){return(0,g.jsx)(E.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function Ot({...e}){return(0,g.jsx)(E.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function kt({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 At({...e}){return(0,g.jsx)(E.Group,{"data-slot":`dropdown-menu-group`,...e})}function jt({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 Mt({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 Nt({...e}){return(0,g.jsx)(E.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function Pt({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 Ft({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 It({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 Lt({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 Rt({...e}){return(0,g.jsx)(E.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function zt({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 Bt({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 Vt({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 Ht=D.FormProvider,Ut=p.createContext({}),Wt=({...e})=>(0,g.jsx)(Ut.Provider,{value:{name:e.name},children:(0,g.jsx)(D.Controller,{...e})}),Q=()=>{let e=p.useContext(Ut),t=p.useContext(Gt),{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}},Gt=p.createContext({});function Kt({className:e,...t}){let n=p.useId();return(0,g.jsx)(Gt.Provider,{value:{id:n},children:(0,g.jsx)(`div`,{"data-slot":`form-item`,className:z(`grid gap-2`,e),...t})})}function qt({className:e,...t}){let{error:n,formItemId:r}=Q();return(0,g.jsx)(Vt,{"data-slot":`form-label`,"data-error":!!n,className:z(`data-[error=true]:text-destructive`,e),htmlFor:r,...t})}function Jt({...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 Yt({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 Xt({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 Zt({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)(Vt,{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);let ne=require("@asteby/metacore-runtime-react");function z(...e){return(0,l.twMerge)((0,c.clsx)(e))}function re(){return(globalThis.__METACORE_BACKEND_URL__||`http://localhost:8080`).replace(/\/api\/?$/,``).replace(/\/+$/,``)}function ie(e,t){if(!e)return``;if(e.startsWith(`http://`)||e.startsWith(`https://`))return e;let n=re();return e.startsWith(`/storage/`)?`${n}${e}`:`${n}/storage/${t}/${e}`}function ae(e){return e?e.startsWith(`http://`)||e.startsWith(`https://`)?e:`${re()}${e.startsWith(`/`)?e:`/${e}`}`:``}function oe(e=1e3){return new Promise(t=>setTimeout(t,e))}function se(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:``}}))}}}),ce={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 le(e){return ce[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 ue(){let e=H(e=>e.auth.user?.currency_code)||`USD`;return t=>U(t,e)}function de(e){return U(e,H.getState().auth.user?.currency_code||`USD`)}function fe(){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 pe=`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 me(e){return String.fromCodePoint(...e.toUpperCase().split(``).map(e=>127462+e.charCodeAt(0)-65))}function he(e){let t=e||navigator.language||`es`,n=new Intl.DisplayNames([t],{type:`region`});return pe.map(e=>({code:e,name:n.of(e)||e,flag:me(e)})).sort((e,n)=>e.name.localeCompare(n.name,t))}var ge={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?ge[e.toLowerCase()]||e.replace(`#`,``):``,_e=e=>{let t=W(e);return t?`#${t}`:``},ve=(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}},ye=3600*24*7;function be(e){if(typeof document>`u`)return;let t=`; ${document.cookie}`.split(`; ${e}=`);if(t.length===2)return t.pop()?.split(`;`).shift()}function xe(e,t,n=ye){typeof document>`u`||(document.cookie=`${e}=${t}; path=/; max-age=${n}`)}function Se(e){typeof document>`u`||(document.cookie=`${e}=; path=/; max-age=0`)}function Ce(){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 we=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}},Te={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`]=Te.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 Ee=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 De(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 Oe=m.Root,ke=p.forwardRef(({className:e,...t},n)=>(0,g.jsx)(m.Item,{ref:n,className:z(`border-b`,e),...t}));ke.displayName=`AccordionItem`;var Ae=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`})]})}));Ae.displayName=m.Trigger.displayName;var je=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})}));je.displayName=m.Content.displayName;var Me=(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 Ne({className:e,variant:t,...n}){return(0,g.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:z(Me({variant:t}),e),...n})}function Pe({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 Fe({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 Ie({...e}){return(0,g.jsx)(v.Root,{"data-slot":`alert-dialog`,...e})}function Le({...e}){return(0,g.jsx)(v.Trigger,{"data-slot":`alert-dialog-trigger`,...e})}function Re({...e}){return(0,g.jsx)(v.Portal,{"data-slot":`alert-dialog-portal`,...e})}function ze({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 Be({className:e,...t}){return(0,g.jsxs)(Re,{children:[(0,g.jsx)(ze,{}),(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 Ve({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 He({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 Ue({className:e,...t}){return(0,g.jsx)(v.Title,{"data-slot":`alert-dialog-title`,className:z(`text-lg font-semibold`,e),...t})}function We({className:e,...t}){return(0,g.jsx)(v.Description,{"data-slot":`alert-dialog-description`,className:z(`text-muted-foreground text-sm`,e),...t})}function Ge({className:e,...t}){return(0,g.jsx)(v.Action,{className:z(K(),e),...t})}function Ke({className:e,...t}){return(0,g.jsx)(v.Cancel,{className:z(K({variant:`outline`}),e),...t})}function qe({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 Je({className:e,...t}){return(0,g.jsx)(b.Image,{"data-slot":`avatar-image`,className:z(`aspect-square size-full object-cover`,e),...t})}function Ye({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 Xe=(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 Ze({className:e,variant:t,asChild:n=!1,...r}){return(0,g.jsx)(n?y.Slot:`span`,{"data-slot":`badge`,className:z(Xe({variant:t}),e),...r})}function Qe({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),month_grid:`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:$e,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 $e({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 et({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 tt({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 nt({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-title`,className:z(`leading-none font-semibold`,e),...t})}function rt({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-description`,className:z(`text-muted-foreground text-sm`,e),...t})}function it({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 at({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-content`,className:z(`px-6`,e),...t})}function ot({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 st({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 ct({...e}){return(0,g.jsx)(C.Root,{"data-slot":`collapsible`,...e})}function lt({...e}){return(0,g.jsx)(C.CollapsibleTrigger,{"data-slot":`collapsible-trigger`,...e})}function ut({...e}){return(0,g.jsx)(C.CollapsibleContent,{"data-slot":`collapsible-content`,...e})}function dt({...e}){return(0,g.jsx)(T.Root,{"data-slot":`dialog`,...e})}function ft({...e}){return(0,g.jsx)(T.Trigger,{"data-slot":`dialog-trigger`,...e})}function pt({...e}){return(0,g.jsx)(T.Portal,{"data-slot":`dialog-portal`,...e})}function mt({...e}){return(0,g.jsx)(T.Close,{"data-slot":`dialog-close`,...e})}function ht({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 gt({className:e,children:t,showCloseButton:n=!0,...r}){return(0,g.jsxs)(pt,{"data-slot":`dialog-portal`,children:[(0,g.jsx)(ht,{}),(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 _t({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 vt({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 yt({className:e,...t}){return(0,g.jsx)(T.Title,{"data-slot":`dialog-title`,className:z(`text-lg leading-none font-semibold`,e),...t})}function bt({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 xt({title:e=`Command Palette`,description:t=`Search for a command to run...`,children:n,className:r,showCloseButton:i=!0,...a}){return(0,g.jsxs)(dt,{...a,children:[(0,g.jsxs)(_t,{className:`sr-only`,children:[(0,g.jsx)(yt,{children:e}),(0,g.jsx)(bt,{children:t})]}),(0,g.jsx)(gt,{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 St({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 Ct({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 wt({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 Tt({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 Et({...e}){return(0,g.jsx)(E.Root,{"data-slot":`dropdown-menu`,...e})}function Dt({...e}){return(0,g.jsx)(E.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function Ot({...e}){return(0,g.jsx)(E.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function kt({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 At({...e}){return(0,g.jsx)(E.Group,{"data-slot":`dropdown-menu-group`,...e})}function jt({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 Mt({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 Nt({...e}){return(0,g.jsx)(E.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function Pt({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 Ft({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 It({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 Lt({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 Rt({...e}){return(0,g.jsx)(E.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function zt({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 Bt({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 Vt({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 Ht=D.FormProvider,Ut=p.createContext({}),Wt=({...e})=>(0,g.jsx)(Ut.Provider,{value:{name:e.name},children:(0,g.jsx)(D.Controller,{...e})}),Q=()=>{let e=p.useContext(Ut),t=p.useContext(Gt),{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}},Gt=p.createContext({});function Kt({className:e,...t}){let n=p.useId();return(0,g.jsx)(Gt.Provider,{value:{id:n},children:(0,g.jsx)(`div`,{"data-slot":`form-item`,className:z(`grid gap-2`,e),...t})})}function qt({className:e,...t}){let{error:n,formItemId:r}=Q();return(0,g.jsx)(Vt,{"data-slot":`form-label`,"data-error":!!n,className:z(`data-[error=true]:text-destructive`,e),htmlFor:r,...t})}function Jt({...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 Yt({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 Xt({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 Zt({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)(Vt,{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
|