UNPKG

nice-ui

Version:

React design system, components, and utilities

43 lines (42 loc) 1.49 kB
export type TPieceColor = 'b' | 'w'; export type TPieceType = 'r' | 'b' | 'k' | 'n' | 'p' | 'q' | 'R' | 'B' | 'K' | 'N' | 'P' | 'Q'; export type TSquarePositionComponent = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7; export type TPieceNames = 'br' | 'bb' | 'bk' | 'bn' | 'bp' | 'bq' | 'wr' | 'wb' | 'wk' | 'wn' | 'wp' | 'wq'; export type TLineBody = string | '-' | '--' | '---' | '----' | '-----' | '=' | '==' | '===' | '====' | '====='; export type TLineTip = string | '' | '>' | '>>' | '>>>' | '>>>>' | '>>>>>' | '<' | '<<' | '<<<' | '<<<<' | '<<<<<' | 'o' | 'O'; export interface ILine { from: [TSquarePositionComponent, TSquarePositionComponent]; to: [TSquarePositionComponent, TSquarePositionComponent]; body?: TLineBody; tipTo?: TLineTip; tipFrom?: TLineTip; color?: string; opacity?: number; } export interface ISquare { xy: [TSquarePositionComponent, TSquarePositionComponent]; piece?: TPieceType; pieceOpacity?: number; color?: string; opacity?: number; borderTop?: boolean; borderRight?: boolean; borderBottom?: boolean; borderLeft?: boolean; } export interface IBorder { xy: [TSquarePositionComponent, TSquarePositionComponent]; segments: string; offset?: [number, number]; segmentSize?: number; color?: string; opacity?: number; width?: number; fillColor?: string; fillOpacity?: number; } export interface IBoardLayout { lines?: ILine[]; squares?: ISquare[]; borders?: IBorder[]; }