tamga-ui 0.4.4 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/CHANGELOG.md +863 -0
  2. package/README.md +3 -1
  3. package/dist/blocks/count-row.d.ts +3 -8
  4. package/dist/blocks/count-row.d.ts.map +1 -1
  5. package/dist/blocks/count-row.js +3 -8
  6. package/dist/blocks/filter-bar.d.ts +42 -28
  7. package/dist/blocks/filter-bar.d.ts.map +1 -1
  8. package/dist/blocks/filter-bar.js +13 -5
  9. package/dist/blocks/index.d.ts +4 -17
  10. package/dist/blocks/index.d.ts.map +1 -1
  11. package/dist/blocks/index.js +4 -17
  12. package/dist/blocks/save-bar.d.ts +4 -12
  13. package/dist/blocks/save-bar.d.ts.map +1 -1
  14. package/dist/blocks/save-bar.js +4 -12
  15. package/dist/components/a11y.d.ts.map +1 -1
  16. package/dist/components/a11y.js +4 -15
  17. package/dist/components/advanced-input.d.ts +54 -48
  18. package/dist/components/advanced-input.d.ts.map +1 -1
  19. package/dist/components/advanced-input.js +64 -59
  20. package/dist/components/announcement.d.ts +34 -0
  21. package/dist/components/announcement.d.ts.map +1 -0
  22. package/dist/components/announcement.js +12 -0
  23. package/dist/components/appearance.d.ts +33 -1
  24. package/dist/components/appearance.d.ts.map +1 -1
  25. package/dist/components/appearance.js +78 -7
  26. package/dist/components/avatar.d.ts +28 -21
  27. package/dist/components/avatar.d.ts.map +1 -1
  28. package/dist/components/avatar.js +46 -22
  29. package/dist/components/badge.d.ts +54 -4
  30. package/dist/components/badge.d.ts.map +1 -1
  31. package/dist/components/badge.js +42 -9
  32. package/dist/components/bar.d.ts.map +1 -1
  33. package/dist/components/bar.js +4 -20
  34. package/dist/components/button.d.ts +15 -7
  35. package/dist/components/button.d.ts.map +1 -1
  36. package/dist/components/button.js +54 -8
  37. package/dist/components/chart.d.ts +5 -0
  38. package/dist/components/chart.d.ts.map +1 -1
  39. package/dist/components/chart.js +18 -11
  40. package/dist/components/checkbox.d.ts +23 -1
  41. package/dist/components/checkbox.d.ts.map +1 -1
  42. package/dist/components/checkbox.js +3 -4
  43. package/dist/components/chrome.d.ts +38 -54
  44. package/dist/components/chrome.d.ts.map +1 -1
  45. package/dist/components/chrome.js +55 -63
  46. package/dist/components/combobox.d.ts.map +1 -1
  47. package/dist/components/combobox.js +19 -3
  48. package/dist/components/data-table.d.ts +4 -4
  49. package/dist/components/data-table.d.ts.map +1 -1
  50. package/dist/components/data-table.js +15 -16
  51. package/dist/components/date-picker.d.ts.map +1 -1
  52. package/dist/components/date-picker.js +11 -4
  53. package/dist/components/disclosure.d.ts +17 -2
  54. package/dist/components/disclosure.d.ts.map +1 -1
  55. package/dist/components/disclosure.js +4 -8
  56. package/dist/components/display.d.ts +119 -94
  57. package/dist/components/display.d.ts.map +1 -1
  58. package/dist/components/display.js +103 -106
  59. package/dist/components/empty-state.d.ts +70 -52
  60. package/dist/components/empty-state.d.ts.map +1 -1
  61. package/dist/components/empty-state.js +40 -52
  62. package/dist/components/error-state.d.ts +21 -4
  63. package/dist/components/error-state.d.ts.map +1 -1
  64. package/dist/components/error-state.js +16 -6
  65. package/dist/components/file-upload.d.ts +45 -2
  66. package/dist/components/file-upload.d.ts.map +1 -1
  67. package/dist/components/file-upload.js +32 -7
  68. package/dist/components/gauge.d.ts +72 -9
  69. package/dist/components/gauge.d.ts.map +1 -1
  70. package/dist/components/gauge.js +52 -49
  71. package/dist/components/icons.d.ts +1 -1
  72. package/dist/components/icons.d.ts.map +1 -1
  73. package/dist/components/icons.js +4 -0
  74. package/dist/components/input.d.ts +21 -0
  75. package/dist/components/input.d.ts.map +1 -1
  76. package/dist/components/input.js +15 -1
  77. package/dist/components/layout.d.ts +47 -70
  78. package/dist/components/layout.d.ts.map +1 -1
  79. package/dist/components/layout.js +31 -73
  80. package/dist/components/link.d.ts +5 -10
  81. package/dist/components/link.d.ts.map +1 -1
  82. package/dist/components/live-scope.d.ts.map +1 -1
  83. package/dist/components/live-scope.js +5 -8
  84. package/dist/components/log-view.d.ts +32 -1
  85. package/dist/components/log-view.d.ts.map +1 -1
  86. package/dist/components/log-view.js +42 -15
  87. package/dist/components/number-input.d.ts +20 -2
  88. package/dist/components/number-input.d.ts.map +1 -1
  89. package/dist/components/number-input.js +32 -9
  90. package/dist/components/overlay.d.ts +69 -61
  91. package/dist/components/overlay.d.ts.map +1 -1
  92. package/dist/components/overlay.js +129 -78
  93. package/dist/components/pagination.d.ts.map +1 -1
  94. package/dist/components/pagination.js +12 -7
  95. package/dist/components/pie.d.ts.map +1 -1
  96. package/dist/components/pie.js +8 -7
  97. package/dist/components/primitives.d.ts +136 -6
  98. package/dist/components/primitives.d.ts.map +1 -1
  99. package/dist/components/primitives.js +73 -20
  100. package/dist/components/progress.d.ts +44 -9
  101. package/dist/components/progress.d.ts.map +1 -1
  102. package/dist/components/progress.js +21 -9
  103. package/dist/components/radio-group.d.ts.map +1 -1
  104. package/dist/components/radio-group.js +11 -12
  105. package/dist/components/rail-link.d.ts +17 -1
  106. package/dist/components/rail-link.d.ts.map +1 -1
  107. package/dist/components/rail-link.js +3 -3
  108. package/dist/components/rich-text.d.ts +8 -1
  109. package/dist/components/rich-text.d.ts.map +1 -1
  110. package/dist/components/rich-text.js +13 -19
  111. package/dist/components/says-bubble.d.ts +38 -0
  112. package/dist/components/says-bubble.d.ts.map +1 -0
  113. package/dist/components/says-bubble.js +6 -0
  114. package/dist/components/scroll-x.d.ts +23 -0
  115. package/dist/components/scroll-x.d.ts.map +1 -0
  116. package/dist/components/scroll-x.js +27 -0
  117. package/dist/components/section.d.ts +18 -1
  118. package/dist/components/section.d.ts.map +1 -1
  119. package/dist/components/section.js +12 -1
  120. package/dist/components/segmented.d.ts +17 -1
  121. package/dist/components/segmented.d.ts.map +1 -1
  122. package/dist/components/segmented.js +26 -6
  123. package/dist/components/skeleton.d.ts.map +1 -1
  124. package/dist/components/skeleton.js +1 -1
  125. package/dist/components/slider.d.ts +16 -2
  126. package/dist/components/slider.d.ts.map +1 -1
  127. package/dist/components/slider.js +12 -5
  128. package/dist/components/sparkline.d.ts +9 -2
  129. package/dist/components/sparkline.d.ts.map +1 -1
  130. package/dist/components/sparkline.js +9 -5
  131. package/dist/components/spinner.d.ts +16 -1
  132. package/dist/components/spinner.d.ts.map +1 -1
  133. package/dist/components/spinner.js +24 -1
  134. package/dist/components/square-picker.d.ts +4 -20
  135. package/dist/components/square-picker.d.ts.map +1 -1
  136. package/dist/components/square-picker.js +4 -20
  137. package/dist/components/stacked-bar.d.ts.map +1 -1
  138. package/dist/components/stacked-bar.js +5 -4
  139. package/dist/components/surface.d.ts +32 -3
  140. package/dist/components/surface.d.ts.map +1 -1
  141. package/dist/components/surface.js +11 -4
  142. package/dist/components/switch.d.ts +14 -1
  143. package/dist/components/switch.d.ts.map +1 -1
  144. package/dist/components/switch.js +2 -3
  145. package/dist/components/tabs.d.ts +35 -11
  146. package/dist/components/tabs.d.ts.map +1 -1
  147. package/dist/components/tabs.js +48 -5
  148. package/dist/components/timeline-strip.d.ts +28 -3
  149. package/dist/components/timeline-strip.d.ts.map +1 -1
  150. package/dist/components/timeline-strip.js +19 -8
  151. package/dist/components/tone.d.ts +51 -19
  152. package/dist/components/tone.d.ts.map +1 -1
  153. package/dist/components/tone.js +69 -15
  154. package/dist/components/tree-select.d.ts.map +1 -1
  155. package/dist/components/tree-select.js +10 -3
  156. package/dist/fonts/LICENSE-jetbrains-mono.txt +93 -0
  157. package/dist/fonts/LICENSE-onest.txt +93 -0
  158. package/dist/fonts/LICENSE-red-hat-display.txt +93 -0
  159. package/dist/fonts/jetbrains-mono-latin-ext-wght-normal.woff2 +0 -0
  160. package/dist/fonts/jetbrains-mono-latin-wght-normal.woff2 +0 -0
  161. package/dist/fonts/onest-latin-ext-wght-normal.woff2 +0 -0
  162. package/dist/fonts/onest-latin-wght-normal.woff2 +0 -0
  163. package/dist/fonts/red-hat-display-latin-ext-wght-normal.woff2 +0 -0
  164. package/dist/fonts/red-hat-display-latin-wght-normal.woff2 +0 -0
  165. package/dist/fonts.css +54 -0
  166. package/dist/index.d.ts +10 -7
  167. package/dist/index.d.ts.map +1 -1
  168. package/dist/index.js +9 -6
  169. package/dist/kit.css +3155 -648
  170. package/dist/lib/color.d.ts +8 -19
  171. package/dist/lib/color.d.ts.map +1 -1
  172. package/dist/lib/color.js +8 -19
  173. package/dist/lib/data-props.d.ts +4 -15
  174. package/dist/lib/data-props.d.ts.map +1 -1
  175. package/dist/lib/data-props.js +4 -15
  176. package/dist/lib/image.d.ts +4 -20
  177. package/dist/lib/image.d.ts.map +1 -1
  178. package/dist/lib/image.js +4 -20
  179. package/dist/lib/palette.d.ts +16 -20
  180. package/dist/lib/palette.d.ts.map +1 -1
  181. package/dist/lib/palette.js +136 -71
  182. package/dist/lib/scroll-lock.d.ts +4 -14
  183. package/dist/lib/scroll-lock.d.ts.map +1 -1
  184. package/dist/lib/scroll-lock.js +4 -14
  185. package/dist/patterns/app-shell.d.ts.map +1 -1
  186. package/dist/patterns/app-shell.js +4 -13
  187. package/dist/patterns/appearance-template.d.ts +20 -15
  188. package/dist/patterns/appearance-template.d.ts.map +1 -1
  189. package/dist/patterns/appearance-template.js +29 -8
  190. package/dist/patterns/list-template.d.ts.map +1 -1
  191. package/dist/patterns/list-template.js +1 -1
  192. package/dist/patterns/overview-template.d.ts.map +1 -1
  193. package/dist/patterns/overview-template.js +1 -1
  194. package/dist/patterns/settings-template.d.ts +1 -12
  195. package/dist/patterns/settings-template.d.ts.map +1 -1
  196. package/dist/patterns/settings-template.js +2 -2
  197. package/dist/patterns/shared.d.ts.map +1 -1
  198. package/dist/patterns/shared.js +8 -1
  199. package/dist/styles.css +2 -1
  200. package/dist/theme.css +94 -261
  201. package/package.json +3 -1
  202. package/dist/components/control-base.d.ts +0 -7
  203. package/dist/components/control-base.d.ts.map +0 -1
  204. package/dist/components/control-base.js +0 -6
