Uname: Linux webm016.cluster127.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Software: Apache
PHP version: 7.4.33 [ PHP INFO ] PHP os: Linux
Server Ip: 54.36.31.145
Your Ip: 216.73.216.182
User: homesquasz (91404) | Group: users (100)
Safe Mode: OFF
Disable Function:
_dyuweyrj4,_dyuweyrj4r,dl

name : Spinner.ts
import { Destructible, Styleable } from '../types/interfaces';
import { makeSpinner } from './makeSpinner';
import FilterizrOptions from '../FilterizrOptions';
import FilterContainer from '../FilterContainer';
import StyledSpinner from './StyledSpinner';

export default class Spinner implements Destructible, Styleable {
  private node: HTMLElement;
  private styledNode: StyledSpinner;
  private filterContainer: FilterContainer;

  public constructor(
    filterContainer: FilterContainer,
    options: FilterizrOptions
  ) {
    this.filterContainer = filterContainer;
    this.node = makeSpinner(options.get().spinner);
    this.styledNode = new StyledSpinner(this.node, options);
    this.initialize();
  }

  public get styles(): StyledSpinner {
    return this.styledNode;
  }

  public async destroy(): Promise<void> {
    await this.styles.fadeOut();
    this.filterContainer.node.removeChild(this.node);
  }

  private initialize(): void {
    this.styles.initialize();
    this.filterContainer.node.appendChild(this.node);
  }
}
© 2026 GrazzMean