Skip to content
Snippets Groups Projects
componentsProps.ts 7.35 KiB
Newer Older
import type {
  TBorder,
  TExpandedPosition,
  TPosition,
  TSize,
  TTextStyle,
  TThemeColor,
  TThemeColorNoWhite,
} from '@interfaces/common';
  TInputDivScheme,
  TToastType,
  data?: unknown[][];
  multipleSort?: boolean;
  stripedRows?: boolean;
  center?: boolean;
  fontSize?: string;
  theme?: TThemeColor;
  textColor?: TThemeColor;
  darknessTheme?: TDarkness;
  darknessTextColor?: TDarkness;
  paginator?: boolean;
  paginatorOptions?: IPaginatorProps;
  editable?: boolean;
  noEditingSettings?: {
    columns?: number[];
    rows?: number[];
    cells?: [number, number][];
  handlers?: {
    cell: [number, number];
    handler?: () => void;
export interface ITLProps {
  items: ITreeItem[];
  maxWidth?: number;
  expand?: boolean;
  theme?: TThemeColor;
  textColor?: TThemeColor;
  darknessTextColor?: TDarkness;
}

export interface ITIProps {
  state: {
    isOpen: boolean;
    label: string;
  }[];
  items: ITreeItem[];
export interface IPaginatorProps {
  total?: number;
  itemsPerPage?: number;
  itemsPerPageOptions?: number[];
  fontSize?: string;
  theme?: TThemeColor;
  darknessTheme?: TDarkness;
export interface ICarouselProps {
  itemsProps: any[];
  size?: TSize;
  perView?: number;
  perScroll?: number;
  theme?: TThemeColor;
  darknessTheme?: TDarkness;
}

export interface IMDProps {
  size?: TSize;
  direction?: TDirection;
  // direction?: TDirection | 'circle';
export interface IKnobProps {
  min?: number;
  max?: number;
  step?: number;
  size?: TSize;
  theme?: TThemeColor;
  colorGaps?: IColorGap[];
  negativeTheme?: TThemeColor;
  color?: TThemeColor;
  background?: string;
  darknessTheme?: TDarkness;
  darknessNegativeTheme?: TDarkness;
  darknessColor?: TDarkness;
  buttons?: boolean;
  showLabel?: boolean;
  colorAsTheme?: boolean;
  fontSize?: string;
  textBold?: boolean;
  textBefore?: string;
  textAfter?: string;
export interface ISliderProps {
  width?: string | number;
  min?: string | number;
  max?: string | number;
  step?: string | number;
  size?: TSize;
  theme?: TThemeColor;
  backgroundColor?: TThemeColor;
  darknessTheme?: TDarkness;
  darknessBackgroundColor?: TDarkness;
  orientation?: 'horizontal' | 'vertical';
  isSmooth?: boolean;
  options?: ISliderOptions[];
}

export interface IDrawerProps {
  position?: TPosition;
  width?: string | number;
  theme?: TThemeColor;
  darknessTextColor?: TDarkness;
  modal?: boolean;
  dismissible?: boolean;
  closeIcon?: TIcon;
  headerDivider?: boolean;
  footerDivider?: boolean;
}

export interface IModalProps {
  theme?: TThemeColor;
  textColor?: TThemeColor;
  darknessTextColor?: TDarkness;
  width?: string;
  height?: string;
  position?: TExpandedPosition;
  dismissible?: boolean;
  closeIcon?: TIcon;
  headerDivider?: boolean;
}

export interface IPopupProps {
  parentSelector?: string;
  theme?: TThemeColor;
  maxWidth?: string;
  maxHeight?: string;
  padding?: string;
export interface ICropperProps {
  src?: string;
  file?: File;
  width?: number;
  height?: number;
  menuPosition?: 'top' | 'right' | 'bottom' | 'left';
  theme?: TThemeColor;
  darknessTheme?: TDarkness;
export interface IColorPickerProps {
  size?: TSize;
  disabled?: boolean;
  buttonProps?: IButtonProps;
  sameButtonColor?: boolean;
}

  options?: ISelectOption[];
  openIcon?: TIcon;
  fontSize?: string;
  placeholderColor?: TThemeColor;
  openIconColor?: TThemeColor;
  filtered?: boolean;
  noHighlight?: boolean;
  noBorder?: boolean;
  noSelectedBackground?: boolean;
  noBackground?: boolean;
export interface IInputDivProps {
  scheme?: TInputDivScheme;
  size?: TSize;
  secret?: boolean;
  dashed?: boolean;
  numbersOnly?: boolean;
  bottomOnly?: boolean;
  theme?: TThemeColor;
  darknessTheme?: TDarkness;
  textColor?: TThemeColor;
  darknessTextColor?: TDarkness;
}

export interface ISBProps {
  options: ISBOption[];
  size?: TSize;
  rounded?: boolean;
  activeBackgroundColor?: TThemeColor;
  darknessActiveBackgroundColor?: TDarkness;
  disabled?: boolean;
}

export interface IButtonProps {
  label?: string;
  size?: TSize;
  textStyle?: TTextStyle;
  iconPos?: TPosition;
  width?: string | number;
  padding?: string;
  theme?: TThemeColor;
  textColor?: TThemeColor;
  darknessTheme?: TDarkness;
  darknessTextColor?: TDarkness;
export interface IProgressBarProps {
  max?: number;
  width?: string;
  height?: string;
  size?: TSize;
  fontSize?: string;
  colorGaps?: IColorGap[];
  colorInactiveGaps?: IColorGap[];
  theme?: TThemeColor;
  inactiveTheme?: TThemeColor;
  darknessTheme?: TDarkness;
  darknessInactiveTheme?: TDarkness;
  gradient?: string[];
  showLabel?: boolean;
  labelBefore?: string;
  labelAfter?: string;
  noBorder?: boolean;
}

export interface IRatingProps {
  size?: TSize;
  gap?: string;
  theme?: TThemeColor;
  offTheme?: TThemeColor;
  darknessTheme?: TDarkness;
}

export interface ITSProps {
  size?: TSize;
  theme?: TThemeColorNoWhite;
  negativeTheme?: TThemeColor;
  darknessTheme?: TDarkness;
  darknessNegativeTheme?: TDarkness;
export interface IToastProps {
  active?: boolean;
  duration?: number | false;
  type?: TToastType;
  theme?: TThemeColor;
  size?: TSize;
  text?: string;
  header?: string;
  icon?: TIcon;
  position?: Exclude<TExpandedPosition, 'left' | 'right'>;
export interface ITagProps {
  value?: string;
  size?: TSize;
  rounded?: boolean;
  iconLeft?: TIcon;
  iconRight?: TIcon;
  theme?: TThemeColor;
  background?: TThemeColor;
  border?: TThemeColor;
  darknessTheme?: TDarkness;
  darknessBackground?: TDarkness;
  darknessBorder?: TDarkness;
}

export interface ICheckboxProps {
  label?: string;
  labelPos?: TPosition;
  name?: string;
  size?: TSize;
  disabled?: boolean;
  invalid?: boolean;
  theme?: TThemeColor;
  activeTheme?: TThemeColor;
  textColor?: TThemeColor;
  borderColor?: TThemeColor;
  darknessTheme?: TDarkness;
  darknessActiveTheme?: TDarkness;
  darknessTextColor?: TDarkness;
  darknessBorder?: TDarkness;
export interface IDividerProps {
  height?: number;
  type?: TBorder;
  color?: TThemeColor;