Instalasi badrian-icon
Koleksi ikon React ringan, konsisten, dan fleksibel untuk proyek modern seperti Next.js, Remix, atau Vite.
badrian-icon dibuat menggunakan monorepo, sehingga setiap paket ikon dikelola secara terpisah. Pendekatan ini membuat bundle lebih ringan bagi konsumen karena hanya paket yang digunakan yang akan diimpor. Semua ikon tersedia sebagai React components yang langsung menggunakan SVG, tanpa bergantung pada runtime tambahan.
Koleksi ikon React ringan, konsisten, dan fleksibel untuk proyek modern seperti Next.js, Remix, atau Vite.
01
Instalasi
Pilih salah satu metode instalasi
npm install badrian-icon
# atau
yarn add badrian-icon
# atau
pnpm add badrian-icon02
Konfigurasi
Gunakan Tailwind CSS, tambahkan direktori badrian-icon ke dalam file tailwind.config.js:
npm install -D tailwindcss postcss autoprefixer
module.exports = {
content: [
"./src/**/*.{js,ts,jsx,tsx}",
"./node_modules/badrian-icon/**/*.js"
],
safelist: [
{
pattern:
/(bg|text|border)-(red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|
blue|indigo|violet|purple|fuchsia|pink|rose|slate|gray|zinc|neutral|stone)-(50|100
|200|300|400|500|600|700|800|900|950)/,
},
],
theme: { extend: {} },
plugins: [],
}03
Cara Menggunakan
Import ikon langsung dari package:
import { Add, Trash } from "badrian-icon/kriston";
import { Edit } from "badrian-icon/leonid";
export default function Example() {
return (
<div className="flex items-center gap-4">
<Add className="w-6 h-6 text-green-600" />
<Edit className="w-6 h-6 text-blue-600" />
<Trash className="w-6 h-6 text-red-600" />
</div>
);
}04
Kustomisasi
1️ Ukuran
<Add className="w-10 h-10" />Warna
<Trash className="text-red-500" />3️ Warna Kustom (tanpa Tailwind)
<Edit style={{ color: "#f59e0b", width: 32, height: 32 }} />05
Penggunaan Dinamis
Render ikon berdasarkan nama secara dinamis:
import * as Icons from "badrian-icon";
export default function DynamicExample({ iconName = "Add" }) {
const IconComponent = Icons[iconName];
return <IconComponent className="w-8 h-8 text-blue-500" />;
}06
Integrasi Next.js
"use client";
import { ArrowRight } from "badrian-icon";
export default function ButtonNext() {
return (
<button className="flex items-center gap-2 px-4 py-2 bg-black text-white rounded-lg">
Next
<ArrowRight className="w-5 h-5" />
</button>
);
}07
Contoh Tambahan
Button dengan Ikon
import { Save } from "badrian-icon";
<button className="flex items-center gap-2 px-4 py-2 bg-green-600 text-white rounded-md">
<Save className="w-5 h-5" />
Simpan
</button>Input dengan Ikon
import { Search } from "badrian-icon";
<div className="flex items-center border rounded-md px-3 py-2">
<Search className="w-5 h-5 text-gray-400" />
<input type="text" placeholder="Cari ikon..." className="ml-2 outline-none" />
</div>Lisensi
badrian-icon dirilis di bawah lisensi MIT — bebas digunakan untuk proyek pribadi maupun komersial.