layershift 0.4.3 → 0.5.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.
@@ -4,6 +4,12 @@
4
4
  * Importing this module registers all effect elements with the browser:
5
5
  * - <layershift-effect> — Depth-aware video effect
6
6
  * - <layershift-portal> — Logo-shaped video portal with depth parallax
7
+ *
8
+ * It also exports input helpers for wiring mouse/touch/gyro input:
9
+ * - connectMouse(el, opts?) — Mouse tracking scoped to element
10
+ * - connectTouch(el, opts?) — Touch drag tracking
11
+ * - connectGyro(el, opts?) — Device orientation (gyroscope)
12
+ * - connectPointer(el, opts?) — Combined: mouse + touch + gyro with priority
7
13
  */
8
14
  import { LayershiftElement } from './layershift-element';
9
15
  import { LayershiftPortalElement } from './portal-element';
@@ -17,4 +23,6 @@ export type { LayershiftProps } from './types';
17
23
  export type { LayershiftEventMap, LayershiftReadyDetail, LayershiftPlayDetail, LayershiftPauseDetail, LayershiftLoopDetail, LayershiftFrameDetail, LayershiftErrorDetail, } from './types';
18
24
  export type { LayershiftPortalProps } from './types';
19
25
  export type { LayershiftPortalEventMap, LayershiftPortalReadyDetail, LayershiftPortalPlayDetail, LayershiftPortalPauseDetail, LayershiftPortalLoopDetail, LayershiftPortalFrameDetail, LayershiftPortalErrorDetail, } from './types';
26
+ export { connectMouse, connectTouch, connectGyro, connectPointer, type InputOptions, } from '../../input-helpers';
27
+ export type { EffectInput } from '../../input-handler';
20
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layershift/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAU3D,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B;;;GAGG;AACH,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrD,YAAY,EACV,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layershift/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAU3D,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B;;;GAGG;AACH,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrD,YAAY,EACV,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,SAAS,CAAC;AAMjB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,cAAc,EACd,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC"}
@@ -13,6 +13,7 @@
13
13
  * ></layershift-effect>
14
14
  */
15
15
  import type { ChannelLayer } from '../../shared/filter-config';
16
+ import type { EffectInput } from '../../input-handler';
16
17
  import type { ManagedElement } from './lifecycle';
