/**
 * 响应式断点常量
 */
var RESPONSIVE_BREAKPOINTS = {
  lg: 1133,
  // ≥1133px: 默认样式（405px）
  md: 960,
  // 960px-1133px: 376px ~ 405px 线性插值
  sm: 744 // 744px-960px: 290px ~ 376px 线性插值
};

/**
 * 响应式类名映射
 */
var RESPONSIVE_CLASSES = {
  md: 'pisell-procedure-sidebar--responsive-md',
  sm: 'pisell-procedure-sidebar--responsive-sm',
  xs: 'pisell-procedure-sidebar--responsive-xs' // 最小宽度（< 744px）
};

/**
 * 根据容器宽度获取响应式类名
 */
var getResponsiveClass = function getResponsiveClass(width) {
  if (width === 0 || !width) return '';
  if (width >= RESPONSIVE_BREAKPOINTS.lg) {
    return ''; // 使用默认样式
  }
  if (width >= RESPONSIVE_BREAKPOINTS.md) {
    return RESPONSIVE_CLASSES.md;
  }
  if (width >= RESPONSIVE_BREAKPOINTS.sm) {
    return RESPONSIVE_CLASSES.sm;
  }

  // 容器宽度 < 744px，使用最小宽度样式
  return RESPONSIVE_CLASSES.xs;
};

/**
 * 使用响应式类名的 Hook
 * 
 * @description 根据容器宽度计算响应式类名，延迟应用以避免宽度抖动
 */
export var useResponsiveClass = function useResponsiveClass(containerWidth) {
  return getResponsiveClass(containerWidth);
};