From 6d7e04868e2b158830d0d809f7924d5fdfedf450 Mon Sep 17 00:00:00 2001 From: Eric NGUYEN Date: Fri, 12 Aug 2022 12:07:14 +0200 Subject: [PATCH] Create Interfaces.d.ts for public project using older version of typescript --- public/Interfaces.d.ts | 65 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 public/Interfaces.d.ts diff --git a/public/Interfaces.d.ts b/public/Interfaces.d.ts new file mode 100644 index 0000000..5a466a1 --- /dev/null +++ b/public/Interfaces.d.ts @@ -0,0 +1,65 @@ +declare interface IHistoryState { + LastAction: string + MainContainer: IContainerModel + SelectedContainer: IContainerModel | null + SelectedContainerId: string + TypeCounters: Record +} + +declare interface IAvailableContainer { + Type: string + Width: number + Height: number + XPositionReference?: XPositionReference + Style: React.CSSProperties +} + +declare interface IEditorState { + history: IHistoryState[] + historyCurrentStep: number + configuration: IConfiguration +} + +declare interface IConfiguration { + AvailableContainers: IAvailableContainer[] + AvailableSymbols: IAvailableSymbol[] + MainContainer: IAvailableContainer +} + +declare interface IContainerModel { + children: IContainerModel[] + parent: IContainerModel | null + properties: IProperties + userData: Record +} + +declare interface IProperties extends React.CSSProperties { + id: string + parentId: string | null + x: number + y: number + isRigidBody: boolean + XPositionReference?: XPositionReference +} + +declare enum XPositionReference { + Left, + Center, + Right +} + +declare interface IAvailableSymbol { + Name: string + XPositionReference: XPositionReference + Image: IImage + Width: number + Height: number +} + +declare interface IImage { + Name: string + Url: string + Base64Image: string + Svg: string +} +