17
18
  export declare class LayershiftElement extends HTMLElement implements ManagedElement {
18
19
  static readonly TAG_NAME = "layershift-effect";
@@ -22,7 +23,7 @@ export declare class LayershiftElement extends HTMLElement implements ManagedEle
22
23
  private shadow;
23
24
  private container;
24
25
  private renderer;
25
- private inputHandler;
26
+ private _input;
26
27
  private source;
27
28
  private depthEstimator;
28
29
  private loopCount;
@@ -34,6 +35,9 @@ export declare class LayershiftElement extends HTMLElement implements ManagedEle
34
35
  */
35
36
  private depthFallback;
36
37
  constructor();
38
+ /** The current input offset. Set this externally to drive the effect. */
39
+ get input(): EffectInput;
40
+ set input(value: EffectInput);
37
41
  private getAttrFloat;
38
42
  private getAttrBool;
39
43
  private get parallaxX();
@@ -1 +1 @@
1
- {"version":3,"file":"layershift-element.d.ts","sourceRoot":"","sources":["../../../../src/components/layershift/layershift-element.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAYH,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,4BAA4B,CAAC;AAc7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAsKlD,qBAAa,iBAAkB,SAAQ,WAAY,YAAW,cAAc;IAC1E,MAAM,CAAC,QAAQ,CAAC,QAAQ,uBAAuB;IAE/C,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAQxC;IAED,QAAQ,CAAC,gBAAgB,WAA8E;IAEvG,OAAO,IAAI,OAAO;IAQlB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAE7C;;;;OAIG;IACH,OAAO,CAAC,aAAa,CAIL;;IAUhB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,WAAW;IASnB,OAAO,KAAK,SAAS,GAA0E;IAC/F,OAAO,KAAK,SAAS,GAA0E;IAC/F,OAAO,KAAK,WAAW,GAA8E;IACrG,OAAO,KAAK,QAAQ,GAAuE;IAC3F,OAAO,KAAK,OAAO,GAIlB;IACD,iGAAiG;IACjG,OAAO,KAAK,UAAU,GAErB;IACD,OAAO,KAAK,UAAU,GAKrB;IACD,OAAO,KAAK,UAAU,GAA8D;IACpF,OAAO,KAAK,cAAc,GAAuE;IACjG,OAAO,KAAK,UAAU,GAA+D;IACrF,OAAO,KAAK,UAAU,GAAiE;IAIvF;;;;OAIG;IACH,OAAO,CAAC,IAAI;IAUZ;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAyBlC,iBAAiB,IAAI,IAAI;IAIzB,oBAAoB,IAAI,IAAI;IAI5B,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAM1F,cAAc,IAAI,IAAI;IAkCtB;;;OAGG;YACW,iBAAiB;IA+B/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6BnB,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA4QhD;;;;;;;;OAQG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI;IA0B5C,SAAS,IAAI,IAAI;CAiBlB"}
1
+ {"version":3,"file":"layershift-element.d.ts","sourceRoot":"","sources":["../../../../src/components/layershift/layershift-element.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAYH,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,4BAA4B,CAAC;AAG7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAWvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAyBlD,qBAAa,iBAAkB,SAAQ,WAAY,YAAW,cAAc;IAC1E,MAAM,CAAC,QAAQ,CAAC,QAAQ,uBAAuB;IAE/C,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAQxC;IAED,QAAQ,CAAC,gBAAgB,WAA8E;IAEvG,OAAO,IAAI,OAAO;IAQlB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAE7C;;;;OAIG;IACH,OAAO,CAAC,aAAa,CAIL;;IAQhB,yEAAyE;IACzE,IAAI,KAAK,IAAI,WAAW,CAEvB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,WAAW,EAG3B;IAID,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,WAAW;IASnB,OAAO,KAAK,SAAS,GAA0E;IAC/F,OAAO,KAAK,SAAS,GAA0E;IAC/F,OAAO,KAAK,WAAW,GAA8E;IACrG,OAAO,KAAK,QAAQ,GAAuE;IAC3F,OAAO,KAAK,OAAO,GAIlB;IACD,iGAAiG;IACjG,OAAO,KAAK,UAAU,GAErB;IACD,OAAO,KAAK,UAAU,GAKrB;IACD,OAAO,KAAK,UAAU,GAA8D;IACpF,OAAO,KAAK,cAAc,GAAuE;IACjG,OAAO,KAAK,UAAU,GAA+D;IACrF,OAAO,KAAK,UAAU,GAAiE;IAIvF;;;;OAIG;IACH,OAAO,CAAC,IAAI;IAUZ;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAyBlC,iBAAiB,IAAI,IAAI;IAIzB,oBAAoB,IAAI,IAAI;IAI5B,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAM1F,cAAc,IAAI,IAAI;IAkCtB;;;OAGG;YACW,iBAAiB;IA+B/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6BnB,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAoQhD;;;;;;;;OAQG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI;IA0B5C,SAAS,IAAI,IAAI;CAclB"}
@@ -18,16 +18,20 @@
18
18
  * logo-src="logo.svg"
19
19
  * ></layershift-portal>
20
20
  */
21
+ import type { EffectInput } from '../../input-handler';
21
22
  import type { ManagedElement } from './lifecycle';
22
23
  export declare class LayershiftPortalElement extends HTMLElement implements ManagedElement {
23
24
  static readonly TAG_NAME = "layershift-portal";
24
25
  static get observedAttributes(): string[];
25
26
  readonly reinitAttributes: string[];
26
27
  canInit(): boolean;
28
+ private _input;
29
+ /** The current input offset. Set this externally to drive the effect. */
30
+ get input(): EffectInput;
31
+ set input(value: EffectInput);
27
32
  private shadow;
28
33
  private container;
29
34
  private renderer;
30
- private inputHandler;
31
35
  private source;
32
36
  private depthEstimator;
33
37
  private mesh;
@@ -1 +1 @@
1
- {"version":3,"file":"portal-element.d.ts","sourceRoot":"","sources":["../../../../src/components/layershift/portal-element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"portal-element.d.ts","sourceRoot":"","sources":["../../../../src/components/layershift/portal-element.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,8 @@ export interface LayershiftReadyDetail {
26
26
  depthProfile?: import('../../depth-analysis').DepthProfile;
27
27
  /** Parameters derived from depth analysis (present when depth data was analyzed). */
28
28
  derivedParams?: import('../../depth-analysis').DerivedEffectParams;
29
+ /** Motion configuration (sensitivity, lerp, tilt settings) for wiring external input helpers. */
30
+ motionConfig: import('../../shared/filter-config').MotionConfig;
29
31
  }
30
32
  /** Fired when video starts playing. */
31
33
  export interface LayershiftPlayDetail {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/layershift/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/layershift/types.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,20 @@ export interface EffectInput {
8
8
  /** Tilted focal plane distance constant (dot(normal, focalPoint)). */
9
9
  tiltPlaneD?: number;
10
10
  }
11
+ /**
12
+ * @deprecated Use the `connectPointer` helper from `'layershift'` instead.
13
+ * This global input handler attaches to window-level events.
14
+ * The new helpers attach to individual elements and return cleanup functions.
15
+ *
16
+ * Migration:
17
+ * // Before:
18
+ * const input = new InputHandler(0.08);
19
+ * renderer.start(source, readDepth, () => input.update());
20
+ *
21
+ * // After:
22
+ * import { connectPointer } from 'layershift';
23
+ * const cleanup = connectPointer(el, { lerpFactor: 0.08 });
24
+ */
11
25
  export declare class InputHandler {
12
26
  private readonly motionLerpFactor;
13
27
  private pointerTarget;
@@ -1 +1 @@
1
- {"version":3,"file":"input-handler.d.ts","sourceRoot":"","sources":["../../src/input-handler.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AASD,qBAAa,YAAY;IAUX,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAT7C,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,YAAY,CAAK;gBAEI,gBAAgB,EAAE,MAAM;IASrD,IAAI,iBAAiB,IAAI,OAAO,CAkB/B;IAED,IAAI,eAAe,IAAI,OAAO,CAE7B;IAEK,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;IAsB9C,MAAM,IAAI,WAAW;IAqBrB,OAAO,IAAI,IAAI;IAaf,OAAO,CAAC,QAAQ,CAAC,eAAe,CAK9B;IAEF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAGjC;IAEF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAQ/B;IAEF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAO9B;IAEF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAI7B;IAEF,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAOtC;CACH"}
1
+ {"version":3,"file":"input-handler.d.ts","sourceRoot":"","sources":["../../src/input-handler.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AASD;;;;;;;;;;;;;GAaG;AACH,qBAAa,YAAY;IAUX,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAT7C,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,YAAY,CAAK;gBAEI,gBAAgB,EAAE,MAAM;IASrD,IAAI,iBAAiB,IAAI,OAAO,CAkB/B;IAED,IAAI,eAAe,IAAI,OAAO,CAE7B;IAEK,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;IAsB9C,MAAM,IAAI,WAAW;IAqBrB,OAAO,IAAI,IAAI;IAaf,OAAO,CAAC,QAAQ,CAAC,eAAe,CAK9B;IAEF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAGjC;IAEF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAQ/B;IAEF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAO9B;IAEF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAI7B;IAEF,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAOtC;CACH"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * External input helpers for layershift Web Components.
3
+ *
4
+ * Provides connectMouse, connectTouch, connectGyro, and connectPointer
5
+ * functions that map user input to `el.input` on any element exposing the
6
+ * EffectInput interface.
7
+ */
8
+ import type { EffectInput } from './input-handler';
9
+ export interface InputOptions {
10
+ /** Horizontal sensitivity multiplier (default 1). */
11
+ sensitivityX?: number;
12
+ /** Vertical sensitivity multiplier (default 1). */
13
+ sensitivityY?: number;
14
+ /** Lerp smoothing factor per frame, 0–1 (default 0.08). */
15
+ lerpFactor?: number;
16
+ }
17
+ interface InputTarget {
18
+ input: EffectInput;
19
+ }
20
+ /**
21
+ * Listen for mouse movement over `el` and continuously update `el.input`.
22
+ *
23
+ * Mouse position is mapped relative to the element's bounding rect so that
24
+ * the center of the element maps to (0, 0) and edges map to -1/+1.
25
+ *
26
+ * **Note:** Do not use alongside `connectTouch` or `connectGyro` on the same
27
+ * element — use `connectPointer` instead for combined input with priority.
28
+ *
29
+ * Returns a cleanup function that removes all listeners and stops the RAF loop.
30
+ */
31
+ export declare function connectMouse<T extends HTMLElement & InputTarget>(el: T, opts?: InputOptions): () => void;
32
+ /**
33
+ * Listen for touch gestures on `el` and continuously update `el.input`.
34
+ *
35
+ * Tracks drag distance from the initial touch anchor point. Moving
36
+ * `TOUCH_DRAG_RANGE` pixels (100) from the anchor reaches the full -1/+1
37
+ * offset.
38
+ *
39
+ * **Note:** Do not use alongside `connectMouse` or `connectGyro` on the same
40
+ * element — use `connectPointer` instead for combined input with priority.
41
+ *
42
+ * Returns a cleanup function that removes all listeners and stops the RAF loop.
43
+ */
44
+ export declare function connectTouch<T extends HTMLElement & InputTarget>(el: T, opts?: InputOptions): () => void;
45
+ /**
46
+ * Listen for device orientation events and continuously update `el.input`.
47
+ *
48
+ * Maps gamma (left-right tilt, +/-45 degrees) to x and beta (front-back tilt)
49
+ * to y. On iOS, requests permission via `DeviceOrientationEvent.requestPermission`.
50
+ *
51
+ * The default lerp factor is 0.06 (slightly lower than mouse/touch) for
52
+ * smoother gyroscope tracking.
53
+ *
54
+ * **Note:** Do not use alongside `connectMouse` or `connectTouch` on the same
55
+ * element — use `connectPointer` instead for combined input with priority.
56
+ *
57
+ * Returns a cleanup function that removes the listener and stops the RAF loop.
58
+ */
59
+ export declare function connectGyro<T extends HTMLElement & InputTarget>(el: T, opts?: InputOptions): () => void;
60
+ /**
61
+ * Combined input handler that manages mouse, touch, and gyro with priority:
62
+ * touch (finger on screen) > gyro > mouse.
63
+ *
64
+ * Uses a single RAF loop. On first touch, requests gyro permission.
65
+ *
66
+ * Returns a single cleanup function.
67
+ */
68
+ export declare function connectPointer<T extends HTMLElement & InputTarget>(el: T, opts?: InputOptions): () => void;
69
+ export {};
70
+ //# sourceMappingURL=input-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-helpers.d.ts","sourceRoot":"","sources":["../../src/input-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAMnD,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,UAAU,WAAW;IACnB,KAAK,EAAE,WAAW,CAAC;CACpB;AAgCD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAC9D,EAAE,EAAE,CAAC,EACL,IAAI,CAAC,EAAE,YAAY,GAClB,MAAM,IAAI,CA2CZ;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAC9D,EAAE,EAAE,CAAC,EACL,IAAI,CAAC,EAAE,YAAY,GAClB,MAAM,IAAI,CA2DZ;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAC7D,EAAE,EAAE,CAAC,EACL,IAAI,CAAC,EAAE,YAAY,GAClB,MAAM,IAAI,CAwDZ;AAMD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAChE,EAAE,EAAE,CAAC,EACL,IAAI,CAAC,EAAE,YAAY,GAClB,MAAM,IAAI,CAiKZ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "layershift",
3
- "version": "0.4.3",
3
+ "version": "0.5.0",
4
4
  "description": "Embeddable video effects as Web Components. Drop-in parallax, depth-aware motion, and more.",
5
5
  "type": "module",
6
6
  "main": "dist/components/layershift.js",