aptechka 0.26.1 → 0.26.3

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.
Files changed (158) hide show
  1. package/lib/animation/Animation.d.ts +35 -0
  2. package/lib/animation/Damped.d.ts +19 -0
  3. package/lib/animation/Tweened.d.ts +15 -0
  4. package/lib/animation/index.d.ts +3 -0
  5. package/lib/attribute/index.d.ts +15 -0
  6. package/lib/canvas/index.d.ts +35 -0
  7. package/lib/class-linked-status/index.d.ts +12 -0
  8. package/lib/connector/index.d.ts +15 -0
  9. package/lib/controls/AutoplayControls.d.ts +17 -0
  10. package/lib/controls/Controls.d.ts +9 -0
  11. package/lib/controls/DragControls.d.ts +16 -0
  12. package/lib/controls/KeyboardControls.d.ts +14 -0
  13. package/lib/controls/WheelControls.d.ts +19 -0
  14. package/lib/controls/index.d.ts +5 -0
  15. package/lib/css-property/index.d.ts +17 -0
  16. package/lib/css-unit-parser/index.d.ts +6 -0
  17. package/lib/css-value-parser/index.d.ts +6 -0
  18. package/lib/dev/index.d.ts +1 -0
  19. package/lib/device/Device.d.ts +16 -0
  20. package/lib/device/Viewport.d.ts +29 -0
  21. package/lib/device/index.d.ts +2 -0
  22. package/lib/element-resizer/react/index.d.ts +3 -0
  23. package/lib/element-resizer/vanilla/index.d.ts +10 -0
  24. package/lib/en3/En3Raycaster.d.ts +21 -0
  25. package/lib/en3/En3View.d.ts +40 -0
  26. package/lib/en3/en3.d.ts +37 -0
  27. package/lib/en3/index.d.ts +7 -0
  28. package/lib/en3/utils/coverTexture.d.ts +7 -0
  29. package/lib/en3/utils/dispose.d.ts +3 -0
  30. package/lib/en3/utils/getCurrentViewport.d.ts +9 -0
  31. package/lib/en3/utils/traverseMaterials.d.ts +3 -0
  32. package/lib/en3/utils/traverseMeshes.d.ts +3 -0
  33. package/lib/intersector/react/index.d.ts +5 -0
  34. package/lib/intersector/vanilla/index.d.ts +10 -0
  35. package/lib/ladder/index.d.ts +24 -0
  36. package/lib/layout-box/index.d.ts +96 -0
  37. package/lib/loading/index.d.ts +23 -0
  38. package/lib/media/index.d.ts +12 -0
  39. package/lib/media-elements/image/index.d.ts +11 -0
  40. package/lib/media-elements/index.d.ts +4 -0
  41. package/lib/media-elements/sequence/index.d.ts +22 -0
  42. package/lib/media-elements/source/index.d.ts +27 -0
  43. package/lib/media-elements/video/index.d.ts +22 -0
  44. package/lib/morph/Link.d.ts +7 -0
  45. package/lib/morph/Morph.d.ts +37 -0
  46. package/lib/morph/index.d.ts +1 -0
  47. package/lib/need_redo_tweaker/CheckboxElement.d.ts +14 -0
  48. package/lib/need_redo_tweaker/TweakerBooleanManagerElement.d.ts +11 -0
  49. package/lib/need_redo_tweaker/TweakerColorManagerElement.d.ts +11 -0
  50. package/lib/need_redo_tweaker/TweakerElement.d.ts +18 -0
  51. package/lib/need_redo_tweaker/TweakerFieldElement.d.ts +20 -0
  52. package/lib/need_redo_tweaker/TweakerFolderElement.d.ts +24 -0
  53. package/lib/need_redo_tweaker/TweakerLinkManagerElement.d.ts +11 -0
  54. package/lib/need_redo_tweaker/TweakerNumberManagerElement.d.ts +14 -0
  55. package/lib/need_redo_tweaker/TweakerSelectManagerElement.d.ts +11 -0
  56. package/lib/need_redo_tweaker/TweakerStoreManagerElement.d.ts +10 -0
  57. package/lib/need_redo_tweaker/TweakerStringManagerElement.d.ts +11 -0
  58. package/lib/need_redo_tweaker/element-constructor/ElementConstructor.d.ts +75 -0
  59. package/lib/need_redo_tweaker/element-constructor/createStylesheet.d.ts +3 -0
  60. package/lib/need_redo_tweaker/element-constructor/createTheme.d.ts +13 -0
  61. package/lib/need_redo_tweaker/element-constructor/index.d.ts +4 -0
  62. package/lib/need_redo_tweaker/element-constructor/knownSvgTags.d.ts +1 -0
  63. package/lib/need_redo_tweaker/element-constructor/tags.d.ts +119 -0
  64. package/lib/need_redo_tweaker/events.d.ts +8 -0
  65. package/lib/need_redo_tweaker/index.d.ts +1 -0
  66. package/lib/need_redo_tweaker/select/SelectElement.d.ts +24 -0
  67. package/lib/need_redo_tweaker/select/SelectHeadElement.d.ts +13 -0
  68. package/lib/need_redo_tweaker/select/SelectOptionElement.d.ts +14 -0
  69. package/lib/need_redo_tweaker/select/SelectUserElement.d.ts +7 -0
  70. package/lib/need_redo_tweaker/select/index.d.ts +4 -0
  71. package/lib/need_redo_tweaker/theme/index.d.ts +35 -0
  72. package/lib/need_redo_tweaker/tweakerManagerConstructors.d.ts +15 -0
  73. package/lib/need_redo_tweaker/tweakerStorage.d.ts +23 -0
  74. package/lib/notifier/index.d.ts +8 -0
  75. package/lib/order/index.d.ts +22 -0
  76. package/lib/pointer/Pointer.d.ts +23 -0
  77. package/lib/pointer/PointerElement.d.ts +14 -0
  78. package/lib/pointer/index.d.ts +2 -0
  79. package/lib/router/Link.d.ts +7 -0
  80. package/lib/router/Route.d.ts +21 -0
  81. package/lib/router/Router.d.ts +41 -0
  82. package/lib/router/index.d.ts +2 -0
  83. package/lib/scroll/react/Scroll.d.ts +14 -0
  84. package/lib/scroll/react/ScrollBulletButtons.d.ts +12 -0
  85. package/lib/scroll/react/ScrollSegment.d.ts +19 -0
  86. package/lib/scroll/react/ScrollSetButton.d.ts +15 -0
  87. package/lib/scroll/react/ScrollStepButton.d.ts +15 -0
  88. package/lib/scroll/react/Scrollbar.d.ts +12 -0
  89. package/lib/scroll/react/index.d.ts +6 -0
  90. package/lib/scroll/vanilla/ScrollBulletButtonsElement.d.ts +12 -0
  91. package/lib/scroll/vanilla/ScrollButtonElement.d.ts +6 -0
  92. package/lib/scroll/vanilla/ScrollElement.d.ts +84 -0
  93. package/lib/scroll/vanilla/ScrollSection.d.ts +26 -0
  94. package/lib/scroll/vanilla/ScrollSegmentElement.d.ts +67 -0
  95. package/lib/scroll/vanilla/ScrollSetButtonElement.d.ts +10 -0
  96. package/lib/scroll/vanilla/ScrollStepButtonElement.d.ts +10 -0
  97. package/lib/scroll/vanilla/ScrollUserElement.d.ts +7 -0
  98. package/lib/scroll/vanilla/ScrollbarElement.d.ts +14 -0
  99. package/lib/scroll/vanilla/index.d.ts +6 -0
  100. package/lib/scroll-entries/index.d.ts +21 -0
  101. package/lib/slicer/Letter.d.ts +11 -0
  102. package/lib/slicer/SlicerElement.d.ts +16 -0
  103. package/lib/slicer/Word.d.ts +16 -0
  104. package/lib/slicer/index.d.ts +3 -0
  105. package/lib/source/SourceClass.d.ts +11 -0
  106. package/lib/source/SourceManager.d.ts +14 -0
  107. package/lib/source/SourceSet.d.ts +9 -0
  108. package/lib/source/index.d.ts +3 -0
  109. package/lib/store/react/index.d.ts +1 -0
  110. package/lib/store/react/useStore.d.ts +3 -0
  111. package/lib/store/vanilla/Composed.d.ts +8 -0
  112. package/lib/store/vanilla/Derived.d.ts +8 -0
  113. package/lib/store/vanilla/DerivedArray.d.ts +8 -0
  114. package/lib/store/vanilla/Resource.d.ts +12 -0
  115. package/lib/store/vanilla/Store.d.ts +35 -0
  116. package/lib/store/vanilla/StoreRegistry.d.ts +23 -0
  117. package/lib/store/vanilla/index.d.ts +6 -0
  118. package/lib/studio/Outliner/File/index.d.ts +9 -0
  119. package/lib/studio/Outliner/Folder/index.d.ts +10 -0
  120. package/lib/studio/Outliner/index.d.ts +3 -0
  121. package/lib/studio/Studio/index.d.ts +3 -0
  122. package/lib/studio/Tweaker/index.d.ts +5 -0
  123. package/lib/studio/index.d.ts +1 -0
  124. package/lib/studio/store.d.ts +3 -0
  125. package/lib/ticker/react/index.d.ts +6 -0
  126. package/lib/ticker/vanilla/index.d.ts +22 -0
  127. package/lib/utils/array.d.ts +2 -0
  128. package/lib/utils/attributes.d.ts +2 -0
  129. package/lib/utils/browser.d.ts +1 -0
  130. package/lib/utils/bytes.d.ts +1 -0
  131. package/lib/utils/canvas.d.ts +7 -0
  132. package/lib/utils/collisions.d.ts +4 -0
  133. package/lib/utils/coordinates.d.ts +14 -0
  134. package/lib/utils/cssom.d.ts +5 -0
  135. package/lib/utils/decoding.d.ts +2 -0
  136. package/lib/utils/dom.d.ts +5 -0
  137. package/lib/utils/easings.d.ts +17 -0
  138. package/lib/utils/events.d.ts +3 -0
  139. package/lib/utils/file.d.ts +1 -0
  140. package/lib/utils/function.d.ts +2 -0
  141. package/lib/utils/gestures.d.ts +1 -0
  142. package/lib/utils/index.d.ts +28 -0
  143. package/lib/utils/jss.d.ts +12 -0
  144. package/lib/utils/layout.d.ts +3 -0
  145. package/lib/utils/math.d.ts +12 -0
  146. package/lib/utils/number.d.ts +3 -0
  147. package/lib/utils/object.d.ts +9 -0
  148. package/lib/utils/polyfills.d.ts +1 -0
  149. package/lib/utils/promises.d.ts +1 -0
  150. package/lib/utils/string.d.ts +8 -0
  151. package/lib/utils/style.d.ts +2 -0
  152. package/lib/utils/ts-react-utility.d.ts +13 -0
  153. package/lib/utils/ts-shape.d.ts +20 -0
  154. package/lib/utils/ts-utility.d.ts +26 -0
  155. package/lib/utils/url.d.ts +9 -0
  156. package/lib/window-resizer/react/index.d.ts +3 -0
  157. package/lib/window-resizer/vanilla/index.d.ts +9 -0
  158. package/package.json +6 -6
