import type { HTMLAttributes } from 'svelte/elements'; /** Per-slot class overrides for {@link SparklineProps}. */ export type SparklineSlotClasses = Partial>; /** * @summary A trend small enough to sit inside a table cell. * @description Tiny inline trend line — no axes, no labels — sized to flow in * table cells, cards, or running text. Zero-dependency SVG, optional area fill * and end-point dot. Fixed `width`/`height` by default, or set `fluid` to fill * the container width. Aria-hidden by default with an optional `ariaLabel`. * * @tag display * @tag data * @related LineChart * @stability beta * * @example * ```svelte * * ``` */ export interface SparklineProps extends Omit, 'children'> { /** Sequence of values plotted left → right. */ data: number[]; /** Width in px. @default 96 */ width?: number; /** Height in px. @default 24 */ height?: number; /** * Fill the container width instead of a fixed pixel size. Drops the svg's * `width`/`height` attributes (they still set the `viewBox` aspect ratio) so * it scales to its container; strokes stay crisp via * `vector-effect="non-scaling-stroke"`. @default false */ fluid?: boolean; /** Fill the area under the line. @default false */ area?: boolean; /** Mark the last point with a dot. @default false */ showEndPoint?: boolean; /** Line + fill color. @default 'var(--color-chart-1)' */ color?: string; /** Stroke width in px. @default 1.5 */ strokeWidth?: number; /** Accessible label; when omitted the sparkline is aria-hidden. */ ariaLabel?: string; /** Extra classes merged onto the wrapper. */ class?: string; /** Remove all default classes. */ unstyled?: boolean; /** Per-slot class overrides. */ slotClasses?: SparklineSlotClasses; } export { default as Sparkline } from './Sparkline.svelte';