@ahmetilhn/hanui 5.3.1 → 5.3.2

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.
@@ -1,9 +1,12 @@
1
+ import type { TickFormat } from './format';
1
2
  import type { PlotArea } from './types';
2
3
  export type Tick = {
3
4
  /** Eksen boyunca konum (px). */
4
5
  position: number;
5
6
  label: string;
6
7
  };
8
+ /** Bölme değerlerini konumlu bölmelere çevirir. Yazılar LİSTE olarak biçimlenir — basamak tüm bölmelerden. */
9
+ export declare const placeTicks: (values: readonly number[], scale: (value: number) => number, format: TickFormat) => Tick[];
7
10
  /** Bir karakterin yaklaşık genişliği (px) — 11 px eksen yazısında ölçülmüş ortalama. */
8
11
  export declare const CHAR_WIDTH = 6.4;
9
12
  /** Etiketin kaplayacağı yaklaşık genişlik. Ölçüm (DOM) yerine tahmin: sunucuda da çalışır. */
@@ -1,6 +1,6 @@
1
1
  /** KARTEZYEN GEOMETRİ — Çizgi, Alan, Çubuk ve Bileşik grafiğin ortak, saf (DOM'suz) motoru. */
2
2
  import { type Tick } from './axes';
3
- import type { ValueFormat } from './format';
3
+ import type { TickFormat } from './format';
4
4
  import { type ChartTone } from './palette';
5
5
  import { type Curve, type MaybePoint } from './path';
6
6
  import type { PlotArea } from './types';
@@ -28,8 +28,9 @@ export type CartesianInput = {
28
28
  orientation: Orientation;
29
29
  curve: Curve;
30
30
  formatX: (value: unknown) => string;
31
- formatLeft: ValueFormat;
32
- formatRight: ValueFormat;
31
+ /** Değer ekseni bölmeleri — basamak listeden çıktığı için LİSTE alır. */
32
+ formatLeft: TickFormat;
33
+ formatRight: TickFormat;
33
34
  /** Değer ekseninin sabit uçları; verilmeyen uç veriden. */
34
35
  domain?: readonly [number | undefined, number | undefined];
35
36
  };
@@ -1,9 +1,19 @@
1
1
  /** SAYI BİÇİMİ — eksen ve ipucu metni. Dil `labels.locale`ten, verilmezse tarayıcının dili. */
2
2
  export type ValueFormat = (value: number) => string;
3
+ /** Eksen bölmelerinin yazısı — tek değerden değil LİSTEDEN: gereken basamak bölmelerin hepsinden çıkar. */
4
+ export type TickFormat = (values: readonly number[]) => string[];
3
5
  /**
4
- * Eksen bölmesi: KISA gösterim ("12 B", "1,2 Mn"). Uzun bir sayı dar bir eksende üst üste biniyor;
6
+ * Eksen bölmeleri: KISA gösterim ("12 B", "1,2 Mn"). Uzun bir sayı dar bir eksende üst üste biniyor;
5
7
  * tam değer ipucunda ve veri tablosunda okunur.
8
+ *
9
+ * Basamak sayısı bölmelerin HEPSİNİ tam yazan en az basamak: en küçük anlamlı basamağı en ince olan
10
+ * bölme belirler, her bölme o basamağa kadar yazılır. 0,005 adımlı eksen "0 · 0,005 · 0,01 · 0,015",
11
+ * 50 adımlı "12 B · 12,05 B · 12,1 B".
12
+ *
13
+ * ⚠ Eskiden sabit "en çok bir ondalık" yazıyordu ve adımı 0,1'in altında kalan HER eksen sıfıra
14
+ * çöküyordu: 0,001-0,014 USD'lik maliyet grafiği "0 · 0 · 0 · 0" okunuyordu (ölçüldü: tüketicide).
15
+ * Kısa gösterimde de aynı hata vardı — 12 050 ile 12 100 ikisi de "12,1 B".
6
16
  */
7
- export declare const compactNumber: (locale?: string) => ValueFormat;
17
+ export declare const tickLabels: (locale?: string) => TickFormat;
8
18
  /** İpucu ve tablo: tam değer, en çok iki ondalık. */
9
19
  export declare const fullNumber: (locale?: string) => ValueFormat;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ahmetilhn/hanui",
3
- "version": "5.3.1",
3
+ "version": "5.3.2",
4
4
  "description": "Accessible, theme-driven React component library built on SCSS Modules. Bootstrap Icons for shell iconography, two built-in themes and a fully overridable design-token contract.",
5
5
  "author": "Ahmet ilhan <ahmetilhan.dev@gmail.com>",
6
6
  "license": "MIT",