UNPKG

shogiground

Version:
147 lines 4.49 kB
import type { AnimCurrent } from './anim.js'; import type { DragCurrent } from './drag.js'; import type { Drawable } from './draw.js'; import type * as sg from './types.js'; export interface HeadlessState { pieces: sg.Pieces; orientation: sg.Color; dimensions: sg.Dimensions; turnColor: sg.Color; activeColor?: sg.Color | 'both'; checks?: sg.Key[]; lastDests?: sg.Key[]; lastPiece?: sg.Piece; selected?: sg.Key; selectedPiece?: sg.Piece; hovered?: sg.Key; viewOnly: boolean; squareRatio: sg.NumberPair; disableContextMenu: boolean; blockTouchScroll: boolean; scaleDownPieces: boolean; coordinates: { enabled: boolean; files: sg.Notation; ranks: sg.Notation; }; highlight: { lastDests: boolean; check: boolean; checkRoles: sg.RoleString[]; hovered: boolean; }; animation: { enabled: boolean; hands: boolean; duration: number; current?: AnimCurrent; }; hands: { inlined: boolean; handMap: sg.Hands; roles: sg.RoleString[]; }; movable: { free: boolean; dests?: sg.MoveDests; showDests: boolean; events: { after?: (orig: sg.Key, dest: sg.Key, prom: boolean, metadata: sg.MoveMetadata) => void; }; }; droppable: { free: boolean; dests?: sg.DropDests; showDests: boolean; spare: boolean; events: { after?: (piece: sg.Piece, key: sg.Key, prom: boolean, metadata: sg.MoveMetadata) => void; }; }; premovable: { enabled: boolean; showDests: boolean; dests?: sg.Key[]; current?: { orig: sg.Key; dest: sg.Key; prom: boolean; }; generate?: (key: sg.Key, pieces: sg.Pieces) => sg.Key[]; events: { set?: (orig: sg.Key, dest: sg.Key, prom: boolean) => void; unset?: () => void; }; }; predroppable: { enabled: boolean; showDests: boolean; dests?: sg.Key[]; current?: { piece: sg.Piece; key: sg.Key; prom: boolean; }; generate?: (piece: sg.Piece, pieces: sg.Pieces) => sg.Key[]; events: { set?: (piece: sg.Piece, key: sg.Key, prom: boolean) => void; unset?: () => void; }; }; draggable: { enabled: boolean; distance: number; autoDistance: boolean; showGhost: boolean; showTouchSquareOverlay: boolean; deleteOnDropOff: boolean; addToHandOnDropOff: boolean; current?: DragCurrent; }; selectable: { enabled: boolean; forceSpares: boolean; deleteOnTouch: boolean; addSparesToHand: boolean; }; promotion: { promotesTo: (role: sg.RoleString) => sg.RoleString | undefined; unpromotesTo: (role: sg.RoleString) => sg.RoleString | undefined; movePromotionDialog: (orig: sg.Key, dest: sg.Key) => boolean; forceMovePromotion: (orig: sg.Key, dest: sg.Key) => boolean; dropPromotionDialog: (piece: sg.Piece, key: sg.Key) => boolean; forceDropPromotion: (piece: sg.Piece, key: sg.Key) => boolean; current?: { piece: sg.Piece; promotedPiece: sg.Piece; key: sg.Key; dragged: boolean; }; events: { initiated?: () => void; after?: (piece: sg.Piece) => void; cancel?: () => void; }; prevPromotionHash: string; }; forsyth: { toForsyth?: (role: sg.RoleString) => string | undefined; fromForsyth?: (str: string) => sg.RoleString | undefined; }; events: { change?: () => void; move?: (orig: sg.Key, dest: sg.Key, prom: boolean, capturedPiece?: sg.Piece) => void; drop?: (piece: sg.Piece, key: sg.Key, prom: boolean) => void; select?: (key: sg.Key) => void; unselect?: (key: sg.Key) => void; pieceSelect?: (piece: sg.Piece) => void; pieceUnselect?: (piece: sg.Piece) => void; insert?: (boardElements?: sg.BoardElements, handElements?: sg.HandElements) => void; }; drawable: Drawable; } export interface State extends HeadlessState { dom: sg.Dom; } export declare function defaults(): HeadlessState; //# sourceMappingURL=state.d.ts.map