ng-spinner-wheel
Version:
A customizable standalone Angular spinner wheel component that supports weighted items. Useful for raffles, lucky draws, and gamified selections where some items have higher chances of winning.
50 lines (49 loc) • 1.77 kB
TypeScript
import { ElementRef, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
import { NgSpinnerWheelService } from './ng-spinner-wheel.service';
import * as i0 from "@angular/core";
export interface MenuItems {
menuTitle: string;
Id?: string;
menuWeight?: number;
percentage?: number;
backColor?: string;
fontSize?: string;
textColor?: string;
}
export declare class NgSpinnerWheelComponent implements OnChanges {
util: NgSpinnerWheelService;
private ctx;
canvasEl: ElementRef;
allItems: MenuItems[];
btnWidth: number;
width: number;
spinCompleted: EventEmitter<MenuItems>;
private center;
private deg;
private speed;
private isStopped;
private lock;
private isSpinning;
private slowDownRand;
private canvas;
private currentWinner;
private fontSize;
private forceStop;
constructor(util: NgSpinnerWheelService);
ngAfterViewInit(): Promise<void>;
regenerate(): void;
ngOnChanges(changes: SimpleChanges): void;
onInIt2(): void;
loadDataInit(): Promise<void>;
startSpin(): void;
spin(): void;
stops(): void;
deg2rad(deg: number): number;
rand(min: number, max: number): number;
setFontSize(): void;
createSpinner(): void;
toMultiLine(text: string): any[];
shuffleArray<T>(array: T[]): T[];
static ɵfac: i0.ɵɵFactoryDeclaration<NgSpinnerWheelComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<NgSpinnerWheelComponent, "lib-ng-spinner-wheel", never, { "allItems": { "alias": "allItems"; "required": false; }; "btnWidth": { "alias": "btnWidth"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, { "spinCompleted": "spinCompleted"; }, never, never, true, never>;
}