"use client"

import * as React from "react"

import { cn } from "@/shared/lib/utils"

export interface AriaStatusProps
  extends React.HTMLAttributes<HTMLDivElement> {
  children?: React.ReactNode
  /** 通知礼貌级别，默认 polite */
  politeness?: "polite" | "assertive"
  /** 是否原子播报（整体内容），默认 true */
  atomic?: boolean
}

/**
 * ARIA 状态通知区域。
 * 渲染 aria-live 区域，用于页面级状态通知（如"加载中"、"已保存"）。
 * 视觉隐藏，仅屏幕阅读器可读。
 */
export function AriaStatus({
  children,
  politeness = "polite",
  atomic = true,
  className,
  ...props
}: AriaStatusProps) {
  return (
    <div
      role="status"
      aria-live={politeness}
      aria-atomic={atomic}
      className={cn("sr-only", className)}
      {...props}
    >
      {children}
    </div>
  )
}
