@fireworks-js/react
Version:
A simple fireworks library!
10 lines (9 loc) • 1.32 kB
JavaScript
/**
* name: @fireworks-js/react
* version: 2.10.8
* author: Vitalij Ryndin (https://crashmax.ru)
* homepage: https://fireworks.js.org
* license MIT
*/
(function(t,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("react"),require("fireworks-js")):typeof define=="function"&&define.amd?define(["exports","react","fireworks-js"],r):(t=typeof globalThis<"u"?globalThis:t||self,r(t.Fireworks={},t.React,t.Fireworks))})(this,function(t,r,s){"use strict";"use client";
const u=r.forwardRef(({children:o,options:c,autostart:a=!0,...f},d)=>{const i=r.useRef(null),e=r.useRef(null);return r.useImperativeHandle(d,()=>({get isRunning(){return e.current.isRunning},get currentOptions(){return e.current.currentOptions},start(){e.current.start()},launch(n){e.current.launch(n)},stop(){e.current.stop()},async waitStop(){await e.current.waitStop()},pause(){e.current.pause()},clear(){e.current.clear()},updateOptions(n){e.current.updateOptions(n)},updateSize(n){e.current.updateSize(n)},updateBoundaries(n){e.current.updateBoundaries(n)}})),r.useEffect(()=>(e.current||(e.current=new s.Fireworks(i.current,c)),a&&e.current.start(),()=>{e.current.stop()}),[]),r.createElement("div",{ref:i,...f},o)});t.Fireworks=u,t.default=u,Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});