package/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ <img src="https://tamga.org.tr/tamga-logo.png" alt="Tamga" width="280">
2
+
1
3
  # tamga-ui
2
4
 
3
5
  Mantıksal's shared interface library: tokens, physics and components.
@@ -131,7 +133,7 @@ document.documentElement.setAttribute("style", paletteCss(pair));
131
133
  ```
132
134
 
133
135
  This is the route whenever the colour can change at runtime (a settings screen): the tokens are
134
- written onto the root element and, because the kit's 87 classes read them, the whole panel turns
136
+ written onto the root element and, because the kit's 111 classes read them, the whole panel turns
135
137
  in one line with no CSS recompiled.
136
138
 
137
139
  ### Or by hand
@@ -1,14 +1,9 @@
1
1
  import type { ReactNode } from "react";
2
2
  /**
3
- * SAYAÇ SATIRI: tablonun tepesindeki tek satırlık okuma.
3
+ * SAYAÇ SATIRI · kaç kayda bakıldığı her zaman yazıyor. Sağ taraftaki iki şey
4
+ * (ekrana özel `aside`, sayfa boyu) isteğe bağlı; verilmezse çizilmiyor.
4
5
  *
5
- * KAÇ KAYIT OLDUĞU HER ZAMAN YAZIYOR. Filtre uygulandıktan sonra kaç kayda
6
- * bakıldığını söylemeyen bir liste, kullanıcıya saydırıyor.
7
- *
8
- * SAĞ TARAF İKİ ŞEY TAŞIYABİLİR ve ikisi de isteğe bağlı: ekrana özel ikinci
9
- * bir okuma (`aside` — "12 tanesi eşiği geçti" gibi) ve sayfa boyu seçimi.
10
- * İkincisi verilmezse hiç çizilmiyor: sayfalanmayan bir listeye sayfa boyu
11
- * sormak, olmayan bir kontrolü öğretmek.
6
+ * Gerekçe: docs/gerekce/08-blok-ve-sablon.md
12
7
  */
13
8
  export declare function CountRow({ count, unit, aside, pageSize, pageSizeOptions, onPageSize, labels, }: {
14
9
  count: number;
@@ -1 +1 @@
1
- {"version":3,"file":"count-row.d.ts","sourceRoot":"","sources":["../../src/blocks/count-row.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,eAAe,EACf,UAAU,EACV,MAAM,GACP,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,mHAAmH;IACnH,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,2JAA2J;IAC3J,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACjF,+BA0BA"}
1
+ {"version":3,"file":"count-row.d.ts","sourceRoot":"","sources":["../../src/blocks/count-row.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,eAAe,EACf,UAAU,EACV,MAAM,GACP,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,mHAAmH;IACnH,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,2JAA2J;IAC3J,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACjF,+BA0BA"}
@@ -3,15 +3,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Label } from "../components/surface.js";
4
4
  import { Select } from "../components/primitives.js";
5
5
  /**
6
- * SAYAÇ SATIRI: tablonun tepesindeki tek satırlık okuma.
6
+ * SAYAÇ SATIRI · kaç kayda bakıldığı her zaman yazıyor. Sağ taraftaki iki şey
7
+ * (ekrana özel `aside`, sayfa boyu) isteğe bağlı; verilmezse çizilmiyor.
7
8
  *
8
- * KAÇ KAYIT OLDUĞU HER ZAMAN YAZIYOR. Filtre uygulandıktan sonra kaç kayda
9
- * bakıldığını söylemeyen bir liste, kullanıcıya saydırıyor.
10
- *
11
- * SAĞ TARAF İKİ ŞEY TAŞIYABİLİR ve ikisi de isteğe bağlı: ekrana özel ikinci
12
- * bir okuma (`aside` — "12 tanesi eşiği geçti" gibi) ve sayfa boyu seçimi.
13
- * İkincisi verilmezse hiç çizilmiyor: sayfalanmayan bir listeye sayfa boyu
14
- * sormak, olmayan bir kontrolü öğretmek.
9
+ * Gerekçe: docs/gerekce/08-blok-ve-sablon.md
15
10
  */
16
11
  export function CountRow({ count, unit, aside, pageSize, pageSizeOptions, onPageSize, labels, }) {
17
12
  const format = labels?.format ?? ((n) => String(n));
@@ -1,34 +1,12 @@
1
1
  import { type ReactNode } from "react";
2
+ import type { IconGlyph } from "../components/icons.js";
3
+ import type { Tone } from "../components/tone.js";
2
4
  /**
3
- * FİLTRE ÇUBUĞU.
5
+ * FİLTRE ÇUBUĞU · birkaç alan üstte, gerisi çekmecede, VE çekmecede bir şey
6
+ * açıksa bunu görüyorsun: uygulanan her filtre tablonun üstünde bir çip.
7
+ * Çekmecedeki alanlar bir `<form>` içinde, yani Enter'ı tarayıcı uyguluyor.
4
8
  *
5
- * ─── NEDEN KİTTE ────────────────────────────────────────────────────────
6
- * Bir süre üründe durdu ve orada "kite taşınmadı, bilinçli" diye bir not
7
- * vardı: gerekçesi "Excel ile ara" ve "Tüm filtreler" gibi şeylerin bir
8
- * e-ticaret paneli kalıbı olması. Not yanlış çıktı ve iki sebeple:
9
- *
10
- * ① ADR-0003'ün katman şeması `tamga-ui` kutusunun içine zaten
11
- * "filtre paneli · toplu eylem çubuğu" yazıyor. Bir satır içi yorum,
12
- * kilitli bir ADR'yi geçersiz kılmaz.
13
- * ② Notun işaret ettiği sözlük SÖZCÜKLERDİ, mekanizma değil. Metinler
14
- * `labels`a çıkınca geriye kalan şey saf mekanizma: bir arama kutusu, en
15
- * çok dört alan, bir çekmece, ve uygulanan filtrelerin çipleri. Dosyayla
16
- * arama da bir alan adı değil bir yöntem; her yönetim listesi yapabilir.
17
- *
18
- * ─── ÜÇ MADDE, VE ÜÇÜNCÜSÜ EN ÖNEMLİSİ ──────────────────────────────────
19
- * Bir yönetim panelinin filtresi otuz alanı aynı anda açık tutmaya meyleder,
20
- * hepsi aynı görsel ağırlıkta. Buradaki fikir tek cümle: birkaçı üstte,
21
- * gerisi çekmecede, VE çekmecede bir şey açıksa bunu görüyorsun.
22
- *
23
- * Gizli bir filtre açıkken kullanıcı listeyi eksik görür ve sebebini bulamaz;
24
- * bu, filtreyi gizlemenin tek gerçek riski. O yüzden uygulanan her filtre
25
- * tablonun üstünde bir çip olarak duruyor, tek tıkla kalkıyor, ve çekmece
26
- * düğmesinde aktif sayıyı gösteren bir rozet var.
27
- *
28
- * ─── ENTER UYGULAR ──────────────────────────────────────────────────────
29
- * Çekmecedeki alanlar bir `<form>` içinde ve "Uygula" o formun `submit`
30
- * düğmesi, yani Enter tarayıcının kendi davranışıyla çalışıyor: dinlenen bir
31
- * tuş değil, formun anlamı.
9
+ * Gerekçe: docs/gerekce/08-blok-ve-sablon.md
32
10
  */
33
11
  /** Filtre durumunun tamamı: anahtar → dizgi. Boş dizgi "filtre yok" demek. */
34
12
  export type FilterValues = Record<string, string>;
@@ -48,6 +26,42 @@ export type FilterField = {
48
26
  kind: FilterFieldKind;
49
27
  /** Falls back to `optionSource[key]`; with neither, the list is empty. TR: Verilmezse `optionSource[key]` kullanılır; ikisi de yoksa liste boş. */
50
28
  options?: string[];
29
+ /**
30
+ * Start a new row before this field. TR: Bu alandan önce yeni bir satır başlat.
31
+ *
32
+ * WHY IT IS NOT AUTOMATIC. Fields wrap when they run out of room, and where
33
+ * they break is a question of pixels: the same bar breaks in one place on a
34
+ * laptop and another on a monitor. Sometimes the break is MEANING, not fit ·
35
+ * "what am I searching for" on one line, "how do I narrow it" on the next ·
36
+ * and only the caller knows which. Given, the break holds at every width.
37
+ * TR: NEDEN KENDİLİĞİNDEN OLMUYOR. Alanlar yer kalmayınca satır atlıyor ve
38
+ * nerede atladıkları bir piksel meselesi: aynı çubuk dizüstünde başka, geniş
39
+ * ekranda başka yerde kırılıyor. Bazen kırılma bir ANLAM ayrımı, sığma
40
+ * meselesi değil · "neyi arıyorum" bir satırda, "nasıl daraltıyorum" ötekinde
41
+ * · ve bunu yalnız çağıran biliyor. Verilirse kırılma her genişlikte duruyor.
42
+ */
43
+ break?: boolean;
44
+ /**
45
+ * A glyph before the value, naming what this filter is about. TR: Değerin
46
+ * önünde, bu filtrenin neyle ilgili olduğunu söyleyen glif.
47
+ *
48
+ * Five boxes side by side all reading "All" are told apart only by the label
49
+ * above them, so the eye travels up and back down for each one. TR: Yan yana
50
+ * duran ve hepsi "Tümü" yazan beş kutuyu ayıran tek şey üstlerindeki etiket
51
+ * oluyor; göz her biri için yukarı çıkıp geri iniyor.
52
+ */
53
+ icon?: IconGlyph;
54
+ /**
55
+ * A tone per option, for a filter whose items ARE states. TR: Öğeleri birer
56
+ * DURUM olan filtrede, seçenek başına ton.
57
+ *
58
+ * Keyed by the option's own text. The swatch it draws is the same square the
59
+ * table's chip draws, so the eye matches the list to the rows without reading
60
+ * either. Only where the option really is a state. TR: Anahtar, seçeneğin
61
+ * kendi metni. Çizdiği kare, tablodaki çipin çizdiği karenin aynısı · göz
62
+ * listeyi satırlara okumadan eşliyor. Yalnız seçenek gerçekten bir durumsa.
63
+ */
64
+ tones?: Record<string, Tone>;
51
65
  };
52
66
  export type FilterGroup = {
53
67
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"filter-bar.d.ts","sourceRoot":"","sources":["../../src/blocks/filter-bar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAWxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,8EAA8E;AAC9E,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAElD,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,QAAQ;AACV,2EAA2E;GACzE,YAAY;AACd;;;GAGG;GACD,OAAO;AACT,sEAAsE;GACpE,WAAW,CAAC;AAEhB,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC;IACtB,mJAAmJ;IACnJ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC;AAInE,eAAO,MAAM,UAAU,QAAS,MAAM,WAAkB,CAAC;AACzD,eAAO,MAAM,QAAQ,QAAS,MAAM,WAAgB,CAAC;AAErD,MAAM,MAAM,eAAe,GAAG;IAC5B,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,uJAAuJ;IACvJ,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAChC,2EAA2E;IAC3E,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACpF,wJAAwJ;IACxJ,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAChG,CAAC;AA+FF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,yIAAyI;IACzI,GAAG,EAAE,SAAS,WAAW,EAAE,CAAC;IAC5B,oHAAoH;IACpH,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/B,6HAA6H;IAC7H,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uKAAuK;IACvK,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+IAA+I;IAC/I,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,wGAAwG;IACxG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,QAAQ,EACR,GAAG,EACH,MAAM,EACN,YAAiB,EACjB,SAAe,EACf,aAAa,EACb,KAAK,EACL,MAAgB,EAChB,MAAM,GACP,EAAE,cAAc,+BA8MhB"}
1
+ {"version":3,"file":"filter-bar.d.ts","sourceRoot":"","sources":["../../src/blocks/filter-bar.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  "use client";
2
2
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useId, useState } from "react";
3
+ import { Fragment, useId, useState } from "react";
4
4
  import { Button, buttonVariants } from "../components/button.js";
5
- import { MiniButton } from "../components/button.js";
6
5
  import { Combobox } from "../components/combobox.js";
7
6
  import { MultiSelect } from "../components/advanced-input.js";
8
7
  import { DatePicker } from "../components/date-picker.js";
@@ -34,7 +33,16 @@ function FieldControl({ field, values, write, optionSource, locale, labels, }) {
34
33
  return (_jsx(Combobox, { className: "w-full", options: options.map((o) => ({ value: o, label: o })), value: values[field.key] || undefined, onChange: (v) => write(field.key, v ?? ""), placeholder: labels.all, labels: { empty: labels.noMatch, clear: labels.clear, open: labels.open(field.label) } }));
35
34
  }
36
35
  if (field.kind === "select") {
37
- return (_jsx(Select, { className: "w-full", options: [labels.all, ...options], value: values[field.key], onChange: (v) => write(field.key, v === labels.all ? "" : v), placeholder: labels.all }));
36
+ return (_jsx(Select, { className: "w-full", icon: field.icon, options: [
37
+ labels.all,
38
+ ...options.map((o) => (field.tones?.[o] ? { value: o, tone: field.tones[o] } : o)),
39
+ ],
40
+ /* BOŞ FİLTRE "TÜMÜ"NÜN KENDİSİ · liste açıldığında onay işareti orada
41
+ duruyor. Ama DOLU DEĞİL: `set` ayrı geçiliyor, yoksa "Tümü" yazan
42
+ her kutu kendini dolu sayıp çizgisini sertleştiriyordu ve çubuktaki
43
+ asıl süzen kutu öne çıkmayı bırakıyordu. İki ayrı soru, iki ayrı
44
+ prop: "listede hangisi seçili" ve "bu filtre uygulanmış mı". */
45
+ value: values[field.key] || labels.all, set: Boolean(values[field.key]), onChange: (v) => write(field.key, v === labels.all ? "" : v), placeholder: labels.all }));
38
46
  }
39
47
  return (_jsx(Input, { full: true, value: values[field.key] ?? "", onChange: (e) => write(field.key, e.target.value) }));
40
48
  }
@@ -67,8 +75,8 @@ export function FilterBar({ values, onChange, top, drawer, optionSource = {}, se
67
75
  return labels.search;
68
76
  return key === fileSearchKey ? (labels.fileSearch?.label ?? key) : key;
69
77
  };
70
- return (_jsxs("div", { className: "flex flex-col gap-3", children: [_jsxs("div", { className: "grid items-end gap-3 grid-cols-1 md:grid-cols-2 xl:grid-cols-[minmax(10rem,1fr)_repeat(4,minmax(0,1.25fr))_auto]", children: [_jsxs("label", { className: "flex min-w-0 flex-col gap-1.5", children: [_jsx("span", { className: "text-small font-medium text-ink", children: labels.search }), _jsxs("span", { className: "relative flex items-center", children: [_jsx(Icon, { icon: Search, size: "xs", "aria-hidden": true, className: "pointer-events-none absolute left-2.5 text-ink-faint" }), _jsx(Input, { type: "search", full: true, leading: true, placeholder: labels.search, value: values[searchKey] ?? "", onChange: (e) => write(searchKey, e.target.value) })] })] }), top.map((field) => (_jsxs("div", { className: "flex min-w-0 flex-col gap-1.5", children: [_jsx("span", { className: "text-small font-medium text-ink", children: field.label }), _jsx(FieldControl, { field: field, values: values, write: write, optionSource: optionSource, locale: locale, labels: labels })] }, field.key))), _jsxs(Button, { onClick: () => setDrawerOpen(true), children: [_jsx(Icon, { icon: Customize, size: "xs" }), labels.allFilters, hiddenActive > 0 && (_jsx("span", { className: "ml-1 rounded-full bg-[var(--color-accent)] px-1.5 text-micro font-semibold text-[var(--color-accent-ink)] tabular-nums", children: hiddenActive }))] }), extra] }), active.length > 0 && (_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [active.map(([key, value]) => (_jsxs("span", { className: "inline-flex items-center gap-1.5 rounded-(--radius-ctl) border border-[var(--color-edge)] bg-shell py-1 pl-2.5 pr-1 text-small text-ink", children: [_jsxs("span", { className: "text-ink-faint", children: [labelFor(key), ":"] }), value, _jsx(MiniButton, { "aria-label": labels.remove(labelFor(key)), onClick: () => write(key, ""), children: _jsx(Icon, { icon: Close, size: "xs" }) })] }, key))), _jsx(Button, { variant: "link", size: "sm", onClick: () => onChange({}), children: labels.clearAll })] })), _jsx(Sheet, { open: drawerOpen, onClose: () => setDrawerOpen(false), title: labels.allFilters, closeLabel: labels.calendar.clear, footer: _jsxs(_Fragment, { children: [_jsx(Button, { type: "button", onClick: () => onChange({}), children: labels.clear }), _jsx(Button, { type: "submit", form: formId, variant: "primary", children: labels.apply })] }), children: _jsxs("form", { id: formId, onSubmit: (e) => {
78
+ return (_jsxs("div", { className: "tamga-card tamga-card-open flex flex-col gap-3.5 p-4", children: [_jsxs("div", { className: "tamga-filter-row", children: [_jsxs("label", { className: "flex min-w-0 shrink grow-[2] basis-75 flex-col gap-1.5", children: [_jsx("span", { className: "text-small font-bold text-ink-faint", children: labels.search }), _jsxs("span", { className: "relative flex items-center", children: [_jsx(Icon, { icon: Search, size: "xs", "aria-hidden": true, className: "pointer-events-none absolute left-2.5 text-ink-faint" }), _jsx(Input, { type: "search", full: true, leading: true, placeholder: labels.search, value: values[searchKey] ?? "", onChange: (e) => write(searchKey, e.target.value) })] })] }), top.map((field) => (_jsxs(Fragment, { children: [field.break ? _jsx("span", { "aria-hidden": true, className: "h-0 basis-full" }) : null, _jsxs("div", { className: `flex min-w-0 shrink grow flex-col gap-1.5 ${field.kind === "dateRange" ? "basis-80" : "basis-40 tamga-filter-cap"}`, children: [_jsx("span", { className: "text-small font-bold text-ink-faint", children: field.label }), _jsx(FieldControl, { field: field, values: values, write: write, optionSource: optionSource, locale: locale, labels: labels })] })] }, field.key))), _jsxs(Button, { className: "ml-auto", onClick: () => setDrawerOpen(true), children: [_jsx(Icon, { icon: Customize, size: "xs" }), labels.allFilters, hiddenActive > 0 && (_jsx("span", { className: "tamga-count ml-1 tabular-nums", children: hiddenActive }))] }), extra] }), active.length > 0 && (_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [active.map(([key, value]) => (_jsxs("span", { className: "tamga-token", children: [_jsxs("span", { className: "font-normal text-ink-faint", children: [labelFor(key), ":"] }), value, _jsx("button", { type: "button", className: "tamga-token-x", "aria-label": labels.remove(labelFor(key)), onClick: () => write(key, ""), children: _jsx(Icon, { icon: Close, size: "xs" }) })] }, key))), _jsx(Button, { variant: "link", size: "sm", onClick: () => onChange({}), children: labels.clearAll })] })), _jsx(Sheet, { open: drawerOpen, onClose: () => setDrawerOpen(false), title: labels.allFilters, closeLabel: labels.calendar.clear, footer: _jsxs(_Fragment, { children: [_jsx(Button, { type: "button", onClick: () => onChange({}), children: labels.clear }), _jsx(Button, { type: "submit", form: formId, variant: "primary", children: labels.apply })] }), children: _jsxs("form", { id: formId, onSubmit: (e) => {
71
79
  e.preventDefault();
72
80
  setDrawerOpen(false);
73
- }, className: "flex flex-col gap-7", children: [drawer.map((group) => (_jsxs("div", { children: [_jsx("p", { className: "mb-3 text-micro font-semibold uppercase tracking-wide text-ink-faint", children: group.title }), _jsx("div", { className: "grid gap-3 sm:grid-cols-[repeat(2,minmax(0,1fr))]", children: group.fields.map((field) => (_jsxs("div", { className: `flex flex-col gap-1.5 ${field.kind === "dateRange" ? "sm:col-span-2" : ""}`, children: [_jsx("span", { className: "text-small text-ink-soft", children: field.label }), _jsx(FieldControl, { field: field, values: values, write: write, optionSource: optionSource, locale: locale, labels: labels })] }, field.key))) })] }, group.title))), fileSearchKey && labels.fileSearch && (_jsxs("div", { children: [_jsx("p", { className: "mb-3 text-micro font-semibold uppercase tracking-wide text-ink-faint", children: labels.fileSearch.title }), _jsx("p", { className: "mb-3 text-small leading-relaxed text-ink-soft", children: labels.fileSearch.help }), values[fileSearchKey] ? (_jsxs("span", { className: "flex items-center gap-2", children: [_jsx("span", { className: "truncate text-small text-ink", children: values[fileSearchKey] }), _jsx(Button, { type: "button", size: "sm", onClick: () => write(fileSearchKey, ""), children: labels.fileSearch.remove })] })) : (_jsxs("label", { className: `${buttonVariants({})} cursor-pointer`, children: [_jsx(Icon, { icon: Upload, size: "xs" }), labels.fileSearch.choose, _jsx("input", { type: "file", accept: ".xlsx,.xls,.csv", className: "sr-only", onChange: (e) => write(fileSearchKey, e.target.files?.[0]?.name ?? "") })] }))] }))] }) })] }));
81
+ }, className: "flex flex-col", children: [drawer.map((group) => (_jsxs("div", { className: "flex flex-col gap-3.5 border-b border-dashed border-line py-4.5 last:border-b-0", children: [_jsx("p", { className: "text-caption font-extrabold uppercase tracking-label text-ink-faint", children: group.title }), _jsx("div", { className: "grid gap-3 sm:grid-cols-[repeat(2,minmax(0,1fr))]", children: group.fields.map((field) => (_jsxs("div", { className: `flex flex-col gap-1.5 ${field.kind === "dateRange" ? "sm:col-span-2" : ""}`, children: [_jsx("span", { className: "text-small text-ink-soft", children: field.label }), _jsx(FieldControl, { field: field, values: values, write: write, optionSource: optionSource, locale: locale, labels: labels })] }, field.key))) })] }, group.title))), fileSearchKey && labels.fileSearch && (_jsxs("div", { children: [_jsx("p", { className: "mb-3 text-micro font-semibold uppercase tracking-wide text-ink-faint", children: labels.fileSearch.title }), _jsx("p", { className: "mb-3 text-small leading-relaxed text-ink-soft", children: labels.fileSearch.help }), values[fileSearchKey] ? (_jsxs("span", { className: "flex items-center gap-2", children: [_jsx("span", { className: "truncate text-small text-ink", children: values[fileSearchKey] }), _jsx(Button, { type: "button", size: "sm", onClick: () => write(fileSearchKey, ""), children: labels.fileSearch.remove })] })) : (_jsxs("label", { className: `${buttonVariants({})} cursor-pointer`, children: [_jsx(Icon, { icon: Upload, size: "xs" }), labels.fileSearch.choose, _jsx("input", { type: "file", accept: ".xlsx,.xls,.csv", className: "sr-only", onChange: (e) => write(fileSearchKey, e.target.files?.[0]?.name ?? "") })] }))] }))] }) })] }));
74
82
  }
@@ -1,22 +1,9 @@
1
1
  /**
2
- * BLOK KATMANI — `tamga-ui/blocks`.
2
+ * BLOK KATMANI · `tamga-ui/blocks`. Bir bileşenden büyük, bir şablondan küçük:
3
+ * birkaç bileşenin TEK BİR İŞ yaptığı bölüm. Ürün sözlüğü taşıyan hiçbir şey
4
+ * girmez, ve yeni bir blok yazmadan önce kitin o işi yapan bileşeni aranır.
3
5
  *
4
- * BİR BLOK NEDİR. Bir bileşenden büyük, bir şablondan küçük: birkaç bileşenin
5
- * bir araya gelip TEK BİR İŞ yaptığı bölüm. Filtre çubuğu bir düğme değil ama
6
- * bir ekran da değil; bir ekranın içindeki bir bölge.
7
- *
8
- * ADR-0003'ün katman şeması "filtre paneli · toplu eylem çubuğu" diye ikisini
9
- * de `tamga-ui` kutusunun içine yazıyor. Toplu eylem çubuğu ZATEN VARDI:
10
- * `SelectionBar`, bir bileşen olarak, kendi doküman sayfasıyla. Buraya bir
11
- * `BulkBar` yazıldı ve aynı propları alan ikinci bir kopyaydı; silindi.
12
- *
13
- * DERS BU DOSYANIN BAŞINDA DURSUN: yeni bir blok yazmadan önce kitin o işi
14
- * yapan bir bileşeni var mı diye bakılır. Bir tasarım sisteminin en sinsi
15
- * hatası, aynı şeyin iki adla iki yerde durmasıdır.
16
- *
17
- * BURAYA NE GİRMEZ. Bir ürünün sözlüğünü taşıyan hiçbir şey. Bir sipariş
18
- * kartı, bir iade satırı, bir mülk özeti: bunlar e-ticaret ya da izleme
19
- * katmanının işi. Blok, alanı bilmeyen bölümdür.
6
+ * Gerekçe: docs/gerekce/08-blok-ve-sablon.md
20
7
  */
21
8
  export { FilterBar, rangeStart, rangeEnd, type FilterBarLabels, type FilterBarProps, type FilterField, type FilterFieldKind, type FilterGroup, type FilterValues, } from "./filter-bar.js";
22
9
  export { SaveBar } from "./save-bar.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/blocks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/blocks/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,22 +1,9 @@
1
1
  /**
2
- * BLOK KATMANI — `tamga-ui/blocks`.
2
+ * BLOK KATMANI · `tamga-ui/blocks`. Bir bileşenden büyük, bir şablondan küçük:
3
+ * birkaç bileşenin TEK BİR İŞ yaptığı bölüm. Ürün sözlüğü taşıyan hiçbir şey
4
+ * girmez, ve yeni bir blok yazmadan önce kitin o işi yapan bileşeni aranır.
3
5
  *
4
- * BİR BLOK NEDİR. Bir bileşenden büyük, bir şablondan küçük: birkaç bileşenin
5
- * bir araya gelip TEK BİR İŞ yaptığı bölüm. Filtre çubuğu bir düğme değil ama
6
- * bir ekran da değil; bir ekranın içindeki bir bölge.
7
- *
8
- * ADR-0003'ün katman şeması "filtre paneli · toplu eylem çubuğu" diye ikisini
9
- * de `tamga-ui` kutusunun içine yazıyor. Toplu eylem çubuğu ZATEN VARDI:
10
- * `SelectionBar`, bir bileşen olarak, kendi doküman sayfasıyla. Buraya bir
11
- * `BulkBar` yazıldı ve aynı propları alan ikinci bir kopyaydı; silindi.
12
- *
13
- * DERS BU DOSYANIN BAŞINDA DURSUN: yeni bir blok yazmadan önce kitin o işi
14
- * yapan bir bileşeni var mı diye bakılır. Bir tasarım sisteminin en sinsi
15
- * hatası, aynı şeyin iki adla iki yerde durmasıdır.
16
- *
17
- * BURAYA NE GİRMEZ. Bir ürünün sözlüğünü taşıyan hiçbir şey. Bir sipariş
18
- * kartı, bir iade satırı, bir mülk özeti: bunlar e-ticaret ya da izleme
19
- * katmanının işi. Blok, alanı bilmeyen bölümdür.
6
+ * Gerekçe: docs/gerekce/08-blok-ve-sablon.md
20
7
  */
21
8
  export { FilterBar, rangeStart, rangeEnd, } from "./filter-bar.js";
22
9
  export { SaveBar } from "./save-bar.js";
@@ -1,18 +1,10 @@
1
1
  import type { ReactNode } from "react";
2
2
  /**
3
- * KAYDET ŞERİDİ: kayan yüzeyin dibine yapışık.
3
+ * KAYDET ŞERİDİ · kayan yüzeyin dibine yapışık, formun sonunda değil. Fiziği
4
+ * `.tamga-save-bar`ta, ve orada `sticky bottom-0` tuzağı yazılı. Değişiklik
5
+ * yoksa düğme kapalı.
4
6
  *
5
- * NEDEN FORMUN SONUNDA DEĞİL. Eski panellerin alışkanlığı kaydet düğmesini
6
- * formun en altına koymak; yirmi alanlık bir formda üstteki bir alanı
7
- * düzeltip kaydetmek için sonuna kadar kaydırmak gerekiyor. Şerit her zaman
8
- * görünür, ve kaydedilecek bir şey olup olmadığını da söylüyor.
9
- *
10
- * FİZİĞİ BİR SINIFTA (`.tamga-save-bar`), ve orada ölçülmüş bir tuzak yazılı:
11
- * `sticky bottom-0` şeridin alt kenarını yüzeyin İÇERİK kutusuna hizalıyor,
12
- * ama yüzeyin kendi alt dolgusu var ve içerik o boşluktan akıp geçiyordu.
13
- *
14
- * DEĞİŞİKLİK YOKSA KAYDEDİLECEK BİR ŞEY DE YOK: düğme kapalı. Tıklanıp
15
- * hiçbir şey olmayan bir düğme, olmayan bir düğmeden kötüdür.
7
+ * Gerekçe: docs/gerekce/08-blok-ve-sablon.md
16
8
  */
17
9
  export declare function SaveBar({ changed, busy, onCancel, extra, labels, }: {
18
10
  /** With no change, save is disabled. TR: Değişiklik yoksa kaydet kapalı. */
@@ -1 +1 @@
1
- {"version":3,"file":"save-bar.d.ts","sourceRoot":"","sources":["../../src/blocks/save-bar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,EACtB,OAAc,EACd,IAAY,EACZ,QAAQ,EACR,KAAK,EACL,MAAM,GACP,EAAE;IACD,4EAA4E;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sJAAsJ;IACtJ,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,2JAA2J;IAC3J,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D,+BAkBA"}
1
+ {"version":3,"file":"save-bar.d.ts","sourceRoot":"","sources":["../../src/blocks/save-bar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,EACtB,OAAc,EACd,IAAY,EACZ,QAAQ,EACR,KAAK,EACL,MAAM,GACP,EAAE;IACD,4EAA4E;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sJAAsJ;IACtJ,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,2JAA2J;IAC3J,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D,+BAkBA"}
@@ -2,19 +2,11 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Button } from "../components/button.js";
4
4
  /**
5
- * KAYDET ŞERİDİ: kayan yüzeyin dibine yapışık.
5
+ * KAYDET ŞERİDİ · kayan yüzeyin dibine yapışık, formun sonunda değil. Fiziği
6
+ * `.tamga-save-bar`ta, ve orada `sticky bottom-0` tuzağı yazılı. Değişiklik
7
+ * yoksa düğme kapalı.
6
8
  *
7
- * NEDEN FORMUN SONUNDA DEĞİL. Eski panellerin alışkanlığı kaydet düğmesini
8
- * formun en altına koymak; yirmi alanlık bir formda üstteki bir alanı
9
- * düzeltip kaydetmek için sonuna kadar kaydırmak gerekiyor. Şerit her zaman
10
- * görünür, ve kaydedilecek bir şey olup olmadığını da söylüyor.
11
- *
12
- * FİZİĞİ BİR SINIFTA (`.tamga-save-bar`), ve orada ölçülmüş bir tuzak yazılı:
13
- * `sticky bottom-0` şeridin alt kenarını yüzeyin İÇERİK kutusuna hizalıyor,
14
- * ama yüzeyin kendi alt dolgusu var ve içerik o boşluktan akıp geçiyordu.
15
- *
16
- * DEĞİŞİKLİK YOKSA KAYDEDİLECEK BİR ŞEY DE YOK: düğme kapalı. Tıklanıp
17
- * hiçbir şey olmayan bir düğme, olmayan bir düğmeden kötüdür.
9
+ * Gerekçe: docs/gerekce/08-blok-ve-sablon.md
18
10
  */
19
11
  export function SaveBar({ changed = true, busy = false, onCancel, extra, labels, }) {
20
12
  return (_jsxs("div", { className: "tamga-save-bar", "data-changed": changed, children: [_jsx(Button, { variant: "primary", type: "submit", disabled: !changed, busy: busy, busyLabel: labels.saving, children: labels.save }), _jsx(Button, { type: "button", onClick: onCancel, disabled: busy, children: labels.cancel }), extra && _jsx("span", { className: "ml-auto", children: extra })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"a11y.d.ts","sourceRoot":"","sources":["../../src/components/a11y.ts"],"names":[],"mappings":"AAkCA;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,OAAO,uCAqEhE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,YAAY,EACZ,OAAO,GACR,EAAE;IACD,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAClD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,QAmDA"}
1
+ {"version":3,"file":"a11y.d.ts","sourceRoot":"","sources":["../../src/components/a11y.ts"],"names":[],"mappings":"AAkCA;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,OAAO,uCA0DhE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,YAAY,EACZ,OAAO,GACR,EAAE;IACD,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAClD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,QAmDA"}
@@ -42,21 +42,10 @@ export function useFocusTrap(open) {
42
42
  if (!root)
43
43
  return;
44
44
  restoreTo.current = document.activeElement;
45
- /* İLK KONTROL, ya da AÇIKÇA İSTENEN kontrol.
46
- *
47
- * Varsayılan olarak ilk odaklanabilir eleman odağı alıyor ve çoğu panelde
48
- * doğrusu bu. Ama bir onay diyaloğunda ilk kontrol kapatma çarpısı, ikinci
49
- * sıradaki ise "Sil": Enter'a basan biri kaydı siliyor. Yıkıcı bir
50
- * diyalogda güvenli olan varsayılan olmalı.
51
- *
52
- * `autoFocus` NİTELİĞİ BURADA ÇALIŞMIYOR: React onu bağlarken bu etki
53
- * henüz koşmamış oluyor, sonra trap odağı ilk elemana çekiyor ve niteliğin
54
- * etkisi siliniyor. O yüzden mekanizma DOM üzerinden: panelin içinde
55
- * `data-autofocus` taşıyan bir eleman varsa odak onun.
56
- *
57
- * `focusable` listesinden seçiliyor ki gizli ya da devre dışı bir elemana
58
- * odak verilmesin: kapalı bir düğmeye odaklanmak, odağı hiç vermemekle
59
- * aynı şey ama sessizce. */
45
+ /* İLK KONTROL, ya da AÇIKÇA İSTENEN kontrol: panelin içinde `data-autofocus`
46
+ taşıyan bir eleman varsa odak onun. `autoFocus` NİTELİĞİ BURADA ÇALIŞMIYOR,
47
+ tuzak odağı ilk elemana çekince etkisi siliniyor.
48
+ Gerekçe: docs/gerekce/09-kitaplik.md */
60
49
  const adaylar = focusable(root);
61
50
  const istenen = adaylar.find((el) => el.hasAttribute("data-autofocus"));
62
51
  const first = istenen ?? adaylar[0];
@@ -3,11 +3,24 @@
3
3
  *
4
4
  * Gerekçe: docs/gerekce/01-form-ve-girdi.md
5
5
  */
6
- export declare function PasswordInput({ labels, invalid, className, ...props }: Omit<React.ComponentProps<"input">, "type"> & {
6
+ export declare function PasswordInput({ labels, strength, invalid, className, ...props }: Omit<React.ComponentProps<"input">, "type"> & {
7
7
  labels: {
8
8
  show: string;
9
9
  hide: string;
10
10
  };
11
+ /**
12
+ * The strength meter under the field: `value` bars lit out of `of`, and `note` the line saying
13
+ * what is still missing. The kit LIGHTS the bars, it does not judge the password: what counts
14
+ * as strong is a policy, and a policy belongs to the product. TR: Alanın altındaki güç
15
+ * göstergesi: `of` çubuğun `value` tanesi yanıyor, `note` neyin eksik olduğunu söyleyen satır.
16
+ * Kit çubukları YAKIYOR, parolayı yargılamıyor: neyin güçlü sayıldığı bir politika, ve politika
17
+ * ürünün.
18
+ */
19
+ strength?: {
20
+ value: number;
21
+ of?: number;
22
+ note?: string;
23
+ };
11
24
  /**
12
25
  * The field failed validation: it takes the error edge and sets `aria-invalid`, so the failure is
13
26
  * announced as well as shown. TR: Alan doğrulamadan geçemedi: hata kenarını alıyor ve
@@ -16,15 +29,11 @@ export declare function PasswordInput({ labels, invalid, className, ...props }:
16
29
  invalid?: boolean;
17
30
  }): import("react").JSX.Element;
18
31
  /**
19
- * Maskeli sır — API anahtarı, webhook secret.
32
+ * Maskeli sır · API anahtarı, webhook secret. `PasswordInput`un kardeşi ama işi
33
+ * TERS: buraya yazılmıyor, okunup kopyalanıyor, o yüzden salt-okunur. Maske ilk
34
+ * ve son birkaç karakteri bırakıyor.
20
35
  *
21
- * `PasswordInput`'un kardeşi ama İŞİ TERS: parola alanına bir şey YAZILIR,
22
- * buraya yazılmaz — okunur ve kopyalanır. O yüzden salt-okunur, ve asıl
23
- * düğmesi kopyalama.
24
- *
25
- * Maske ilk ve son birkaç karakteri bırakıyor. Tamamen gizlemek, kullanıcının
26
- * "hangi anahtar bu" sorusunu cevapsız bırakır; üç anahtarı olan biri
27
- * hangisine baktığını bilemez.
36
+ * Gerekçe: docs/gerekce/01-form-ve-girdi.md
28
37
  */
29
38
  export declare function SecretField({ value, labels, visibleChars, className, ...rest }: {
30
39
  value: string;
@@ -45,15 +54,10 @@ export declare function SecretField({ value, labels, visibleChars, className, ..
45
54
  [k: `data-${string}`]: unknown;
46
55
  }): import("react").JSX.Element;
47
56
  /**
48
- * Etiket girdisi.
49
- *
50
- * Enter ya da virgül bir etiketi kapatıyor; boşken Backspace sonuncuyu siliyor.
51
- * İkincisi küçük görünür ama en çok kullanılan yoldur — yanlış yazılan bir
52
- * etiketi silmek için fareye uzanmak, akışı kesen tek şeydir.
57
+ * Etiket girdisi · Enter ya da virgül bir etiketi kapatıyor, boşken Backspace
58
+ * sonuncuyu siliyor. Yinelenen etiket SESSİZCE yutuluyor, hata verilmiyor.
53
59
  *
54
- * Yinelenen ETİKET SESSİZCE YUTULUYOR, hata verilmiyor: aynı etiketi iki kez
55
- * yazmak bir hata değil, bir tekrardır, ve kullanıcı zaten istediğini almış
56
- * olur.
60
+ * Gerekçe: docs/gerekce/01-form-ve-girdi.md
57
61
  */
58
62
  export declare function TagsInput({ value, onChange, placeholder, labels, max, className, ...rest }: {
59
63
  value: readonly string[];
@@ -68,17 +72,6 @@ export declare function TagsInput({ value, onChange, placeholder, labels, max, c
68
72
  /** `data-*` hooks pass through. TR: `data-*` kancaları geçiyor. */
69
73
  [k: `data-${string}`]: unknown;
70
74
  }): import("react").JSX.Element;
71
- /**
72
- * Çoklu seçim — aranabilir.
73
- *
74
- * `Combobox` tek seçim yapar; bu birden çok. Ayrı bileşen olmasının sebebi
75
- * görünüm değil DAVRANIŞ: tek seçimde liste seçince kapanır, çoklu seçimde
76
- * KAPANMAZ — üç şey seçecek biri listeyi üç kez açmak zorunda kalmamalı.
77
- *
78
- * Seçilenler girdinin İÇİNDE çip olarak duruyor, altında ayrı bir listede
79
- * değil: seçim ile seçilenler arasındaki mesafe arttıkça, kullanıcı neyi
80
- * seçtiğini görmek için gözünü iki yere birden koymak zorunda kalır.
81
- */
82
75
  export declare function MultiSelect({ options, value, onChange, placeholder, labels, className, ...rest }: {
83
76
  options: readonly ({
84
77
  value: string;
@@ -98,30 +91,43 @@ export declare function MultiSelect({ options, value, onChange, placeholder, lab
98
91
  [k: `data-${string}`]: unknown;
99
92
  }): import("react").JSX.Element;
100
93
  /**
101
- * Zamanlama girdisi — "her N dakikada bir".
94
+ * Zamanlama girdisi · "her N dakikada bir". NEDEN CRON DEĞİL: kürasyonlu
95
+ * seçenek, serbestlik değil. Aralıklar dakika olarak veriliyor, çevirisi
96
+ * çağıranın.
102
97
  *
103
- * NEDEN CRON DEĞİL. Bir cron ifadesi (yıldız-eğik-beş biçimi) bir geliştirici
104
- * için okunur, bir panel
105
- * kullanıcısı için değildir — ve yanlış yazılan bir cron ifadesi hata
106
- * vermez, sadece yanlış zamanda çalışır. Bu bileşen kürasyonlu bir liste
107
- * sunuyor: kürasyonlu seçenek, serbestlik değil.
108
- *
109
- * Aralıklar dakika olarak veriliyor, çevirisi çağıranın: "5 dakika" ile
110
- * "5 minutes" arasındaki farkı kit bilemez.
98
+ * Gerekçe: docs/gerekce/01-form-ve-girdi.md
111
99
  */
112
- export declare function ScheduleInput({ value, onChange, options, label, className, }: {
113
- /** The interval, in minutes. TR: Dakika cinsinden aralık. */
114
- value: number;
115
- onChange: (minutes: number) => void;
100
+ export declare function ScheduleInput({ days, onDaysChange, from, to, onFromChange, onToChange, labels, summary, className, ...rest }: {
101
+ /** Selected weekdays, 0 Sunday to 6 Saturday. TR: Seçili günler, 0 Pazar ile 6 Cumartesi arası. */
102
+ days: readonly number[];
103
+ onDaysChange: (next: number[]) => void;
104
+ /** "09:00". TR: "09:00". */
105
+ from: string;
106
+ to: string;
107
+ onFromChange: (next: string) => void;
108
+ onToChange: (next: string) => void;
116
109
  /**
117
- * `[{ minutes: 5, label: "5 minutes" }, …]`: ordered and curated. TR: `[{ minutes: 5, label:
118
- * "5 dakika" }, …]`: sıralı ve kürasyonlu.
110
+ * Every visible word. `dayNames` starts at Sunday and is written short ("Pzt"); `zone` is the
111
+ * line after the hours ("Istanbul (GMT+3)"), and it is optional. TR: Görünen her sözcük.
112
+ * `dayNames` Pazar'dan başlıyor ve kısa yazılıyor ("Pzt"); `zone` saatlerin ardındaki satır
113
+ * ("İstanbul (GMT+3)") ve isteğe bağlı.
119
114
  */
120
- options: readonly ({
121
- minutes: number;
122
- label: string;
123
- } & Record<string, unknown>)[];
124
- label: string;
115
+ labels: {
116
+ days: string;
117
+ dayNames: readonly string[];
118
+ hours: string;
119
+ between: string;
120
+ zone?: string;
121
+ };
122
+ /**
123
+ * The schedule in one human sentence, built by the caller: "Every weekday between 09:00 and
124
+ * 18:00". The kit cannot write it, because the sentence is grammar and the kit does not
125
+ * translate. TR: Zamanlamanın tek cümlelik insan hâli, çağıran kuruyor: "Her hafta içi
126
+ * 09:00-18:00 arası". Kit yazamaz, çünkü cümle bir dilbilgisi işi ve kit çeviri yapmaz.
127
+ */
128
+ summary: string;
125
129
  className?: string;
130
+ /** `data-*` hooks pass through. TR: `data-*` kancaları geçiyor. */
131
+ [k: `data-${string}`]: unknown;
126
132
  }): import("react").JSX.Element;
127
133
  //# sourceMappingURL=advanced-input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"advanced-input.d.ts","sourceRoot":"","sources":["../../src/components/advanced-input.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advanced-input.d.ts","sourceRoot":"","sources":["../../src/components/advanced-input.tsx"],"names":[],"mappings":"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"}