diff --git a/src/components.d.ts b/src/components.d.ts index cdf967c..cd81edd 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -327,6 +327,11 @@ export namespace Components { "width": number; } interface TgTouchController { + /** + * Minimum distance in pixels required to trigger a swipe gesture. Lower values make the controller more sensitive to small movements. + * @default 20 + */ + "threshold": number; } } export interface ExampleEntityPlayerCustomEvent extends CustomEvent { @@ -906,6 +911,11 @@ declare namespace LocalJSX { "onSwipeLeft"?: (event: TgTouchControllerCustomEvent) => void; "onSwipeRight"?: (event: TgTouchControllerCustomEvent) => void; "onSwipeUp"?: (event: TgTouchControllerCustomEvent) => void; + /** + * Minimum distance in pixels required to trigger a swipe gesture. Lower values make the controller more sensitive to small movements. + * @default 20 + */ + "threshold"?: number; } interface IntrinsicElements { "example-animator": ExampleAnimator; diff --git a/src/components/engine/tg-touch-controller/readme.md b/src/components/engine/tg-touch-controller/readme.md index 84063ec..f91f26a 100644 --- a/src/components/engine/tg-touch-controller/readme.md +++ b/src/components/engine/tg-touch-controller/readme.md @@ -5,6 +5,13 @@ +## Properties + +| Property | Attribute | Description | Type | Default | +| ----------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- | +| `threshold` | `threshold` | Minimum distance in pixels required to trigger a swipe gesture. Lower values make the controller more sensitive to small movements. | `number` | `20` | + + ## Events | Event | Description | Type | diff --git a/src/components/engine/tg-touch-controller/tg-touch-controller.tsx b/src/components/engine/tg-touch-controller/tg-touch-controller.tsx index d5aaef0..c9ed836 100644 --- a/src/components/engine/tg-touch-controller/tg-touch-controller.tsx +++ b/src/components/engine/tg-touch-controller/tg-touch-controller.tsx @@ -1,4 +1,4 @@ -import { Component, EventEmitter,Host, h,Event,Element,ComponentInterface } from '@stencil/core'; +import { Component, EventEmitter, Host, h, Event, Element, ComponentInterface, Prop } from '@stencil/core'; @Component({ tag: 'tg-touch-controller', @@ -8,7 +8,12 @@ import { Component, EventEmitter,Host, h,Event,Element,ComponentInterface } from export class TgTouchController implements ComponentInterface { private startX: number = 0; private startY: number = 0; - private threshold: number = 50; // Mindestdistanz, um eine Geste als valide zu betrachten + + /** + * Minimum distance in pixels required to trigger a swipe gesture. + * Lower values make the controller more sensitive to small movements. + */ + @Prop() threshold: number = 20; @Element() el!: HTMLTgTouchControllerElement;