tamga-ui 0.4.3 → 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 +908 -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 +134 -77
  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 -14
  152. package/dist/components/tone.d.ts.map +1 -1
  153. package/dist/components/tone.js +76 -14
  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 +3175 -645
  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 +96 -259
  201. package/package.json +4 -2
  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
@@ -16,7 +16,16 @@ export type ScoreProps = {
16
16
  * altında görünen bant metni. Verilmezse okuma hiçbir sözcük göstermiyor.
17
17
  */
18
18
  bandLabel?: string;
19
+ /**
20
+ * The readout's width in pixels: the dial's diameter, the matrix's side, the
21
+ * meter's track. TR: Okumanın piksel cinsinden genişliği: kadranın çapı,
22
+ * matrisin kenarı, ölçeğin şeridi.
23
+ */
19
24
  size?: number;
25
+ /**
26
+ * Draw `bandLabel` under the number. Off, the colour still carries the band.
27
+ * TR: `bandLabel`ı sayının altına çiz. Kapalıyken bandı yine renk taşıyor.
28
+ */
20
29
  showLabel?: boolean;
21
30
  /**
22
31
  * The PRODUCT decides the band's tone. The `band()` below is the kit's default (90 / 70 / 50)
@@ -32,18 +41,72 @@ export type ScoreProps = {
32
41
  */
33
42
  tone?: Tone;
34
43
  };
