پرش به محتوا
بناBana UI

حالت نمایش

پالت رنگی

با ↑ ↓ جابه‌جا شوید و Enter را بزنید. Esc برای بستن.

شروع سریع

Bana UI بدون وابستگی و بدون مرحله Build قابل استفاده است. سه فایل: یک CSS، یک JS اختیاری، و یک اسنیپت کوچک برای جلوگیری از پرش تم.

۱. نصب

npm
کد
npm install @bana-ui/core
CDN (jsDelivr؛ بعد از انتشار روی npm فعال می‌شود)
کد
<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 هستند:

ESM / Bundler
کد
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 APIBana.start() / Bana.theme / Bana.toast
Eventbana:theme-change، bana:dialog-open، bana:tab-change …
Data attributedata-theme، data-palette، data-density

ویرایش این صفحه در GitHub