
neumorphism-design
by TamChouWeng
An app to track your asset
SKILL.md
name: Neumorphism Design description: Comprehensive guide and utilities for applying Neumorphism (Soft UI) to the MyAsset project.
Neumorphism Design System for MyAsset
This skill provides the design tokens, utility classes, and component patterns necessary to implement a high-quality Neumorphism (Soft UI) aesthetic in your project using Tailwind CSS.
1. Setup & Configuration
To enable the custom shadows and colors required for Neumorphism, update your tailwind.config.js.
tailwind.config.js
Add the following to the theme.extend section:
module.exports = {
// ...
theme: {
extend: {
colors: {
neu: {
base: '#E0E5EC', // Light mode base
'base-dark': '#2A2A2A', // Dark mode base
// Text colors for contrast
text: '#4A5568',
'text-dark': '#A0AEC0',
},
},
boxShadow: {
// Light Mode Shadows
'neu-flat': '9px 9px 16px #a3b1c6, -9px -9px 16px #ffffff',
'neu-pressed': 'inset 6px 6px 10px 0 #a3b1c6, inset -6px -6px 10px 0 #ffffff',
'neu-convex': 'linear-gradient(145deg, #ffffff, #caced3)', // Background image utility strictly speaking, but listed here for concept
'neu-concave': 'linear-gradient(145deg, #caced3, #ffffff)',
// Dark Mode Shadows (Example adjustments - tune as needed)
'neu-flat-dark': '5px 5px 10px #1e1e1e, -5px -5px 10px #363636',
'neu-pressed-dark': 'inset 5px 5px 10px #1e1e1e, inset -5px -5px 10px #363636',
},
borderRadius: {
'xl': '1rem',
'2xl': '1.5rem',
'3xl': '2rem',
}
},
},
// ...
}
2. Global Styles (index.css)
Set the global background color to match the Neumorphism base.
@layer base {
body {
@apply bg-neu-base text-neu-text dark:bg-neu-base-dark dark:text-neu-text-dark transition-colors duration-300;
}
}
3. Component Patterns
Card (Container)
The standard container for dashboard widgets.
<div className="bg-neu-base dark:bg-neu-base-dark shadow-neu-flat dark:shadow-neu-flat-dark rounded-xl p-6">
{/* Content */}
</div>
Primary Button
A button that looks like it pops out of the screen. Pressing it inverts the shadow.
<button className="px-8 py-3 rounded-full bg-neu-base dark:bg-neu-base-dark text-neu-text dark:text-neu-text-dark font-bold shadow-neu-flat dark:shadow-neu-flat-dark active:shadow-neu-pressed dark:active:shadow-neu-pressed-dark transition-all duration-200 ease-in-out transform active:scale-95 outline-none">
Action
</button>
Input Field
Inputs should look "pressed in" (inset shadow) by default.
<input
type="text"
className="w-full bg-neu-base dark:bg-neu-base-dark rounded-lg px-4 py-3 shadow-neu-pressed dark:shadow-neu-pressed-dark outline-none focus:ring-2 focus:ring-blue-400/50 transition-all text-neu-text dark:text-neu-text-dark placeholder-gray-400"
placeholder="Search assets..."
/>
Icon Button / Toggle
<button className="w-12 h-12 flex items-center justify-center rounded-full bg-neu-base dark:bg-neu-base-dark shadow-neu-flat dark:shadow-neu-flat-dark active:shadow-neu-pressed dark:active:shadow-neu-pressed-dark text-blue-500">
<IconComponent className="w-6 h-6" />
</button>
4. Typography
Neumorphism pairs best with clean, rounded sans-serif fonts.
- Recommended:
Nunito,Poppins, orQuicksand. - Implementation: Import from Google Fonts in
index.cssand extendfontFamilyintailwind.config.js.
/* index.css */
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap');
// tailwind.config.js
theme: {
extend: {
fontFamily: {
sans: ['Nunito', 'sans-serif'],
},
},
}
5. Chart Styling (Recharts/Victory)
For charts, avoid solid backgrounds on the chart area itself. Use the card container for the background.
- Grid Lines: Make them extremely subtle or remove them (
stroke="#cbd5e0" strokeOpacity={0.2}). - Tooltips: Use the
Cardstyle for tooltips (shadow-neu-flat rounded-lg). - Colors: Use soft gradients or pastel colors specifically chosen to contrast well with
#E0E5EC.- Teal:
#4FD1C5 - Blue:
#63B3ED - Purple:
#B794F4
- Teal:
6. Layout Principles
- More Whitespace: Neumorphism requires more padding (
p-6,p-8) to let the shadows "breathe". Crowded elements break the illusion. - Consistency: Light source direction (usually top-left) must be consistent across all shadows.
- Hierarchy: Use
flatshadows for surface-level elements andpressedshadows for inputs or active states. Avoid mixing too many "layers".
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です