@meddv/ngx-pinch-zoom
Version:
Pinch zoom component for Angular 20.
85 lines (84 loc) • 5.01 kB
TypeScript
import { ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { Properties } from './interfaces';
import * as i0 from "@angular/core";
interface ComponentProperties extends Properties {
disabled?: boolean;
overflow?: 'hidden' | 'visible';
disableZoomControl?: 'disable' | 'never' | 'auto';
backgroundColor?: string;
}
export declare const _defaultComponentProperties: ComponentProperties;
export declare class PinchZoomComponent implements OnInit, OnDestroy, OnChanges {
private elementRef;
private pinchZoom;
private _properties;
private readonly defaultComponentProperties;
private _transitionDuration;
private _doubleTap;
private _doubleTapScale;
private _autoZoomOut;
private _limitZoom;
set properties(value: ComponentProperties);
get properties(): ComponentProperties;
set transitionDurationBackwardCompatibility(value: number);
set transitionDuration(value: number);
get transitionDuration(): number;
set doubleTapBackwardCompatibility(value: boolean);
set doubleTap(value: boolean);
get doubleTap(): boolean;
set doubleTapScaleBackwardCompatibility(value: number);
set doubleTapScale(value: number);
get doubleTapScale(): number;
set autoZoomOutBackwardCompatibility(value: boolean);
set autoZoomOut(value: boolean);
get autoZoomOut(): boolean;
set limitZoomBackwardCompatibility(value: number | 'original image size');
set limitZoom(value: number | 'original image size');
get limitZoom(): number | 'original image size';
disabled: boolean;
disablePan: boolean;
overflow: 'hidden' | 'visible';
zoomControlScale: number;
disableZoomControl: 'disable' | 'never' | 'auto';
backgroundColor: string;
limitPan: boolean;
minPanScale: number;
minScale: number;
listeners: 'auto' | 'mouse and touch';
wheel: boolean;
autoHeight: boolean;
wheelZoomFactor: number;
draggableImage: boolean;
draggableOnPinch: boolean;
zoomChanged: EventEmitter<number>;
get hostOverflow(): 'hidden' | 'visible';
get hostBackgroundColor(): string;
get isTouchScreen(): boolean;
get isDragging(): boolean;
get isDisabled(): boolean;
get scale(): number;
get isZoomedIn(): boolean;
get scaleLevel(): number;
get maxScale(): number;
get isZoomLimitReached(): boolean;
get _zoomControlScale(): number;
constructor(elementRef: ElementRef<HTMLElement>);
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
private initPinchZoom;
private getProperties;
private renameProperties;
private applyPropertiesDefault;
toggleZoom(): void;
zoomIn(value: number): number;
zoomOut(value: number): number;
isControl(): boolean;
detectLimitZoom(): void;
destroy(): void;
private getPropertiesValue;
private getDefaultComponentProperties;
static ɵfac: i0.ɵɵFactoryDeclaration<PinchZoomComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<PinchZoomComponent, "pinch-zoom, [pinch-zoom]", ["pinchZoom"], { "properties": { "alias": "properties"; "required": false; }; "transitionDurationBackwardCompatibility": { "alias": "transition-duration"; "required": false; }; "transitionDuration": { "alias": "transitionDuration"; "required": false; }; "doubleTapBackwardCompatibility": { "alias": "double-tap"; "required": false; }; "doubleTap": { "alias": "doubleTap"; "required": false; }; "doubleTapScaleBackwardCompatibility": { "alias": "double-tap-scale"; "required": false; }; "doubleTapScale": { "alias": "doubleTapScale"; "required": false; }; "autoZoomOutBackwardCompatibility": { "alias": "auto-zoom-out"; "required": false; }; "autoZoomOut": { "alias": "autoZoomOut"; "required": false; }; "limitZoomBackwardCompatibility": { "alias": "limit-zoom"; "required": false; }; "limitZoom": { "alias": "limitZoom"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "disablePan": { "alias": "disablePan"; "required": false; }; "overflow": { "alias": "overflow"; "required": false; }; "zoomControlScale": { "alias": "zoomControlScale"; "required": false; }; "disableZoomControl": { "alias": "disableZoomControl"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "limitPan": { "alias": "limitPan"; "required": false; }; "minPanScale": { "alias": "minPanScale"; "required": false; }; "minScale": { "alias": "minScale"; "required": false; }; "listeners": { "alias": "listeners"; "required": false; }; "wheel": { "alias": "wheel"; "required": false; }; "autoHeight": { "alias": "autoHeight"; "required": false; }; "wheelZoomFactor": { "alias": "wheelZoomFactor"; "required": false; }; "draggableImage": { "alias": "draggableImage"; "required": false; }; "draggableOnPinch": { "alias": "draggableOnPinch"; "required": false; }; }, { "zoomChanged": "zoomChanged"; }, never, ["*"], true, never>;
}
export {};