UNPKG

fanyucomponents

Version:

一款以 純邏輯為核心、無樣式綁定 的 React 元件套件

27 lines (26 loc) 1.29 kB
import React from "react"; import { CoolDownButtonProps } from "../types/ComponentProps"; /** * 一個具備冷卻時間的按鈕組件,可用於防止重複點擊事件。 * * 支援客製化傳入的組件類型, * 並根據冷卻時間自動禁用並重新啟用。 * * @template T - 組件類型,預設為 "button",可傳入其他 React 組件。 * * @param {CoolDownButtonProps<T>} props - 組件的所有屬性 * @param {T} [props.as] - 要渲染的組件類型 * @param {React.ReactNode} props.children - 子元件內容 * @param {React.CSSProperties} [props.style] - 通用樣式 * @param {number} [props.coolDownTime=1000] - 冷卻時間 ms,預設為 1000 * @param {React.CSSProperties} [props.styles.enabled] - 啟用狀態的樣式 * @param {React.CSSProperties} [props.styles.disabled] - 禁用狀態的樣式 * @param {React.CSSProperties} [props.styles.hover] - 滑鼠懸停的樣式 * @param {React.CSSProperties} [props.styles.active] - 滑鼠點擊的樣式 * @param {Function} [props.onClick] - 點擊事件處理器 * @returns {JSX.Element} 冷卻按鈕的 JSX 元素 */ export declare const CoolDownButton: { <Component extends React.ElementType>(props: CoolDownButtonProps<Component>): React.JSX.Element; displayName: string; };