{"version":3,"sources":["../../registry/default/ui/breadcrumb.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","../../lib/utils.ts"],"names":["breadcrumb_exports","__export","Breadcrumb","BreadcrumbEllipsis","BreadcrumbItem","BreadcrumbLink","BreadcrumbList","BreadcrumbPage","BreadcrumbSeparator","__toCommonJS","React","_extends","target","i","source","key","setRef","ref","value","current","composeRefs","refs","node","forEach","Slot","props","forwardedRef","children","slotProps","childrenArray","toArray","slottable","find","isSlottable","newElement","newChildren","map","child","count","only","$9IrjX$createElement","$5e63c961fc1ce211$var$SlotClone","undefined","displayName","SlotClone","mergeProps","Slottable","$9IrjX$Fragment","type","childProps","overrideProps","propName","slotPropValue","childPropValue","test","args","filter","Boolean","join","import_lucide_react","import_clsx","import_tailwind_merge","cn","inputs","import_jsx_runtime","className","asChild","$5e63c961fc1ce211$export$8c6ed5c666ac1360"],"mappings":"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","sourcesContent":["import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { ChevronRight, MoreHorizontal } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Breadcrumb = React.forwardRef<\n  HTMLElement,\n  React.ComponentPropsWithoutRef<\"nav\"> & {\n    separator?: React.ReactNode\n  }\n>(({ ...props }, ref) => <nav ref={ref} aria-label=\"breadcrumb\" {...props} />)\nBreadcrumb.displayName = \"Breadcrumb\"\n\nconst BreadcrumbList = React.forwardRef<\n  HTMLOListElement,\n  React.ComponentPropsWithoutRef<\"ol\">\n>(({ className, ...props }, ref) => (\n  <ol\n    ref={ref}\n    className={cn(\n      \"flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5\",\n      className\n    )}\n    {...props}\n  />\n))\nBreadcrumbList.displayName = \"BreadcrumbList\"\n\nconst BreadcrumbItem = React.forwardRef<\n  HTMLLIElement,\n  React.ComponentPropsWithoutRef<\"li\">\n>(({ className, ...props }, ref) => (\n  <li\n    ref={ref}\n    className={cn(\"inline-flex items-center gap-1.5\", className)}\n    {...props}\n  />\n))\nBreadcrumbItem.displayName = \"BreadcrumbItem\"\n\nconst BreadcrumbLink = React.forwardRef<\n  HTMLAnchorElement,\n  React.ComponentPropsWithoutRef<\"a\"> & {\n    asChild?: boolean\n  }\n>(({ asChild, className, ...props }, ref) => {\n  const Comp = asChild ? Slot : \"a\"\n\n  return (\n    <Comp\n      ref={ref}\n      className={cn(\"transition-colors hover:text-foreground\", className)}\n      {...props}\n    />\n  )\n})\nBreadcrumbLink.displayName = \"BreadcrumbLink\"\n\nconst BreadcrumbPage = React.forwardRef<\n  HTMLSpanElement,\n  React.ComponentPropsWithoutRef<\"span\">\n>(({ className, ...props }, ref) => (\n  <span\n    ref={ref}\n    role=\"link\"\n    aria-disabled=\"true\"\n    aria-current=\"page\"\n    className={cn(\"font-normal text-foreground\", className)}\n    {...props}\n  />\n))\nBreadcrumbPage.displayName = \"BreadcrumbPage\"\n\nconst BreadcrumbSeparator = ({\n  children,\n  className,\n  ...props\n}: React.ComponentProps<\"li\">) => (\n  <li\n    role=\"presentation\"\n    aria-hidden=\"true\"\n    className={cn(\"[&>svg]:size-3.5\", className)}\n    {...props}\n  >\n    {children ?? <ChevronRight />}\n  </li>\n)\nBreadcrumbSeparator.displayName = \"BreadcrumbSeparator\"\n\nconst BreadcrumbEllipsis = ({\n  className,\n  ...props\n}: React.ComponentProps<\"span\">) => (\n  <span\n    role=\"presentation\"\n    aria-hidden=\"true\"\n    className={cn(\"flex h-9 w-9 items-center justify-center\", className)}\n    {...props}\n  >\n    <MoreHorizontal className=\"h-4 w-4\" />\n    <span className=\"sr-only\">More</span>\n  </span>\n)\nBreadcrumbEllipsis.displayName = \"BreadcrumbElipssis\"\n\nexport {\n  Breadcrumb,\n  BreadcrumbList,\n  BreadcrumbItem,\n  BreadcrumbLink,\n  BreadcrumbPage,\n  BreadcrumbSeparator,\n  BreadcrumbEllipsis,\n}\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 { 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"]}