/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { drawing } from '@progress/kendo-drawing'; import { AxisLabelVisualArgs, Border, DateFormats, LabelRotation, Margin, Padding } from '../../common/property-types'; /** * @hidden */ export interface XAxisLabels { /** * The background color of the labels. Accepts a valid CSS color string, including hex and rgb. */ background?: string; /** * The border of the labels. */ border?: Border; /** * The text color of the labels. Accepts a valid CSS color string, including hex and rgb. */ color?: string; /** * The function which returns the label content. The function argument contains a `value` field. It defines the axis value. You can split the text into multiple lines by using the line feed characters (`"\n"`). * * The available fields in the function argument are: * - `value`—The category value. * - `format`—The default format of the label. * - `text`—The default label text. * - `index`—The index of the label. * - `count`—The total number of rendered labels. */ content?: (e: any) => string; /** * The culture to use when formatting date values. The specified culture must be loaded as demonstrated in the [Internationalization Overview]({% slug overview_intl %}). */ culture?: string; /** * The format for displaying the labels when the X values are dates. Uses the [`format`]({% slug api_intl_intlservice %}#toc-format) method of IntlService. Contains one placeholder (`"{0}"`) which represents the category value. The Chart selects the appropriate format for the current [`xAxis.baseUnit`]({% slug api_charts_chartxaxisitemprops %}#toc-baseunit). Setting the [`categoryAxis.labels.format`]({% slug api_charts_chartcategoryaxislabelsprops %}#toc-format) option overrides the date formats. */ dateFormats?: DateFormats; /** * The font style of the labels. */ font?: string; /** * The format for displaying the labels. Uses the [`format`]({% slug api_intl_intlservice %}#toc-format) method of IntlService. Contains one placeholder (`"{0}"`) which represents the category value. */ format?: string; /** * The margin of the labels. A numeric value sets all margins. */ margin?: Margin | number; /** * If set to `true`, the Chart mirrors the axis labels and ticks. If the labels are normally on the left side of the axis, the mirroring of the axis renders them to the right. */ mirror?: boolean; /** * The padding of the labels. A numeric value sets all paddings. */ padding?: Padding | number; /** * The rotation angle of the labels. By default, the labels are not rotated. Can be set to `"auto"`. In this case, the labels are rotated only if the slot size is not sufficient for the entire labels. */ rotation?: LabelRotation | number | 'auto'; /** * The number of labels to skip. */ skip?: number; /** * The label rendering step—renders every nth label. By default, every label is rendered. */ step?: number; /** * If set to `true`, the Chart displays the X-axis labels. By default, the X-axis labels are visible. */ visible?: boolean; /** * A function for creating custom visuals for the labels. * * The available argument fields are: * - `createVisual`—A function that can be used to get the default visual. * - `culture`—The default culture (if set) of the label. * - `format`—The default format of the label. * - `options`—The label options. * - `rect`—The geometry [`Rect`]({% slug api_kendo-drawing_geometry_rect %}) that defines where the visual has to be rendered. * - `sender`—The Chart instance (might be `undefined`). * - `text`—The label text. * - `value`—The category value. */ visual?: (e: AxisLabelVisualArgs) => drawing.Element; }