{"version":3,"sources":["../../registry/default/ui/avatar.tsx","../../../../node_modules/.pnpm/@babel+runtime@7.22.3/node_modules/@babel/runtime/helpers/esm/extends.js","../../../../node_modules/.pnpm/@radix-ui+react-context@1.0.1_@types+react@18.2.65_react@18.2.0/node_modules/@radix-ui/react-context/dist/packages/react/context/src/createContext.tsx","../../../../node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.0.1_@types+react@18.2.65_react@18.2.0/node_modules/@radix-ui/react-use-callback-ref/dist/packages/react/use-callback-ref/src/useCallbackRef.tsx","../../../../node_modules/.pnpm/@radix-ui+react-use-layout-effect@1.0.1_@types+react@18.2.65_react@18.2.0/node_modules/@radix-ui/react-use-layout-effect/dist/packages/react/use-layout-effect/src/useLayoutEffect.tsx","../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/extends.js","../../../../node_modules/.pnpm/@radix-ui+react-compose-refs@1.0.1_@types+react@18.2.65_react@18.2.0/node_modules/@radix-ui/react-compose-refs/dist/packages/react/compose-refs/src/composeRefs.tsx","../../../../node_modules/.pnpm/@radix-ui+react-slot@1.0.2_@types+react@18.2.65_react@18.2.0/node_modules/@radix-ui/react-slot/dist/packages/react/slot/src/Slot.tsx","../../../../node_modules/.pnpm/@radix-ui+react-primitive@1.0.3_@types+react-dom@18.2.22_@types+react@18.2.65_react-dom@18.2._c26rkpxnhr3o57o2cowwo23hui/node_modules/@radix-ui/react-primitive/dist/packages/react/primitive/src/Primitive.tsx","../../../../node_modules/.pnpm/@radix-ui+react-avatar@1.0.3_@types+react-dom@18.2.22_@types+react@18.2.65_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-avatar/dist/packages/react/avatar/src/Avatar.tsx","../../lib/utils.ts"],"names":["avatar_exports","__export","Avatar","AvatarFallback","AvatarImage","__toCommonJS","React","_extends","target","i","source","key","createContextScope","scopeName","createContextScopeDeps","defaultContexts","createContext","rootComponentName","defaultContext","BaseContext","index","length","Provider","props","scope","children","context","Context","value","Object","values","$3bkAK$createElement","useContext","consumerName","undefined","Error","displayName","createScope","scopeContexts","map","contexts","composeContextScopes","scopes","baseScope","scopeHooks","useScope","overrideScopes","nextScopes","reduce","currentScope","useCallbackRef","callback","callbackRef","current","args","_callbackRef$current","useLayoutEffect","globalThis","document","setRef","ref","composeRefs","refs","node","forEach","Slot","forwardedRef","slotProps","childrenArray","toArray","slottable","find","isSlottable","newElement","newChildren","child","count","only","$9IrjX$createElement","$5e63c961fc1ce211$var$SlotClone","SlotClone","mergeProps","Slottable","$9IrjX$Fragment","type","childProps","overrideProps","propName","slotPropValue","childPropValue","test","filter","Boolean","join","NODES","Primitive","primitive","Node","asChild","primitiveProps","Comp","window","Symbol","for","$4q5Fq$createElement","AVATAR_NAME","createAvatarContext","createAvatarScope","AvatarProvider","useAvatarContext","__scopeAvatar","avatarProps","imageLoadingStatus","setImageLoadingStatus","$8NyvN$createElement","$cddcb0b647441e34$var$AvatarProvider","$8927f6f2acc4f386$export$250ffa63cdc0d034","IMAGE_NAME","src","onLoadingStatusChange","imageProps","useImageLoadingStatus","handleLoadingStatusChange","status","onImageLoadingStatusChange","FALLBACK_NAME","delayMs","fallbackProps","canRender","setCanRender","timerId","setTimeout","clearTimeout","loadingStatus","setLoadingStatus","isMounted","image","Image","updateStatus","onload","onerror","Root","Fallback","import_clsx","import_tailwind_merge","cn","inputs","import_jsx_runtime","className","$cddcb0b647441e34$export$be92b6f5f03c0fe9","$cddcb0b647441e34$export$3e431a229df88919","$cddcb0b647441e34$export$fb8d7f40caaeea67"],"mappings":";;;;;;;2jBAAA,IAAAA,GAAA,GAAAC,EAAAD,GAAA,YAAAE,EAAA,mBAAAC,EAAA,gBAAAC,IAAA,eAAAC,GAAAL,IAEA,IAAAM,EAAuB,sBCFR,SAARC,GAA4B,CACjC,OAAAA,EAAW,OAAO,OAAS,OAAO,OAAO,KAAK,EAAI,SAAUC,EAAQ,CAClE,QAASC,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACzC,IAAIC,EAAS,UAAUD,CAAC,EACxB,QAASE,KAAOD,EACV,OAAO,UAAU,eAAe,KAAKA,EAAQC,CAAG,IAClDH,EAAOG,CAAG,EAAID,EAAOC,CAAG,EAG9B,CACA,OAAOH,CACT,EACOD,EAAS,MAAM,KAAM,SAAS,CACvC,+CC0BA,SAASK,EAAmBC,EAAmBC,EAAwC,CAAA,EAAI,CACzF,IAAIC,EAAyB,CAAA,EAM7B,SAASC,EACPC,EACAC,EACA,CACA,IAAMC,KAAcb,EAAAA,eAAkDY,CAAlD,EACdE,EAAQL,EAAgBM,OAC9BN,EAAkB,IAAIA,EAAiBG,GAEvC,SAASI,EACPC,EACA,CACA,GAAM,CAzDZ,MAyDcC,EAzDd,SAyDqBC,EAAU,GAAGC,CAAH,EAAeH,EAClCI,EAAUH,IAAQX,CAAH,EAAcO,CAAnB,GAA6BD,EAGvCS,KAAQtB,EAAAA,SAAc,IAAMoB,EAASG,OAAOC,OAAOJ,CAAd,CAA7B,EACd,SAAO,EAAAK,eAACJ,EAAQ,SAAhB,CAAyB,MAAOC,GAAQH,CAAjC,EAGT,SAASO,EAAWC,EAAsBT,EAA4C,CACpF,IAAMG,EAAUH,IAAQX,CAAH,EAAcO,CAAnB,GAA6BD,EACvCO,KAAUpB,EAAAA,YAAiBqB,CAAjB,EAChB,GAAID,EAAS,OAAOA,EACpB,GAAIR,IAAmBgB,OAAW,OAAOhB,EAEzC,MAAM,IAAIiB,MAAO,KAAIF,CAAa,4BAA2BhB,CAAkB,IAAzE,EAGRK,OAAAA,EAASc,YAAcnB,EAAoB,WACpC,CAACK,EAAUU,GAOpB,IAAMK,EAA2B,IAAM,CACrC,IAAMC,EAAgBvB,EAAgBwB,IAAKrB,MAClCZ,EAAAA,eAAoBY,CAApB,CADa,EAGtB,OAAO,SAAkBM,EAAc,CACrC,IAAMgB,EAAWhB,IAAQX,CAAH,GAAiByB,EACvC,SAAOhC,EAAAA,SACL,KAAO,CAAE,CAAE,UAASO,CAAU,EAArB,EAAyB,CAAE,GAAGW,EAAO,CAACX,CAAD,EAAa2B,KAC3D,CAAChB,EAAOgB,EAFH,IAOXH,OAAAA,EAAYxB,UAAYA,EACjB,CAACG,EAAeyB,GAAqBJ,EAAD,GAAiBvB,CAAjB,GAO7C,SAAS2B,MAAwBC,EAAuB,CACtD,IAAMC,EAAYD,EAAO,CAAD,EACxB,GAAIA,EAAOrB,SAAW,EAAG,OAAOsB,EAEhC,IAAMN,EAA2B,IAAM,CACrC,IAAMO,EAAaF,EAAOH,IAAKF,IAAiB,CAC9CQ,SAAUR,EAAW,EACrBxB,UAAWwB,EAAYxB,WAFN,EAKnB,OAAO,SAA2BiC,EAAgB,CAChD,IAAMC,EAAaH,EAAWI,OAAO,CAACD,EAAY,CAlHxD,SAkH0DF,EAlH1D,UAkHoEhC,CAAAA,IAAgB,CAK5E,IAAMoC,EADaJ,EAASC,CAAD,EACM,UAASjC,CAAU,EAArB,EAC/B,MAAO,CAAE,GAAGkC,EAAY,GAAGE,IAC1B,CAAA,CAPgB,EASnB,SAAO3C,EAAAA,SAAc,KAAO,CAAE,CAAE,UAASqC,EAAU9B,SAAU,EAA/B,EAAmCkC,IAAe,CAACA,EAA1E,IAIXV,OAAAA,EAAYxB,UAAY8B,EAAU9B,UAC3BwB,yBC1HT,SAASa,EAAkDC,EAA4B,CACrF,IAAMC,KAAc9C,EAAAA,QAAa6C,CAAb,EAEpB7C,WAAAA,WAAgB,IAAM,CACpB8C,EAAYC,QAAUF,EADxB,KAKO7C,EAAAA,SAAc,IAAO,IAAIgD,IAAhC,CAA4B,IAAAC,EAAA,OAAAA,EAAaH,EAAYC,WAAzB,MAAAE,IAAA,OAAA,OAAaA,EAAA,KAAAH,EAAW,GAAcE,CAAd,GAA2B,CAAA,CAAxE,yBCLHE,EAA0BC,YAAYC,SAAYpD,EAAAA,gBAAwB,IAAM,CAAA,ECTvE,SAARC,GAA4B,CACjC,OAAAA,EAAW,OAAO,OAAS,OAAO,OAAO,KAAK,EAAI,SAAUC,EAAQ,CAClE,QAASC,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACzC,IAAIC,EAAS,UAAUD,CAAC,EACxB,QAASE,KAAOD,EACV,OAAO,UAAU,eAAe,KAAKA,EAAQC,CAAG,IAClDH,EAAOG,CAAG,EAAID,EAAOC,CAAG,EAG9B,CACA,OAAOH,CACT,EACOD,EAAS,MAAM,KAAM,SAAS,CACvC,+FCLA,SAASoD,GAAUC,EAAqBhC,EAAU,CAC5C,OAAOgC,GAAQ,WACjBA,EAAIhC,CAAD,EACMgC,GAAQ,OAChBA,EAAkCP,QAAUzB,GAQjD,SAASiC,KAAkBC,EAAwB,CACjD,OAAQC,GAAYD,EAAKE,QAASJ,GAAQD,GAAOC,EAAKG,CAAN,CAA5B,ECVtB,IAAME,KAAO3D,EAAAA,YAAyC,CAACiB,EAAO2C,IAAiB,CAC7E,GAAM,CAAA,SAAEzC,EAAU,GAAG0C,CAAH,EAAiB5C,EAC7B6C,EAAgB9D,EAAAA,SAAe+D,QAAQ5C,CAAvB,EAChB6C,EAAYF,EAAcG,KAAKC,EAAnB,EAElB,GAAIF,EAAW,CAEb,IAAMG,EAAaH,EAAU/C,MAAME,SAE7BiD,EAAcN,EAAc7B,IAAKoC,GACjCA,IAAUL,EAGRhE,EAAAA,SAAesE,MAAMH,CAArB,EAAmC,EAAUnE,EAAAA,SAAeuE,KAAK,IAApB,KAC1CvE,EAAAA,gBAAqBmE,CAArB,EACFA,EAAWlD,MAAME,SAClB,KAEGkD,CATS,EAapB,SACE,EAAAG,eAACC,EAADxE,EAAA,CAAA,EAAe4D,EADjB,CAC4B,IAAKD,EAA/B,KACG5D,EAAAA,gBAAqBmE,CAArB,KACGnE,EAAAA,cAAmBmE,EAAYvC,OAAWwC,CAA1C,EACA,IAHN,EAQJ,SACE,EAAAI,eAACC,EAADxE,EAAA,CAAA,EAAe4D,EADjB,CAC4B,IAAKD,EAA/B,EACGzC,CADH,EAhCS,EAsCbwC,EAAK7B,YAAc,OAUnB,IAAM4C,KAAY1E,EAAAA,YAAsC,CAACiB,EAAO2C,IAAiB,CAC/E,GAAM,CAAA,SAAEzC,EAAU,GAAG0C,CAAH,EAAiB5C,EAEnC,SAAIjB,EAAAA,gBAAqBmB,CAArB,KACKnB,EAAAA,cAAmBmB,EAAU,CAClC,GAAGwD,GAAWd,EAAW1C,EAASF,KAArB,EACbqC,IAAKM,EAAeL,EAAYK,EAAezC,EAAiBmC,GAAjC,EAAyCnC,EAAiBmC,IAFpF,EAMFtD,EAAAA,SAAesE,MAAMnD,CAArB,EAAiC,EAAInB,EAAAA,SAAeuE,KAAK,IAApB,EAA4B,KAVxD,EAalBG,EAAU5C,YAAc,YAMxB,IAAM8C,GAAY,CAAC,CAAA,SAAEzD,CAAAA,OACZ,EAAAqD,eAAA,EAAAK,SAAA,KAAG1D,CAAH,EAOT,SAAS+C,GAAYG,EAAqD,CACxE,SAAOrE,EAAAA,gBAAqBqE,CAArB,GAA+BA,EAAMS,OAASF,GAGvD,SAASD,GAAWd,EAAqBkB,EAAsB,CAE7D,IAAMC,EAAgB,CAAE,GAAGD,GAE3B,QAAWE,KAAYF,EAAY,CACjC,IAAMG,EAAgBrB,EAAUoB,CAAD,EACzBE,EAAiBJ,EAAWE,CAAD,EAEf,WAAWG,KAAKH,CAAhB,EAGZC,GAAiBC,EACnBH,EAAcC,CAAD,EAAa,IAAIjC,IAAoB,CAChDmC,EAAc,GAAInC,CAAJ,EACdkC,EAAa,GAAIlC,CAAJ,GAIRkC,IACPF,EAAcC,CAAD,EAAaC,GAIrBD,IAAa,QACpBD,EAAcC,CAAD,EAAa,CAAE,GAAGC,EAAe,GAAGC,GACxCF,IAAa,cACtBD,EAAcC,CAAD,EAAa,CAACC,EAAeC,GAAgBE,OAAOC,OAAvC,EAAgDC,KAAK,GAArD,GAI9B,MAAO,CAAE,GAAG1B,EAAW,GAAGmB,GCpH5B,IAAMQ,GAAQ,CACZ,IACA,SACA,MACA,OACA,KACA,KACA,MACA,QACA,QACA,KACA,MACA,KACA,IACA,OACA,MACA,MAuBIC,EAAYD,GAAM9C,OAAO,CAACgD,EAAWjC,IAAS,CAClD,IAAMkC,KAAO3F,EAAAA,YAAiB,CAACiB,EAA2C2C,IAAsB,CAC9F,GAAM,CAAA,QAAEgC,EAAS,GAAGC,CAAH,EAAsB5E,EACjC6E,EAAYF,EAAUjC,EAAOF,EAEnCzD,WAAAA,WAAgB,IAAM,CACnB+F,OAAeC,OAAOC,IAAI,UAAX,CAAhB,EAA0C,IACzC,CAAA,CAFH,KAIO,EAAAC,eAACJ,EAAD7F,EAAA,CAAA,EAAU4F,EAAjB,CAAiC,IAAKjC,EAA/B,CAAA,EARI,EAWb+B,OAAAA,EAAK7D,YAAe,aAAY2B,CAAK,GAE9B,CAAE,GAAGiC,EAAW,CAACjC,CAAD,EAAQkC,IAC9B,CAAA,CAfe,EC9BlB,IAAMQ,EAAc,SAGd,CAACC,GAAqBC,EAAtB,EAA2C/F,EAAmB6F,CAAD,EAS7D,CAACG,GAAgBC,CAAjB,EAAqCH,GAAwCD,CAArB,EAMxDvG,MAASI,EAAAA,YACb,CAACiB,EAAiC2C,IAAiB,CACjD,GAAM,CAAA,cAAE4C,EAAe,GAAGC,CAAH,EAAmBxF,EACpC,CAACyF,EAAoBC,CAArB,KAA8C3G,EAAAA,UAAmC,MAAnC,EACpD,SACE,EAAA4G,eAACC,GADH,CAEI,MAAOL,EACP,mBAAoBE,EACpB,2BAA4BC,MAE5B,EAAAC,eAACE,EAAU,KAAX7G,EAAA,CAAA,EAAoBwG,EALtB,CAKmC,IAAK7C,EAAtC,CAAA,CALF,EALS,EAsBTmD,GAAa,cAQbjH,MAAcE,EAAAA,YAClB,CAACiB,EAAsC2C,IAAiB,CACtD,GAAM,CAAA,cAAE4C,EAAF,IAAiBQ,EAAjB,sBAAsBC,EAAwB,IAAM,CAAA,EAAI,GAAGC,CAAH,EAAkBjG,EAC1EG,EAAUmF,EAAiBQ,GAAYP,CAAb,EAC1BE,EAAqBS,GAAsBH,CAAD,EAC1CI,EAA4BxE,EAAgByE,GAA+B,CAC/EJ,EAAsBI,CAAD,EACrBjG,EAAQkG,2BAA2BD,CAAnC,EAF8C,EAKhDnE,OAAAA,EAAgB,IAAM,CAChBwD,IAAuB,QACzBU,EAA0BV,CAAD,GAE1B,CAACA,EAAoBU,EAJT,EAMRV,IAAuB,YAC5B,EAAAE,eAACE,EAAU,IAAX7G,EAAA,CAAA,EAAmBiH,EADrB,CACiC,IAAKtD,EAAc,IAAKoD,EAAvD,CAAA,EACE,KAlBY,EA4BdO,GAAgB,iBAOhB1H,MAAiBG,EAAAA,YACrB,CAACiB,EAAyC2C,IAAiB,CACzD,GAAM,CAAA,cAAE4C,EAAF,QAAiBgB,EAAS,GAAGC,CAAH,EAAqBxG,EAC/CG,EAAUmF,EAAiBgB,GAAef,CAAhB,EAC1B,CAACkB,EAAWC,CAAZ,KAA4B3H,EAAAA,UAAewH,IAAY5F,MAA3B,EAElC5B,WAAAA,WAAgB,IAAM,CACpB,GAAIwH,IAAY5F,OAAW,CACzB,IAAMgG,EAAU7B,OAAO8B,WAAW,IAAMF,EAAa,EAAD,EAAQH,CAA5C,EAChB,MAAO,IAAMzB,OAAO+B,aAAaF,CAApB,IAEd,CAACJ,EALJ,EAOOE,GAAatG,EAAQsF,qBAAuB,YACjD,EAAAE,eAACE,EAAU,KAAX7G,EAAA,CAAA,EAAoBwH,EADtB,CACqC,IAAK7D,EAAxC,CAAA,EACE,KAfe,EAuBvB,SAASuD,GAAsBH,EAAc,CAC3C,GAAM,CAACe,EAAeC,CAAhB,KAAoChI,EAAAA,UAAmC,MAAnC,EAE1CA,WAAAA,WAAgB,IAAM,CACpB,GAAI,CAACgH,EAAK,CACRgB,EAAiB,OAAD,EAChB,OAGF,IAAIC,EAAY,GACVC,EAAQ,IAAInC,OAAOoC,MAEnBC,EAAgBf,GAA+B,IAAM,CACpDY,GACLD,EAAiBX,CAAD,GAGlBW,OAAAA,EAAiB,SAAD,EAChBE,EAAMG,OAASD,EAAa,QAAD,EAC3BF,EAAMI,QAAUF,EAAa,OAAD,EAC5BF,EAAMlB,IAAMA,EAEL,IAAM,CACXiB,EAAY,KAEb,CAACjB,EAtBJ,EAwBOe,EAET,IAAMQ,EAAO3I,GACPuI,EAAQrI,GACR0I,EAAW3I,GCrJjB,IAAA4I,EAAsC,gBACtCC,EAAwB,0BAEjB,SAASC,KAAMC,EAAsB,CAC1C,SAAO,cAAQ,QAAKA,CAAM,CAAC,CAC7B,CVKE,IAAAC,EAAA,6BAJIjJ,EAAe,aAGnB,CAAC,CAAE,UAAAkJ,EAAW,GAAG7H,CAAM,EAAGqC,OAC1B,OAAiByF,EAAhB,CACC,IAAKzF,EACL,UAAWqF,EACT,gEACAG,CACF,EACC,GAAG7H,EACN,CACD,EACDrB,EAAO,YAA8BmJ,EAAK,YAE1C,IAAMjJ,EAAoB,aAGxB,CAAC,CAAE,UAAAgJ,EAAW,GAAG7H,CAAM,EAAGqC,OAC1B,OAAiB0F,EAAhB,CACC,IAAK1F,EACL,UAAWqF,EAAG,8BAA+BG,CAAS,EACrD,GAAG7H,EACN,CACD,EACDnB,EAAY,YAA8BkJ,EAAM,YAEhD,IAAMnJ,EAAuB,aAG3B,CAAC,CAAE,UAAAiJ,EAAW,GAAG7H,CAAM,EAAGqC,OAC1B,OAAiB2F,EAAhB,CACC,IAAK3F,EACL,UAAWqF,EACT,uEACAG,CACF,EACC,GAAG7H,EACN,CACD,EACDpB,EAAe,YAA8BoJ,EAAS","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Avatar = React.forwardRef<\n  React.ElementRef<typeof AvatarPrimitive.Root>,\n  React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n  <AvatarPrimitive.Root\n    ref={ref}\n    className={cn(\n      \"relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full\",\n      className\n    )}\n    {...props}\n  />\n))\nAvatar.displayName = AvatarPrimitive.Root.displayName\n\nconst AvatarImage = React.forwardRef<\n  React.ElementRef<typeof AvatarPrimitive.Image>,\n  React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => (\n  <AvatarPrimitive.Image\n    ref={ref}\n    className={cn(\"aspect-square h-full w-full\", className)}\n    {...props}\n  />\n))\nAvatarImage.displayName = AvatarPrimitive.Image.displayName\n\nconst AvatarFallback = React.forwardRef<\n  React.ElementRef<typeof AvatarPrimitive.Fallback>,\n  React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => (\n  <AvatarPrimitive.Fallback\n    ref={ref}\n    className={cn(\n      \"flex h-full w-full items-center justify-center rounded-full bg-muted\",\n      className\n    )}\n    {...props}\n  />\n))\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName\n\nexport { Avatar, AvatarImage, AvatarFallback }\n","export default function _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}","import * as React from 'react';\n\nfunction createContext<ContextValueType extends object | null>(\n  rootComponentName: string,\n  defaultContext?: ContextValueType\n) {\n  const Context = React.createContext<ContextValueType | undefined>(defaultContext);\n\n  function Provider(props: ContextValueType & { children: React.ReactNode }) {\n    const { children, ...context } = props;\n    // Only re-memoize when prop values change\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    const value = React.useMemo(() => context, Object.values(context)) as ContextValueType;\n    return <Context.Provider value={value}>{children}</Context.Provider>;\n  }\n\n  function useContext(consumerName: string) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== undefined) return defaultContext;\n    // if a defaultContext wasn't specified, it's a required context.\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n\n  Provider.displayName = rootComponentName + 'Provider';\n  return [Provider, useContext] as const;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * createContextScope\n * -----------------------------------------------------------------------------------------------*/\n\ntype Scope<C = any> = { [scopeName: string]: React.Context<C>[] } | undefined;\ntype ScopeHook = (scope: Scope) => { [__scopeProp: string]: Scope };\ninterface CreateScope {\n  scopeName: string;\n  (): ScopeHook;\n}\n\nfunction createContextScope(scopeName: string, createContextScopeDeps: CreateScope[] = []) {\n  let defaultContexts: any[] = [];\n\n  /* -----------------------------------------------------------------------------------------------\n   * createContext\n   * ---------------------------------------------------------------------------------------------*/\n\n  function createContext<ContextValueType extends object | null>(\n    rootComponentName: string,\n    defaultContext?: ContextValueType\n  ) {\n    const BaseContext = React.createContext<ContextValueType | undefined>(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n\n    function Provider(\n      props: ContextValueType & { scope: Scope<ContextValueType>; children: React.ReactNode }\n    ) {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName][index] || BaseContext;\n      // Only re-memoize when prop values change\n      // eslint-disable-next-line react-hooks/exhaustive-deps\n      const value = React.useMemo(() => context, Object.values(context)) as ContextValueType;\n      return <Context.Provider value={value}>{children}</Context.Provider>;\n    }\n\n    function useContext(consumerName: string, scope: Scope<ContextValueType | undefined>) {\n      const Context = scope?.[scopeName][index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== undefined) return defaultContext;\n      // if a defaultContext wasn't specified, it's a required context.\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n\n    Provider.displayName = rootComponentName + 'Provider';\n    return [Provider, useContext] as const;\n  }\n\n  /* -----------------------------------------------------------------------------------------------\n   * createScope\n   * ---------------------------------------------------------------------------------------------*/\n\n  const createScope: CreateScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope: Scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n\n  createScope.scopeName = scopeName;\n  return [createContext, composeContextScopes(createScope, ...createContextScopeDeps)] as const;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * composeContextScopes\n * -----------------------------------------------------------------------------------------------*/\n\nfunction composeContextScopes(...scopes: CreateScope[]) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n\n  const createScope: CreateScope = () => {\n    const scopeHooks = scopes.map((createScope) => ({\n      useScope: createScope(),\n      scopeName: createScope.scopeName,\n    }));\n\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes, { useScope, scopeName }) => {\n        // We are calling a hook inside a callback which React warns against to avoid inconsistent\n        // renders, however, scoping doesn't have render side effects so we ignore the rule.\n        // eslint-disable-next-line react-hooks/rules-of-hooks\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes, ...currentScope };\n      }, {});\n\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nexport { createContext, createContextScope };\nexport type { CreateScope, Scope };\n","import * as React from 'react';\n\n/**\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop or avoid re-executing effects when passed as a dependency\n */\nfunction useCallbackRef<T extends (...args: any[]) => any>(callback: T | undefined): T {\n  const callbackRef = React.useRef(callback);\n\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n\n  // https://github.com/facebook/react/issues/19240\n  return React.useMemo(() => ((...args) => callbackRef.current?.(...args)) as T, []);\n}\n\nexport { useCallbackRef };\n","import * as React from 'react';\n\n/**\n * On the server, React emits a warning when calling `useLayoutEffect`.\n * This is because neither `useLayoutEffect` nor `useEffect` run on the server.\n * We use this safe version which suppresses the warning by replacing it with a noop on the server.\n *\n * See: https://reactjs.org/docs/hooks-reference.html#uselayouteffect\n */\nconst useLayoutEffect = Boolean(globalThis?.document) ? React.useLayoutEffect : () => {};\n\nexport { useLayoutEffect };\n","export default function _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}","import * as React from 'react';\n\ntype PossibleRef<T> = React.Ref<T> | undefined;\n\n/**\n * Set a given ref to a given value\n * This utility takes care of different types of refs: callback refs and RefObject(s)\n */\nfunction setRef<T>(ref: PossibleRef<T>, value: T) {\n  if (typeof ref === 'function') {\n    ref(value);\n  } else if (ref !== null && ref !== undefined) {\n    (ref as React.MutableRefObject<T>).current = value;\n  }\n}\n\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n */\nfunction composeRefs<T>(...refs: PossibleRef<T>[]) {\n  return (node: T) => refs.forEach((ref) => setRef(ref, node));\n}\n\n/**\n * A custom hook that composes multiple refs\n * Accepts callback refs and RefObject(s)\n */\nfunction useComposedRefs<T>(...refs: PossibleRef<T>[]) {\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  return React.useCallback(composeRefs(...refs), refs);\n}\n\nexport { composeRefs, useComposedRefs };\n","import * as React from 'react';\nimport { composeRefs } from '@radix-ui/react-compose-refs';\n\n/* -------------------------------------------------------------------------------------------------\n * Slot\n * -----------------------------------------------------------------------------------------------*/\n\ninterface SlotProps extends React.HTMLAttributes<HTMLElement> {\n  children?: React.ReactNode;\n}\n\nconst Slot = React.forwardRef<HTMLElement, SlotProps>((props, forwardedRef) => {\n  const { children, ...slotProps } = props;\n  const childrenArray = React.Children.toArray(children);\n  const slottable = childrenArray.find(isSlottable);\n\n  if (slottable) {\n    // the new element to render is the one passed as a child of `Slottable`\n    const newElement = slottable.props.children as React.ReactNode;\n\n    const newChildren = childrenArray.map((child) => {\n      if (child === slottable) {\n        // because the new element will be the one rendered, we are only interested\n        // in grabbing its children (`newElement.props.children`)\n        if (React.Children.count(newElement) > 1) return React.Children.only(null);\n        return React.isValidElement(newElement)\n          ? (newElement.props.children as React.ReactNode)\n          : null;\n      } else {\n        return child;\n      }\n    });\n\n    return (\n      <SlotClone {...slotProps} ref={forwardedRef}>\n        {React.isValidElement(newElement)\n          ? React.cloneElement(newElement, undefined, newChildren)\n          : null}\n      </SlotClone>\n    );\n  }\n\n  return (\n    <SlotClone {...slotProps} ref={forwardedRef}>\n      {children}\n    </SlotClone>\n  );\n});\n\nSlot.displayName = 'Slot';\n\n/* -------------------------------------------------------------------------------------------------\n * SlotClone\n * -----------------------------------------------------------------------------------------------*/\n\ninterface SlotCloneProps {\n  children: React.ReactNode;\n}\n\nconst SlotClone = React.forwardRef<any, SlotCloneProps>((props, forwardedRef) => {\n  const { children, ...slotProps } = props;\n\n  if (React.isValidElement(children)) {\n    return React.cloneElement(children, {\n      ...mergeProps(slotProps, children.props),\n      ref: forwardedRef ? composeRefs(forwardedRef, (children as any).ref) : (children as any).ref,\n    });\n  }\n\n  return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n});\n\nSlotClone.displayName = 'SlotClone';\n\n/* -------------------------------------------------------------------------------------------------\n * Slottable\n * -----------------------------------------------------------------------------------------------*/\n\nconst Slottable = ({ children }: { children: React.ReactNode }) => {\n  return <>{children}</>;\n};\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype AnyProps = Record<string, any>;\n\nfunction isSlottable(child: React.ReactNode): child is React.ReactElement {\n  return React.isValidElement(child) && child.type === Slottable;\n}\n\nfunction mergeProps(slotProps: AnyProps, childProps: AnyProps) {\n  // all child props should override\n  const overrideProps = { ...childProps };\n\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      // if the handler exists on both, we compose them\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args: unknown[]) => {\n          childPropValue(...args);\n          slotPropValue(...args);\n        };\n      }\n      // but if it exists only on the slot, we use only this one\n      else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    }\n    // if it's `style`, we merge them\n    else if (propName === 'style') {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === 'className') {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(' ');\n    }\n  }\n\n  return { ...slotProps, ...overrideProps };\n}\n\nconst Root = Slot;\n\nexport {\n  Slot,\n  Slottable,\n  //\n  Root,\n};\nexport type { SlotProps };\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { Slot } from '@radix-ui/react-slot';\n\nconst NODES = [\n  'a',\n  'button',\n  'div',\n  'form',\n  'h2',\n  'h3',\n  'img',\n  'input',\n  'label',\n  'li',\n  'nav',\n  'ol',\n  'p',\n  'span',\n  'svg',\n  'ul',\n] as const;\n\n// Temporary while we await merge of this fix:\n// https://github.com/DefinitelyTyped/DefinitelyTyped/pull/55396\n// prettier-ignore\ntype PropsWithoutRef<P> = P extends any ? ('ref' extends keyof P ? Pick<P, Exclude<keyof P, 'ref'>> : P) : P;\ntype ComponentPropsWithoutRef<T extends React.ElementType> = PropsWithoutRef<\n  React.ComponentProps<T>\n>;\n\ntype Primitives = { [E in typeof NODES[number]]: PrimitiveForwardRefComponent<E> };\ntype PrimitivePropsWithRef<E extends React.ElementType> = React.ComponentPropsWithRef<E> & {\n  asChild?: boolean;\n};\n\ninterface PrimitiveForwardRefComponent<E extends React.ElementType>\n  extends React.ForwardRefExoticComponent<PrimitivePropsWithRef<E>> {}\n\n/* -------------------------------------------------------------------------------------------------\n * Primitive\n * -----------------------------------------------------------------------------------------------*/\n\nconst Primitive = NODES.reduce((primitive, node) => {\n  const Node = React.forwardRef((props: PrimitivePropsWithRef<typeof node>, forwardedRef: any) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp: any = asChild ? Slot : node;\n\n    React.useEffect(() => {\n      (window as any)[Symbol.for('radix-ui')] = true;\n    }, []);\n\n    return <Comp {...primitiveProps} ref={forwardedRef} />;\n  });\n\n  Node.displayName = `Primitive.${node}`;\n\n  return { ...primitive, [node]: Node };\n}, {} as Primitives);\n\n/* -------------------------------------------------------------------------------------------------\n * Utils\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * Flush custom event dispatch\n * https://github.com/radix-ui/primitives/pull/1378\n *\n * React batches *all* event handlers since version 18, this introduces certain considerations when using custom event types.\n *\n * Internally, React prioritises events in the following order:\n *  - discrete\n *  - continuous\n *  - default\n *\n * https://github.com/facebook/react/blob/a8a4742f1c54493df00da648a3f9d26e3db9c8b5/packages/react-dom/src/events/ReactDOMEventListener.js#L294-L350\n *\n * `discrete` is an  important distinction as updates within these events are applied immediately.\n * React however, is not able to infer the priority of custom event types due to how they are detected internally.\n * Because of this, it's possible for updates from custom events to be unexpectedly batched when\n * dispatched by another `discrete` event.\n *\n * In order to ensure that updates from custom events are applied predictably, we need to manually flush the batch.\n * This utility should be used when dispatching a custom event from within another `discrete` event, this utility\n * is not nessesary when dispatching known event types, or if dispatching a custom type inside a non-discrete event.\n * For example:\n *\n * dispatching a known click 👎\n * target.dispatchEvent(new Event(‘click’))\n *\n * dispatching a custom type within a non-discrete event 👎\n * onScroll={(event) => event.target.dispatchEvent(new CustomEvent(‘customType’))}\n *\n * dispatching a custom type within a `discrete` event 👍\n * onPointerDown={(event) => dispatchDiscreteCustomEvent(event.target, new CustomEvent(‘customType’))}\n *\n * Note: though React classifies `focus`, `focusin` and `focusout` events as `discrete`, it's  not recommended to use\n * this utility with them. This is because it's possible for those handlers to be called implicitly during render\n * e.g. when focus is within a component as it is unmounted, or when managing focus on mount.\n */\n\nfunction dispatchDiscreteCustomEvent<E extends CustomEvent>(target: E['target'], event: E) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = Primitive;\n\nexport {\n  Primitive,\n  //\n  Root,\n  //\n  dispatchDiscreteCustomEvent,\n};\nexport type { ComponentPropsWithoutRef, PrimitivePropsWithRef };\n","import * as React from 'react';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { Primitive } from '@radix-ui/react-primitive';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Avatar\n * -----------------------------------------------------------------------------------------------*/\n\nconst AVATAR_NAME = 'Avatar';\n\ntype ScopedProps<P> = P & { __scopeAvatar?: Scope };\nconst [createAvatarContext, createAvatarScope] = createContextScope(AVATAR_NAME);\n\ntype ImageLoadingStatus = 'idle' | 'loading' | 'loaded' | 'error';\n\ntype AvatarContextValue = {\n  imageLoadingStatus: ImageLoadingStatus;\n  onImageLoadingStatusChange(status: ImageLoadingStatus): void;\n};\n\nconst [AvatarProvider, useAvatarContext] = createAvatarContext<AvatarContextValue>(AVATAR_NAME);\n\ntype AvatarElement = React.ElementRef<typeof Primitive.span>;\ntype PrimitiveSpanProps = Radix.ComponentPropsWithoutRef<typeof Primitive.span>;\ninterface AvatarProps extends PrimitiveSpanProps {}\n\nconst Avatar = React.forwardRef<AvatarElement, AvatarProps>(\n  (props: ScopedProps<AvatarProps>, forwardedRef) => {\n    const { __scopeAvatar, ...avatarProps } = props;\n    const [imageLoadingStatus, setImageLoadingStatus] = React.useState<ImageLoadingStatus>('idle');\n    return (\n      <AvatarProvider\n        scope={__scopeAvatar}\n        imageLoadingStatus={imageLoadingStatus}\n        onImageLoadingStatusChange={setImageLoadingStatus}\n      >\n        <Primitive.span {...avatarProps} ref={forwardedRef} />\n      </AvatarProvider>\n    );\n  }\n);\n\nAvatar.displayName = AVATAR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AvatarImage\n * -----------------------------------------------------------------------------------------------*/\n\nconst IMAGE_NAME = 'AvatarImage';\n\ntype AvatarImageElement = React.ElementRef<typeof Primitive.img>;\ntype PrimitiveImageProps = Radix.ComponentPropsWithoutRef<typeof Primitive.img>;\ninterface AvatarImageProps extends PrimitiveImageProps {\n  onLoadingStatusChange?: (status: ImageLoadingStatus) => void;\n}\n\nconst AvatarImage = React.forwardRef<AvatarImageElement, AvatarImageProps>(\n  (props: ScopedProps<AvatarImageProps>, forwardedRef) => {\n    const { __scopeAvatar, src, onLoadingStatusChange = () => {}, ...imageProps } = props;\n    const context = useAvatarContext(IMAGE_NAME, __scopeAvatar);\n    const imageLoadingStatus = useImageLoadingStatus(src);\n    const handleLoadingStatusChange = useCallbackRef((status: ImageLoadingStatus) => {\n      onLoadingStatusChange(status);\n      context.onImageLoadingStatusChange(status);\n    });\n\n    useLayoutEffect(() => {\n      if (imageLoadingStatus !== 'idle') {\n        handleLoadingStatusChange(imageLoadingStatus);\n      }\n    }, [imageLoadingStatus, handleLoadingStatusChange]);\n\n    return imageLoadingStatus === 'loaded' ? (\n      <Primitive.img {...imageProps} ref={forwardedRef} src={src} />\n    ) : null;\n  }\n);\n\nAvatarImage.displayName = IMAGE_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AvatarFallback\n * -----------------------------------------------------------------------------------------------*/\n\nconst FALLBACK_NAME = 'AvatarFallback';\n\ntype AvatarFallbackElement = React.ElementRef<typeof Primitive.span>;\ninterface AvatarFallbackProps extends PrimitiveSpanProps {\n  delayMs?: number;\n}\n\nconst AvatarFallback = React.forwardRef<AvatarFallbackElement, AvatarFallbackProps>(\n  (props: ScopedProps<AvatarFallbackProps>, forwardedRef) => {\n    const { __scopeAvatar, delayMs, ...fallbackProps } = props;\n    const context = useAvatarContext(FALLBACK_NAME, __scopeAvatar);\n    const [canRender, setCanRender] = React.useState(delayMs === undefined);\n\n    React.useEffect(() => {\n      if (delayMs !== undefined) {\n        const timerId = window.setTimeout(() => setCanRender(true), delayMs);\n        return () => window.clearTimeout(timerId);\n      }\n    }, [delayMs]);\n\n    return canRender && context.imageLoadingStatus !== 'loaded' ? (\n      <Primitive.span {...fallbackProps} ref={forwardedRef} />\n    ) : null;\n  }\n);\n\nAvatarFallback.displayName = FALLBACK_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction useImageLoadingStatus(src?: string) {\n  const [loadingStatus, setLoadingStatus] = React.useState<ImageLoadingStatus>('idle');\n\n  React.useEffect(() => {\n    if (!src) {\n      setLoadingStatus('error');\n      return;\n    }\n\n    let isMounted = true;\n    const image = new window.Image();\n\n    const updateStatus = (status: ImageLoadingStatus) => () => {\n      if (!isMounted) return;\n      setLoadingStatus(status);\n    };\n\n    setLoadingStatus('loading');\n    image.onload = updateStatus('loaded');\n    image.onerror = updateStatus('error');\n    image.src = src;\n\n    return () => {\n      isMounted = false;\n    };\n  }, [src]);\n\n  return loadingStatus;\n}\nconst Root = Avatar;\nconst Image = AvatarImage;\nconst Fallback = AvatarFallback;\n\nexport {\n  createAvatarScope,\n  //\n  Avatar,\n  AvatarImage,\n  AvatarFallback,\n  //\n  Root,\n  Image,\n  Fallback,\n};\nexport type { AvatarProps, AvatarImageProps, AvatarFallbackProps };\n","import * as React from \"react\"\nimport { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n  return twMerge(clsx(inputs))\n}\n\nexport function formatDate(input: string | number): string {\n  const date = new Date(input)\n  return date.toLocaleDateString(\"en-US\", {\n    month: \"long\",\n    day: \"numeric\",\n    year: \"numeric\",\n  })\n}\n\nexport function absoluteUrl(path: string) {\n  return `${process.env.NEXT_PUBLIC_APP_URL}${path}`\n}\n"]}