Tinyrack

CopyButton

Clipboard API のフォールバックとアクセシブルな状態通知を備えた、再利用可能なコピー操作です。

主なプロパティ

コントロールは data-copy-statusidlecopiedunavailable を報告します。最新のコピー操作だけが反映され、結果は既定で 2 秒後に idle へリセットされます。

インストール

pnpm add @tinyrack/ui

長い行はコード領域を横にスクロールして確認できます。

スタイル

@import '@tinyrack/ui/components/copy-button.css';

長い行はコード領域を横にスクロールして確認できます。

インポート

import { TRCopyButton } from '@tinyrack/ui/components/copy-button';

長い行はコード領域を横にスクロールして確認できます。

プレイグラウンド

使用方法

継承したボタンの組み合わせ パーマリンク

appearance、variant、uiSize、ラベルを各ボタンスタイルと組み合わせられます。待機中と成功時のラベルは同じ幅を保ち、長い失敗ラベルは失敗時だけ表示されます。

API

プロパティ既定値説明
valuestring必須Clipboard API または画面外の選択フォールバックでコピーするテキストです。
idleLabelstring"Copy"コピー前の表示およびアクセシブルなラベルです。
copiedLabelstring"Copied"成功ラベルと丁寧な通知です。
unavailableLabelstring"Copy unavailable"両方のコピー方法が失敗した場合のラベルと丁寧な通知です。
onStatusChange(status) => voidcopied または unavailable を通知し、リセット時に idle を通知します。古い操作やアンマウント後の操作は通知しません。
resetDelaynumber2000完了結果が idle に戻るまでのミリ秒です。

children を除くすべての TRButton プロパティを継承し、ref、ネイティブイベント、disabledloadingloadingLabelappearancevariantuiSize を利用できます。onClickpreventDefault() を呼ぶとコピー操作をキャンセルします。