شروع سریع
Bana UI بدون وابستگی و بدون مرحله Build قابل استفاده است. سه فایل: یک CSS، یک JS اختیاری، و یک اسنیپت کوچک برای جلوگیری از پرش تم.
۱. نصب
npm install @bana-ui/core<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@bana-ui/core@0.1.0-alpha.0/dist/bana.min.css">
<script src="https://cdn.jsdelivr.net/npm/@bana-ui/core@0.1.0-alpha.0/dist/bana-init.js"></script> <!-- goes in <head>, before first paint -->
<script type="module">
import { Bana } from "https://cdn.jsdelivr.net/npm/@bana-ui/core@0.1.0-alpha.0/dist/bana.js";
Bana.start();
</script>بعد از npm install فایلها داخل node_modules/@bana-ui/core/dist هستند:
import "@bana-ui/core/css"; // or "@bana-ui/core/css/min"
import { Bana } from "@bana-ui/core";
Bana.start();۲. اسکلت صفحه فارسی
<!doctype html>
<html lang="fa" dir="rtl" data-theme="system" data-palette="lajvard">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>پروژه من</title>
<script src="/bana-init.js"></script>
<link rel="stylesheet" href="/bana.min.css">
</head>
<body>
<main ui="container">
<h1>سلام Bana</h1>
<button ui="primary">ذخیره</button>
</main>
<script type="module" src="/app.js"></script>
</body>
</html>RTL درجه اول
همه چیدمانها با ویژگیهای منطقی CSS (
inline-start، padding-inline …) نوشته شدهاند؛ با dir="ltr" همان کد بدون هیچ تغییری انگلیسی میشود.۳. قرارداد نامگذاری
| مورد | الگو |
|---|---|
| Attribute اصلی | ui="primary small" |
| Custom Element | <bana-icon> |
| CSS Property | --bana-* |
| JS API | Bana.start() / Bana.theme / Bana.toast |
| Event | bana:theme-change، bana:dialog-open، bana:tab-change … |
| Data attribute | data-theme، data-palette، data-density |