import { Border as KendoBorder } from "@progress/kendo-react-barcodes";

export interface BarcodeProps {
  dataTestId?: string;
  background?: string;
  border?: KendoBorder;
  checksum?: boolean;
  className?: string;
  color?: string;
  height?: number;
  padding?: number | Padding;
  renderAs?: RenderMode;
  style?: React.CSSProperties;
  text?: BarcodeText;
  type: string;
  value: string | number;
  width?: number;
}

export interface Border {
  color?: string;
  dashType?: string;
  width?: number;
}

export interface Padding {
  bottom?: number;
  left?: number;
  right?: number;
  top?: number;
}

export interface BarcodeText {
  color?: string;
  font?: string;
  margin?: Margin;
  visible?: boolean;
}

export interface Margin {
  bottom?: number;
  left?: number;
  right?: number;
  top?: number;
}

export type RenderMode = "canvas" | "svg";
