import { c as Value, r as SummaryStrings } from "./summary-D8UEQXYr.js"; import { n as Format } from "./format-Dq02z5ZL.js"; import { CSSProperties, ReactNode } from "react"; //#region src/core/strings-polar-clock.d.ts type PolarClockStrings = Pick; //#endregion //#region src/charts/polar-clock/index.d.ts interface PolarClockProps { data: readonly Value[]; /** Index of the current segment to accent (position + color, never color alone). */ now?: number | undefined; /** Inner radius fraction r0 (the zero baseline all bars grow from). Default 0.35. */ inner?: number | undefined; /** Index rendered at 12 o'clock (week-start / midnight rotation). Default 0. */ origin?: number | undefined; /** `length` (radial bars, default) or `opacity` (fixed-length, 5-step fill). */ mode?: "length" | "opacity" | undefined; /** Hairline cardinal ticks at 0/¼/½/¾ of the cycle — the at-rest orientation * cue ("where is 12 o'clock"). One merged path node; default true. */ labels?: boolean | undefined; /** Numeral of the peak value in a bottom gutter (`max`), or none (default). */ label?: "max" | "none" | undefined; /** Segment index → label (default: HH:00 for n=24, weekday for n=7, else index). */ segmentFormat?: ((index: number, n: number) => string) | undefined; size?: number | undefined; color?: string | undefined; fontSize?: number | undefined; format?: Format | undefined; locale?: string | string[] | undefined; strings?: PolarClockStrings | undefined; /** Minimum in-chart label size, in viewBox units. Geometry sizes labels from * the mark and floors them at 7; this raises that floor and moves the * reserved gutter with it. A label the box cannot seat at the raised floor * drops rather than shrinking back under it. */ labelSize?: number | undefined; title?: string | undefined; summary?: string | false | undefined; id?: string | undefined; className?: string | undefined; style?: CSSProperties | undefined; children?: ReactNode | undefined; } /** * The peak numeral and the bottom band it sits in, resolved together with the * type size that decides both. * * Exported because the interactive entry maps the pointer over this same box. * It used to re-derive the band from the raw `fontSize` prop, so the two * disagreed whenever the numeral was dropped or the prop was unusable, and the * dial answered with the wrong segment. * * Two things are resolved rather than trusted. A host-computed `fontSize` * (`Number(field.value)` on an empty input → NaN) reached the band and left the * whole chart one unit tall. And the numeral is centred with the dial's own * width as its only budget: nothing measures text on the server, so a per-char * over-estimate decides, and a numeral that would not fit is dropped instead of * painted into the margin (`.mc-root` is overflow: visible). */ declare function polarClockLabel(opts: { data: readonly Value[]; peakIndex: number; box: number; fontSize: number | undefined; labelSize?: number | undefined; label: "max" | "none"; fmt: (n: number) => string; }): { text: string | null; band: number; fontSize: number; }; declare function polarClockSummary(data: readonly Value[], opts?: { segmentFormat?: ((index: number, n: number) => string) | undefined; strings?: PolarClockStrings | undefined; format?: Format | undefined; locale?: string | string[] | undefined; }): string; declare function PolarClock(props: PolarClockProps): ReactNode; //#endregion export { PolarClockStrings as a, polarClockSummary as i, PolarClockProps as n, polarClockLabel as r, PolarClock as t };