@@ -0,0 +1,35 @@
1
+ import { Store, StoreOptions } from '../store/vanilla';
2
+ import { TickerAddOptions, TickerCallbackEntry } from '../ticker/vanilla';
3
+
4
+ export interface AnimationOptions extends TickerAddOptions {
5
+ min?: number;
6
+ max?: number;
7
+ equalize?: boolean;
8
+ restart?: boolean;
9
+ }
10
+ export type AnimationConstructorOptions<Options extends AnimationOptions> = StoreOptions<number> & Options;
11
+ export declare abstract class Animation<Options extends AnimationOptions = AnimationOptions> extends Store<number> {
12
+ #private;
13
+ constructor(initial?: number, options?: StoreOptions<number>);
14
+ get direction(): number;
15
+ get target(): number;
16
+ get min(): number;
17
+ set min(value: number);
18
+ get max(): number;
19
+ set max(value: number);
20
+ get from(): number;
21
+ get isRunning(): Store<boolean>;
22
+ get delta(): number;
23
+ get deltaProgress(): number;
24
+ get distance(): number;
25
+ get distanceProgress(): number;
26
+ set(value: number, options?: Options): void;
27
+ shift(value: number, options?: Options): void;
28
+ reset(): void;
29
+ close(): void;
30
+ listenAnimationFrame(): void;
31
+ unlistenAnimationFrame(): void;
32
+ updateOptions(options?: AnimationOptions): void;
33
+ protected start(): void;
34
+ protected abstract handleAnimationFrame(e: TickerCallbackEntry): void;
35
+ }
@@ -0,0 +1,19 @@
1
+ import { TickerCallbackEntry } from '../ticker/vanilla';
2
+ import { Animation, AnimationConstructorOptions, AnimationOptions } from './Animation';
3
+
4
+ export interface DampedOptions extends AnimationOptions {
5
+ stiffness?: number;
6
+ damping?: number;
7
+ mass?: number;
8
+ }
9
+ export declare class Damped extends Animation<DampedOptions> {
10
+ #private;
11
+ damping: number;
12
+ stiffness: number;
13
+ mass: number;
14
+ constructor(initial?: number, options?: AnimationConstructorOptions<DampedOptions>);
15
+ get velocity(): number;
16
+ get speed(): number;
17
+ updateOptions(options?: DampedOptions): void;
18
+ protected handleAnimationFrame(e: TickerCallbackEntry): void;
19
+ }
@@ -0,0 +1,15 @@
1
+ import { TickerCallbackEntry } from '../ticker/vanilla';
2
+ import { EasingFunction } from '../utils';
3
+ import { Animation, AnimationConstructorOptions, AnimationOptions } from './Animation';
4
+
5
+ export interface TweenedOptions extends AnimationOptions {
6
+ easing?: EasingFunction;
7
+ duration?: number;
8
+ }
9
+ export declare class Tweened extends Animation<TweenedOptions> {
10
+ #private;
11
+ constructor(initial?: number, options?: AnimationConstructorOptions<TweenedOptions>);
12
+ updateOptions(options?: TweenedOptions): void;
13
+ protected handleAnimationFrame(e: TickerCallbackEntry): void;
14
+ protected start(): void;
15
+ }
@@ -0,0 +1,3 @@
1
+ export { Animation, type AnimationOptions } from './Animation';
2
+ export { Damped, type DampedOptions } from './Damped';
3
+ export { Tweened, type TweenedOptions } from './Tweened';
@@ -0,0 +1,15 @@
1
+ import { Store, StoreSubscribeCallback, StoreOptions } from '../store/vanilla';
2
+ import { ElementOrSelector } from '../utils';
3
+
4
+ export interface AttributeOptions<T> extends StoreOptions<T> {
5
+ sync?: boolean;
6
+ }
7
+ export declare class Attribute<T extends string | number | boolean> extends Store<T> {
8
+ #private;
9
+ constructor(elementOrSelector: ElementOrSelector, name: string, defaultValue: T, options?: AttributeOptions<T>);
10
+ subscribe(callback: StoreSubscribeCallback<T>): () => void;
11
+ unsubscribe(callback: StoreSubscribeCallback<T>): void;
12
+ observe(): void;
13
+ unobserve(): void;
14
+ close(): void;
15
+ }
@@ -0,0 +1,35 @@
1
+ import { CSSProperty } from '../css-property';
2
+
3
+ export interface CanvasRenderDetail {
4
+ pixelRatio: number;
5
+ width: number;
6
+ height: number;
7
+ element: HTMLElement;
8
+ canvasElement: HTMLCanvasElement;
9
+ context: CanvasRenderingContext2D;
10
+ timestamp: number;
11
+ timeBetweenFrames: number;
12
+ }
13
+ export type CanvasRenderEvent = CustomEvent<CanvasRenderDetail>;
14
+ export declare class CanvasElement extends HTMLElement {
15
+ #private;
16
+ constructor();
17
+ get fpsCSSProperty(): CSSProperty<number>;
18
+ get canvasElement(): HTMLCanvasElement;
19
+ get context(): CanvasRenderingContext2D;
20
+ get pixelRatio(): number;
21
+ get width(): number;
22
+ get height(): number;
23
+ get detail(): CanvasRenderDetail;
24
+ protected connectedCallback(): void;
25
+ protected disconnectedCallback(): void;
26
+ }
27
+ declare global {
28
+ interface HTMLElementTagNameMap {
29
+ 'e-canvas': CanvasElement;
30
+ }
31
+ interface HTMLElementEventMap {
32
+ canvasRender: CanvasRenderEvent;
33
+ canvasResize: CanvasRenderEvent;
34
+ }
35
+ }
@@ -0,0 +1,12 @@
1
+ import { Store } from '../store/vanilla';
2
+
3
+ export declare class ClassLinkedStatus<T extends {
4
+ [key in string]: boolean;
5
+ }> extends Store<T> {
6
+ #private;
7
+ constructor(element: HTMLElement, value: T);
8
+ isTrue(key: keyof T): boolean;
9
+ isFalse(key: keyof T): boolean;
10
+ reset(): void;
11
+ set(key: keyof T, value?: boolean): void;
12
+ }
@@ -0,0 +1,15 @@
1
+ export type ConnectorConnectCallback<T extends Node = Node> = (node: T) => void;
2
+ export type ConnectorDisconnectCallback<T extends Node = Node> = (node: T, expired?: boolean) => void;
3
+ export interface ConnectorOptions {
4
+ connectCallback?: ConnectorConnectCallback;
5
+ disconnectCallback?: ConnectorDisconnectCallback;
6
+ maxWaitSec?: number;
7
+ unsubscribeAfterDisconnect?: boolean;
8
+ }
9
+ export declare class Connector {
10
+ #private;
11
+ subscribe(node: Node, options: ConnectorOptions): () => void;
12
+ unsubscribe(options: ConnectorOptions): void;
13
+ destroy(): void;
14
+ }
15
+ export declare const connector: Connector;
@@ -0,0 +1,17 @@
1
+ import { TickerAddOptions } from '../ticker/vanilla';
2
+ import { Controls } from './Controls';
3
+
4
+ export interface AutoplayControlsOptions extends TickerAddOptions {
5
+ speed?: number;
6
+ interval?: boolean;
7
+ }
8
+ export declare class AutoplayControls extends Controls {
9
+ #private;
10
+ direction: number;
11
+ constructor(options?: AutoplayControlsOptions);
12
+ set interval(value: boolean);
13
+ set speed(value: number);
14
+ connect(): void;
15
+ disconnect(): void;
16
+ pauseAndContinue(duration: number): void;
17
+ }
@@ -0,0 +1,9 @@
1
+ import { Notifier } from '../notifier';
2
+
3
+ export type ControlsCallback = (type: string, value: number) => void;
4
+ export declare abstract class Controls {
5
+ #private;
6
+ get changeEvent(): Notifier<ControlsCallback>;
7
+ abstract connect(): void;
8
+ abstract disconnect(): void;
9
+ }
@@ -0,0 +1,16 @@
1
+ import { Axes2D } from '../utils';
2
+ import { Controls } from './Controls';
3
+
4
+ export interface DragControlsOptions {
5
+ element?: HTMLElement;
6
+ axis?: Axes2D;
7
+ swipe?: boolean;
8
+ }
9
+ export declare class DragControls extends Controls {
10
+ #private;
11
+ axis: Axes2D;
12
+ swipe: boolean;
13
+ constructor(options?: DragControlsOptions);
14
+ connect(): void;
15
+ disconnect(): void;
16
+ }
@@ -0,0 +1,14 @@
1
+ import { Controls } from './Controls';
2
+
3
+ export type KeyboardControlsDimension = 'height' | 'width';
4
+ export interface KeyboardControlsOptions {
5
+ element?: HTMLElement;
6
+ dimension?: KeyboardControlsDimension;
7
+ }
8
+ export declare class KeyboardControls extends Controls {
9
+ #private;
10
+ constructor(options?: KeyboardControlsOptions);
11
+ set dimension(value: KeyboardControlsDimension | undefined | null);
12
+ connect(): void;
13
+ disconnect(): void;
14
+ }
@@ -0,0 +1,19 @@
1
+ import { Axes2D } from '../utils';
2
+ import { Controls } from './Controls';
3
+
4
+ export type WheelControlsAxis = Axes2D | 'max';
5
+ export interface WheelControlsOptions {
6
+ axis?: WheelControlsAxis;
7
+ speed?: number;
8
+ debounce?: boolean;
9
+ element?: HTMLElement;
10
+ }
11
+ export declare class WheelControls extends Controls {
12
+ #private;
13
+ axis: WheelControlsAxis;
14
+ speed: number;
15
+ debounce: boolean;
16
+ constructor(options?: WheelControlsOptions);
17
+ connect(): void;
18
+ disconnect(): void;
19
+ }
@@ -0,0 +1,5 @@
1
+ export { Controls } from './Controls';
2
+ export { KeyboardControls } from './KeyboardControls';
3
+ export { AutoplayControls, type AutoplayControlsOptions, } from './AutoplayControls';
4
+ export { WheelControls, type WheelControlsOptions } from './WheelControls';
5
+ export { DragControls, type DragControlsOptions } from './DragControls';
@@ -0,0 +1,17 @@
1
+ import { Store, StoreSubscribeCallback, StoreOptions } from '../store/vanilla';
2
+ import { ElementOrSelector } from '../utils';
3
+
4
+ export interface CSSPropertyOptions<StoreType extends number | boolean | string> extends StoreOptions<StoreType> {
5
+ rawValueCheck?: boolean;
6
+ }
7
+ export declare class CSSProperty<StoreType extends number | boolean | string> extends Store<StoreType> {
8
+ #private;
9
+ constructor(elementOrSelector: ElementOrSelector<HTMLElement>, property: string, defaultValue: StoreType, options?: CSSPropertyOptions<StoreType>);
10
+ get currentRawValue(): string;
11
+ observe(): void;
12
+ unobserve(): void;
13
+ subscribe(callback: StoreSubscribeCallback<StoreType>): () => void;
14
+ unsubscribe(callback: StoreSubscribeCallback<StoreType>): void;
15
+ close(): void;
16
+ check(): void;
17
+ }
@@ -0,0 +1,6 @@
1
+ declare class CSSUnitParser {
2
+ #private;
3
+ parse(value: string): number;
4
+ }
5
+ export declare const cssUnitParser: CSSUnitParser;
6
+ export {};
@@ -0,0 +1,6 @@
1
+ declare class CSSValueParser {
2
+ static CSS_UNITS: Set<string>;
3
+ parse(value: string, element?: HTMLElement): any;
4
+ }
5
+ export declare const cssValueParser: CSSValueParser;
6
+ export {};
@@ -0,0 +1 @@
1
+ export declare function devMode(): void;
@@ -0,0 +1,16 @@
1
+ export type DeviceOS = 'macOS' | 'iOS' | 'Windows' | 'Android' | 'Linux' | 'unknown';
2
+ declare class Device {
3
+ #private;
4
+ constructor();
5
+ get OS(): string;
6
+ get gpu(): string;
7
+ get gpuTier(): number;
8
+ get isMobile(): boolean;
9
+ get isTouch(): boolean;
10
+ get isWebgl(): boolean;
11
+ get isWebp(): boolean;
12
+ get isApple(): boolean;
13
+ resize: () => void;
14
+ }
15
+ export declare const device: Device;
16
+ export {};
@@ -0,0 +1,29 @@
1
+ import { Store } from '../store/vanilla';
2
+
3
+ export declare enum ViewportBreakpoints {
4
+ 'mobile' = "600px",
5
+ 'tablet' = "1024px",
6
+ 'notebook' = "1280px",
7
+ 'desktop' = "1281px"
8
+ }
9
+ export declare enum ViewportMediaRules {
10
+ '<=mobile' = "(max-width: 600px)",
11
+ '>=mobile' = "(min-width: 601px)",
12
+ '<=tablet' = "(max-width: 1024px)",
13
+ '>=tablet' = "(min-width: 1025px)",
14
+ '<=notebook' = "(max-width: 1280px)",
15
+ '>=notebook' = "(min-width: 1281px)",
16
+ '<=desktop' = "(max-width: 1280px)",
17
+ '>=desktop' = "(min-width: 1281px)"
18
+ }
19
+ declare class Viewport {
20
+ #private;
21
+ constructor();
22
+ get width(): number;
23
+ get height(): number;
24
+ get type(): Store<"mobile" | "tablet" | "notebook" | "desktop" | undefined>;
25
+ get pixelRatio(): number;
26
+ resize: () => void;
27
+ }
28
+ export declare const viewport: Viewport;
29
+ export {};
@@ -0,0 +1,2 @@
1
+ export { device, type DeviceOS } from './Device';
2
+ export { viewport, ViewportBreakpoints, ViewportMediaRules } from './Viewport';
@@ -0,0 +1,3 @@
1
+ import { ElementResizer } from '../vanilla';
2
+
3
+ export declare function useElementResizer([callback, order]: Parameters<ElementResizer['subscribe']>): void;
@@ -0,0 +1,10 @@
1
+ import { ElementOrSelector } from '../../utils';
2
+
3
+ export type ElementResizerCallback = (entry: ResizeObserverEntry) => void;
4
+ export declare class ElementResizer {
5
+ #private;
6
+ constructor();
7
+ subscribe(elementOrSelector: ElementOrSelector, callback: ElementResizerCallback): () => void;
8
+ unsubscribe(callback: ElementResizerCallback): void;
9
+ }
10
+ export declare const elementResizer: ElementResizer;
@@ -0,0 +1,21 @@
1
+ import { Intersection, Object3D } from 'three';
2
+
3
+ export type En3RaycasterEventType = 'pointerDown' | 'pointerUp' | 'pointerMove' | 'pointerLeave' | 'pointerEnter' | 'pointerMove';
4
+ export type En3RaycasterEvent = {
5
+ type: En3RaycasterEventType;
6
+ originalEvent: PointerEvent;
7
+ target: Object3D;
8
+ } & Intersection<Object3D>;
9
+ export interface En3RaycasterOptions {
10
+ targetName?: string;
11
+ eventDispatcher?: Object3D;
12
+ propagation?: boolean;
13
+ }
14
+ export type En3RaycasterCallback = (event: En3RaycasterEvent) => void;
15
+ export declare class En3Raycaster {
16
+ #private;
17
+ constructor();
18
+ destroy(): void;
19
+ add(object3D: Object3D, options?: En3RaycasterOptions): void;
20
+ remove(object3D: Object3D): void;
21
+ }
@@ -0,0 +1,40 @@
1
+ import { LayoutBox, LayoutBoxOptions } from '../layout-box';
2
+ import { ElementOrSelector } from '../utils';
3
+ import { Object3D, OrthographicCamera, PerspectiveCamera, Scene } from 'three';
4
+
5
+ export interface En3ViewOptions {
6
+ cameraType?: 'perspective' | 'orthographic';
7
+ cameraDistance?: number;
8
+ cameraNear?: number;
9
+ cameraFar?: number;
10
+ cameraFov?: 'auto' | number;
11
+ sizeElement?: ElementOrSelector<HTMLElement>;
12
+ beforeRender?: () => void;
13
+ }
14
+ export type En3AttachedObject3D<T extends Object3D> = T & {
15
+ userData: {
16
+ box: LayoutBox;
17
+ };
18
+ };
19
+ export type En3AttachOptions = Omit<LayoutBoxOptions, 'containerElement' | 'cartesian' | 'scrollStep'>;
20
+ export type En3ViewBeforeRenderCallback = () => void;
21
+ export declare class En3View {
22
+ #private;
23
+ beforeRenderCallback: En3ViewBeforeRenderCallback | undefined;
24
+ constructor(name: string, options?: En3ViewOptions);
25
+ get name(): string;
26
+ get camera(): PerspectiveCamera | OrthographicCamera;
27
+ get scene(): Scene;
28
+ get box(): LayoutBox;
29
+ get cameraDistance(): number;
30
+ set cameraDistance(value: number);
31
+ get sizeElement(): HTMLElement;
32
+ get isClipped(): boolean;
33
+ resize(): void;
34
+ destroy(): void;
35
+ attachToHTMLElement<T extends Object3D>(element: ElementOrSelector<HTMLElement>, object: T, options?: En3AttachOptions): En3AttachedObject3D<T>;
36
+ detachFromHTMLElement(object: Object3D): void;
37
+ add<T extends Object3D<any>>(object: T): T;
38
+ add<T extends Object3D<any>>(object: T, element: ElementOrSelector<HTMLElement>, options?: En3AttachOptions): En3AttachedObject3D<T>;
39
+ remove(object: Object3D, detach?: boolean): void;
40
+ }
@@ -0,0 +1,37 @@
1
+ import { ElementOrSelector } from '../utils';
2
+ import { WebGLRenderer, WebGLRendererParameters } from 'three';
3
+ import { En3View, En3ViewOptions } from './En3View';
4
+ import { En3Raycaster } from './En3Raycaster';
5
+ import { EffectComposer } from 'three/examples/jsm/postprocessing/EffectComposer.js';
6
+
7
+ export interface En3Options {
8
+ webGLRendererParameters?: WebGLRendererParameters;
9
+ maxPixelRatio?: number;
10
+ containerElement?: ElementOrSelector<HTMLElement>;
11
+ view?: En3ViewOptions;
12
+ zIndex?: number;
13
+ composer?: typeof EffectComposer;
14
+ }
15
+ declare class En3 {
16
+ #private;
17
+ get CDNVersion(): string;
18
+ get containerElement(): HTMLElement;
19
+ get webglRenderer(): WebGLRenderer;
20
+ get raycaster(): En3Raycaster;
21
+ get views(): Map<string, En3View>;
22
+ get view(): En3View;
23
+ get camera(): import('three').PerspectiveCamera | import('three').OrthographicCamera;
24
+ get scene(): import('three').Scene;
25
+ get width(): number;
26
+ get height(): number;
27
+ get pixelRatio(): number;
28
+ get composer(): EffectComposer;
29
+ setup(options?: En3Options): void;
30
+ destroy(): void;
31
+ createView(viewName: string, viewOptions?: En3ViewOptions): En3View;
32
+ getView(viewName: string): En3View;
33
+ destroyView(viewName: string): void;
34
+ render(view: En3View): void;
35
+ }
36
+ export declare const en3: En3;
37
+ export {};
@@ -0,0 +1,7 @@
1
+ export { en3 } from './en3';
2
+ export { En3View, type En3ViewOptions, type En3AttachedObject3D, type En3AttachOptions, type En3ViewBeforeRenderCallback, } from './En3View';
3
+ export { coverTexture } from './utils/coverTexture';
4
+ export { dispose } from './utils/dispose';
5
+ export { getCurrentViewport } from './utils/getCurrentViewport';
6
+ export { traverseMaterials } from './utils/traverseMaterials';
7
+ export { traverseMeshes } from './utils/traverseMeshes';
@@ -0,0 +1,7 @@
1
+ import { Dot2D } from '../../utils';
2
+ import { Texture } from 'three';
3
+
4
+ /**
5
+ * texture.matrixAutoUpdate must be false
6
+ */
7
+ export declare function coverTexture(texture: Texture, planeSize: Dot2D, aspect?: number): void;
@@ -0,0 +1,3 @@
1
+ import { Object3D } from 'three';
2
+
3
+ export declare function dispose(object3d: Object3D): void;
@@ -0,0 +1,9 @@
1
+ import { Vector3 } from 'three';
2
+
3
+ export declare function getCurrentViewport(target: Vector3 | [number, number, number], viewName?: string): {
4
+ width: number;
5
+ height: number;
6
+ factor: number;
7
+ distance: number;
8
+ aspect: number;
9
+ };
@@ -0,0 +1,3 @@
1
+ import { Material, Object3D } from 'three';
2
+
3
+ export declare function traverseMaterials(object: Object3D, callback: (material: Material) => void): void;
@@ -0,0 +1,3 @@
1
+ import { Mesh, Object3D } from 'three';
2
+
3
+ export declare function traverseMeshes(object: Object3D, callback: (mesh: Mesh) => void): void;
@@ -0,0 +1,5 @@
1
+ import { Ref } from 'react';
2
+ import { IntersectorCallback } from '../vanilla';
3
+ import { ElementOrSelector } from '../../utils';
4
+
5
+ export declare function useIntersection(element: Ref<HTMLElement> | ElementOrSelector, callback: IntersectorCallback): void;
@@ -0,0 +1,10 @@
1
+ import { ElementOrSelector } from '../../utils';
2
+
3
+ export type IntersectorCallback = (entry: IntersectionObserverEntry) => void;
4
+ export declare class Intersector {
5
+ #private;
6
+ constructor();
7
+ subscribe(elementOrSelector: ElementOrSelector, callback: IntersectorCallback): () => void;
8
+ unsubscribe(callback: IntersectorCallback): void;
9
+ }
10
+ export declare const intersector: Intersector;
@@ -0,0 +1,24 @@
1
+ import { Store } from '../store/vanilla';
2
+
3
+ export type LadderDefaultStepName = number | string;
4
+ export type LadderOperation = '+' | '*' | '/' | '-';
5
+ export type LadderStep<T> = [LadderOperation, T];
6
+ export type LadderSteps<K, T> = Map<K, LadderStep<T>>;
7
+ export type LadderDefaultValueType = {
8
+ [key: string]: number;
9
+ };
10
+ export declare class Ladder<V extends LadderDefaultValueType = LadderDefaultValueType, K extends LadderDefaultStepName = LadderDefaultStepName> extends Store<V> {
11
+ #private;
12
+ constructor(base: V);
13
+ get base(): V;
14
+ get steps(): LadderSteps<K, V>;
15
+ close(): void;
16
+ bind(sub: V): void;
17
+ unbind(sub: V): void;
18
+ deleteStep(stepName: K): void;
19
+ getStepValue(stepName: K): V;
20
+ getExcludedStepsValue(...stepNames: Array<K>): V;
21
+ getIncludedStepsValue(...stepNames: Array<K>): V;
22
+ setStep(stepName: K, action: LadderOperation, value: Partial<V>): void;
23
+ calculate(): void;
24
+ }
@@ -0,0 +1,96 @@
1
+ import { Ladder } from '../ladder';
2
+ import { StoreSubscribeCallback } from '../store/vanilla';
3
+ import { ElementOrSelector, Axes3D, Axes2D } from '../utils';
4
+ import { Notifier } from '../notifier';
5
+
6
+ export declare function decomposeCSSMatrix(matrix: WebKitCSSMatrix): {
7
+ scaleX: number;
8
+ scaleY: number;
9
+ scaleZ: number;
10
+ rotationX: number;
11
+ rotationY: number;
12
+ rotationZ: number;
13
+ translationX: number;
14
+ translationY: number;
15
+ translationZ: number;
16
+ };
17
+ export interface LayoutBoxOptions {
18
+ containerElement?: ElementOrSelector<HTMLElement>;
19
+ cartesian?: boolean;
20
+ scrollAxis?: Axes3D | 'auto';
21
+ frontSide?: LayoutBoxFrontSide;
22
+ sizeStep?: boolean;
23
+ positionStep?: boolean;
24
+ culling?: boolean;
25
+ transformStep?: boolean;
26
+ scrollStep?: boolean;
27
+ }
28
+ export interface LayoutBoxScrollStepCallbackReturn {
29
+ axis: Axes2D;
30
+ value: number;
31
+ }
32
+ export type LayoutBoxXYZ = {
33
+ x: number;
34
+ y: number;
35
+ z: number;
36
+ };
37
+ export type LayoutBoxScrollStepCallback = () => LayoutBoxScrollStepCallbackReturn;
38
+ export type LayoutBoxStepCallback = StoreSubscribeCallback<LayoutBoxXYZ>;
39
+ export type LayoutBoxFrontSide = 'left' | 'top';
40
+ export interface LayoutBoxBindedObject {
41
+ position?: LayoutBoxXYZ;
42
+ scale?: LayoutBoxXYZ;
43
+ rotation?: LayoutBoxXYZ;
44
+ }
45
+ export type LayoutBoxLadder = {
46
+ x: number;
47
+ y: number;
48
+ z: number;
49
+ };
50
+ export declare class LayoutBox {
51
+ #private;
52
+ constructor(element: ElementOrSelector<HTMLElement>, options?: LayoutBoxOptions);
53
+ get element(): HTMLElement;
54
+ get containerElement(): HTMLElement;
55
+ get position(): LayoutBoxLadder;
56
+ get rotation(): LayoutBoxLadder;
57
+ get scale(): LayoutBoxLadder;
58
+ get scrollValue(): LayoutBoxXYZ;
59
+ get left(): number;
60
+ get top(): number;
61
+ get CSSTranslation(): LayoutBoxXYZ;
62
+ get CSSRotation(): LayoutBoxXYZ;
63
+ get CSSScale(): LayoutBoxXYZ;
64
+ get front(): number;
65
+ get width(): number;
66
+ get height(): number;
67
+ get depth(): number;
68
+ destroy(): void;
69
+ bindObject(object: LayoutBoxBindedObject): void;
70
+ unbindObject(object: LayoutBoxBindedObject): void;
71
+ setScrollStep(callback: LayoutBoxScrollStepCallback): () => void;
72
+ deleteScrollStep(callback: LayoutBoxScrollStepCallback): void;
73
+ setPositionStep(...args: Parameters<Ladder<LayoutBoxLadder>['setStep']>): void;
74
+ getPositionStep(...args: Parameters<Ladder<LayoutBoxLadder>['getStepValue']>): LayoutBoxLadder;
75
+ setRotationStep(...args: Parameters<Ladder<LayoutBoxLadder>['setStep']>): void;
76
+ getRotationStep(...args: Parameters<Ladder<LayoutBoxLadder>['getStepValue']>): LayoutBoxLadder;
77
+ getExcludedRotationSteps(...args: Parameters<Ladder<LayoutBoxLadder>['getExcludedStepsValue']>): LayoutBoxLadder;
78
+ getIncludedRotationSteps(...args: Parameters<Ladder<LayoutBoxLadder>['getIncludedStepsValue']>): LayoutBoxLadder;
79
+ setScaleStep(...args: Parameters<Ladder<LayoutBoxLadder>['setStep']>): void;
80
+ getScaleStep(...args: Parameters<Ladder<LayoutBoxLadder>['getStepValue']>): LayoutBoxLadder;
81
+ getExcludedScaleSteps(...args: Parameters<Ladder<LayoutBoxLadder>['getExcludedStepsValue']>): LayoutBoxLadder;
82
+ getIncludedScaleSteps(...args: Parameters<Ladder<LayoutBoxLadder>['getIncludedStepsValue']>): LayoutBoxLadder;
83
+ deletePositionStep(...args: Parameters<Ladder<LayoutBoxLadder>['deleteStep']>): void;
84
+ getExcludedPositionSteps(...args: Parameters<Ladder<LayoutBoxLadder>['getExcludedStepsValue']>): LayoutBoxLadder;
85
+ getIncludedPositionSteps(...args: Parameters<Ladder<LayoutBoxLadder>['getIncludedStepsValue']>): LayoutBoxLadder;
86
+ deleteRotationStep(...args: Parameters<Ladder<LayoutBoxLadder>['deleteStep']>): void;
87
+ deleteScaleStep(...args: Parameters<Ladder<LayoutBoxLadder>['deleteStep']>): void;
88
+ onPosition(...args: Parameters<Ladder<LayoutBoxLadder>['subscribe']>): () => void;
89
+ offPosition(...args: Parameters<Ladder<LayoutBoxLadder>['unsubscribe']>): void;
90
+ onScale(...args: Parameters<Ladder<LayoutBoxLadder>['subscribe']>): () => void;
91
+ offScale(...args: Parameters<Ladder<LayoutBoxLadder>['unsubscribe']>): void;
92
+ onRotation(...args: Parameters<Ladder<LayoutBoxLadder>['subscribe']>): () => void;
93
+ offRotation(...args: Parameters<Ladder<LayoutBoxLadder>['unsubscribe']>): void;
94
+ onResize(...args: Parameters<Notifier['subscribe']>): () => void;
95
+ offResize(...args: Parameters<Notifier['unsubscribe']>): void;
96
+ }