import { useCallback } from 'react';
/**
 * useGraphicTextCardClick Hook
 * 处理组件点击事件的逻辑
 * 
 * @param props - GraphicTextCard 组件的 Props
 * @returns 点击事件处理函数
 * 
 * @example
 * ```tsx
 * const handleClick = useGraphicTextCardClick(props);
 * <div onClick={handleClick}>...</div>
 * ```
 */
export var useGraphicTextCardClick = function useGraphicTextCardClick(props) {
  var onClick = props.onClick,
    active = props.active,
    disabled = props.disabled,
    loading = props.loading,
    _props$clickable = props.clickable,
    clickable = _props$clickable === void 0 ? true : _props$clickable;

  /**
   * 处理点击事件
   * 在禁用或加载状态下不触发点击
   * 自动更新 active 状态（如果提供了 onChange）
   */
  var handleClick = useCallback(function (event) {
    // 禁用、加载或不可点击状态下阻止事件
    if (disabled !== null && disabled !== void 0 && disabled.value || loading !== null && loading !== void 0 && loading.value || !clickable) {
      event.preventDefault();
      return;
    }

    // 触发 active.onChange（如果提供且未激活）
    if (active !== null && active !== void 0 && active.onChange && !active.value) {
      active.onChange(true);
    }

    // 触发 onClick 回调
    if (onClick) {
      onClick(event);
    }
  }, [onClick, active, disabled, loading, clickable]);
  return handleClick;
};