From cc9028ac3dcb7eb78c07ad03d74ea9875d818d43 Mon Sep 17 00:00:00 2001 From: gahusb Date: Wed, 27 May 2026 02:00:45 +0900 Subject: [PATCH] =?UTF-8?q?feat(saju-ui-v2):=20Icons.jsx=20=E2=80=94=205?= =?UTF-8?q?=20nav=20+=20IconPaw/Chevron/Sparkle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/saju/_shell/Icons.jsx | 82 +++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 src/pages/saju/_shell/Icons.jsx diff --git a/src/pages/saju/_shell/Icons.jsx b/src/pages/saju/_shell/Icons.jsx new file mode 100644 index 0000000..0670bd5 --- /dev/null +++ b/src/pages/saju/_shell/Icons.jsx @@ -0,0 +1,82 @@ +import React from 'react'; + +const base = (size, stroke, strokeWidth = 1.5) => ({ + width: size, height: size, fill: 'none', stroke, + strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', +}); + +export function IconHome({ size = 20, stroke = 'currentColor', strokeWidth }) { + return ( + + + + ); +} + +export function IconSun({ size = 20, stroke = 'currentColor', strokeWidth }) { + return ( + + + + + ); +} + +export function IconHeart({ size = 20, stroke = 'currentColor', strokeWidth }) { + return ( + + + + ); +} + +export function IconYinYang({ size = 20, stroke = 'currentColor', strokeWidth }) { + return ( + + + + + + + ); +} + +export function IconUser({ size = 20, stroke = 'currentColor', strokeWidth }) { + return ( + + + + + ); +} + +export function IconPaw({ size = 12, color = 'currentColor' }) { + return ( + + + + + + + + ); +} + +export function IconChevron({ size = 14, color = 'currentColor', dir = 'right' }) { + const rotate = { right: 0, down: 90, left: 180, up: 270 }[dir] || 0; + return ( + + + + ); +} + +export function IconSparkle({ size = 12, color = 'currentColor' }) { + return ( + + + + ); +}