​​React​libphonenumber-js,Playwright,TypeScript,フォーム

Thumbnail of post image 146

打った数字に合わせて「090-1234-5678」のようにハイフンを入れる、React の電話番号の入力欄です。途中を書き直すとカーソルが末尾へ飛ぶ問題と、ハイフンを Backspace で消せない問題の直し方を確かめました。 ...

​​React​Playwright,TypeScript,アクセシビリティ

Thumbnail of post image 082

Reactで表のセルをクリックすると入力欄に変わり、Enter で保存、Escape で取り消せるようにしました。変換を確定する Enter で保存しない書き方、編集後にフォーカスをセルへ戻す方法、間違った値のときに編集を続けさせる方 ...

​​React​CSS,Playwright,ResizeObserver,TypeScript

Thumbnail of post image 147

​

高さの違うカードを、列の中ですき間なく並べる表示を、ライブラリを使わずに React で作りました。画像入りのカードの一覧を、メイソンリーと呼ばれる並べ方で見せたいときに使えます。カードをいちばん短い列の下へ置いていく計算と、Resi ...

​​React​Playwright,TypeScript,アクセシビリティ

Thumbnail of post image 130

一時停止と再開ができるカウントダウンタイマーを、React と TypeScript で作りました。残り時間は終わる時刻との差から出すので、タイマーの呼び出しが遅れても表示がずれたままになりません。秒の切り上げ方なども Chromiu ...

​​React​Intl,JavaScript,Playwright,TypeScript

Thumbnail of post image 059

投稿の日時を「3分前」「昨日」のように出すコンポーネントを TypeScript で作りました。言葉は Intl.RelativeTimeFormat に任せ、単位の選び方、「昨日」の数え方、表示の自動更新は Chromium で確か ...

​​React​CSS,dialog,Playwright,TypeScript,アクセシビリティ

Thumbnail of post image 175

一覧の画像を押すと、画面いっぱいに大きく表示するライトボックスを、ライブラリを使わずに React と dialog 要素で作りました。画面に収める CSS、矢印キーでの送り、前の画像を残さない key の使い方、先読み、閉じたあとの ...

​​React​dialog,localStorage,Playwright,scrollIntoView,TypeScript,useLayoutEffect

Thumbnail of post image 135

​

検索欄やボタンを1つずつ明るく残し、下か上に説明のカードを出す使い方ガイドを、ライブラリなしの TypeScript で作りました。アプリを初めて開いた人へのオンボーディングや、あとから見返せる操作のチュートリアルに使えます。部品の位 ...

​​React​Intl,JavaScript,Playwright,TypeScript,アクセシビリティ

Thumbnail of post image 090

月ごとのカレンダーを、ライブラリを使わずに React と TypeScript で作りました。日付を6行×7列に並べる計算、月をまたぐときの Date の扱い、今日と選んだ日の伝え方、矢印キーで日を移る動きを、Chromium で確 ...

​​React​CSS,Playwright,ResizeObserver,TypeScript,アクセシビリティ,カスタムフック

Thumbnail of post image 129

記事をどこまで読んだかを画面の上のバーで示すフックを、React で作りました。割合はページ全体ではなく記事の要素から計算し、画像の読み込みで記事の高さが変わったときも ResizeObserver で計算し直します。CSS だけで作 ...

​​React​CSS,Playwright,Pointer Events,TypeScript,アクセシビリティ

Thumbnail of post image 109

​

加工前と加工後のような2枚の画像を重ね、つまみを左右に動かして見比べる表示を、ライブラリを使わずに React で作りました。ビフォーアフターを1つの枠で見せたいときに使えます。clip-path で隠す理由、キーボードでの操作、po ...

カテゴリー