​​React​Canvas API,Playwright,Pointer Events,TypeScript

Thumbnail of post image 175

canvas と Pointer Events で、マウスでも指でも書ける署名欄を React で作りました。線を点の配列で持って描き直す作りにし、画面の倍率、幅の変化、枠の外へのはみ出し、スクロールとの取り合い、画像への書き出しを確 ...

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

Thumbnail of post image 140

長い文章を3行で切って「続きを読む」ボタンで広げるコンポーネントを TypeScript で作りました。行数で切る CSS、はみ出したときだけボタンを出す測り方、隠れた部分のリンクに Tab で入ったときの対策を Chromium で ...

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

Thumbnail of post image 026

右クリックした位置に独自のメニューを出すコンポーネントを TypeScript で作りました。ブラウザのメニューの止め方、画面の端で反対側に開く計算、閉じる処理、Shift+F10 と矢印キーでの操作を Chromium で確かめてい ...

​​React​createPortal,Fullscreen API,Playwright,TypeScript,useSyncExternalStore

Thumbnail of post image 195

ボタンを押すと、グラフなどの要素を全画面で表示し、もう一度押すと元に戻すフックを作りました。Esc キーで抜けたときに表示がずれない状態の持ち方、クリックから時間がたつと拒否される条件、全画面の中でポータルが見えなくなる点も確かめてい ...

​​React​Playwright,StrictMode,TypeScript,useReducer

Thumbnail of post image 128

過去・現在・未来の3つに分けて状態を持つ、useReducer を使ったフックで、元に戻す・やり直すを作りました。Ctrl+Z などのショートカット、入力欄でのブラウザの「元に戻す」との分け方、更新の書き方で履歴が壊れる例も確かめてい ...

​​React​Canvas API,CORS,Playwright,Pointer Events,TypeScript

Thumbnail of post image 090

画像の上で範囲をドラッグして選び、その部分を PNG に切り抜く仕組みを、ライブラリを使わずに React で作りました。setPointerCapture と draggable=”false” が要る理由と ...

​​React​File API,Papa Parse,Playwright,TypeScript

Thumbnail of post image 041

画面に出している表のデータを、ボタン1つで CSV ファイルとして保存させる方法です。値の囲み方、Blob と a 要素の download 属性での保存、BOM、数式として読まれる値への備えを、保存されたファイルの中身で確かめました ...

​​React​Playwright,TypeScript,アクセシビリティ,フォーム

Thumbnail of post image 140

+と−のボタンで数量を1ずつ変え、入力欄に直接打つこともできるコンポーネントを React で作りました。上限・下限でのボタンの止め方、打っている途中の文字列の扱い、キーボードでの操作と読み上げ用の output の中身を、検証環境で ...

​​React​Playwright,TypeScript,アクセシビリティ,フォーム

Thumbnail of post image 161

React で色を選ぶ入力欄を、input type=”color” と state で作りました。値が小文字の「#rrggbb」で読み出されることや onChange が呼ばれる回数、カラーコード欄と色のボタ ...

​​React​CSS,Playwright,TypeScript,アクセシビリティ,フォーム

Thumbnail of post image 039

価格の下限と上限を2つのつまみで選ぶスライダーを、input type=”range” を2つ重ねて React で作りました。つまみだけがクリックを受ける CSS と、重なったつまみが動かせなくなる問題の直し ...