35
- export declare function ScoreRing({ value, label, bandLabel, size, showLabel, segments, tone, }: ScoreProps & {
36
- segments?: number;
44
+ /**
45
+ * Skor halkası · 0-100 arası tek bir okuma.
46
+ *
47
+ * SEGMENTLİ KADRAN DEĞİL, DOLU YAY. Önce 32 parçalı bir kadran çiziyordu ve
48
+ * parçalar bir ölçek vadediyordu; oysa okunan şey tek bir sayı ve o sayı zaten
49
+ * ortada yazılı. Yay, ne kadarının dolduğunu bir bakışta söylüyor.
50
+ *
51
+ * Gerekçe: docs/gerekce/03-grafik-ve-olcum.md
52
+ */
53
+ export declare function ScoreRing({ value, label, bandLabel, size, showLabel, tone, ...rest }: ScoreProps & {
54
+ [k: `data-${string}`]: unknown;
37
55
  }): import("react").JSX.Element;
38
- export declare function ScoreMeter({ value, label, bandLabel, target, delta, segments, tone, ...rest }: ScoreProps & {
39
- target?: number;
40
- delta?: number;
41
- segments?: number;
56
+ /**
57
+ * Skor ölçeği · kademeli bir bandın üstünde KONUM.
58
+ *
59
+ * Dolan bir çubuk değil: beş bant sabit duruyor ve üçgen işaret skorun hangi
60
+ * banda düştüğünü gösteriyor. Fark şu: bir çubuk "ne kadar" der, bu "hangisi"
61
+ * der, ve bir memnuniyet ya da risk skorunda sorulan ikincisi.
62
+ *
63
+ * Gerekçe: docs/gerekce/03-grafik-ve-olcum.md
64
+ */
65
+ export declare function ScoreMeter({ value, label, bands, total, size, tone, ...rest }: Omit<ScoreProps, "bandLabel" | "showLabel"> & {
66
+ /**
67
+ * The five band names under the scale, worst to best. The kit does not translate, so they come
68
+ * ready. Left out, only the bands are drawn. TR: Ölçeğin altındaki beş bandın adı, kötüden
69
+ * iyiye. Kit çeviri yapmıyor, hazır geliyorlar. Verilmezse yalnız bantlar çiziliyor.
70
+ */
71
+ bands?: readonly [string, string, string, string, string];
72
+ /** The scale's top, when it is not 100. TR: Ölçeğin tepesi, 100 değilse. */
73
+ total?: number;
42
74
  [k: `data-${string}`]: unknown;
43
75
  }): import("react").JSX.Element;
44
- export declare function ScoreMatrix({ value, label, bandLabel, delta, size, ...rest }: ScoreProps & {
45
- delta?: number;
76
+ /**
77
+ * Skorun kare ızgara hâli · her kare bir puan.
78
+ *
79
+ * Gerekçe: docs/gerekce/03-grafik-ve-olcum.md
80
+ */
81
+ export declare function ScoreMatrix({ rows, columns, levels, label, legend, cellTitle, ...rest }: {
82
+ /**
83
+ * One row per band of the first dimension (a weekday, a region), with one value per column.
84
+ * TR: Birinci boyutun her bandı için bir satır (bir gün, bir bölge), sütun başına bir değer.
85
+ */
86
+ rows: readonly ({
87
+ label: string;
88
+ values: readonly number[];
89
+ } & Record<string, unknown>)[];
90
+ /** The marks over the columns (hours, weeks). TR: Sütunların üstündeki işaretler (saat, hafta). */
91
+ columns: readonly string[];
92
+ /**
93
+ * How many steps of intensity. Five is the design's ramp and about the most an eye reads off a
94
+ * grid without a number beside it. TR: Kaç yoğunluk basamağı. Beş, tasarımın rampası ve bir
95
+ * gözün yanında sayı olmadan bir ızgaradan okuyabileceği en fazla basamak.
96
+ */
97
+ levels?: number;
98
+ /** The grid's accessible name: what the two dimensions are. TR: Izgaranın erişilebilir adı: iki boyutun ne olduğu. */
99
+ label: string;
100
+ /** The two ends of the ramp, in the product's words: "few" and "many". TR: Rampanın iki ucu, ürünün sözcükleriyle. */
101
+ legend?: {
102
+ low: string;
103
+ high: string;
104
+ };
105
+ /**
106
+ * The cell's own title, written by the caller: the kit knows neither the unit nor the day's
107
+ * name. TR: Hücrenin kendi başlığı, çağıranın yazdığı: kit ne birimi bilir ne günün adını.
108
+ */
109
+ cellTitle?: (row: string, column: string, value: number) => string;
46
110
  [k: `data-${string}`]: unknown;
47
111
  }): import("react").JSX.Element;
48
- /** default export keeps the existing call sites working */
49
112
  //# sourceMappingURL=gauge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gauge.d.ts","sourceRoot":"","sources":["../../src/components/gauge.tsx"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAQvD,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;CACb,CAAC;AAyBF,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,KAAK,EACL,SAAS,EACT,IAAU,EACV,SAAgB,EAChB,QAAa,EACb,IAAI,GACL,EAAE,UAAU,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,+BA4EpC;AAID,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,KAAK,EACL,SAAS,EACT,MAAW,EACX,KAAK,EACL,QAAa,EACb,IAAI,EACJ,GAAG,IAAI,EACR,EAAE,UAAU,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,QAAQ,MAAM,EAAE,GAAG,OAAO,CAAA;CAAE,+BA+CrG;AAID,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,KAAK,EACL,SAAS,EACT,KAAK,EACL,IAAU,EACV,GAAG,IAAI,EACR,EAAE,UAAU,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,QAAQ,MAAM,EAAE,GAAG,OAAO,CAAA;CAAE,+BAmCjE;AAED,2DAA2D"}
1
+ {"version":3,"file":"gauge.d.ts","sourceRoot":"","sources":["../../src/components/gauge.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAQ9C,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;CACb,CAAC;AAcF;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,KAAK,EACL,SAAS,EACT,IAAS,EACT,SAAgB,EAChB,IAAI,EACJ,GAAG,IAAI,EACR,EAAE,UAAU,GAAG;IAAE,CAAC,CAAC,EAAE,QAAQ,MAAM,EAAE,GAAG,OAAO,CAAA;CAAE,+BA4BjD;AAID;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAW,EACX,IAAI,EACJ,IAAI,EACJ,GAAG,IAAI,EACR,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW,CAAC,GAAG;IAC/C;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1D,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,CAAC,EAAE,QAAQ,MAAM,EAAE,GAAG,OAAO,CAAC;CAChC,+BAsCA;AAcD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,OAAO,EACP,MAAU,EACV,KAAK,EACL,MAAM,EACN,SAAS,EACT,GAAG,IAAI,EACR,EAAE;IACD;;;OAGG;IACH,IAAI,EAAE,SAAS,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IAC1F,mGAAmG;IACnG,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sHAAsH;IACtH,KAAK,EAAE,MAAM,CAAC;IACd,sHAAsH;IACtH,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACnE,CAAC,CAAC,EAAE,QAAQ,MAAM,EAAE,GAAG,OAAO,CAAC;CAChC,+BA4CA"}
@@ -1,6 +1,8 @@
1
+ import { createElement as _createElement } from "react";
1
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Fragment } from "react";
2
4
  import { dataProps } from "../lib/data-props.js";
3
- import { toneOf, neutral } from "./tone.js";
5
+ import { toneOf } from "./tone.js";
4
6
  /* Where the readout changes colour. The thresholds are a kit default; a product
5
7
  that scores differently passes its own tone instead. Words are NOT decided
6
8
  here — see ScoreProps.label. */
@@ -11,56 +13,57 @@ function band(v) {
11
13
  return "caution";
12
14
  return "danger";
13
15
  }
14
- function Delta({ delta }) {
15
- const up = delta >= 0;
16
- return (_jsxs("span", { className: "font-mono text-small font-medium", style: { color: up ? neutral.muted : toneOf("danger").fg }, children: [up ? "▲" : "▼", " ", Math.abs(delta).toFixed(1)] }));
17
- }
18
- /* ---------- A · Ring — the segmented strip bent round ---------- */
19
- export function ScoreRing({ value, label, bandLabel, size = 168, showLabel = true, segments = 32, tone, }) {
16
+ /* ---------- A · Ring — the conic ring ---------- */
17
+ /**
18
+ * Skor halkası · 0-100 arası tek bir okuma.
19
+ *
20
+ * SEGMENTLİ KADRAN DEĞİL, DOLU YAY. Önce 32 parçalı bir kadran çiziyordu ve
21
+ * parçalar bir ölçek vadediyordu; oysa okunan şey tek bir sayı ve o sayı zaten
22
+ * ortada yazılı. Yay, ne kadarının dolduğunu bir bakışta söylüyor.
23
+ *
24
+ * Gerekçe: docs/gerekce/03-grafik-ve-olcum.md
25
+ */
26
+ export function ScoreRing({ value, label, bandLabel, size = 96, showLabel = true, tone, ...rest }) {
20
27
  const v = Math.min(100, Math.max(0, value));
21
28
  const c = toneOf(tone ?? band(v));
22
- const sweep = 270;
23
- const start = 135;
24
- const cx = size / 2;
25
- const cy = size / 2;
26
- const segLength = size * 0.1;
27
- const segWidth = Math.max(2, size * 0.032);
28
- const ringRadius = size * 0.42 - segLength / 2;
29
- const filled = Math.round((v / 100) * segments);
30
- /* every fifth of the scale gets a longer mark, like a rule */
31
- const majorEvery = segments / 5;
32
- const labelReads = size * 0.065 >= 10;
33
- return (_jsxs("svg", { width: size, height: size, viewBox: `0 0 ${size} ${size}`, role: "img", "aria-label": label, shapeRendering: "crispEdges", children: [Array.from({ length: segments }).map((_, i) => {
34
- const angle = start + (sweep * i) / (segments - 1);
35
- const major = i % majorEvery === 0;
36
- const len = major ? segLength * 1.28 : segLength;
37
- return (_jsx("rect", { x: cx - segWidth / 2, y: cy - ringRadius - len / 2, width: segWidth, height: len, transform: `rotate(${angle} ${cx} ${cy})`, style: { fill: i < filled ? c.mark : neutral.line } }, i));
38
- }), _jsx("text", { x: cx, y: cy - size * 0.01, textAnchor: "middle", dominantBaseline: "central", className: "font-mono", shapeRendering: "auto", style: {
39
- /* derived from the ring's own size, not the type scale: this glyph
40
- has to stay in proportion to the dial at any diameter */
41
- fontSize: size * 0.28,
42
- fontWeight: 700,
43
- fill: neutral.title,
44
- fontVariantNumeric: "tabular-nums",
45
- }, children: Math.round(v) }), showLabel && labelReads ? (_jsx("text", { x: cx, y: cy + size * 0.26, textAnchor: "middle", shapeRendering: "auto", style: { fontSize: size * 0.065, fontWeight: 500, fill: c.fg }, children: bandLabel })) : null] }));
29
+ return (_jsxs("div", { ...dataProps(rest), className: "tamga-ring-wrap", children: [_jsx("div", { className: "tamga-ring", role: "img", "aria-label": label, style: {
30
+ width: size,
31
+ height: size,
32
+ "--ring-renk": c.mark,
33
+ "--ring-yay": `${v * 3.6}deg`,
34
+ }, children: _jsx("span", { className: "tamga-ring-ic", style: { fontSize: Math.round(size * 0.25) }, children: Math.round(v) }) }), showLabel && bandLabel ? _jsx("span", { className: "tamga-ring-etiket", children: bandLabel }) : null] }));
46
35
  }
47
- /* ---------- B · Linear meter — the same strip, left straight ---------- */
48
- export function ScoreMeter({ value, label, bandLabel, target = 90, delta, segments = 40, tone, ...rest }) {
49
- const v = Math.min(100, Math.max(0, value));
50
- const c = toneOf(tone ?? band(v));
51
- const filled = Math.round((v / 100) * segments);
52
- return (_jsxs("div", { ...dataProps(rest), className: "w-full max-w-sm", role: "group", "aria-label": label, children: [_jsxs("div", { className: "flex items-end gap-4", children: [_jsx("span", { className: "font-mono text-display-lg font-bold leading-none tabular-nums text-ink", children: Math.round(v) }), _jsx("span", { className: "mb-1 font-mono text-body text-ink-faint", children: "/ 100" }), delta !== undefined ? (_jsx("span", { className: "mb-1 ml-auto", children: _jsx(Delta, { delta: delta }) })) : null] }), _jsx("p", { className: "mt-2 text-small", style: { color: c.fg }, children: bandLabel }), _jsxs("div", { className: "relative mt-4", children: [_jsx("div", { className: "flex items-end gap-[var(--mark-tick)]", children: Array.from({ length: segments }).map((_, i) => (_jsx("span", { className: "h-6 flex-1", style: { background: i < filled ? c.mark : neutral.line } }, i))) }), _jsx("span", { className: "absolute -top-1 bottom-[var(--dial-label-drop)] w-[var(--mark-tick)]", style: { left: `${target}%`, background: neutral.title } })] }), _jsxs("div", { className: "mt-2 flex justify-between font-mono text-micro text-ink-faint", children: [_jsx("span", { children: "0" }), _jsxs("span", { children: ["target ", target] }), _jsx("span", { children: "100" })] })] }));
36
+ /* ---------- B · Meter — the same reading, laid flat ---------- */
37
+ /**
38
+ * Skor ölçeği · kademeli bir bandın üstünde KONUM.
39
+ *
40
+ * Dolan bir çubuk değil: beş bant sabit duruyor ve üçgen işaret skorun hangi
41
+ * banda düştüğünü gösteriyor. Fark şu: bir çubuk "ne kadar" der, bu "hangisi"
42
+ * der, ve bir memnuniyet ya da risk skorunda sorulan ikincisi.
43
+ *
44
+ * Gerekçe: docs/gerekce/03-grafik-ve-olcum.md
45
+ */
46
+ export function ScoreMeter({ value, label, bands, total = 100, size, tone, ...rest }) {
47
+ const v = Math.min(total, Math.max(0, value));
48
+ const pct = (v / total) * 100;
49
+ return (_jsxs("div", { ...dataProps(rest), className: "tamga-meter", style: { maxWidth: size ?? "35rem" }, role: "group", "aria-label": label, children: [_jsxs("div", { className: "tamga-meter-ust", children: [_jsx("span", { className: "tamga-meter-ad", children: label }), _jsxs("span", { className: "tamga-meter-sayi", children: [Math.round(v), _jsxs("span", { className: "tamga-meter-toplam", children: [" / ", total] })] })] }), _jsxs("div", { className: "tamga-meter-yol", children: [_jsx("span", { className: "tamga-meter-ok", style: { left: `calc(${pct}% - 7px)` }, "aria-hidden": true }), _jsx("div", { className: "tamga-meter-bantlar", children: BANT_RENKLERI.map((renk) => (_jsx("span", { style: { background: renk } }, renk))) })] }), bands ? (_jsx("div", { className: "tamga-meter-adlar", "aria-hidden": true, children: bands.map((b) => (_jsx("span", { children: b }, b))) })) : null] }));
53
50
  }
54
- /* ---------- C · Block matrix — one square is one point ---------- */
55
- export function ScoreMatrix({ value, label, bandLabel, delta, size = 176, ...rest }) {
56
- const v = Math.round(Math.min(100, Math.max(0, value)));
57
- const c = toneOf(band(v));
58
- const cell = (size - 9 * 2) / 10;
59
- return (_jsxs("div", { ...dataProps(rest), style: { width: size }, role: "group", "aria-label": label, children: [_jsxs("div", { className: "flex items-end gap-2", children: [_jsx("span", { className: "font-mono text-display font-bold leading-none tabular-nums text-ink", children: v }), delta !== undefined ? (_jsx("span", { className: "mb-1 ml-auto", children: _jsx(Delta, { delta: delta }) })) : null] }), _jsx("p", { className: "mt-1 text-small", style: { color: c.fg }, children: bandLabel }), _jsx("div", { className: "mt-4 grid grid-cols-10 gap-[var(--mark-tick)]", children: Array.from({ length: 100 }).map((_, i) => {
60
- /* fill bottom-up so the block grows like a column of evidence */
61
- const row = 9 - Math.floor(i / 10);
62
- const index = row * 10 + (i % 10);
63
- const on = index < v;
64
- return (_jsx("span", { style: { height: cell, background: on ? c.mark : neutral.line } }, i));
65
- }) }), _jsx("p", { className: "mt-3 font-mono text-micro text-ink-faint", children: "one square is one point" })] }));
51
+ /* Kötüden iyiye beş bant. Sabit bir dizi, çünkü ölçeğin kendisi sabit: skor
52
+ değişince bantlar değil İŞARET kayıyor. */
53
+ const BANT_RENKLERI = [
54
+ "var(--color-critical-mark)",
55
+ "var(--color-warning)",
56
+ "var(--color-accent-bg)",
57
+ "var(--color-accent-soft)",
58
+ "var(--color-accent)",
59
+ ];
60
+ /* ---------- C · Matrix — a hundred squares, one per point ---------- */
61
+ /**
62
+ * Skorun kare ızgara hâli · her kare bir puan.
63
+ *
64
+ * Gerekçe: docs/gerekce/03-grafik-ve-olcum.md
65
+ */
66
+ export function ScoreMatrix({ rows, columns, levels = 5, label, legend, cellTitle, ...rest }) {
67
+ const enBuyuk = Math.max(1, ...rows.flatMap((r) => [...r.values]));
68
+ return (_jsxs("div", { ...dataProps(rest), className: "tamga-yogunluk", role: "img", "aria-label": label, children: [_jsxs("div", { className: "tamga-yogunluk-izgara", style: { gridTemplateColumns: `32px repeat(${columns.length}, minmax(26px, 1fr))` }, children: [_jsx("span", {}), columns.map((c) => (_jsx("span", { className: "tamga-yogunluk-sutun", children: c }, c))), rows.map(({ label: satir, values, ...kanca }) => (_jsxs(Fragment, { children: [_jsx("span", { className: "tamga-yogunluk-satir", children: satir }), values.map((v, i) => (_createElement("span", { ...kanca, key: i, className: "tamga-yogunluk-hucre", "data-seviye": Math.round((v / enBuyuk) * (levels - 1)), title: cellTitle?.(satir, columns[i] ?? "", v) })))] }, satir)))] }), legend ? (_jsxs("div", { className: "tamga-yogunluk-lejant", children: [legend.low, Array.from({ length: levels }, (_, i) => (_jsx("span", { "data-seviye": i }, i))), legend.high] })) : null] }));
66
69
  }
@@ -15,5 +15,5 @@ export * from "@phosphor-icons/react/ssr";
15
15
  * `Icon` zaten kitin çizen BİLEŞENİ.
16
16
  */
17
17
  export type { Icon as IconGlyph } from "@phosphor-icons/react";
18
- export { MagnifyingGlass as Search, ArrowsClockwise as Refresh, ArrowClockwise as RunNow, Pause, Plus, Trash as Delete, DownloadSimple as Download, UploadSimple as Upload, DotsThree as More, Copy, X as Close, Check, FunnelSimple as Filter, SlidersHorizontal as Customize, GearSix as Settings, Lifebuoy as Support, PencilSimple as Edit, FloppyDisk as Save, Printer as Print, ShareNetwork as Share, Archive, Minus, ArrowUUpLeft as Undo, ArrowUUpRight as Redo, ArrowsDownUp as Sort, DotsSixVertical as Drag, CaretDown, CaretLeft, CaretRight, ArrowUp, ArrowDown, ArrowUpRight, ArrowRight, List as Menu, House as Home, ArrowSquareOut as ExternalLink, ArrowsOut as Expand, ArrowsIn as Collapse, Columns as BoardView, ListBullets as ListView, GitBranch as TimelineView, GridFour as GridView, Bell, Star as Main, Eye, EyeSlash, ShieldCheck, Warning, Tray as Empty, CalendarPlus, MoonStars as ThemeDark, Sun as ThemeLight, Info, Question as Help, CheckCircle as Success, XCircle as Failure, Clock, CalendarBlank as Calendar, File, FolderSimple as Folder, Image, Lock, LockOpen as Unlock, Key, Tag, PushPin as Pin, EnvelopeSimple as Mail, Phone, Play, Stop, TextB as Bold, TextItalic as Italic, LinkSimple as Link, ListBullets as BulletList, ListNumbers as NumberedList, TextAa as TextStyle, MagnifyingGlassPlus as ZoomIn, MagnifyingGlassMinus as ZoomOut, Crop, FlipHorizontal, FlipVertical, StackSimple as Layers, CircleHalf as Contrast, Eyedropper, PaintBrush as Brush, Palette, GoogleLogo, GithubLogo, } from "@phosphor-icons/react/ssr";
18
+ export { MagnifyingGlass as Search, ArrowsClockwise as Refresh, ArrowClockwise as RunNow, Pause, Plus, Trash as Delete, DownloadSimple as Download, UploadSimple as Upload, DotsThree as More, Copy, X as Close, Check, FunnelSimple as Filter, SlidersHorizontal as Customize, GearSix as Settings, Lifebuoy as Support, PencilSimple as Edit, FloppyDisk as Save, Printer as Print, ShareNetwork as Share, Archive, Minus, ArrowUUpLeft as Undo, ArrowUUpRight as Redo, ArrowsDownUp as Sort, DotsSixVertical as Drag, CaretDown, CaretLeft, CaretRight, ArrowUp, ArrowDown, ArrowUpRight, ArrowRight, List as Menu, House as Home, ArrowSquareOut as ExternalLink, ArrowsOut as Expand, ArrowsIn as Collapse, Columns as BoardView, ListBullets as ListView, GitBranch as TimelineView, GridFour as GridView, Bell, Star as Main, Eye, EyeSlash, ShieldCheck, Warning, Tray as Empty, CalendarPlus, MoonStars as ThemeDark, Sun as ThemeLight, Desktop as ThemeSystem, Info, Question as Help, CheckCircle as Success, XCircle as Failure, Clock, CalendarBlank as Calendar, File, FolderSimple as Folder, Image, Lock, LockOpen as Unlock, Key, Tag, PushPin as Pin, EnvelopeSimple as Mail, Phone, Play, Stop, TextB as Bold, TextItalic as Italic, LinkSimple as Link, ListBullets as BulletList, ListNumbers as NumberedList, TextAa as TextStyle, MagnifyingGlassPlus as ZoomIn, MagnifyingGlassMinus as ZoomOut, Crop, FlipHorizontal, FlipVertical, StackSimple as Layers, CircleHalf as Contrast, Eyedropper, PaintBrush as Brush, Palette, GoogleLogo, GithubLogo, } from "@phosphor-icons/react/ssr";
19
19
  //# sourceMappingURL=icons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/components/icons.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,6CAA6C;AAC7C,cAAc,2BAA2B,CAAC;AAE1C;;;;;;;;GAQG;AACH,YAAY,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAEL,eAAe,IAAI,MAAM,EACzB,eAAe,IAAI,OAAO,EAC1B,cAAc,IAAI,MAAM,EACxB,KAAK,EACL,IAAI,EACJ,KAAK,IAAI,MAAM,EACf,cAAc,IAAI,QAAQ,EAC1B,YAAY,IAAI,MAAM,EACtB,SAAS,IAAI,IAAI,EAIjB,IAAI,EACJ,CAAC,IAAI,KAAK,EACV,KAAK,EACL,YAAY,IAAI,MAAM,EACtB,iBAAiB,IAAI,SAAS,EAC9B,OAAO,IAAI,QAAQ,EACnB,QAAQ,IAAI,OAAO,EACnB,YAAY,IAAI,IAAI,EACpB,UAAU,IAAI,IAAI,EAClB,OAAO,IAAI,KAAK,EAChB,YAAY,IAAI,KAAK,EACrB,OAAO,EAGP,KAAK,EACL,YAAY,IAAI,IAAI,EACpB,aAAa,IAAI,IAAI,EACrB,YAAY,IAAI,IAAI,EAEpB,eAAe,IAAI,IAAI,EAGvB,SAAS,EACT,SAAS,EACT,UAAU,EACV,OAAO,EACP,SAAS,EACT,YAAY,EACZ,UAAU,EACV,IAAI,IAAI,IAAI,EACZ,KAAK,IAAI,IAAI,EACb,cAAc,IAAI,YAAY,EAC9B,SAAS,IAAI,MAAM,EACnB,QAAQ,IAAI,QAAQ,EAGpB,OAAO,IAAI,SAAS,EACpB,WAAW,IAAI,QAAQ,EACvB,SAAS,IAAI,YAAY,EACzB,QAAQ,IAAI,QAAQ,EAGpB,IAAI,EAIJ,IAAI,IAAI,IAAI,EACZ,GAAG,EACH,QAAQ,EACR,WAAW,EACX,OAAO,EACP,IAAI,IAAI,KAAK,EACb,YAAY,EACZ,SAAS,IAAI,SAAS,EACtB,GAAG,IAAI,UAAU,EAIjB,IAAI,EACJ,QAAQ,IAAI,IAAI,EAChB,WAAW,IAAI,OAAO,EACtB,OAAO,IAAI,OAAO,EAClB,KAAK,EACL,aAAa,IAAI,QAAQ,EACzB,IAAI,EACJ,YAAY,IAAI,MAAM,EACtB,KAAK,EACL,IAAI,EACJ,QAAQ,IAAI,MAAM,EAClB,GAAG,EACH,GAAG,EACH,OAAO,IAAI,GAAG,EACd,cAAc,IAAI,IAAI,EACtB,KAAK,EACL,IAAI,EACJ,IAAI,EAGJ,KAAK,IAAI,IAAI,EACb,UAAU,IAAI,MAAM,EACpB,UAAU,IAAI,IAAI,EAClB,WAAW,IAAI,UAAU,EACzB,WAAW,IAAI,YAAY,EAC3B,MAAM,IAAI,SAAS,EAGnB,mBAAmB,IAAI,MAAM,EAC7B,oBAAoB,IAAI,OAAO,EAC/B,IAAI,EACJ,cAAc,EACd,YAAY,EACZ,WAAW,IAAI,MAAM,EACrB,UAAU,IAAI,QAAQ,EACtB,UAAU,EACV,UAAU,IAAI,KAAK,EACnB,OAAO,EAGP,UAAU,EACV,UAAU,GACX,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/components/icons.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,6CAA6C;AAC7C,cAAc,2BAA2B,CAAC;AAE1C;;;;;;;;GAQG;AACH,YAAY,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAEL,eAAe,IAAI,MAAM,EACzB,eAAe,IAAI,OAAO,EAC1B,cAAc,IAAI,MAAM,EACxB,KAAK,EACL,IAAI,EACJ,KAAK,IAAI,MAAM,EACf,cAAc,IAAI,QAAQ,EAC1B,YAAY,IAAI,MAAM,EACtB,SAAS,IAAI,IAAI,EAIjB,IAAI,EACJ,CAAC,IAAI,KAAK,EACV,KAAK,EACL,YAAY,IAAI,MAAM,EACtB,iBAAiB,IAAI,SAAS,EAC9B,OAAO,IAAI,QAAQ,EACnB,QAAQ,IAAI,OAAO,EACnB,YAAY,IAAI,IAAI,EACpB,UAAU,IAAI,IAAI,EAClB,OAAO,IAAI,KAAK,EAChB,YAAY,IAAI,KAAK,EACrB,OAAO,EAGP,KAAK,EACL,YAAY,IAAI,IAAI,EACpB,aAAa,IAAI,IAAI,EACrB,YAAY,IAAI,IAAI,EAEpB,eAAe,IAAI,IAAI,EAGvB,SAAS,EACT,SAAS,EACT,UAAU,EACV,OAAO,EACP,SAAS,EACT,YAAY,EACZ,UAAU,EACV,IAAI,IAAI,IAAI,EACZ,KAAK,IAAI,IAAI,EACb,cAAc,IAAI,YAAY,EAC9B,SAAS,IAAI,MAAM,EACnB,QAAQ,IAAI,QAAQ,EAGpB,OAAO,IAAI,SAAS,EACpB,WAAW,IAAI,QAAQ,EACvB,SAAS,IAAI,YAAY,EACzB,QAAQ,IAAI,QAAQ,EAGpB,IAAI,EAIJ,IAAI,IAAI,IAAI,EACZ,GAAG,EACH,QAAQ,EACR,WAAW,EACX,OAAO,EACP,IAAI,IAAI,KAAK,EACb,YAAY,EACZ,SAAS,IAAI,SAAS,EACtB,GAAG,IAAI,UAAU,EAIjB,OAAO,IAAI,WAAW,EAItB,IAAI,EACJ,QAAQ,IAAI,IAAI,EAChB,WAAW,IAAI,OAAO,EACtB,OAAO,IAAI,OAAO,EAClB,KAAK,EACL,aAAa,IAAI,QAAQ,EACzB,IAAI,EACJ,YAAY,IAAI,MAAM,EACtB,KAAK,EACL,IAAI,EACJ,QAAQ,IAAI,MAAM,EAClB,GAAG,EACH,GAAG,EACH,OAAO,IAAI,GAAG,EACd,cAAc,IAAI,IAAI,EACtB,KAAK,EACL,IAAI,EACJ,IAAI,EAGJ,KAAK,IAAI,IAAI,EACb,UAAU,IAAI,MAAM,EACpB,UAAU,IAAI,IAAI,EAClB,WAAW,IAAI,UAAU,EACzB,WAAW,IAAI,YAAY,EAC3B,MAAM,IAAI,SAAS,EAGnB,mBAAmB,IAAI,MAAM,EAC7B,oBAAoB,IAAI,OAAO,EAC/B,IAAI,EACJ,cAAc,EACd,YAAY,EACZ,WAAW,IAAI,MAAM,EACrB,UAAU,IAAI,QAAQ,EACtB,UAAU,EACV,UAAU,IAAI,KAAK,EACnB,OAAO,EAGP,UAAU,EACV,UAAU,GACX,MAAM,2BAA2B,CAAC"}
@@ -27,6 +27,10 @@ Bell,
27
27
  adres, birincil kişi. Rolü her üründe aynı, o yüzden burada. Adı `Star`
28
28
  değil `Main`: çağrı yeri rolü okur, glifi değil. */
29
29
  Star as Main, Eye, EyeSlash, ShieldCheck, Warning, Tray as Empty, CalendarPlus, MoonStars as ThemeDark, Sun as ThemeLight,
30
+ /* "İşletim sistemi ne diyorsa o" · temanın üçüncü hâli ve bir açık/koyu
31
+ ikilisiyle söylenemiyor. Bir ekran glifi, çünkü karar ekranın kendisine
32
+ bırakılıyor. */
33
+ Desktop as ThemeSystem,
30
34
  /* Dört geri bildirim işareti. `Warning` zaten vardı ama tek başına bir
31
35
  ailenin dörtte biriydi: bir arayüz "oldu", "olmadı", "dikkat" ve "şunu
32
36
  bil" demek zorunda, ve üçünü glifsiz bırakmak dördüncüyü de zayıflatıyor. */
@@ -1,3 +1,4 @@
1
+ import type { ReactNode } from "react";
1
2
  import { type VariantProps } from "class-variance-authority";
2
3
  /**
3
4
  * Text entry. Flat until focus, then it joins the raised family — an accent
@@ -32,4 +33,24 @@ export type InputProps = Omit<React.ComponentProps<"input">, "size"> & VariantPr
32
33
  export declare function Input({ className, invalid, full, size, leading, ...props }: InputProps): import("react").JSX.Element;
33
34
  export type TextareaProps = React.ComponentProps<"textarea"> & VariantProps<typeof textareaVariants>;
34
35
  export declare function Textarea({ className, invalid, full, ...props }: TextareaProps): import("react").JSX.Element;
36
+ /**
37
+ * ÖNEKLİ VE SONEKLİ GİRDİ · para birimi, alan adı, birim.
38
+ *
39
+ * Neden girdinin kendi prop'u değil: önek bir METİN değil bir PARÇA · bazen
40
+ * "₺", bazen "tamga.shop/", bazen bir ikon. Girdiye string olarak verilseydi
41
+ * ikincisi mümkün olmazdı, ve girdinin kendi kenarı ile önekin ayracı arasında
42
+ * kim hangi çizgiyi çizecek belirsiz kalırdı: kutu burada, girdi onun içinde.
43
+ *
44
+ * Gerekçe: docs/gerekce/01-form-ve-girdi.md
45
+ */
46
+ export declare function InputGroup({ prefix, suffix, children, className, ...rest }: {
47
+ /** What sits before the field: "₺", "tamga.shop/". TR: Alanın önünde duran şey. */
48
+ prefix?: ReactNode;
49
+ /** What sits after it: "KDV dahil", "kg". TR: Ardında duran şey. */
50
+ suffix?: ReactNode;
51
+ children: ReactNode;
52
+ className?: string;
53
+ /** `data-*` hooks pass through. TR: `data-*` kancaları geçiyor. */
54
+ [k: `data-${string}`]: unknown;
55
+ }): import("react").JSX.Element;
35
56
  //# sourceMappingURL=input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;8EAWxB,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB;;;8EAM3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,GAClE,YAAY,CAAC,OAAO,aAAa,CAAC,GAAG;IACnC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEJ,wBAAgB,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,+BAUtF;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,GAC1D,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAExC,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,+BAS7E"}
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;8EAWxB,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB;;;8EAM3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,GAClE,YAAY,CAAC,OAAO,aAAa,CAAC,GAAG;IACnC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEJ,wBAAgB,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,+BAUtF;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,GAC1D,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAExC,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,+BAS7E;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,EAAE;IACD,mFAAmF;IACnF,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,oEAAoE;IACpE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,CAAC,CAAC,EAAE,QAAQ,MAAM,EAAE,GAAG,OAAO,CAAC;CAChC,+BAgBA"}
@@ -1,6 +1,7 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { cva } from "class-variance-authority";
3
3
  import { cn } from "../lib/cn.js";
4
+ import { dataProps } from "../lib/data-props.js";
4
5
  /**
5
6
  * Text entry. Flat until focus, then it joins the raised family — an accent
6
7
  * edge plus a 2px accent offset.
@@ -39,3 +40,16 @@ export function Input({ className, invalid, full, size, leading, ...props }) {
39
40
  export function Textarea({ className, invalid, full, ...props }) {
40
41
  return (_jsx("textarea", { "data-slot": "textarea", "aria-invalid": invalid || undefined, className: cn(textareaVariants({ invalid, full }), className), ...props }));
41
42
  }
43
+ /**
44
+ * ÖNEKLİ VE SONEKLİ GİRDİ · para birimi, alan adı, birim.
45
+ *
46
+ * Neden girdinin kendi prop'u değil: önek bir METİN değil bir PARÇA · bazen
47
+ * "₺", bazen "tamga.shop/", bazen bir ikon. Girdiye string olarak verilseydi
48
+ * ikincisi mümkün olmazdı, ve girdinin kendi kenarı ile önekin ayracı arasında
49
+ * kim hangi çizgiyi çizecek belirsiz kalırdı: kutu burada, girdi onun içinde.
50
+ *
51
+ * Gerekçe: docs/gerekce/01-form-ve-girdi.md
52
+ */
53
+ export function InputGroup({ prefix, suffix, children, className, ...rest }) {
54
+ return (_jsxs("div", { ...dataProps(rest), className: cn("tamga-input-group", className), children: [prefix !== undefined ? (_jsx("span", { className: "tamga-unit", "data-side": "start", children: prefix })) : null, children, suffix !== undefined ? (_jsx("span", { className: "tamga-unit", "data-side": "end", children: suffix })) : null] }));
55
+ }
@@ -15,43 +15,26 @@ export declare function Surface({ raised, className, children, ...props }: React
15
15
  raised?: boolean;
16
16
  }): import("react").JSX.Element;
17
17
  /**
18
- * Yatay taşma kabı — ve bu bileşenin asıl işi erişilebilirlik.
18
+ * Yatay taşma kabı · asıl işi erişilebilirlik. `overflow-x: auto` tek başına
19
+ * yalnız FARE için çalışıyor; `tabIndex={0}` + `role="region"` + zorunlu bir ad
20
+ * o kutuyu klavyeye açıyor.
19
21
  *
20
- * `overflow-x: auto` tek başına FARE için çalışır. Klavye kullanan biri o
21
- * kutuya hiç giremez: kaydırılabilir bir alan odaklanabilir değilse içindeki
22
- * geniş tabloyu yana kaydırmanın yolu yoktur. Tarayıcılar bunu kendiliğinden
23
- * çözmüyor.
24
- *
25
- * `tabIndex={0}` + `role="region"` + bir ad, o kutuyu klavyeye açıyor. Ad
26
- * zorunlu: adsız bir `region` ekran okuyucunun landmark listesinde
27
- * "bölge, bölge, bölge" olarak birikir ve hiçbirinin ne olduğu bilinmez.
22
+ * Gerekçe: docs/gerekce/05-yuzey-ve-kabuk.md
28
23
  */
29
- export declare function ScrollX({ label, className, children, ...props }: React.ComponentProps<"div"> & {
30
- label: string;
31
- }): import("react").JSX.Element;
32
24
  /**
33
- * Aşağıdan giren blok.
25
+ * Aşağıdan giren blok · GİRİŞ animasyonu, hover etkisi değil.
34
26
  *
35
- * `.tamga-rise` bir HOVER etkisi değil, bir GİRİŞ animasyonu: sekiz piksel
36
- * aşağıdan, sönükten. Azaltılmış harekette CSS onu tamamen kapatıyor.
37
- *
38
- * `delay` bir listeyi sırayla açmak için. Basamak küçük tutulmalı — otuz
39
- * satırlık bir listede 60ms'lik bir gecikme, sonuncuyu iki saniye sonra
40
- * gösterir ve bekleme hissi yaratır.
27
+ * Gerekçe: docs/gerekce/05-yuzey-ve-kabuk.md
41
28
  */
42
- export declare function Rise({ delay, className, children, ...props }: React.ComponentProps<"div"> & {
29
+ export declare function Reveal({ delay, className, children, ...props }: React.ComponentProps<"div"> & {
43
30
  delay?: number;
44
31
  }): import("react").JSX.Element;
45
32
  /**
46
- * İki durumun aynı yerde durması.
33
+ * İki durumun aynı yerde durması · kutu her zaman UZUN olanın genişliğinde,
34
+ * yani "Kaydet" → "Kaydediliyor…" yanındaki hiçbir şeyi kaydırmıyor. Gizlenen
35
+ * taraf `aria-hidden` alıyor.
47
36
  *
48
- * Bir düğmenin yazısı "Kaydet" iken "Kaydediliyor…" olduğunda düğme genişler
49
- * ve yanındaki her şey kayar. Swap ikisini de aynı ızgara hücresine koyuyor:
50
- * kutu her zaman UZUN olanın genişliğinde, yani hiçbir şey oynamıyor.
51
- *
52
- * Gizlenen taraf `aria-hidden` alıyor. Almasaydı ekran okuyucu iki metni
53
- * arka arkaya okurdu — "Kaydet Kaydediliyor" — ve hangisinin geçerli olduğu
54
- * anlaşılmazdı.
37
+ * Gerekçe: docs/gerekce/05-yuzey-ve-kabuk.md
55
38
  */
56
39
  export declare function Swap({ showing, a, b, className, ...rest }: {
57
40
  /** Which side is visible: `"a"` or `"b"`. TR: Hangi taraf görünür: `"a"` ya da `"b"`. */
@@ -63,15 +46,11 @@ export declare function Swap({ showing, a, b, className, ...rest }: {
63
46
  [k: `data-${string}`]: unknown;
64
47
  }): import("react").JSX.Element;
65
48
  /**
66
- * Liste satırı — tablo olmayan listeler için.
67
- *
68
- * Bir tabloya yetmeyen ama bir listeden fazlası olan şey: ayarlar satırı,
69
- * entegrasyon satırı, üye satırı. Sabit yükseklik ve alt kural, satırların
70
- * taranabilir kalmasını sağlıyor.
49
+ * Liste satırı · tablo olmayan listeler için. `href` verilirse bağlantı,
50
+ * `onClick` verilirse düğme, ikisi de yoksa düz satır: tıklanabilir bir `<div>`
51
+ * klavyeyle erişilemiyor.
71
52
  *
72
- * `href` verilirse bir bağlantıya, `onClick` verilirse bir düğmeye döner —
73
- * ikisi de yoksa düz bir satır kalır. Bu ayrım önemli: tıklanabilir bir
74
- * `<div>` klavyeyle erişilemez ve ekran okuyucuya hiçbir şey söylemez.
53
+ * Gerekçe: docs/gerekce/05-yuzey-ve-kabuk.md
75
54
  */
76
55
  export declare function ListRow({ size, href, onClick, className, children, ...rest }: {
77
56
  size?: "base" | "sm";
@@ -83,33 +62,32 @@ export declare function ListRow({ size, href, onClick, className, children, ...r
83
62
  [k: `data-${string}`]: unknown;
84
63
  }): import("react").JSX.Element;
85
64
  /**
86
- * İçinde bir panel AÇILAN tablo hücresi.
87
- *
88
- * Tek işi kırpmayı kapatmak — ve o tek iş, unutulduğunda görünmeyen bir hata
89
- * üretiyor: hücrenin içindeki bir menü, ipucu ya da açılır panel hücre
90
- * sınırında KESİLİYOR. Kontrol çalışıyor, tıklanıyor, ama yarısı yok. Hata
91
- * mesajı yok, konsol sessiz, ve ilk akla gelen z-index oluyor. Z-index bunu
92
- * çözmez: hiçbir yığın sırası bir `overflow` kırpmasını aşamaz.
65
+ * İçinde bir panel AÇILAN tablo hücresi. Tek işi kırpmayı kapatmak, ve
66
+ * unutulduğunda görünmeyen bir hata üretiyor: hücredeki menü hücre sınırında
67
+ * KESİLİYOR, konsol sessiz, ve ilk akla gelen z-index oluyor. Z-index bunu
68
+ * çözmez · hiçbir yığın sırası bir `overflow` kırpmasını aşamaz.
93
69
  *
94
- * `align` VARSAYILAN OLARAK SAĞDA, çünkü en sık kullanımı satır sonundaki
95
- * eylem menüsü. Ama hiza ile kırpma AYRI iki karar: sola yaslı bir hücrede
96
- * ipucu barındırmak isteyen, hizasını feda etmek zorunda kalmasın diye
97
- * `align="start"` var. (Uzun süre tek parçaydı ve tam bu yüzden yakalandı.)
70
+ * `align` varsayılan olarak sağda: en sık kullanımı satır sonundaki eylem.
98
71
  */
99
72
  export declare function CellActions({ className, children, align, ...props }: Omit<React.ComponentProps<"td">, "align"> & {
100
73
  align?: "start" | "end";
101
74
  }): import("react").JSX.Element;
102
75
  /**
103
- * Sayfa başlığı şeridi.
76
+ * Sayfa başlığı şeridi. Eylem SAĞA yaslı ve başlığın taban çizgisinde.
104
77
  *
105
- * Ürün bunu kendi yazmıştı (23 satır) ve doğru yazmıştı — ama her ekranın
106
- * tepesinde duran bir şeyin her projede yeniden yazılması, on panelde on
107
- * farklı boşluk demek.
108
- *
109
- * Eylem SAĞA yaslı ve başlığın taban çizgisinde. Başka yere koyan bir başlık
110
- * altındaki listeden kopmuş görünüyor — bu bir tercih değil, ölçülmüş bir şey.
78
+ * Doküman: /docs/page-band
111
79
  */
112
- export declare function PageBand({ title, subtitle, actions, className, ...rest }: {
80
+ export declare function PageBand({ eyebrow, title, subtitle, actions, className, ...rest }: {
81
+ /**
82
+ * A short line above the title saying what KIND of page this is, or whose it is.
83
+ * TR: Başlığın üstünde, bu sayfanın NE TÜR bir sayfa olduğunu ya da kimin olduğunu söyleyen kısa satır.
84
+ *
85
+ * Use it when the title alone leaves a question the reader would otherwise ask, such as whether a
86
+ * setting applies to everyone or only to them.
87
+ * TR: Başlığın tek başına cevapsız bıraktığı bir soru varsa kullanılıyor · bir ayarın herkesi mi
88
+ * yoksa yalnız o kişiyi mi ilgilendirdiği gibi.
89
+ */
90
+ eyebrow?: string;
113
91
  title: string;
114
92
  subtitle?: string;
115
93
  actions?: ReactNode;
@@ -118,23 +96,22 @@ export declare function PageBand({ title, subtitle, actions, className, ...rest
118
96
  [k: `data-${string}`]: unknown;
119
97
  }): import("react").JSX.Element;
120
98
  /**
121
- * Gezinen bağlantı.
122
- *
123
- * `.tamga-link` sınıfı kitte yıllarca vardı, bileşeni yoktu — ve doküman
124
- * sitesi kendi sarmalayıcısını yazmak zorunda kaldı. Sınıfın olup bileşenin
125
- * olmaması, tam olarak checkbox'ın yaşadığı boşluk.
126
- *
127
- * NEDEN `Button variant="link"` DEĞİL. O bir `<button>`; bir bağlantı gibi
128
- * GÖRÜNÜR ama gezinmez. Orta tuşla yeni sekmede açılamaz, sağ tıkla
129
- * kopyalanamaz, ve ekran okuyucuya "düğme" der. Görünüm aynı, sözleşme
130
- * ters.
131
- *
132
- * `external` verilince `rel="noopener noreferrer"` geliyor. `noopener`
133
- * olmadan açılan sayfa `window.opener` üzerinden seninkini yönlendirebilir —
134
- * eski ve hâlâ geçerli bir açık.
99
+ * Gezinen bağlantı. `Button variant="link"` DEĞİL: o bir `<button>`, yani orta
100
+ * tuşla yeni sekmede açılmıyor, kopyalanmıyor, ve ekran okuyucuya "düğme"
101
+ * diyor. `external` verilince `rel="noopener noreferrer"` geliyor · `noopener`
102
+ * olmadan açılan sayfa `window.opener` ile seninkini yönlendirebilir.
135
103
  */
136
- export declare function Link({ external, className, children, href, linkComponent: Router, ...props }: React.ComponentProps<"a"> & {
104
+ export declare function Link({ external, look, className, children, href, linkComponent: Router, ...props }: React.ComponentProps<"a"> & {
137
105
  external?: boolean;
106
+ /**
107
+ * `inline` inside a sentence, `standalone` on its own line with an arrow that steps forward
108
+ * under the pointer, `quiet` a link that waits until it is looked at, `marked` a link carrying
109
+ * a wash, for the one address in a paragraph that must be found. TR: `inline` bir cümlenin
110
+ * içinde, `standalone` kendi satırında ve işaretçi altında bir adım ileri giden okuyla,
111
+ * `quiet` bakılana kadar bekleyen bağlantı, `marked` yıkama taşıyan bağlantı · bir paragrafta
112
+ * bulunması gereken tek adres için.
113
+ */
114
+ look?: "inline" | "standalone" | "quiet" | "marked";
138
115
  /**
139
116
  * The router's link, so an in-app link does not reload the page. TR: Yönlendiricinin
140
117
  * bağlantısı, uygulama içi bir bağlantı sayfayı yeniden yüklemesin diye.
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/components/layout.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/components/layout.tsx"],"names":[],"mappings":"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"}