guillermolg00/morphicons
Any icon morphs into any other — universal morphing for stroke-based icons with spring physics. Zero dependencies, ~7 KB gzip.
What it solves
morphicons は、2つの異なるストロークベースのアイコン(Lucide、Tabler、Heroicons など)間の遷移をアニメーション化し、一方から他方へスムーズに「モーフィング」させる方法を提供します。数学的な整列を使用して2つの形状間の最も自然な経路を見つけることで、回転グループを手動で定義したり、補間中に形状が縮小したり歪んだりする問題を回避できます。
How it works
このライブラリは、2D Procrustes analysis と極座標補間を使用して、形状間の最適な類似性を閉形式で解決します。これにより、2つのアイコンが回転によって合同であれば、遷移が歪んだモーフィングではなく回転として表示されるようになります。3つの動作モードをサポートしています:uncontrolled(プロップが変更されたときに自動的にアニメーション化)、controlled(ジェスチャーやスクロールのための明示的な進捗)、および imperative(ハンドルを使用してコード経由でアニメーションをトリガー)です。
Who it’s for
React、Vue、Svelte、React Native、またはプレーンな HTML/Web Components を使用しており、複雑な設定やランタイムの依存関係なしに、高品質で物理ベースのアイコンアニメーションを求めているフロントエンド開発者。
Highlights
- Universal Compatibility: Lucide、Tabler、Heroicons、Iconoir など、あらゆるストロークベースのアイコンデータと互換性があります。
- Multi-Framework Support: React、Vue、Svelte、React Native、および Astro 専用のバインディングに加え、バニラ JS DOM ドライバーを提供します。
- Physics-Based: スムーズで自然な遷移のためにスプリング物理学を使用します。
- Zero Runtime Dependencies: コアロジックはどのフレームワークにも依存しません。
- Flexible Output Targets: インライン SVG、CSS マスク(
maskTarget経由)、または 2D Canvas(canvasTarget経由)にレンダリングできます。 - Accessibility First: OS の
reduced-motion設定への組み込みサポートが含まれています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト