Denmark’ın DKFDS temasını, gerçek Sass ölçeklerini ve erişilebilir tablo kalıplarını; sayısal sıralama, gönderilen arama ve boş durumdan kurtarma içeren eksiksiz bir kaynak karşılaştırmasıyla keşfedin.
Yayımlanmış $spacers haritası. 305 ve 405 gibi ardışık olmayan anahtarlar sırasıyla 12px ve 20px anlamına gelir; anahtarı piksel boyutu olarak yorumlamayın.
1
2px
Yayımlanmış $spacers haritası. 305 ve 405 gibi ardışık olmayan anahtarlar sırasıyla 12px ve 20px anlamına gelir; anahtarı piksel boyutu olarak yorumlamayın.
2
4px
Yayımlanmış $spacers haritası. 305 ve 405 gibi ardışık olmayan anahtarlar sırasıyla 12px ve 20px anlamına gelir; anahtarı piksel boyutu olarak yorumlamayın.
3
8px
Yayımlanmış $spacers haritası. 305 ve 405 gibi ardışık olmayan anahtarlar sırasıyla 12px ve 20px anlamına gelir; anahtarı piksel boyutu olarak yorumlamayın.
305
12px
Yayımlanmış $spacers haritası. 305 ve 405 gibi ardışık olmayan anahtarlar sırasıyla 12px ve 20px anlamına gelir; anahtarı piksel boyutu olarak yorumlamayın.
4
16px
Yayımlanmış $spacers haritası. 305 ve 405 gibi ardışık olmayan anahtarlar sırasıyla 12px ve 20px anlamına gelir; anahtarı piksel boyutu olarak yorumlamayın.
405
20px
Yayımlanmış $spacers haritası. 305 ve 405 gibi ardışık olmayan anahtarlar sırasıyla 12px ve 20px anlamına gelir; anahtarı piksel boyutu olarak yorumlamayın.
5
24px
Yayımlanmış $spacers haritası. 305 ve 405 gibi ardışık olmayan anahtarlar sırasıyla 12px ve 20px anlamına gelir; anahtarı piksel boyutu olarak yorumlamayın.
505
28px
Yayımlanmış $spacers haritası. 305 ve 405 gibi ardışık olmayan anahtarlar sırasıyla 12px ve 20px anlamına gelir; anahtarı piksel boyutu olarak yorumlamayın.
6
32px
Yayımlanmış $spacers haritası. 305 ve 405 gibi ardışık olmayan anahtarlar sırasıyla 12px ve 20px anlamına gelir; anahtarı piksel boyutu olarak yorumlamayın.
7
40px
Yayımlanmış $spacers haritası. 305 ve 405 gibi ardışık olmayan anahtarlar sırasıyla 12px ve 20px anlamına gelir; anahtarı piksel boyutu olarak yorumlamayın.
8
48px
Yayımlanmış $spacers haritası. 305 ve 405 gibi ardışık olmayan anahtarlar sırasıyla 12px ve 20px anlamına gelir; anahtarı piksel boyutu olarak yorumlamayın.
Yayımlanmış $fds-font-sizes girdisi. Varsayılan kök boyutu, tarayıcının yazı tipi tercihini gözeterek %62,5'tir; tarayıcı varsayılanı 16px olduğunda 1.6rem, 16px'e karşılık gelir.
xs
1.4rem
Yayımlanmış $fds-font-sizes girdisi. Varsayılan kök boyutu, tarayıcının yazı tipi tercihini gözeterek %62,5'tir; tarayıcı varsayılanı 16px olduğunda 1.6rem, 16px'e karşılık gelir.
sm
1.6rem
Yayımlanmış $fds-font-sizes girdisi. Varsayılan kök boyutu, tarayıcının yazı tipi tercihini gözeterek %62,5'tir; tarayıcı varsayılanı 16px olduğunda 1.6rem, 16px'e karşılık gelir.
md
1.8rem
Yayımlanmış $fds-font-sizes girdisi. Varsayılan kök boyutu, tarayıcının yazı tipi tercihini gözeterek %62,5'tir; tarayıcı varsayılanı 16px olduğunda 1.6rem, 16px'e karşılık gelir.
lg
2.0rem
Yayımlanmış $fds-font-sizes girdisi. Varsayılan kök boyutu, tarayıcının yazı tipi tercihini gözeterek %62,5'tir; tarayıcı varsayılanı 16px olduğunda 1.6rem, 16px'e karşılık gelir.
xl
2.1rem
Yayımlanmış $fds-font-sizes girdisi. Varsayılan kök boyutu, tarayıcının yazı tipi tercihini gözeterek %62,5'tir; tarayıcı varsayılanı 16px olduğunda 1.6rem, 16px'e karşılık gelir.
2xl
2.2rem
Yayımlanmış $fds-font-sizes girdisi. Varsayılan kök boyutu, tarayıcının yazı tipi tercihini gözeterek %62,5'tir; tarayıcı varsayılanı 16px olduğunda 1.6rem, 16px'e karşılık gelir.
3xl
2.4rem
Yayımlanmış $fds-font-sizes girdisi. Varsayılan kök boyutu, tarayıcının yazı tipi tercihini gözeterek %62,5'tir; tarayıcı varsayılanı 16px olduğunda 1.6rem, 16px'e karşılık gelir.
4xl
2.8rem
Yayımlanmış $fds-font-sizes girdisi. Varsayılan kök boyutu, tarayıcının yazı tipi tercihini gözeterek %62,5'tir; tarayıcı varsayılanı 16px olduğunda 1.6rem, 16px'e karşılık gelir.
5xl
3.2rem
Yayımlanmış $fds-font-sizes girdisi. Varsayılan kök boyutu, tarayıcının yazı tipi tercihini gözeterek %62,5'tir; tarayıcı varsayılanı 16px olduğunda 1.6rem, 16px'e karşılık gelir.
6xl
4.0rem
Yayımlanmış $fds-font-sizes girdisi. Varsayılan kök boyutu, tarayıcının yazı tipi tercihini gözeterek %62,5'tir; tarayıcı varsayılanı 16px olduğunda 1.6rem, 16px'e karşılık gelir.
7xl
4.8rem
Yayımlanmış $fds-font-sizes girdisi. Varsayılan kök boyutu, tarayıcının yazı tipi tercihini gözeterek %62,5'tir; tarayıcı varsayılanı 16px olduğunda 1.6rem, 16px'e karşılık gelir.
03
Det Fælles Designsystem Tasarım Sistemi Eksiksiz Kılavuz
Bu sistemi gerçek bir arayüz için seçmeye, uygulamaya ve gözden geçirmeye yönelik pratik bir kılavuz.
DESIGN-denmark-fds.md
Eksiksiz yönlendirme, uygulama için başlangıç noktası ve kaynak bağlantıları.
Det Fælles Designsystem Tasarım Sistemi DKFDS Teması ve Uygulama Kapsamı
Borger.dk veya Virk temasını bilinçli olarak seçin
Det Fælles Designsystem, Borger.dk ve Virk için ayrı stil sayfaları sunar. Bu örnek, dkfds 11.3.0 sürümünü sabitler ve Borger.dk stil sayfasını kullanarak temanın karakteristik yeşil birincil denetimlerini ve IBM Plex Sans metnini sağlar. Yalnızca tek bir düğmenin rengini değiştirip buna eksiksiz tema değişikliği demez. Farklı bir tema, bilinçli bir uygulama tercihi olarak yüklenmelidir.
Özgün sıralamayı kütüphaneye atfetmeyin
Yayımlanmış tablo yönergeleri, tablo işaretlemesini ve stillerini sağlar ancak sıralama ve arama davranışını açıkça uygulamaya bırakır. Önizleme, her ikisinin de eksiksiz özgün uygulamasını içerir. Bu ayrım önemlidir: DKFDS JavaScript dosyasını içe aktarmak, rastgele bir tabloyu aranabilir ve sıralanabilir bir veri görünümüne dönüştürmez.
Det Fælles Designsystem Tasarım Sistemi Sass Değerleri ve Temel Ritim
Kaynak haritalarını kaynak haritası olarak değerlendirin
Bu referans, uydurulmuş --token adları yerine gerçek Sass değerlerini kaydeder. Boşluk haritasında 8px taban kullanılır; 305 gibi anahtarlar 12px, 405 gibi anahtarlar ise 20px anlamına gelir. Geliştirici, bu sayıları doğrudan piksel değeri olarak ele almak yerine kütüphanenin yardımcı işlevini veya ilgili yardımcı sınıf kurallarını kullanmalıdır. Parametre tablosu eşlemeyi görünür kılar.
Kök yazı tipi boyutu kuralına uyun
Varsayılan kök boyutu, tarayıcının yazı tipi tercihini gözeterek %62,5'tir. Bu nedenle kaynak yazı tipi boyutu haritasında, tarayıcının olağan varsayılanı altında standart küçük/gövde adımı için 1.6rem bulunur. Bir rem değerini farklı kök boyutu ortamına kopyalamak sonucu önemli ölçüde değiştirebilir. Örnek, tipografi ve boşluk bağlamının tutarlı kalması için gerçek stil sayfasını yükler.
Det Fælles Designsystem Tasarım Sistemi Anlamsal Tablo Yapısı
Başlık ve belirgin sütun rolleri kullanın
Kaynak karşılaştırma tablosunda bir açıklama, sütun başlıkları ve olağan veri hücreleri bulunur. Kullanıcılar bu özellikleri karşılaştırdığından başlıklar, biçimler, sayısal dakika değerleri ve amaçlar ayrı sütunlarda yer alır. Okuma süreleri, ölçülmüş trafik veya performans istatistikleri değil, örnek için yazılmış tahminlerdir. Açıklama, tablonun yapısını değiştirmeden bu sınırı belirtir.
Açıklayıcı bir tablo başlığı ve sütun başlıkları sağlayın.
Sayısal verileri uygulama modelinde sayı olarak tutun.
Dar ekranlarda kaydırılabilir bölgeyi odaklanabilir olarak etiketleyin.
Mobil kaydırmayı tablonun içinde tutun
Sıralanabilir tablo, odaklanabilir ve duyarlı bir kaydırma bölgesinde yer alır. Minimum genişliği okunabilir sütunları korurken dış sayfanın görünüm alanı içinde kalmasını sağlar. Örnek, dar ekranda sıralama tablosunu ilgisiz kartlara dönüştürmez; böyle bir değişiklik farklı bir gezinme ve sıralama denetimi kuralı gerektirirdi. Klavye kullanıcısı kaydırma bölgesine odaklanabilir.
Det Fælles Designsystem Tasarım Sistemi Sıralama Durumu ve Sayısal Karşılaştırma
Tek bir etkin sıralamayı koruyun
Başlık sütunu artan sırayla sıralanmaya başlar. Aynı başlığı etkinleştirmek sıralama yönünü tersine çevirir; dakika sütununu seçmek ise artan sırayla sıralamayı başlatır. aria-sort yalnızca etkin başlıkta bulunur ve her düğmenin gizli yönergesi bir sonraki işlemi açıklar. Görünür ok, bağımsız bir süsleme olmak yerine aynı durumu yansıtır.
Sayıları sayı olarak karşılaştırın
Det Fælles Designsystem Tasarım Sistemi Gönderilen Arama ve Boş Sonuçtan Kurtarma
Sorguyu gönderildiğinde uygulayın
Form gönderildiğinde, Enter tuşuyla gönderim de dahil olmak üzere arama, görüntülenen tüm özelliklerde filtreleme yapar. Yalnızca yazı yazmak tablonun okuyucunun önünde değişmesine yol açmaz. Durum bildirimi görünür kayıt sayısını ve geçerli sıralamayı belirtirken sorgu alanda kalır. Bu yaklaşım, örnek için seçilen gönderimli arama modeline uygundur.
Sıralamayı kaybetmeden sorguyu sıfırlayın
Eşleşme bulunmayan bir sorgu, kurtarma mesajını gösterir. Sıfırlama, seçili sıralama sütununu ve yönünü koruyarak tüm satırları geri yükler ve odağı arama alanına taşır. Böylece arama ve sıralama ayrı durum değişkenleri olarak kalır. Beş satırlık veri kümesinin tamamı zaten yerel olduğundan yapay bir yüklenme durumu yoktur.
Det Fælles Designsystem Tasarım Sistemi Eksiksiz Çalışan Entegrasyon
11.3.0 paketinin dışa aktarma haritası, rastgele CSS derin içe aktarımlarını değil, JavaScript girişini sunar. Kurulum, dağıtımı public/dkfds konumuna kopyalar ve stil sayfasını index.html dosyasına bağlayarak göreli yazı tipi ve görsel yollarını korur. Sağlanan main.js ve denmark.css dosyalarını bu kabukla aynı konuma kaydedin. Yerel önizleme, güvenilir inceleme için aynı varlıkları içerir.
dkfds 11.3.0 sürümünü yükleyin ve dağıtımını public/dkfds konumuna kopyalayın.
Borger.dk stil sayfasını yüklemek için sağlanan HTML kabuğunu kullanın.
Tam giriş dosyasını ve CSS dosyasını kaydedin, ardından yerel uygulamayı çalıştırın.
Sayısal sıralamayı, gönderilen aramayı, sıfırlamayı ve dahili mobil kaydırmayı doğrulayın.
Karşılaştırma akışının tamamını kontrol edin
Dakikaları her iki yönde de sıralayın, eşleşme bulunmayan bir arama gönderin ve sıfırlayın. Template araması yapın ve geçerli sıralama korunurken yalnızca iki şablon satırının kaldığını doğrulayın. Telefon genişliğinde tabloyu kendi içinde kaydırın ve sayfanın taşmadığını kontrol edin. Bu kontrol, paketle gelen tüm varlıkların yüklendiğini ve tarayıcı hatası olmadığını da doğrular.
Det Fælles Designsystem Tasarım Sistemi Bileşen Örnekleri
main.js — karşılaştırma davranışının tamamı
Özgün verilerin tamamı, sayısal/metinsel sıralama, gönderimle filtreleme ve sıfırlama.
JavaScript
// index.html loads /dkfds/css/dkfds-borgerdk.css from the copied distribution.
import './denmark.css';
const rows=[{name:'Content inventory',type:'Worksheet',minutes:25,note:'Map the purpose and owner of each section.'},{name:'Accessibility review',type:'Checklist',minutes:30,note:'Inspect keyboard use, reading order and clear labels.'},{name:'Research questions',type:'Template',minutes:15,note:'Separate assumptions from questions that need evidence.'},{name:'Decision summary',type:'Template',minutes:10,note:'Record a choice, its reason and what remains uncertain.'},{name:'Prototype walkthrough',type:'Guide',minutes:20,note:'Walk through one realistic task and note friction.'}];let key='name',direction=1,query='';document.getElementById('root').innerHTML=`<main><p class="eyebrow">DET FÆLLES DESIGNSYSTEM / ORIGINAL TABLE STUDY</p><h1>Find a planning resource</h1><p class="lead">Compare five authored resources. Search the full table or sort by title and estimated reading time.</p><form id="search-form"><label class="form-label" for="search">Search sample resources</label><div class="search-controls"><input class="form-input" id="search" type="search"><button class="button button-primary" type="submit">Search</button><button class="button button-secondary" id="reset" type="button">Reset</button></div></form><p id="count" role="status"></p><div class="table--responsive-scroll" tabindex="0" role="region" aria-label="Resource comparison table"><table class="table" id="resource-table"><caption>Original resource comparison; reading times are sample estimates</caption><thead><tr><th scope="col" id="name-head" aria-sort="ascending"><button class="button button-unstyled sort" data-key="name">Resource title <span class="arrow" aria-hidden="true">↑</span><span class="sr-only"> — sort descending</span></button></th><th scope="col">Format</th><th scope="col" id="minutes-head"><button class="button button-unstyled sort" data-key="minutes">Minutes <span class="arrow" aria-hidden="true">↕</span><span class="sr-only"> — sort ascending</span></button></th><th scope="col">Purpose</th></tr></thead><tbody id="rows"></tbody></table></div><section id="empty" hidden><h2>No matching resource</h2><p>Try a shorter word, a format such as Template, or reset the search.</p></section><aside><h2>About this table</h2><p>The Borger.dk theme and table styling are from DKFDS 11.3.0. Search and sorting are complete original JavaScript: the published table component does not implement them for you.</p><ul><li>Search is applied when you submit the form.</li><li>A selected column always has an active sort order.</li><li>On a narrow screen, scroll the table without moving the whole page.</li></ul></aside></main>`;const $=id=>document.getElementById(id);function render(){const list=rows.filter(r=>Object.values(r).join(' ').toLowerCase().includes(query)).sort((a,b)=>direction*(key==='minutes'?a.minutes-b.minutes:a.name.localeCompare(b.name)));$('rows').replaceChildren(...list.map(r=>{const tr=document.createElement('tr');[r.name,r.type,String(r.minutes),r.note].forEach(value=>{const td=document.createElement('td');td.textContent=value;tr.append(td)});return tr}));$('count').textContent=list.length+' of '+rows.length+' resources · sorted by '+(key==='name'?'title':'minutes')+' '+(direction===1?'ascending':'descending');$('empty').hidden=!!list.length;document.querySelectorAll('.sort').forEach(b=>{const active=b.dataset.key===key;active?b.parentElement.setAttribute('aria-sort',direction===1?'ascending':'descending'):b.parentElement.removeAttribute('aria-sort');b.querySelector('.arrow').textContent=active?(direction===1?'↑':'↓'):'↕';b.querySelector('.sr-only').textContent=' — sort '+(active&&direction===1?'descending':'ascending')})}$('search-form').addEventListener('submit',e=>{e.preventDefault();query=$('search').value.trim().toLowerCase();render()});$('reset').addEventListener('click',()=>{$('search').value='';query='';render();$('search').focus()});document.querySelectorAll('.sort').forEach(b=>b.addEventListener('click',()=>{direction=key===b.dataset.key?-direction:1;key=b.dataset.key;render()}));render();
Vite kök dizinindeki index.html dosyasını bu kabukla değiştirin.
04
Det Fælles Designsystem Tasarım Sistemi Agent Kurulumu
Uygulamaya Başlangıç Noktası
Resmî stil sayfası ve yazı tipleri yerel olarak çalışır. Sıralama ve filtreleme uygulamanın sorumluluğundadır; bu statik tablo biçimlendirmesi için DKFDS.init çağrısı gerekmez.
sh
npm create vite@latest dkfds-table -- --template vanilla
cd dkfds-table
npm install
npm install [email protected]
mkdir -p public/dkfds
cp -R node_modules/dkfds/dist/. public/dkfds/
# Replace index.html, src/main.js and src/denmark.css with the supplied examples.
npm run dev
Projeniz İçin Bir İstem
Ajan İstemi
Gerçek 11.3.0 Borger.dk dağıtımını ve yazı tipi bağlamını kullanarak DKFDS kaynak karşılaştırmasını oluşturun. Özgün sayısal ve başlık sıralamasının tamamını, tek bir etkin aria-sort başlığını, gönderilen aramayı, kayıt sayısı geri bildirimini ve sıralamayı koruyan sıfırlama davranışını uygulayın. Tabloyu, klavyeyle erişilebilen kendi bölgesinde yatay olarak kaydırılabilir tutun.
05
Det Fælles Designsystem Tasarım Sistemi Kaynakları ve Kapsamı
DKFDS 11.3.0 Borger.dk stillerini ve yazı tiplerini kullanan, özgün bir OpenDesign karşılaştırması. Sıralama, arama ve örnek veriler, yerleşik DKFDS tablo davranışları değil, uygulamaya ait özgün kodun tamamıdır.