{"version":3,"sources":["../../registry/default/ui/input-otp.tsx","../../lib/utils.ts"],"names":["input_otp_exports","__export","InputOTP","InputOTPGroup","InputOTPSeparator","InputOTPSlot","__toCommonJS","React","import_input_otp","import_lucide_react","import_clsx","import_tailwind_merge","cn","inputs","import_jsx_runtime","className","containerClassName","props","ref","index","inputOTPContext","char","hasFakeCaret","isActive"],"mappings":";;;;;;;0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,cAAAE,EAAA,kBAAAC,EAAA,sBAAAC,EAAA,iBAAAC,IAAA,eAAAC,EAAAN,GAEA,IAAAO,EAAuB,sBACvBC,EAA0C,qBAC1CC,EAAoB,wBCHpB,IAAAC,EAAsC,gBACtCC,EAAwB,0BAEjB,SAASC,KAAMC,EAAsB,CAC1C,SAAO,cAAQ,QAAKA,CAAM,CAAC,CAC7B,CDME,IAAAC,EAAA,6BAJIZ,EAAiB,aAGrB,CAAC,CAAE,UAAAa,EAAW,mBAAAC,EAAoB,GAAGC,CAAM,EAAGC,OAC9C,OAAC,YACC,IAAKA,EACL,mBAAoBN,EAClB,qDACAI,CACF,EACA,UAAWJ,EAAG,8BAA+BG,CAAS,EACrD,GAAGE,EACN,CACD,EACDf,EAAS,YAAc,WAEvB,IAAMC,EAAsB,aAG1B,CAAC,CAAE,UAAAY,EAAW,GAAGE,CAAM,EAAGC,OAC1B,OAAC,OAAI,IAAKA,EAAK,UAAWN,EAAG,oBAAqBG,CAAS,EAAI,GAAGE,EAAO,CAC1E,EACDd,EAAc,YAAc,gBAE5B,IAAME,EAAqB,aAGzB,CAAC,CAAE,MAAAc,EAAO,UAAAJ,EAAW,GAAGE,CAAM,EAAGC,IAAQ,CACzC,IAAME,EAAwB,aAAW,iBAAe,EAClD,CAAE,KAAAC,EAAM,aAAAC,EAAc,SAAAC,CAAS,EAAIH,EAAgB,MAAMD,CAAK,EAEpE,SACE,QAAC,OACC,IAAKD,EACL,UAAWN,EACT,gKACAW,GAAY,+CACZR,CACF,EACC,GAAGE,EAEH,UAAAI,EACAC,MACC,OAAC,OAAI,UAAU,wEACb,mBAAC,OAAI,UAAU,2DAA2D,EAC5E,GAEJ,CAEJ,CAAC,EACDjB,EAAa,YAAc,eAE3B,IAAMD,EAA0B,aAG9B,CAAC,CAAE,GAAGa,CAAM,EAAGC,OACf,OAAC,OAAI,IAAKA,EAAK,KAAK,YAAa,GAAGD,EAClC,mBAAC,QAAI,EACP,CACD,EACDb,EAAkB,YAAc","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { OTPInput, OTPInputContext } from \"input-otp\"\nimport { Dot } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst InputOTP = React.forwardRef<\n  React.ElementRef<typeof OTPInput>,\n  React.ComponentPropsWithoutRef<typeof OTPInput>\n>(({ className, containerClassName, ...props }, ref) => (\n  <OTPInput\n    ref={ref}\n    containerClassName={cn(\n      \"flex items-center gap-2 has-[:disabled]:opacity-50\",\n      containerClassName\n    )}\n    className={cn(\"disabled:cursor-not-allowed\", className)}\n    {...props}\n  />\n))\nInputOTP.displayName = \"InputOTP\"\n\nconst InputOTPGroup = React.forwardRef<\n  React.ElementRef<\"div\">,\n  React.ComponentPropsWithoutRef<\"div\">\n>(({ className, ...props }, ref) => (\n  <div ref={ref} className={cn(\"flex items-center\", className)} {...props} />\n))\nInputOTPGroup.displayName = \"InputOTPGroup\"\n\nconst InputOTPSlot = React.forwardRef<\n  React.ElementRef<\"div\">,\n  React.ComponentPropsWithoutRef<\"div\"> & { index: number }\n>(({ index, className, ...props }, ref) => {\n  const inputOTPContext = React.useContext(OTPInputContext)\n  const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index]\n\n  return (\n    <div\n      ref={ref}\n      className={cn(\n        \"relative flex h-10 w-10 items-center justify-center border-y border-r border-input text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md\",\n        isActive && \"z-10 ring-2 ring-ring ring-offset-background\",\n        className\n      )}\n      {...props}\n    >\n      {char}\n      {hasFakeCaret && (\n        <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n          <div className=\"h-4 w-px animate-caret-blink bg-foreground duration-1000\" />\n        </div>\n      )}\n    </div>\n  )\n})\nInputOTPSlot.displayName = \"InputOTPSlot\"\n\nconst InputOTPSeparator = React.forwardRef<\n  React.ElementRef<\"div\">,\n  React.ComponentPropsWithoutRef<\"div\">\n>(({ ...props }, ref) => (\n  <div ref={ref} role=\"separator\" {...props}>\n    <Dot />\n  </div>\n))\nInputOTPSeparator.displayName = \"InputOTPSeparator\"\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator }\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"]}