@ue-too/board-konva-integration 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,38 @@
1
+ # @ue-too/board-konva-integration
2
+
3
+ Description of the board-konva-integration package.
4
+
5
+ [![npm version](https://img.shields.io/npm/v/@ue-too/board-konva-integration.svg)](https://www.npmjs.com/package/@ue-too/board-konva-integration)
6
+ [![license](https://img.shields.io/npm/l/@ue-too/board-konva-integration.svg)](https://github.com/ue-too/ue-too/blob/main/LICENSE.txt)
7
+
8
+ ## Overview
9
+
10
+ TODO: Add package overview
11
+
12
+ ## Installation
13
+
14
+ Using Bun:
15
+ ```bash
16
+ bun add @ue-too/board-konva-integration
17
+ ```
18
+
19
+ Using npm:
20
+ ```bash
21
+ npm install @ue-too/board-konva-integration
22
+ ```
23
+
24
+ ## Quick Start
25
+
26
+ TODO: Add quick start example
27
+
28
+ ## API Reference
29
+
30
+ For complete API documentation with detailed type information, see the [TypeDoc-generated documentation](/board-konva-integration/).
31
+
32
+ ## License
33
+
34
+ MIT
35
+
36
+ ## Repository
37
+
38
+ [https://github.com/ue-too/ue-too](https://github.com/ue-too/ue-too)
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * Board konva integration package for uē-tôo.
4
+ */
5
+ export * from "./konva-input-event-parser";
package/index.js ADDED
@@ -0,0 +1,3 @@
1
+ class r{_stage;_kmtInputStateMachine;_inputOrchestrator;_keyfirstPressed;_abortController;constructor(e,t,n){this._stage=e,this._kmtInputStateMachine=t,this._inputOrchestrator=n,this._keyfirstPressed=new Map,this.bindFunctions(),this._abortController=new AbortController}bindFunctions(){this.pointerDownHandler=this.pointerDownHandler.bind(this),this.pointerUpHandler=this.pointerUpHandler.bind(this),this.pointerMoveHandler=this.pointerMoveHandler.bind(this),this.scrollHandler=this.scrollHandler.bind(this),this.keydownHandler=this.keydownHandler.bind(this),this.keyupHandler=this.keyupHandler.bind(this)}setUp(){this._stage.on("pointerdown",this.pointerDownHandler),this._stage.on("pointerup",this.pointerUpHandler),this._stage.on("pointermove",this.pointerMoveHandler),this._stage.on("wheel",this.scrollHandler),window.addEventListener("keydown",this.keydownHandler,{signal:this._abortController.signal}),window.addEventListener("keyup",this.keyupHandler,{signal:this._abortController.signal})}tearDown(){this._stage.off("pointerdown",this.pointerDownHandler),this._stage.off("pointerup",this.pointerUpHandler),this._stage.off("pointermove",this.pointerMoveHandler),this._stage.off("wheel",this.scrollHandler),this._abortController.abort(),this._abortController=new AbortController}processEvent(...e){let t=this._kmtInputStateMachine.happens(...e);if(t.handled&&"output"in t)this._inputOrchestrator.processInputEventOutput(t.output)}pointerDownHandler(e){let t=e.evt;if(t.button===0&&t.pointerType==="mouse"){this.processEvent("leftPointerDown",{x:t.clientX,y:t.clientY});return}if(t.button===1&&t.pointerType==="mouse"){this.processEvent("middlePointerDown",{x:t.clientX,y:t.clientY});return}}pointerUpHandler(e){let t=e.evt;if(t.button===0&&t.pointerType==="mouse"){this.processEvent("leftPointerUp",{x:t.clientX,y:t.clientY});return}if(t.button===1&&t.pointerType==="mouse"){this.processEvent("middlePointerUp",{x:t.clientX,y:t.clientY});return}}pointerMoveHandler(e){let t=e.evt;if(t.buttons===1&&t.pointerType==="mouse"){this.processEvent("leftPointerMove",{x:t.clientX,y:t.clientY});return}if(t.buttons===4&&t.pointerType==="mouse"){this.processEvent("middlePointerMove",{x:t.clientX,y:t.clientY});return}this.processEvent("pointerMove",{x:t.clientX,y:t.clientY})}scrollHandler(e){let t=e.evt;if(t.ctrlKey)this.processEvent("scrollWithCtrl",{x:t.clientX,y:t.clientY,deltaX:t.deltaX,deltaY:t.deltaY});else this.processEvent("scroll",{x:t.clientX,y:t.clientY,deltaX:t.deltaX,deltaY:t.deltaY})}keydownHandler(e){if(this._keyfirstPressed.has(e.key))return;if(this._keyfirstPressed.set(e.key,!0),e.key===" ")this.processEvent("spacebarDown")}keyupHandler(e){if(this._keyfirstPressed.has(e.key))this._keyfirstPressed.delete(e.key);if(e.key===" ")this.processEvent("spacebarUp")}}export{r as KonvaInputParser};
2
+
3
+ //# debugId=A936ABE444886BE564756E2164756E21
package/index.js.map ADDED
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/konva-input-event-parser.ts"],
4
+ "sourcesContent": [
5
+ "import { KonvaEventObject } from \"konva/lib/Node\";\nimport { Stage } from \"konva/lib/Stage\";\nimport { InputOrchestrator, KmtInputEventMapping, KmtInputStateMachine } from \"@ue-too/board\";\nimport { EventArgs } from \"@ue-too/being\";\n\nexport class KonvaInputParser {\n private _stage: Stage;\n private _kmtInputStateMachine: KmtInputStateMachine;\n private _inputOrchestrator: InputOrchestrator;\n private _keyfirstPressed: Map<string, boolean>;\n private _abortController: AbortController;\n\n constructor(stage: Stage, kmtInputStateMachine: KmtInputStateMachine, inputOrchestrator: InputOrchestrator){\n this._stage = stage;\n this._kmtInputStateMachine = kmtInputStateMachine;\n this._inputOrchestrator = inputOrchestrator;\n this._keyfirstPressed = new Map();\n this.bindFunctions();\n this._abortController = new AbortController();\n }\n\n bindFunctions(){\n this.pointerDownHandler = this.pointerDownHandler.bind(this);\n this.pointerUpHandler = this.pointerUpHandler.bind(this);\n this.pointerMoveHandler = this.pointerMoveHandler.bind(this);\n this.scrollHandler = this.scrollHandler.bind(this);\n this.keydownHandler = this.keydownHandler.bind(this);\n this.keyupHandler = this.keyupHandler.bind(this);\n }\n\n setUp(){\n this._stage.on(\"pointerdown\", this.pointerDownHandler);\n this._stage.on(\"pointerup\", this.pointerUpHandler);\n this._stage.on(\"pointermove\", this.pointerMoveHandler);\n this._stage.on(\"wheel\", this.scrollHandler);\n window.addEventListener(\"keydown\", this.keydownHandler, {signal: this._abortController.signal});\n window.addEventListener(\"keyup\", this.keyupHandler, {signal: this._abortController.signal});\n }\n\n tearDown(){\n this._stage.off(\"pointerdown\", this.pointerDownHandler);\n this._stage.off(\"pointerup\", this.pointerUpHandler);\n this._stage.off(\"pointermove\", this.pointerMoveHandler);\n this._stage.off(\"wheel\", this.scrollHandler);\n this._abortController.abort();\n this._abortController = new AbortController();\n }\n\n private processEvent<K extends keyof KmtInputEventMapping>(\n ...args: EventArgs<KmtInputEventMapping, K>\n ): void {\n const result = this._kmtInputStateMachine.happens(...args);\n if (result.handled && \"output\" in result) {\n this._inputOrchestrator.processInputEventOutput(result.output);\n }\n }\n\n pointerDownHandler(eventObject: KonvaEventObject<PointerEvent, Stage>){\n const event = eventObject.evt;\n if(event.button === 0 && event.pointerType === \"mouse\"){\n this.processEvent(\"leftPointerDown\", {x: event.clientX, y: event.clientY});\n return;\n }\n if(event.button === 1 && event.pointerType === \"mouse\"){\n this.processEvent(\"middlePointerDown\", {x: event.clientX, y: event.clientY});\n return;\n }\n }\n\n pointerUpHandler(eventObject: KonvaEventObject<PointerEvent, Stage>){\n const e = eventObject.evt;\n if(e.button === 0 && e.pointerType === \"mouse\"){\n this.processEvent(\"leftPointerUp\", {x: e.clientX, y: e.clientY});\n return;\n }\n if(e.button === 1 && e.pointerType === \"mouse\"){\n this.processEvent(\"middlePointerUp\", {x: e.clientX, y: e.clientY});\n return;\n }\n }\n\n pointerMoveHandler(eventObject: KonvaEventObject<PointerEvent, Stage>){\n const e = eventObject.evt;\n if((e.buttons === 1) && e.pointerType === \"mouse\"){\n this.processEvent(\"leftPointerMove\", {x: e.clientX, y: e.clientY});\n return;\n }\n if((e.buttons === 4) && e.pointerType === \"mouse\"){\n this.processEvent(\"middlePointerMove\", {x: e.clientX, y: e.clientY});\n return;\n }\n this.processEvent(\"pointerMove\", {x: e.clientX, y: e.clientY});\n }\n\n scrollHandler(eventObject: KonvaEventObject<WheelEvent, Stage>){\n const e = eventObject.evt;\n if(e.ctrlKey){\n this.processEvent(\"scrollWithCtrl\", {x: e.clientX, y: e.clientY, deltaX: e.deltaX, deltaY: e.deltaY});\n } else {\n this.processEvent(\"scroll\", {x: e.clientX, y: e.clientY, deltaX: e.deltaX, deltaY: e.deltaY});\n }\n }\n\n keydownHandler(event: KeyboardEvent){\n if(this._keyfirstPressed.has(event.key)){\n return;\n }\n this._keyfirstPressed.set(event.key, true);\n if(event.key === \" \"){\n this.processEvent(\"spacebarDown\");\n }\n }\n\n keyupHandler(event: KeyboardEvent){\n if(this._keyfirstPressed.has(event.key)){\n this._keyfirstPressed.delete(event.key);\n }\n if(event.key === \" \"){\n this.processEvent(\"spacebarUp\");\n }\n }\n}\n"
6
+ ],
7
+ "mappings": "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",
8
+ "debugId": "A936ABE444886BE564756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,21 @@
1
+ import { KonvaEventObject } from "konva/lib/Node";
2
+ import { Stage } from "konva/lib/Stage";
3
+ import { InputOrchestrator, KmtInputStateMachine } from "@ue-too/board";
4
+ export declare class KonvaInputParser {
5
+ private _stage;
6
+ private _kmtInputStateMachine;
7
+ private _inputOrchestrator;
8
+ private _keyfirstPressed;
9
+ private _abortController;
10
+ constructor(stage: Stage, kmtInputStateMachine: KmtInputStateMachine, inputOrchestrator: InputOrchestrator);
11
+ bindFunctions(): void;
12
+ setUp(): void;
13
+ tearDown(): void;
14
+ private processEvent;
15
+ pointerDownHandler(eventObject: KonvaEventObject<PointerEvent, Stage>): void;
16
+ pointerUpHandler(eventObject: KonvaEventObject<PointerEvent, Stage>): void;
17
+ pointerMoveHandler(eventObject: KonvaEventObject<PointerEvent, Stage>): void;
18
+ scrollHandler(eventObject: KonvaEventObject<WheelEvent, Stage>): void;
19
+ keydownHandler(event: KeyboardEvent): void;
20
+ keyupHandler(event: KeyboardEvent): void;
21
+ }
package/package.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@ue-too/board-konva-integration",
3
+ "type": "module",
4
+ "version": "0.12.0",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/ue-too/ue-too.git"
9
+ },
10
+ "homepage": "https://github.com/ue-too/ue-too",
11
+ "scripts": {
12
+ "test": "echo \"Error: no test specified\" && exit 1"
13
+ },
14
+ "exports": {
15
+ ".": {
16
+ "types": "./index.d.ts",
17
+ "import": "./index.js",
18
+ "default": "./index.js"
19
+ },
20
+ "./package.json": "./package.json"
21
+ },
22
+ "main": "./index.js",
23
+ "types": "./index.d.ts",
24
+ "module": "./index.js",
25
+ "dependencies": {
26
+ "@ue-too/board": "^0.12.0",
27
+ "@ue-too/being": "^0.12.0",
28
+ "@ue-too/math": "^0.12.0"
29
+ },
30
+ "devDependencies": {
31
+ "konva": "10.0.12"
32
+ },
33
+ "peerDependencies": {
34
+ "konva": "10.0.12"
35
+ }
36
+ }