@ademaydemir/ad-design
v0.2.1
Published
Reusable and extensible vanilla CSS UI framework starter
Downloads
240
Readme
ad-desing
ad-desing, farklı projelerde tekrar kullanılabilen, modüler ve ölçeklenebilir bir vanilla CSS UI framework / design system altyapısıdır.
Hedef
- Semantic component class'ları (
.btn,.card,.alert) - Utility class yaklaşımı (
.d-flex,.mt-4,.text-center) - Token tabanlı theme yönetimi
- Framework bağımsız kullanım (React, Vue, ASP.NET Core MVC, plain HTML)
- Storybook ile yaşayan dokümantasyon
Kurulum
npm install
npm run build-tokensNPM Paketi Olarak Kullanım
Paket başka bir projeye eklendiğinde (React, Vue, Blazor, Jinja tabanlı sunucu render vb.) tek bir derlenmiş CSS dosyası import edilir:
npm i @ademaydemir/ad-designBundler kullanan projelerde:
import "@ademaydemir/ad-design/dist/ad.css";Bundler kullanmayan projelerde:
node_modules/@ademaydemir/ad-design/dist/ad.cssdosyasını kendi statik klasörüne kopyalayın- layout dosyanızda
<link rel="stylesheet" href="/css/ad.css">olarak ekleyin
Storybook:
npm run storybookRoot playground (Vite):
npm run devStorybook Bilgi Mimarisi
FoundationsColorsTypographySpacingRadiusShadows
ComponentsAlertBadgeButtonCardInputSelectTextarea
UtilitiesDisplayFlexSpacingTextRadiusShadow
Proje Yapısı
ad-desing/
.github/workflows/
.storybook/
main.js
preview.js
preview-head.html
static/logos/{en,tr}/
tokens/
colors.json
src/
assets/logos/{en,tr}/
base/
css/
ad.css
utilities.css
styles/
tokens.css (build ile üretilir)
components/
*.css
*.js
*.stories.js
STORY_STANDARD.md
StoryTemplate.js
storyHelpers.js
utilities/
index.css
build-tokens.js
tailwind.config.js
tailwind-preset.js
postcss.config.js
vite.config.js
index.htmlToken ve Theme Hattı
- Tek kaynak:
tokens/colors.json - Üretici script:
build-tokens.js - Çıktı:
src/styles/tokens.css
tokens.css içinde:
- light varsayılan palette (
:root) - dark override (
[data-theme="dark"]) - semantic alias tokenlar (
--ui-color-*) - typography / spacing / radius / shadow / breakpoint tokenları
Tailwind Entegrasyonu
Tailwind aktif olarak projeye entegredir:
tailwind.config.jstailwind-preset.jspostcss.config.js
Notlar:
corePlugins.preflight = false(mevcut component görünümünü korumak için)- Tailwind tasarım tokenları
var(--ui-*)üzerinden consume eder
Component Story Standardı
Her yeni component için src/components altında:
<Component>.js<Component>.stories.js
Önerilen story başlıkları:
OverviewVariantsSizesStatesUsagePlayground
Form bileşenlerinde States sırası:
- default
- focus
- disabled
- invalid/error
- placeholder
Detaylı standart için:
src/components/STORY_STANDARD.md
Dark Theme Hazırlığı
Storybook toolbar üzerinden Light / Dark seçimi yapılır.
Uygulama:
preview.jsglobal theme toolbar- root element üstünde
data-themeset edilmesi - token değerlerinin otomatik değişmesi
Test ve Build
npm run build-tokens
npm run build-storybook
npm run test-storybookKısa Kullanım Örnekleri
<button class="btn btn-primary">Kaydet</button>
<input class="input" placeholder="Ad Soyad" />
<select class="select"><option>Seçim yapın</option></select>
<textarea class="textarea" placeholder="Mesaj"></textarea>
<div class="alert alert-info">Bilgilendirme</div>
<span class="badge badge-success">Aktif</span>