{"_id":"@dustur/tasarim-sistemi","name":"@dustur/tasarim-sistemi","dist-tags":{"latest":"1.2.1"},"versions":{"1.2.1":{"name":"@dustur/tasarim-sistemi","version":"1.2.1","description":"DÜSTUR · T.C. Mevzuat Tasarım Sistemi · Türkiye Cumhuriyeti mevzuat sisteminin kromatik, tipografik, jeton ve UI yüzey doktrini.","license":"SEE LICENSE IN LICENSE","type":"module","main":"css/dustur.css","style":"css/dustur.css","engines":{"node":">=20.0.0","npm":">=10.0.0"},"exports":{".":{"style":"./css/dustur.css","default":"./css/dustur.css"},"./tokens":"./tokens/index.json","./tokens/*":"./tokens/*","./css/*":"./css/*","./themes/high-contrast":"./css/themes/high-contrast.css","./themes/reduced-motion":"./css/themes/reduced-motion.css","./themes/print":"./css/themes/print.css","./fonts":"./css/fonts.css","./akn":"./css/akn/element-styles.css","./dist/*":"./dist/*"},"scripts":{"lint":"node scripts/lint-tokens.mjs","lint:tokens":"node scripts/lint-tokens.mjs","lint:strict":"LINT_STRICT=1 node scripts/lint-tokens.mjs","check:contrast":"node scripts/check-contrast.mjs --strict","check:diacritics":"node scripts/check-diacritics.mjs","check:locked":"node scripts/check-locked.mjs","check:colorblind":"node scripts/check-colorblind.mjs","check:akn":"node scripts/check-akn.mjs","check:visual":"PLAYWRIGHT_BROWSERS_PATH=/opt/pw-browsers node scripts/visual-regression.mjs","check:visual:baseline":"PLAYWRIGHT_BROWSERS_PATH=/opt/pw-browsers node scripts/visual-regression.mjs --baseline","check:visual:strict":"PLAYWRIGHT_BROWSERS_PATH=/opt/pw-browsers node scripts/visual-regression.mjs --strict","check:all":"npm run lint && npm run check:contrast && npm run check:diacritics && npm run check:locked && npm run check:colorblind && npm run check:akn","verify":"npm run check:all && npm run build","build":"node scripts/sd-config.mjs","build:sd":"node scripts/sd-config.mjs","build:fallback":"node scripts/build-css-from-tokens.mjs","build:sourcemap":"node scripts/build-css-sourcemap.mjs","build:fonts":"node scripts/subset-fonts.mjs","build:all":"npm run build && npm run build:sourcemap","report:usage":"node scripts/token-usage-map.mjs","report:all":"npm run check:contrast && npm run check:colorblind && npm run report:usage","preview":"python3 -m http.server 8080 || python -m http.server 8080","showcase:shoot":"PLAYWRIGHT_BROWSERS_PATH=/opt/pw-browsers node scripts/showcase-shoot.mjs","pdf":"pagedjs-cli reference/dustur-source.html -o dustur.pdf","clean":"rm -rf dist/ node_modules/.cache/","prepublishOnly":"npm run check:all && npm run build:all"},"devDependencies":{"playwright":"^1.60.0","style-dictionary":"^4.0.0"},"dependencies":{"pixelmatch":"^7.2.0","pngjs":"^7.0.0"},"keywords":["design-system","design-tokens","w3c-dtcg","turkish-government","mevzuat","typography","legal-design","akoma-ntoso","wcag-aaa","apca","variable-fonts","print-first","paged-js","tr","turkish"],"repository":{"type":"git","url":"git+https://github.com/mahirkurt/Dustur.git"},"bugs":{"url":"https://github.com/mahirkurt/Dustur/issues"},"homepage":"https://github.com/mahirkurt/Dustur#readme","author":{"name":"Düstur Tasarım Sistemi Ekibi"},"publishConfig":{"access":"public","provenance":true},"_id":"@dustur/tasarim-sistemi@1.2.1","gitHead":"317d82bf4a0c9171f76f35ed451e3040f59c8f62","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-+w2H9xnFP1wHcPCQ34I7TdBIZGHtKdz/HDyrjAsnUZE3CYa+cXf8ReUXMEAs3co/FpcRBLG/SApnuxCoo9nP9g==","shasum":"b1c159bde1c9c97f63429557bf7f0d5abec183fe","tarball":"https://registry.npmjs.org/@dustur/tasarim-sistemi/-/tasarim-sistemi-1.2.1.tgz","fileCount":67,"unpackedSize":1284844,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dustur%2ftasarim-sistemi@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCID5FHpbAg/1F/0dWsWUcaFa0MgFQCCJ+j2JRAtRRc7W5AiEAlVEDpPBlDG0YPNyRsVQA5BloBkcYgmuLs79qpvHiOFs="}]},"_npmUser":{"name":"duhan-admin","email":"drmahirkurt@gmail.com"},"directories":{},"maintainers":[{"name":"duhan-admin","email":"drmahirkurt@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tasarim-sistemi_1.2.1_1779850725993_0.7530583647869129"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-27T02:58:45.859Z","1.2.1":"2026-05-27T02:58:46.170Z","modified":"2026-05-27T02:58:46.508Z"},"maintainers":[{"name":"duhan-admin","email":"drmahirkurt@gmail.com"}],"description":"DÜSTUR · T.C. Mevzuat Tasarım Sistemi · Türkiye Cumhuriyeti mevzuat sisteminin kromatik, tipografik, jeton ve UI yüzey doktrini.","homepage":"https://github.com/mahirkurt/Dustur#readme","keywords":["design-system","design-tokens","w3c-dtcg","turkish-government","mevzuat","typography","legal-design","akoma-ntoso","wcag-aaa","apca","variable-fonts","print-first","paged-js","tr","turkish"],"repository":{"type":"git","url":"git+https://github.com/mahirkurt/Dustur.git"},"author":{"name":"Düstur Tasarım Sistemi Ekibi"},"bugs":{"url":"https://github.com/mahirkurt/Dustur/issues"},"license":"SEE LICENSE IN LICENSE","readme":"# DÜSTUR\n\n**T.C. Mevzuat Tasarım Sistemi · Stratejik Çerçeve**\n\n[![CI](https://github.com/mahirkurt/Dustur/actions/workflows/ci.yml/badge.svg)](https://github.com/mahirkurt/Dustur/actions/workflows/ci.yml)\n[![Visual Regression](https://github.com/mahirkurt/Dustur/actions/workflows/visual.yml/badge.svg)](https://github.com/mahirkurt/Dustur/actions/workflows/visual.yml)\n[![Pages](https://github.com/mahirkurt/Dustur/actions/workflows/pages.yml/badge.svg)](https://mahirkurt.github.io/Dustur/)\n[![npm version](https://img.shields.io/npm/v/@dustur/tasarim-sistemi.svg)](https://www.npmjs.com/package/@dustur/tasarim-sistemi)\n[![License](https://img.shields.io/badge/license-See%20LICENSE-blue.svg)](./LICENSE)\n[![W3C DTCG](https://img.shields.io/badge/tokens-W3C%20DTCG-green.svg)](./tokens/)\n[![WCAG 2.1 AAA](https://img.shields.io/badge/a11y-WCAG%202.1%20AAA-brightgreen.svg)](./docs/03-color/colorblind-strategy.md)\n[![Akoma Ntoso](https://img.shields.io/badge/AKN-OASIS%203.0-purple.svg)](./tokens/akoma-ntoso/)\n\nTürkiye Cumhuriyeti mevzuat sisteminin kromatik, tipografik, jeton ve UI yüzey doktrini. Anayasa'dan Tebliğ'e tüm normlara — basılı belgeden mobil arayüze tüm yüzeylere — tek bir devredilebilir kaynak.\n\n🌐 **Live demo:** https://mahirkurt.github.io/Dustur/\n📦 **NPM:** `npm install @dustur/tasarim-sistemi`\n📜 **Reference PDF:** [`reference/dustur-source.html`](./reference/dustur-source.html) (~100 sayfa, Paged.js)\n\n---\n\n## Bu Repository Nedir\n\nBu repo, sistemin **tek-kaynak-doğruluk** (single source of truth) deposudur:\n\n- **`tokens/`** — W3C DTCG jetonları (primitive · semantic · component · akoma-ntoso). Sistemin makine-okunabilir anayasası.\n- **`css/`** — Web/print uygulama katmanı. CSS `@layer` cascade · base · components · themes (HC/RM/print) · Akoma Ntoso element stilleri.\n- **`docs/`** — Doktrin belgesi. 7 ana bölüm + ön/arka-matter + sözlük.\n- **`reference/`** — Tam orijinal kaynak HTML. Print-ready, Paged.js uyumlu, A4 PDF üretimi.\n- **`examples/`** — Canlı galeri (`index.html`) + yüzey örnekleri + AKN XML + anatomi SVG + do/don't.\n- **`scripts/`** — Token lint, contrast audit (WCAG+APCA), diakritik audit, usage map, fallback build.\n- **`.github/`** — CI workflow, Issue/PR templates, CODEOWNERS, dependabot.\n- **`assets/`** — Selçuklu motif kütüphanesi, sigil, mühür SVG'leri.\n\n---\n\n## Mimarisi\n\n```\nDustur/\n├── tokens/                         W3C DTCG · single source of truth\n│   ├── primitives/                 — Ham değer kütüphanesi (~140 jeton)\n│   │   ├── color.json              · 6 aile × 12 step · $extensions kaynak/kilit\n│   │   ├── typography.json         · 3 variable font + axis · lisans meta\n│   │   ├── space.json              · 12-step modular (4mm base)\n│   │   ├── radius.json, motion.json, z-index.json\n│   ├── semantic/                   — Rol-bağlam (~80 jeton)\n│   │   ├── tier.json, action.json, surface.json, typography.json\n│   ├── component/                  — Bileşen-düzeyi (üçüncü katman)\n│   │   ├── rozet.json, yuzey.json, atif-modal.json\n│   ├── akoma-ntoso/                — XML element eşlemesi\n│   │   ├── element-map.json        · AKN → CSS class → semantic jeton\n│   │   └── eli-uri.schema.json     · TR ELI URI JSON Schema\n│   └── index.json                  · Manifest + LOCKED jeton listesi\n│\n├── css/                            Web/print uygulama · @layer cascade\n│   ├── tokens/                     · primitives.css · semantics.css\n│   ├── base/                       · reset · typography · print\n│   ├── components/                 · badges · code-block · quote-block · token-card\n│   ├── themes/                     · high-contrast · reduced-motion · print\n│   ├── akn/                        · element-styles.css (AKN XML render)\n│   └── dustur.css                  · @layer ile bundled\n│\n├── docs/                           Doktrin belgesi · 7 bölüm + sözlük\n│   ├── 00-overview / 01-manifesto / 02-typography / 03-color\n│   ├── 04-tokens / 05-ui-surface / 06-akoma-ntoso / 07-governance\n│   └── glossary/                   · Tipografik · Kromatik · Hukuk\n│\n├── examples/                       Canlı galeri + örnekler\n│   ├── index.html                  · Sticky-nav component galerisi (tema switcher)\n│   ├── madde-detay.html · badge-galeri.html\n│   ├── akn/                        · TCK Madde 220 XML + render\n│   ├── anatomy/                    · Annotated SVG anatomi diyagramları\n│   └── do-dont/                    · Yapın/Yapmayın pattern library\n│\n├── scripts/                        Audit + build (zero-dependency ESM)\n│   ├── lint-tokens.mjs             · DTCG + referans çözümleme\n│   ├── check-contrast.mjs          · WCAG + APCA · CI strict\n│   ├── check-diacritics.mjs        · TR diakritik audit\n│   ├── token-usage-map.mjs         · Kullanılan/ölü token raporu\n│   └── build-css-from-tokens.mjs   · Style Dictionary fallback\n│\n├── .github/                        Yönetişim + CI\n│   ├── workflows/                  · ci.yml · release.yml\n│   ├── ISSUE_TEMPLATE/             · jeton-rfc · hata-raporu · doc\n│   ├── pull_request_template.md, CODEOWNERS, dependabot.yml\n│\n├── reference/dustur-source.html    Tam orijinal kaynak · Paged.js A4 PDF\n├── assets/motifs/                  Selçuklu rozet · sigil · chain SVG'leri\n│\n├── package.json · style-dictionary.config.json\n├── CONTRIBUTING.md · CHANGELOG.md · SECURITY.md · CODE_OF_CONDUCT.md\n└── README.md                       (bu dosya)\n```\n\n---\n\n## Hızlı Başlangıç\n\n### 1) CSS olarak kullanım (web · print)\n\n```html\n<link rel=\"stylesheet\" href=\"https://unpkg.com/@dustur/tasarim-sistemi/css/dustur.css\">\n```\n\nVeya modüler:\n\n```css\n@import \"@dustur/tasarim-sistemi/css/tokens/primitives.css\";\n@import \"@dustur/tasarim-sistemi/css/tokens/semantics.css\";\n@import \"@dustur/tasarim-sistemi/css/base/typography.css\";\n@import \"@dustur/tasarim-sistemi/css/components/badges.css\";\n```\n\nSonra bileşenler doğrudan semantic jetonlar üzerinden çalışır:\n\n```html\n<span class=\"yuzey-badge kanun\">KANUN</span>\n<span class=\"yuzey-badge anayasa\">ANAYASA</span>\n<span class=\"yuzey-badge teblig\">TEBLİĞ</span>\n```\n\n### 2) Cross-platform export (Style Dictionary)\n\n```bash\nnpm install\nnpm run build:sd   # Style Dictionary tam pipeline (5 platform)\nnpm run build      # Style Dictionary'siz fallback (sadece CSS)\n```\n\nÇıktı `dist/` altında üretilir:\n\n| Platform | Dosya | Format |\n|---|---|---|\n| Web | `dist/web/tcm-tokens.css` | CSS Custom Properties |\n| iOS | `dist/ios/TCMTokens.swift` | Swift constants |\n| Android | `dist/android/colors.xml` · `dimens.xml` | Android resources |\n| DTCG | `dist/dtcg/tcm-tokens.json` | W3C DTCG JSON |\n| TS | `dist/ts/tokens.ts` | TypeScript/ES6 |\n\n### 3) Audit / Quality\n\n```bash\nnpm run check:all          # token lint + contrast + diakritik\nnpm run check:contrast     # WCAG + APCA matrisi (strict mode CI'da fail)\nnpm run report:usage       # Hangi token nerede kullanılıyor / ölü kod tespiti\n```\n\nCI'da `.github/workflows/ci.yml` her PR'da bu auditleri çalıştırır.\n\n### 4) Tema Değiştirme\n\n```html\n<!-- Otomatik (prefers-contrast / prefers-reduced-motion / print) -->\n<html>\n\n<!-- Manuel ekran/baskı/yüksek kontrast -->\n<html data-tema=\"ekran\">\n<html data-tema=\"baski\">\n<html data-tema=\"yuksek-kontrast\">\n```\n\n### 5) Canlı Galeri\n\n```bash\nnpm run preview   # python http server :8080\n# Sonra http://localhost:8080/examples/\n```\n\n---\n\n## Doktriner Temel\n\n### Üç Evren Doktrini\n\nSistem üç bağımsız evreni tek doktrinde birleştirir:\n1. **Tipografik evren** — Fraunces (serif · mevzuat), Albert Sans (sans · UI), Recursive (mono · URI/veri)\n2. **Kromatik evren** — Kompozit palet: TBK · Turkuvaz · Bordo · Lacivert · Amber\n3. **Geometrik evren** — Selçuklu motif kütüphanesi · sabit 0 radius · sade keskin köşe\n\n### Kromatik Mührler · Mevzuat Kademeleri\n\n| Kademe | Renk | Hex (Step 9) | Doktriner Kaynak |\n|---|---|---|---|\n| **Anayasa** | TBK (Türk Bayrağı Kırmızısı) | `#E30A17` | TS 715/2010 standardı |\n| **AYM** | Cumhuriyet Lacivert | `#002664` | Devlet teamülü |\n| **CBK** | Düstûr Bordo | `#5C1A1B` | Yürütme mührü |\n| **Kanun** | Anadolu Selçuklu Turkuvazı | `#1A8B8C` | Karatay Medrese 1251 |\n| **Yönetmelik** | Turkuvaz lighter | `#43A1A2` | Yönetmelik tier |\n| **Tebliğ** | Tebliğ Amber | `#B45309` | Bakanlık mührü |\n| **Genelge** | Nötr Gri | `#525252` | İdari teamül |\n\n### Erişilebilirlik\n\n- **WCAG 2.1 AA** zorunlu, **WCAG 2.1 AAA** hedef.\n- **APCA** (WCAG 3.0 hazırlığı) kontrast hesaplaması her semantic jeton için belgeli.\n- TR diakritik audit: 6 karakter (Ç, Ğ, İ, Ö, Ş, Ü) tüm font ailelerinde tam destek.\n\n---\n\n## Jeton Yönetişim\n\nSistem **W3C DTCG Format Module** ve **Semantic Versioning 2.0.0** üzerinde inşa edilmiştir.\n\n| Bump | Tetikleyen |\n|---|---|\n| **MAJOR** | Jeton silme · yeniden adlandırma · scale tipolojik değişimi |\n| **MINOR** | Yeni jeton ekleme · yeni primitive aile · yeni semantic kategori |\n| **PATCH** | Mevcut jeton değer düzeltmesi · contrast iyileştirme · doc güncelleme |\n\nSorumluluk haritası, inceleme protokolü ve deprecation politikası: [`docs/07-governance/`](./docs/07-governance/) ve [`docs/04-tokens/`](./docs/04-tokens/).\n\n---\n\n## Belge Olarak Okuma (PDF)\n\nSistemin tam doktriner belgesi `reference/dustur-source.html`'tedir. Paged.js polyfill ile A4 PDF olarak basılır:\n\n```bash\n# Bir Paged.js çıktı aracıyla\npagedjs-cli reference/dustur-source.html -o dustur.pdf\n```\n\nBelge ~100 sayfa, 7 ana bölüm + ön/arka-matter içerir.\n\n---\n\n## Lisans\n\nİçerik · doktrin · görsel sistem: bkz. `LICENSE`.\n\nÜçüncü-taraf:\n- **Fraunces** — SIL OFL 1.1 (Undercase Type)\n- **Albert Sans** — SIL OFL 1.1 (Florian Karsten)\n- **Recursive** — SIL OFL 1.1 (Arrow Type)\n\n---\n\n## Katkıda Bulunmak\n\nBkz. [`CONTRIBUTING.md`](./CONTRIBUTING.md). Jeton değişiklik talepleri 4-aşamalı inceleme protokolüne tabidir.\n\n---\n\n> *\"Bir tasarım sistemi insan tarafından okunsa bile, makine tarafından uygulanmadığı sürece çoğaltılamaz, devredilemez, sürdürülemez.\"* — Bölüm IV, Jeton Mimarisi Doktrini\n","readmeFilename":"README.md","_rev":"1-771899b520577b87ac5c8840b868fdf7"}