{"version":3,"file":"toast-provider.cjs","sources":["../../../components/toast/toast-provider.tsx"],"sourcesContent":["'use client';\n\nimport { Toast as ToastPrimitive } from '@base-ui/react';\nimport { cx } from 'class-variance-authority';\nimport styles from './toast.module.css';\nimport {\n  toastManager as defaultToastManager,\n  type ToastManager\n} from './toast-manager';\nimport { ToastRoot } from './toast-root';\n\nexport type ToastPosition =\n  | 'top-left'\n  | 'top-center'\n  | 'top-right'\n  | 'bottom-left'\n  | 'bottom-center'\n  | 'bottom-right';\n\nexport interface ToastProviderProps\n  extends Omit<ToastPrimitive.Provider.Props, 'toastManager'> {\n  /**\n   * Position of the toast viewport on screen.\n   * @default \"bottom-right\"\n   */\n  position?: ToastPosition;\n  /**\n   * Toast manager instance. Defaults to the singleton exported as\n   * `toastManager`. Provide a custom one created via\n   * `Toast.createToastManager()` to scope toasts to this provider.\n   */\n  toastManager?: ToastManager;\n}\n\nfunction ToastList({ position }: { position: ToastPosition }) {\n  const { toasts } = ToastPrimitive.useToastManager();\n  return toasts.map(toast => (\n    <ToastRoot key={toast.id} toast={toast} position={position} />\n  ));\n}\n\nexport function ToastProvider({\n  position = 'bottom-right',\n  toastManager = defaultToastManager,\n  children,\n  ...props\n}: ToastProviderProps) {\n  return (\n    <ToastPrimitive.Provider toastManager={toastManager} {...props}>\n      {children}\n      <ToastPrimitive.Portal>\n        <ToastPrimitive.Viewport\n          className={cx(styles.viewport, styles[`viewport-${position}`])}\n          data-slot='toast-viewport'\n        >\n          <ToastList position={position} />\n        </ToastPrimitive.Viewport>\n      </ToastPrimitive.Portal>\n    </ToastPrimitive.Provider>\n  );\n}\n\nToastProvider.displayName = 'Toast.Provider';\n"],"names":[],"mappings":";;;;;;;;;;AAkCA;;;AAKA;;;AAqBA;AAEA;;"}