Tek bir pinned import
Sunum için CKCSS, etkileşim için DevinimJS yüklenir. Runtime kullanıcının npm veya Node.js kurmasını gerektirmez.
<script type="module" src="https://cdn.jsdelivr.net/gh/kayacuneyd/devinimjs@v0.5.1/dist/modules/dv-tabs.js"></script>
<dv-tabs data-label="Hesap ayarları">...</dv-tabs>Build-free uyumluluk
Runtime
Runtime dependency yoktur. Native ES modules modern browser’da doğrudan çalışır.
Distribution
dist/ optimizasyondur; source modüller de browser giriş noktasıdır.
Yeni özellik önce build-free source runtime’da çalışır. Compile-time template analizi, zorunlu bundler veya server runtime yoktur.
Core API
| API | Amaç | Agent kuralı |
|---|---|---|
component | Kısa component factory. | Yeni componentte önce bunu kullan. |
BaseComponent | Proxy-reactive custom-element tabanı. | Yalnızca ileri escape hatch. |
html | Escaping template tag. | view() veya template() içinden döndür. |
createStore | Paylaşılan state/subscription. | Sahipliği page/application’da tut. |
unsafe | Açık raw HTML sınırı. | Sadece bağımsız sanitize edilmiş HTML. |
Zengin sayfalar için opt-in araçlar
Async data, JSON request, form veya hash route gereken sayfalarda app.min.js import edilir. Request ve persistence page/application kodunda kalır; componentler attribute alır ve anlamlı dv:* event yayınlar.
Component sözleşmesi
Yapılandırma data-*, dış iletişim bubbling dv:* CustomEvent’tir. Foundation, forms, discovery, data, commerce, feedback ve state componentlerinin tamamı canlı katalogda ve manifestte yer alır.
Native davranış tabandır
Native control’leri tercih et. Interactive componentler keyboard, focus, label, role ve live-region davranışlarını tanımlamalıdır. Yayın öncesi npm run verify çalıştır.
Varsayılan olarak escaped
Template interpolation değerleri escape eder. unsafe() yalnızca bağımsız biçimde sanitize edilmiş HTML ile kullanılmalıdır.
Ajanlara güvenilir bir yol ver
Önce llms.txt, sonra llms-full.txt ve component manifest okunmalıdır.
Golden path
npm run create:component -- acme-card --format=dv ile başla. Dış değerleri props içine koy, on:event kullan, unit test ve manifest kaydını ekle; sonra npm run validate:component -- acme-card çalıştır.