export const DEFAULT_FONT_SIZE = 12;
export const DEFAULT_FONT_FAMILY = 'Helvetica';
export const DEFAULT_FONT_WEIGHT = 400;
export const DEFAULT_FONT_WEIGHT_BOLD = 600;
export const DEFAULT_FONT_STYLE = 'normal';
export const DEFAULT_COLOR = '#000000';

export const TYPOGRAPHY_OVERFLOW_SX_PROPS = {
  textOverflow: 'ellipsis',
  overflow: 'hidden',
  whiteSpace: 'nowrap',
};

export const MIN_NUMBER_VALUE = -9000000000000000;
export const MAX_NUMBER_VALUE = 9000000000000000;

export const TOOLTIP_DELAY_MS = 300;

export const OPTION_PADDING = 8; // px on each edge
export const OPTION_GAP = 8; // px vertical gap between radio/checkbox buttons

export const EMAIL_REGEX = '^[^\\s@]+@[^\\s@.]+(?:\\.[^\\s@.]+)+$';
export const ALPHA_REGEX = '^[\\p{L}\\p{M}]+$';

export const TEXT_MAX_LENGTH = 8192;
export const NUMBER_MAX_LENGTH = 20;

// Date formats
export const DATE_DD_MM_YYYY = 'dd/MM/yyyy';
export const DATE_MM_DD_YYYY = 'MM/dd/yyyy';
export const DATE_MM_YYYY = 'MM/yyyy';
export const TIME_HH_MM = 'HH:mm';
export const DATETIME_DD_MM_YYYY_HH_MM_SS = 'dd/MM/yyyy HH:mm:ss';

export type DatePattern =
  | typeof DATE_DD_MM_YYYY
  | typeof DATE_MM_DD_YYYY
  | typeof DATE_MM_YYYY
  | typeof TIME_HH_MM
  | typeof DATETIME_DD_MM_YYYY_HH_MM_SS;
