lighteningcards 1.3.3 → 2.0.5

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.
package/dist/index.cjs.js CHANGED
@@ -463,7 +463,7 @@ const LighteningCard = ({
463
463
  initiatePixiApplication();
464
464
  // Cleanup function
465
465
  return () => {
466
- if (appRef.current) {
466
+ if (appRef.current && typeof appRef.current.destroy === "function") {
467
467
  var _appRef$current;
468
468
  (_appRef$current = appRef.current) === null || _appRef$current === void 0 || _appRef$current.destroy(true);
469
469
  appRef.current = null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../src/hooks/useLeftThunder.js","../src/hooks/useRightThunder.js","../src/hooks/useLightening.js","../src/hooks/useMiddleThunder.js","../src/hooks/useLighteningStart.js","../src/LighteningCard.js"],"sourcesContent":["import { AnimatedSprite, Assets, Rectangle, Texture } from \"pixi.js\";\r\n\r\nconst useLeftThunder = () => {\r\n class LeftThunder {\r\n constructor(spritePath, appRef) {\r\n this.spritePath = spritePath;\r\n this.appRef = appRef;\r\n this.initiateAnimation();\r\n }\r\n\r\n async initiateAnimation() {\r\n Assets.load(this.spritePath).then((baseTexture) => {\r\n // Ensure the animation is visible and sized correctly\r\n const frames = [];\r\n // Get the correct texture dimensions\r\n const texWidth = baseTexture.resource?.width || baseTexture.width;\r\n const texHeight = baseTexture.resource?.height || baseTexture.height;\r\n\r\n const columns = 3;\r\n const rows = 10;\r\n\r\n const frameWidth = texWidth / columns;\r\n const frameHeight = texHeight / rows;\r\n\r\n // Row-major order: for each row, for each column\r\n for (let row = 0; row < rows; row++) {\r\n for (let col = 0; col < columns; col++) {\r\n const x = col * frameWidth;\r\n const y = row * frameHeight;\r\n const frameRect = new Rectangle(x, y, frameWidth, frameHeight);\r\n frames.push(\r\n new Texture({\r\n source: baseTexture.source, // Use the correct source for the Texture constructor\r\n frame: frameRect,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Create and configure the AnimatedSprite\r\n const animatedSprite = new AnimatedSprite(frames);\r\n animatedSprite.animationSpeed = 0.25; // Faster speed for more visible animation\r\n animatedSprite.loop = true;\r\n animatedSprite.scale.set(0.3);\r\n animatedSprite.anchor.set(0.5, 0.5);\r\n\r\n // Center the sprite in the canvas\r\n animatedSprite.x =\r\n this.appRef.current.renderer.width / 2 -\r\n (window.innerWidth > 768 ? 40 : -75);\r\n animatedSprite.y = this.appRef.current.renderer.height / 2 + 15;\r\n\r\n this.appRef.current.stage.addChild(animatedSprite);\r\n animatedSprite.play();\r\n });\r\n }\r\n }\r\n\r\n return {\r\n LeftThunder,\r\n };\r\n};\r\n\r\nexport default useLeftThunder;\r\n","import { AnimatedSprite, Assets, Rectangle, Texture } from \"pixi.js\";\r\n\r\nconst useRightThunder = () => {\r\n class RightThunder {\r\n constructor(spritePath, appRef) {\r\n this.spritePath = spritePath;\r\n this.appRef = appRef;\r\n this.initiateAnimation();\r\n }\r\n\r\n async initiateAnimation() {\r\n Assets.load(this.spritePath).then((baseTexture) => {\r\n // Ensure the animation is visible and sized correctly\r\n const frames = [];\r\n\r\n // Get the correct texture dimensions\r\n const texWidth = baseTexture.resource?.width || baseTexture.width;\r\n const texHeight = baseTexture.resource?.height || baseTexture.height;\r\n\r\n const columns = 3;\r\n const rows = 10;\r\n\r\n const frameWidth = texWidth / columns;\r\n const frameHeight = texHeight / rows;\r\n\r\n // Row-major order: for each row, for each column\r\n for (let row = 0; row < rows; row++) {\r\n for (let col = 0; col < columns; col++) {\r\n const x = col * frameWidth;\r\n const y = row * frameHeight;\r\n const frameRect = new Rectangle(x, y, frameWidth, frameHeight);\r\n frames.push(\r\n new Texture({\r\n source: baseTexture.source, // Use the correct source for the Texture constructor\r\n frame: frameRect,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Create and configure the AnimatedSprite\r\n const animatedSprite = new AnimatedSprite(frames);\r\n animatedSprite.animationSpeed = 0.25; // Faster speed for more visible animation\r\n animatedSprite.loop = true;\r\n animatedSprite.scale.set(0.3);\r\n animatedSprite.anchor.set(0.5, 0.5);\r\n\r\n // Center the sprite in the canvas\r\n animatedSprite.x =\r\n this.appRef.current.renderer.width / 2 +\r\n (window.innerWidth > 768 ? 40 : -75);\r\n animatedSprite.y = this.appRef.current.renderer.height / 2 + 15;\r\n\r\n this.appRef.current.stage.addChild(animatedSprite);\r\n animatedSprite.play();\r\n });\r\n }\r\n }\r\n return { RightThunder };\r\n};\r\n\r\nexport default useRightThunder;\r\n","import {\r\n AnimatedSprite,\r\n Assets,\r\n Rectangle,\r\n Text,\r\n Texture,\r\n Sprite,\r\n Graphics,\r\n} from \"pixi.js\";\r\n\r\nconst useLightening = () => {\r\n class Lightening {\r\n constructor(cards, spritePath, appRef) {\r\n this.cards = cards;\r\n this.spritePath = spritePath;\r\n this.appRef = appRef;\r\n this.initiateAnimation();\r\n }\r\n\r\n async initiateAnimation() {\r\n // Create a container to hold all animatedSprites\r\n const { Container } = await import(\"pixi.js\");\r\n const cardsContainer = new Container();\r\n\r\n // Calculate layout: arrange cards horizontally, centered\r\n const numCards = this.cards.length;\r\n const spacing = 77.6 * 0.5 + 20; // space between cards, adjust as needed\r\n const spriteScale = window.innerWidth < 768 ? 0.25 : 0.3;\r\n const baseY = this.appRef.current.renderer.height / 2;\r\n\r\n // We'll keep track of all sprite promises to add them after all loaded\r\n const spritePromises = this.cards.map(async (card, i) => {\r\n const baseTexture = await Assets.load(this.spritePath);\r\n\r\n // Prepare frames for animation\r\n const frames = [];\r\n const texWidth = baseTexture.resource?.width || baseTexture.width;\r\n const texHeight = baseTexture.resource?.height || baseTexture.height;\r\n const columns = 10;\r\n const rows = 3;\r\n const frameWidth = texWidth / columns;\r\n const frameHeight = texHeight / rows;\r\n\r\n for (let row = 0; row < rows; row++) {\r\n for (let col = 0; col < columns; col++) {\r\n const x = col * frameWidth;\r\n const y = row * frameHeight;\r\n const frameRect = new Rectangle(x, y, frameWidth, frameHeight);\r\n frames.push(\r\n new Texture({\r\n source: baseTexture.source,\r\n frame: frameRect,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Create and configure the AnimatedSprite\r\n const animatedSprite = new AnimatedSprite(frames);\r\n animatedSprite.animationSpeed = 0.25;\r\n animatedSprite.loop = true;\r\n animatedSprite.scale.set(spriteScale);\r\n animatedSprite.anchor.set(0.5);\r\n animatedSprite.allowChildren = true;\r\n\r\n // Position horizontally, centered\r\n const totalWidth = (numCards - 1) * spacing;\r\n animatedSprite.x = -totalWidth / 2 + i * spacing;\r\n animatedSprite.y = 0; // Centered in container\r\n\r\n animatedSprite.play();\r\n\r\n // Add multiplier text\r\n const multiplier_txt = new Text({\r\n text: `${card.multiplier ?? card.multplier}X`,\r\n style: {\r\n fontSize: 75,\r\n fontWeight: \"bold\",\r\n fill: 0xffd700,\r\n align: \"center\",\r\n },\r\n });\r\n multiplier_txt.anchor.set(0.5);\r\n multiplier_txt.position.set(0, -50);\r\n animatedSprite.addChild(multiplier_txt);\r\n\r\n // Suit icon\r\n let suit_url = \"\";\r\n switch (card.suit?.toLowerCase()) {\r\n case \"hearts\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/f/f0/SuitHearts.svg/60px-SuitHearts.svg.png\";\r\n break;\r\n case \"clubs\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/SuitClubs.svg/60px-SuitClubs.svg.png\";\r\n break;\r\n case \"diamonds\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/d/db/SuitDiamonds.svg/60px-SuitDiamonds.svg.png\";\r\n break;\r\n default:\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/SuitSpades.svg/60px-SuitSpades.svg.png\";\r\n break;\r\n }\r\n\r\n // Load and add suit sprite\r\n const card_suit_tex = await Assets.load(suit_url);\r\n const card_suit_sprite = new Sprite(card_suit_tex);\r\n card_suit_sprite.anchor.set(0.5);\r\n card_suit_sprite.scale.set(1.2);\r\n card_suit_sprite.position.set(0, 35);\r\n animatedSprite.addChild(card_suit_sprite);\r\n\r\n return animatedSprite;\r\n });\r\n\r\n // After all sprites are loaded, add them to the container and stage\r\n Promise.all(spritePromises).then((sprites) => {\r\n sprites.forEach((sprite) => cardsContainer.addChild(sprite));\r\n // Center the container in the canvas\r\n cardsContainer.x = this.appRef.current.renderer.width / 2;\r\n cardsContainer.y = this.appRef.current.renderer.height / 2;\r\n this.appRef.current.stage.addChild(cardsContainer);\r\n });\r\n }\r\n }\r\n\r\n return {\r\n Lightening,\r\n };\r\n};\r\n\r\nexport default useLightening;\r\n","import { AnimatedSprite, Assets, Rectangle, Texture, Ticker } from \"pixi.js\";\r\n\r\nconst useMiddleThunder = () => {\r\n class MiddleThunder {\r\n constructor(spritePath, appRef) {\r\n this.spritePath = spritePath;\r\n this.appRef = appRef;\r\n this.initiateAnimation();\r\n }\r\n\r\n async initiateAnimation() {\r\n Assets.load(this.spritePath).then((baseTexture) => {\r\n // Ensure the animation is visible and sized correctly\r\n const frames = [];\r\n // Get the correct texture dimensions\r\n const texWidth = baseTexture.resource?.width || baseTexture.width;\r\n const texHeight = baseTexture.resource?.height || baseTexture.height;\r\n\r\n const columns = 3;\r\n const rows = 18;\r\n\r\n const frameWidth = texWidth / columns;\r\n const frameHeight = texHeight / rows;\r\n\r\n // Row-major order: for each row, for each column\r\n for (let row = 0; row < rows; row++) {\r\n for (let col = 0; col < columns; col++) {\r\n const x = col * frameWidth;\r\n const y = row * frameHeight;\r\n const frameRect = new Rectangle(x, y, frameWidth, frameHeight);\r\n frames.push(\r\n new Texture({\r\n source: baseTexture.source, // Use the correct source for the Texture constructor\r\n frame: frameRect,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Create and configure the AnimatedSprite\r\n const animatedSprite = new AnimatedSprite(frames);\r\n animatedSprite.animationSpeed = 0.25; // Faster speed for more visible animation\r\n animatedSprite.loop = false;\r\n animatedSprite.scale.set(0.5);\r\n animatedSprite.anchor.set(0.5, 0.5);\r\n\r\n // Center the sprite in the canvas\r\n animatedSprite.x = this.appRef.current.renderer.width / 2;\r\n animatedSprite.y = 0;\r\n const tikcer = new Ticker();\r\n tikcer.autoStart = true;\r\n let iteration = 0;\r\n\r\n const unitDistance = this.appRef.current.renderer.height / 60;\r\n tikcer.add((tick) => {\r\n animatedSprite.y += unitDistance;\r\n iteration++;\r\n if (iteration === 60) {\r\n tikcer.stop();\r\n tikcer.destroy();\r\n }\r\n });\r\n\r\n this.appRef.current.stage.addChild(animatedSprite);\r\n animatedSprite.play();\r\n });\r\n }\r\n }\r\n return {\r\n MiddleThunder,\r\n };\r\n};\r\n\r\nexport default useMiddleThunder;\r\n","import {\r\n AnimatedSprite,\r\n Assets,\r\n Rectangle,\r\n Text,\r\n Texture,\r\n Sprite,\r\n Graphics,\r\n} from \"pixi.js\";\r\n\r\nconst useLighteningStart = () => {\r\n class LighteningStart {\r\n constructor(cards, spritePath, appRef) {\r\n this.cards = cards;\r\n this.spritePath = spritePath;\r\n this.appRef = appRef;\r\n this.initiateAnimation();\r\n }\r\n\r\n async initiateAnimation() {\r\n // Create a container to hold all animatedSprites\r\n const { Container } = await import(\"pixi.js\");\r\n const cardsContainer = new Container();\r\n\r\n // Calculate layout: arrange cards horizontally, centered\r\n const numCards = this.cards.length;\r\n const spacing = 77.6 * 0.5 + 20; // space between cards, adjust as needed\r\n const spriteScale = window.innerWidth < 768 ? 0.25 : 0.3;\r\n const baseY = this.appRef.current.renderer.height / 2;\r\n\r\n // We'll keep track of all sprite promises to add them after all loaded\r\n const spritePromises = this.cards.map(async (card, i) => {\r\n const baseTexture = await Assets.load(this.spritePath);\r\n\r\n // Prepare frames for animation\r\n const frames = [];\r\n const texWidth = baseTexture.resource?.width || baseTexture.width;\r\n const texHeight = baseTexture.resource?.height || baseTexture.height;\r\n const columns = 10;\r\n const rows = 3;\r\n const frameWidth = texWidth / columns;\r\n const frameHeight = texHeight / rows;\r\n\r\n for (let row = 0; row < rows; row++) {\r\n for (let col = 0; col < columns; col++) {\r\n const x = col * frameWidth;\r\n const y = row * frameHeight;\r\n const frameRect = new Rectangle(x, y, frameWidth, frameHeight);\r\n frames.push(\r\n new Texture({\r\n source: baseTexture.source,\r\n frame: frameRect,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Create and configure the AnimatedSprite\r\n const animatedSprite = new AnimatedSprite(frames);\r\n animatedSprite.animationSpeed = 0.25;\r\n animatedSprite.loop = false;\r\n animatedSprite.scale.set(spriteScale);\r\n animatedSprite.anchor.set(0.5);\r\n animatedSprite.allowChildren = true;\r\n\r\n // Position horizontally, centered\r\n const totalWidth = (numCards - 1) * spacing;\r\n animatedSprite.x = -totalWidth / 2 + i * spacing;\r\n animatedSprite.y = 0; // Centered in container\r\n\r\n animatedSprite.play();\r\n\r\n // Add multiplier text\r\n const multiplier_txt = new Text({\r\n text: `${card.multiplier ?? card.multplier}X`,\r\n style: {\r\n fontSize: 75,\r\n fontWeight: \"bold\",\r\n fill: 0xffd700,\r\n align: \"center\",\r\n },\r\n });\r\n multiplier_txt.anchor.set(0.5);\r\n multiplier_txt.position.set(0, -50);\r\n animatedSprite.addChild(multiplier_txt);\r\n\r\n // Suit icon\r\n let suit_url = \"\";\r\n switch (card.suit?.toLowerCase()) {\r\n case \"hearts\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/f/f0/SuitHearts.svg/60px-SuitHearts.svg.png\";\r\n break;\r\n case \"clubs\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/SuitClubs.svg/60px-SuitClubs.svg.png\";\r\n break;\r\n case \"diamonds\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/d/db/SuitDiamonds.svg/60px-SuitDiamonds.svg.png\";\r\n break;\r\n default:\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/SuitSpades.svg/60px-SuitSpades.svg.png\";\r\n break;\r\n }\r\n\r\n // Load and add suit sprite\r\n const card_suit_tex = await Assets.load(suit_url);\r\n const card_suit_sprite = new Sprite(card_suit_tex);\r\n card_suit_sprite.anchor.set(0.5);\r\n card_suit_sprite.scale.set(1.2);\r\n card_suit_sprite.position.set(0, 35);\r\n animatedSprite.addChild(card_suit_sprite);\r\n\r\n return animatedSprite;\r\n });\r\n\r\n // After all sprites are loaded, add them to the container and stage\r\n Promise.all(spritePromises).then((sprites) => {\r\n sprites.forEach((sprite) => cardsContainer.addChild(sprite));\r\n // Center the container in the canvas\r\n cardsContainer.x = this.appRef.current.renderer.width / 2;\r\n cardsContainer.y = this.appRef.current.renderer.height / 2;\r\n this.appRef.current.stage.addChild(cardsContainer);\r\n });\r\n }\r\n }\r\n\r\n return {\r\n LighteningStart,\r\n };\r\n};\r\n\r\nexport default useLighteningStart;\r\n","import React, { useEffect, useRef } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Application } from \"pixi.js\";\r\nimport useLeftThunder from \"./hooks/useLeftThunder\";\r\nimport useRightThunder from \"./hooks/useRightThunder\";\r\nimport useLightening from \"./hooks/useLightening\";\r\nimport useMiddleThunder from \"./hooks/useMiddleThunder\";\r\nimport useLighteningStart from \"./hooks/useLighteningStart\";\r\nimport \"./LighteningCard.css\";\r\n\r\n// CSS is provided separately via the style field in package.json\r\n\r\nconst thunder_left =\r\n \"https://babylonbetst.evo-games.com/frontend/evo/mini/images/lightnings.f9848fb7.webp\";\r\nconst thunder_middle =\r\n \"https://babylonbetst.evo-games.com/frontend/evo/mini/images/feeborderb.0e2c6bbe.webp\";\r\nconst thunder_right =\r\n \"https://babylonbetst.evo-games.com/frontend/evo/mini/images/lightnings.aeaa062e.webp\";\r\n\r\nconst border_start =\r\n \"https://babylonbetst.evo-games.com/frontend/evo/mini/images/borderstar.65180209.webp\";\r\nconst border_loop =\r\n \"https://babylonbetst.evo-games.com/frontend/evo/mini/images/borderloop.c55570cc.webp\";\r\n\r\nconst LighteningCard = ({ roundStatus, cards }) => {\r\n const containerRef = useRef(null);\r\n const appRef = useRef(null);\r\n const { LeftThunder } = useLeftThunder();\r\n const { RightThunder } = useRightThunder();\r\n const { MiddleThunder } = useMiddleThunder();\r\n const { Lightening } = useLightening();\r\n const { LighteningStart } = useLighteningStart();\r\n const initiatePixiApplication = async () => {\r\n appRef.current = new Application();\r\n await appRef.current.init({\r\n resizeTo: containerRef.current,\r\n backgroundAlpha: 0,\r\n powerPreference: \"high-performance\",\r\n resolution: window.devicePixelRatio || 1,\r\n autoDensity: true, // This ensures the canvas CSS size is correct\r\n });\r\n containerRef.current.appendChild(appRef.current.canvas);\r\n globalThis.__PIXI_APP__ = appRef.current;\r\n\r\n roundStatus === \"NO_MORE_BETS\" && new LeftThunder(thunder_left, appRef);\r\n roundStatus === \"NO_MORE_BETS\" && new RightThunder(thunder_right, appRef);\r\n roundStatus === \"NO_MORE_BETS\" && new MiddleThunder(thunder_middle, appRef);\r\n roundStatus === \"LIGHTNING\" &&\r\n new LighteningStart(cards, border_start, appRef);\r\n [\"NEW_CARD\", \"ROUND_END\", \"BETTING_STARTED\"].includes(roundStatus) &&\r\n new Lightening(cards, border_loop, appRef);\r\n };\r\n\r\n useEffect(() => {\r\n if (!containerRef.current) return;\r\n initiatePixiApplication();\r\n // Cleanup function\r\n return () => {\r\n if (appRef.current) {\r\n appRef.current?.destroy(true);\r\n appRef.current = null;\r\n }\r\n };\r\n }, [roundStatus]);\r\n\r\n return <div className=\"lightening-card\" ref={containerRef}></div>;\r\n};\r\n\r\nLighteningCard.propTypes = {\r\n roundStatus: PropTypes.string.isRequired,\r\n cards: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n multiplier: PropTypes.number,\r\n rank: PropTypes.string,\r\n suit: PropTypes.string,\r\n })\r\n ),\r\n assetPath: PropTypes.string, // Path to the animation asset\r\n onAnimationReady: PropTypes.func, // Callback when animation is ready\r\n};\r\n\r\nLighteningCard.defaultProps = {\r\n cards: [],\r\n};\r\n\r\nexport default LighteningCard;\r\n"],"names":["useLeftThunder","LeftThunder","constructor","spritePath","appRef","initiateAnimation","Assets","load","then","baseTexture","_baseTexture$resource","_baseTexture$resource2","frames","texWidth","resource","width","texHeight","height","columns","rows","frameWidth","frameHeight","row","col","x","y","frameRect","Rectangle","push","Texture","source","frame","animatedSprite","AnimatedSprite","animationSpeed","loop","scale","set","anchor","current","renderer","window","innerWidth","stage","addChild","play","useRightThunder","RightThunder","useLightening","Lightening","cards","Container","cardsContainer","numCards","length","spacing","spriteScale","spritePromises","map","card","i","_card$multiplier","_card$suit","allowChildren","totalWidth","multiplier_txt","Text","text","multiplier","multplier","style","fontSize","fontWeight","fill","align","position","suit_url","suit","toLowerCase","card_suit_tex","card_suit_sprite","Sprite","Promise","all","sprites","forEach","sprite","useMiddleThunder","MiddleThunder","tikcer","Ticker","autoStart","iteration","unitDistance","add","tick","stop","destroy","useLighteningStart","LighteningStart","thunder_left","thunder_middle","thunder_right","border_start","border_loop","LighteningCard","roundStatus","containerRef","useRef","initiatePixiApplication","Application","init","resizeTo","backgroundAlpha","powerPreference","resolution","devicePixelRatio","autoDensity","appendChild","canvas","globalThis","__PIXI_APP__","includes","useEffect","_appRef$current","React","createElement","className","ref","propTypes","PropTypes","string","isRequired","arrayOf","shape","number","rank","assetPath","onAnimationReady","func","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/hooks/useLeftThunder.js","../src/hooks/useRightThunder.js","../src/hooks/useLightening.js","../src/hooks/useMiddleThunder.js","../src/hooks/useLighteningStart.js","../src/LighteningCard.js"],"sourcesContent":["import { AnimatedSprite, Assets, Rectangle, Texture } from \"pixi.js\";\r\n\r\nconst useLeftThunder = () => {\r\n class LeftThunder {\r\n constructor(spritePath, appRef) {\r\n this.spritePath = spritePath;\r\n this.appRef = appRef;\r\n this.initiateAnimation();\r\n }\r\n\r\n async initiateAnimation() {\r\n Assets.load(this.spritePath).then((baseTexture) => {\r\n // Ensure the animation is visible and sized correctly\r\n const frames = [];\r\n // Get the correct texture dimensions\r\n const texWidth = baseTexture.resource?.width || baseTexture.width;\r\n const texHeight = baseTexture.resource?.height || baseTexture.height;\r\n\r\n const columns = 3;\r\n const rows = 10;\r\n\r\n const frameWidth = texWidth / columns;\r\n const frameHeight = texHeight / rows;\r\n\r\n // Row-major order: for each row, for each column\r\n for (let row = 0; row < rows; row++) {\r\n for (let col = 0; col < columns; col++) {\r\n const x = col * frameWidth;\r\n const y = row * frameHeight;\r\n const frameRect = new Rectangle(x, y, frameWidth, frameHeight);\r\n frames.push(\r\n new Texture({\r\n source: baseTexture.source, // Use the correct source for the Texture constructor\r\n frame: frameRect,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Create and configure the AnimatedSprite\r\n const animatedSprite = new AnimatedSprite(frames);\r\n animatedSprite.animationSpeed = 0.25; // Faster speed for more visible animation\r\n animatedSprite.loop = true;\r\n animatedSprite.scale.set(0.3);\r\n animatedSprite.anchor.set(0.5, 0.5);\r\n\r\n // Center the sprite in the canvas\r\n animatedSprite.x =\r\n this.appRef.current.renderer.width / 2 -\r\n (window.innerWidth > 768 ? 40 : -75);\r\n animatedSprite.y = this.appRef.current.renderer.height / 2 + 15;\r\n\r\n this.appRef.current.stage.addChild(animatedSprite);\r\n animatedSprite.play();\r\n });\r\n }\r\n }\r\n\r\n return {\r\n LeftThunder,\r\n };\r\n};\r\n\r\nexport default useLeftThunder;\r\n","import { AnimatedSprite, Assets, Rectangle, Texture } from \"pixi.js\";\r\n\r\nconst useRightThunder = () => {\r\n class RightThunder {\r\n constructor(spritePath, appRef) {\r\n this.spritePath = spritePath;\r\n this.appRef = appRef;\r\n this.initiateAnimation();\r\n }\r\n\r\n async initiateAnimation() {\r\n Assets.load(this.spritePath).then((baseTexture) => {\r\n // Ensure the animation is visible and sized correctly\r\n const frames = [];\r\n\r\n // Get the correct texture dimensions\r\n const texWidth = baseTexture.resource?.width || baseTexture.width;\r\n const texHeight = baseTexture.resource?.height || baseTexture.height;\r\n\r\n const columns = 3;\r\n const rows = 10;\r\n\r\n const frameWidth = texWidth / columns;\r\n const frameHeight = texHeight / rows;\r\n\r\n // Row-major order: for each row, for each column\r\n for (let row = 0; row < rows; row++) {\r\n for (let col = 0; col < columns; col++) {\r\n const x = col * frameWidth;\r\n const y = row * frameHeight;\r\n const frameRect = new Rectangle(x, y, frameWidth, frameHeight);\r\n frames.push(\r\n new Texture({\r\n source: baseTexture.source, // Use the correct source for the Texture constructor\r\n frame: frameRect,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Create and configure the AnimatedSprite\r\n const animatedSprite = new AnimatedSprite(frames);\r\n animatedSprite.animationSpeed = 0.25; // Faster speed for more visible animation\r\n animatedSprite.loop = true;\r\n animatedSprite.scale.set(0.3);\r\n animatedSprite.anchor.set(0.5, 0.5);\r\n\r\n // Center the sprite in the canvas\r\n animatedSprite.x =\r\n this.appRef.current.renderer.width / 2 +\r\n (window.innerWidth > 768 ? 40 : -75);\r\n animatedSprite.y = this.appRef.current.renderer.height / 2 + 15;\r\n\r\n this.appRef.current.stage.addChild(animatedSprite);\r\n animatedSprite.play();\r\n });\r\n }\r\n }\r\n return { RightThunder };\r\n};\r\n\r\nexport default useRightThunder;\r\n","import {\r\n AnimatedSprite,\r\n Assets,\r\n Rectangle,\r\n Text,\r\n Texture,\r\n Sprite,\r\n Graphics,\r\n} from \"pixi.js\";\r\n\r\nconst useLightening = () => {\r\n class Lightening {\r\n constructor(cards, spritePath, appRef) {\r\n this.cards = cards;\r\n this.spritePath = spritePath;\r\n this.appRef = appRef;\r\n this.initiateAnimation();\r\n }\r\n\r\n async initiateAnimation() {\r\n // Create a container to hold all animatedSprites\r\n const { Container } = await import(\"pixi.js\");\r\n const cardsContainer = new Container();\r\n\r\n // Calculate layout: arrange cards horizontally, centered\r\n const numCards = this.cards.length;\r\n const spacing = 77.6 * 0.5 + 20; // space between cards, adjust as needed\r\n const spriteScale = window.innerWidth < 768 ? 0.25 : 0.3;\r\n const baseY = this.appRef.current.renderer.height / 2;\r\n\r\n // We'll keep track of all sprite promises to add them after all loaded\r\n const spritePromises = this.cards.map(async (card, i) => {\r\n const baseTexture = await Assets.load(this.spritePath);\r\n\r\n // Prepare frames for animation\r\n const frames = [];\r\n const texWidth = baseTexture.resource?.width || baseTexture.width;\r\n const texHeight = baseTexture.resource?.height || baseTexture.height;\r\n const columns = 10;\r\n const rows = 3;\r\n const frameWidth = texWidth / columns;\r\n const frameHeight = texHeight / rows;\r\n\r\n for (let row = 0; row < rows; row++) {\r\n for (let col = 0; col < columns; col++) {\r\n const x = col * frameWidth;\r\n const y = row * frameHeight;\r\n const frameRect = new Rectangle(x, y, frameWidth, frameHeight);\r\n frames.push(\r\n new Texture({\r\n source: baseTexture.source,\r\n frame: frameRect,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Create and configure the AnimatedSprite\r\n const animatedSprite = new AnimatedSprite(frames);\r\n animatedSprite.animationSpeed = 0.25;\r\n animatedSprite.loop = true;\r\n animatedSprite.scale.set(spriteScale);\r\n animatedSprite.anchor.set(0.5);\r\n animatedSprite.allowChildren = true;\r\n\r\n // Position horizontally, centered\r\n const totalWidth = (numCards - 1) * spacing;\r\n animatedSprite.x = -totalWidth / 2 + i * spacing;\r\n animatedSprite.y = 0; // Centered in container\r\n\r\n animatedSprite.play();\r\n\r\n // Add multiplier text\r\n const multiplier_txt = new Text({\r\n text: `${card.multiplier ?? card.multplier}X`,\r\n style: {\r\n fontSize: 75,\r\n fontWeight: \"bold\",\r\n fill: 0xffd700,\r\n align: \"center\",\r\n },\r\n });\r\n multiplier_txt.anchor.set(0.5);\r\n multiplier_txt.position.set(0, -50);\r\n animatedSprite.addChild(multiplier_txt);\r\n\r\n // Suit icon\r\n let suit_url = \"\";\r\n switch (card.suit?.toLowerCase()) {\r\n case \"hearts\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/f/f0/SuitHearts.svg/60px-SuitHearts.svg.png\";\r\n break;\r\n case \"clubs\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/SuitClubs.svg/60px-SuitClubs.svg.png\";\r\n break;\r\n case \"diamonds\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/d/db/SuitDiamonds.svg/60px-SuitDiamonds.svg.png\";\r\n break;\r\n default:\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/SuitSpades.svg/60px-SuitSpades.svg.png\";\r\n break;\r\n }\r\n\r\n // Load and add suit sprite\r\n const card_suit_tex = await Assets.load(suit_url);\r\n const card_suit_sprite = new Sprite(card_suit_tex);\r\n card_suit_sprite.anchor.set(0.5);\r\n card_suit_sprite.scale.set(1.2);\r\n card_suit_sprite.position.set(0, 35);\r\n animatedSprite.addChild(card_suit_sprite);\r\n\r\n return animatedSprite;\r\n });\r\n\r\n // After all sprites are loaded, add them to the container and stage\r\n Promise.all(spritePromises).then((sprites) => {\r\n sprites.forEach((sprite) => cardsContainer.addChild(sprite));\r\n // Center the container in the canvas\r\n cardsContainer.x = this.appRef.current.renderer.width / 2;\r\n cardsContainer.y = this.appRef.current.renderer.height / 2;\r\n this.appRef.current.stage.addChild(cardsContainer);\r\n });\r\n }\r\n }\r\n\r\n return {\r\n Lightening,\r\n };\r\n};\r\n\r\nexport default useLightening;\r\n","import { AnimatedSprite, Assets, Rectangle, Texture, Ticker } from \"pixi.js\";\r\n\r\nconst useMiddleThunder = () => {\r\n class MiddleThunder {\r\n constructor(spritePath, appRef) {\r\n this.spritePath = spritePath;\r\n this.appRef = appRef;\r\n this.initiateAnimation();\r\n }\r\n\r\n async initiateAnimation() {\r\n Assets.load(this.spritePath).then((baseTexture) => {\r\n // Ensure the animation is visible and sized correctly\r\n const frames = [];\r\n // Get the correct texture dimensions\r\n const texWidth = baseTexture.resource?.width || baseTexture.width;\r\n const texHeight = baseTexture.resource?.height || baseTexture.height;\r\n\r\n const columns = 3;\r\n const rows = 18;\r\n\r\n const frameWidth = texWidth / columns;\r\n const frameHeight = texHeight / rows;\r\n\r\n // Row-major order: for each row, for each column\r\n for (let row = 0; row < rows; row++) {\r\n for (let col = 0; col < columns; col++) {\r\n const x = col * frameWidth;\r\n const y = row * frameHeight;\r\n const frameRect = new Rectangle(x, y, frameWidth, frameHeight);\r\n frames.push(\r\n new Texture({\r\n source: baseTexture.source, // Use the correct source for the Texture constructor\r\n frame: frameRect,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Create and configure the AnimatedSprite\r\n const animatedSprite = new AnimatedSprite(frames);\r\n animatedSprite.animationSpeed = 0.25; // Faster speed for more visible animation\r\n animatedSprite.loop = false;\r\n animatedSprite.scale.set(0.5);\r\n animatedSprite.anchor.set(0.5, 0.5);\r\n\r\n // Center the sprite in the canvas\r\n animatedSprite.x = this.appRef.current.renderer.width / 2;\r\n animatedSprite.y = 0;\r\n const tikcer = new Ticker();\r\n tikcer.autoStart = true;\r\n let iteration = 0;\r\n\r\n const unitDistance = this.appRef.current.renderer.height / 60;\r\n tikcer.add((tick) => {\r\n animatedSprite.y += unitDistance;\r\n iteration++;\r\n if (iteration === 60) {\r\n tikcer.stop();\r\n tikcer.destroy();\r\n }\r\n });\r\n\r\n this.appRef.current.stage.addChild(animatedSprite);\r\n animatedSprite.play();\r\n });\r\n }\r\n }\r\n return {\r\n MiddleThunder,\r\n };\r\n};\r\n\r\nexport default useMiddleThunder;\r\n","import {\r\n AnimatedSprite,\r\n Assets,\r\n Rectangle,\r\n Text,\r\n Texture,\r\n Sprite,\r\n Graphics,\r\n} from \"pixi.js\";\r\n\r\nconst useLighteningStart = () => {\r\n class LighteningStart {\r\n constructor(cards, spritePath, appRef) {\r\n this.cards = cards;\r\n this.spritePath = spritePath;\r\n this.appRef = appRef;\r\n this.initiateAnimation();\r\n }\r\n\r\n async initiateAnimation() {\r\n // Create a container to hold all animatedSprites\r\n const { Container } = await import(\"pixi.js\");\r\n const cardsContainer = new Container();\r\n\r\n // Calculate layout: arrange cards horizontally, centered\r\n const numCards = this.cards.length;\r\n const spacing = 77.6 * 0.5 + 20; // space between cards, adjust as needed\r\n const spriteScale = window.innerWidth < 768 ? 0.25 : 0.3;\r\n const baseY = this.appRef.current.renderer.height / 2;\r\n\r\n // We'll keep track of all sprite promises to add them after all loaded\r\n const spritePromises = this.cards.map(async (card, i) => {\r\n const baseTexture = await Assets.load(this.spritePath);\r\n\r\n // Prepare frames for animation\r\n const frames = [];\r\n const texWidth = baseTexture.resource?.width || baseTexture.width;\r\n const texHeight = baseTexture.resource?.height || baseTexture.height;\r\n const columns = 10;\r\n const rows = 3;\r\n const frameWidth = texWidth / columns;\r\n const frameHeight = texHeight / rows;\r\n\r\n for (let row = 0; row < rows; row++) {\r\n for (let col = 0; col < columns; col++) {\r\n const x = col * frameWidth;\r\n const y = row * frameHeight;\r\n const frameRect = new Rectangle(x, y, frameWidth, frameHeight);\r\n frames.push(\r\n new Texture({\r\n source: baseTexture.source,\r\n frame: frameRect,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Create and configure the AnimatedSprite\r\n const animatedSprite = new AnimatedSprite(frames);\r\n animatedSprite.animationSpeed = 0.25;\r\n animatedSprite.loop = false;\r\n animatedSprite.scale.set(spriteScale);\r\n animatedSprite.anchor.set(0.5);\r\n animatedSprite.allowChildren = true;\r\n\r\n // Position horizontally, centered\r\n const totalWidth = (numCards - 1) * spacing;\r\n animatedSprite.x = -totalWidth / 2 + i * spacing;\r\n animatedSprite.y = 0; // Centered in container\r\n\r\n animatedSprite.play();\r\n\r\n // Add multiplier text\r\n const multiplier_txt = new Text({\r\n text: `${card.multiplier ?? card.multplier}X`,\r\n style: {\r\n fontSize: 75,\r\n fontWeight: \"bold\",\r\n fill: 0xffd700,\r\n align: \"center\",\r\n },\r\n });\r\n multiplier_txt.anchor.set(0.5);\r\n multiplier_txt.position.set(0, -50);\r\n animatedSprite.addChild(multiplier_txt);\r\n\r\n // Suit icon\r\n let suit_url = \"\";\r\n switch (card.suit?.toLowerCase()) {\r\n case \"hearts\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/f/f0/SuitHearts.svg/60px-SuitHearts.svg.png\";\r\n break;\r\n case \"clubs\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/SuitClubs.svg/60px-SuitClubs.svg.png\";\r\n break;\r\n case \"diamonds\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/d/db/SuitDiamonds.svg/60px-SuitDiamonds.svg.png\";\r\n break;\r\n default:\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/SuitSpades.svg/60px-SuitSpades.svg.png\";\r\n break;\r\n }\r\n\r\n // Load and add suit sprite\r\n const card_suit_tex = await Assets.load(suit_url);\r\n const card_suit_sprite = new Sprite(card_suit_tex);\r\n card_suit_sprite.anchor.set(0.5);\r\n card_suit_sprite.scale.set(1.2);\r\n card_suit_sprite.position.set(0, 35);\r\n animatedSprite.addChild(card_suit_sprite);\r\n\r\n return animatedSprite;\r\n });\r\n\r\n // After all sprites are loaded, add them to the container and stage\r\n Promise.all(spritePromises).then((sprites) => {\r\n sprites.forEach((sprite) => cardsContainer.addChild(sprite));\r\n // Center the container in the canvas\r\n cardsContainer.x = this.appRef.current.renderer.width / 2;\r\n cardsContainer.y = this.appRef.current.renderer.height / 2;\r\n this.appRef.current.stage.addChild(cardsContainer);\r\n });\r\n }\r\n }\r\n\r\n return {\r\n LighteningStart,\r\n };\r\n};\r\n\r\nexport default useLighteningStart;\r\n","import React, { useEffect, useRef } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Application } from \"pixi.js\";\r\nimport useLeftThunder from \"./hooks/useLeftThunder\";\r\nimport useRightThunder from \"./hooks/useRightThunder\";\r\nimport useLightening from \"./hooks/useLightening\";\r\nimport useMiddleThunder from \"./hooks/useMiddleThunder\";\r\nimport useLighteningStart from \"./hooks/useLighteningStart\";\r\nimport \"./LighteningCard.css\";\r\n\r\n// CSS is provided separately via the style field in package.json\r\n\r\nconst thunder_left =\r\n \"https://babylonbetst.evo-games.com/frontend/evo/mini/images/lightnings.f9848fb7.webp\";\r\nconst thunder_middle =\r\n \"https://babylonbetst.evo-games.com/frontend/evo/mini/images/feeborderb.0e2c6bbe.webp\";\r\nconst thunder_right =\r\n \"https://babylonbetst.evo-games.com/frontend/evo/mini/images/lightnings.aeaa062e.webp\";\r\n\r\nconst border_start =\r\n \"https://babylonbetst.evo-games.com/frontend/evo/mini/images/borderstar.65180209.webp\";\r\nconst border_loop =\r\n \"https://babylonbetst.evo-games.com/frontend/evo/mini/images/borderloop.c55570cc.webp\";\r\n\r\nconst LighteningCard = ({ roundStatus, cards }) => {\r\n const containerRef = useRef(null);\r\n const appRef = useRef(null);\r\n const { LeftThunder } = useLeftThunder();\r\n const { RightThunder } = useRightThunder();\r\n const { MiddleThunder } = useMiddleThunder();\r\n const { Lightening } = useLightening();\r\n const { LighteningStart } = useLighteningStart();\r\n const initiatePixiApplication = async () => {\r\n appRef.current = new Application();\r\n await appRef.current.init({\r\n resizeTo: containerRef.current,\r\n backgroundAlpha: 0,\r\n powerPreference: \"high-performance\",\r\n resolution: window.devicePixelRatio || 1,\r\n autoDensity: true, // This ensures the canvas CSS size is correct\r\n });\r\n containerRef.current.appendChild(appRef.current.canvas);\r\n globalThis.__PIXI_APP__ = appRef.current;\r\n\r\n roundStatus === \"NO_MORE_BETS\" && new LeftThunder(thunder_left, appRef);\r\n roundStatus === \"NO_MORE_BETS\" && new RightThunder(thunder_right, appRef);\r\n roundStatus === \"NO_MORE_BETS\" && new MiddleThunder(thunder_middle, appRef);\r\n roundStatus === \"LIGHTNING\" &&\r\n new LighteningStart(cards, border_start, appRef);\r\n [\"NEW_CARD\", \"ROUND_END\", \"BETTING_STARTED\"].includes(roundStatus) &&\r\n new Lightening(cards, border_loop, appRef);\r\n };\r\n\r\n useEffect(() => {\r\n if (!containerRef.current) return;\r\n initiatePixiApplication();\r\n // Cleanup function\r\n return () => {\r\n if (appRef.current && typeof appRef.current.destroy === \"function\") {\r\n appRef.current?.destroy(true);\r\n appRef.current = null;\r\n }\r\n };\r\n }, [roundStatus]);\r\n\r\n return <div className=\"lightening-card\" ref={containerRef}></div>;\r\n};\r\n\r\nLighteningCard.propTypes = {\r\n roundStatus: PropTypes.string.isRequired,\r\n cards: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n multiplier: PropTypes.number,\r\n rank: PropTypes.string,\r\n suit: PropTypes.string,\r\n })\r\n ),\r\n assetPath: PropTypes.string, // Path to the animation asset\r\n onAnimationReady: PropTypes.func, // Callback when animation is ready\r\n};\r\n\r\nLighteningCard.defaultProps = {\r\n cards: [],\r\n};\r\n\r\nexport default LighteningCard;\r\n"],"names":["useLeftThunder","LeftThunder","constructor","spritePath","appRef","initiateAnimation","Assets","load","then","baseTexture","_baseTexture$resource","_baseTexture$resource2","frames","texWidth","resource","width","texHeight","height","columns","rows","frameWidth","frameHeight","row","col","x","y","frameRect","Rectangle","push","Texture","source","frame","animatedSprite","AnimatedSprite","animationSpeed","loop","scale","set","anchor","current","renderer","window","innerWidth","stage","addChild","play","useRightThunder","RightThunder","useLightening","Lightening","cards","Container","cardsContainer","numCards","length","spacing","spriteScale","spritePromises","map","card","i","_card$multiplier","_card$suit","allowChildren","totalWidth","multiplier_txt","Text","text","multiplier","multplier","style","fontSize","fontWeight","fill","align","position","suit_url","suit","toLowerCase","card_suit_tex","card_suit_sprite","Sprite","Promise","all","sprites","forEach","sprite","useMiddleThunder","MiddleThunder","tikcer","Ticker","autoStart","iteration","unitDistance","add","tick","stop","destroy","useLighteningStart","LighteningStart","thunder_left","thunder_middle","thunder_right","border_start","border_loop","LighteningCard","roundStatus","containerRef","useRef","initiatePixiApplication","Application","init","resizeTo","backgroundAlpha","powerPreference","resolution","devicePixelRatio","autoDensity","appendChild","canvas","globalThis","__PIXI_APP__","includes","useEffect","_appRef$current","React","createElement","className","ref","propTypes","PropTypes","string","isRequired","arrayOf","shape","number","rank","assetPath","onAnimationReady","func","defaultProps"],"mappings":";;;;;;AAEA,MAAMA,cAAc,GAAGA,MAAM;AAC3B,EAAA,MAAMC,WAAW,CAAC;AAChBC,IAAAA,WAAWA,CAACC,UAAU,EAAEC,MAAM,EAAE;MAC9B,IAAI,CAACD,UAAU,GAAGA,UAAU;MAC5B,IAAI,CAACC,MAAM,GAAGA,MAAM;MACpB,IAAI,CAACC,iBAAiB,EAAE;AAC1B,IAAA;IAEA,MAAMA,iBAAiBA,GAAG;MACxBC,cAAM,CAACC,IAAI,CAAC,IAAI,CAACJ,UAAU,CAAC,CAACK,IAAI,CAAEC,WAAW,IAAK;QAAA,IAAAC,qBAAA,EAAAC,sBAAA;AACjD;QACA,MAAMC,MAAM,GAAG,EAAE;AACjB;AACA,QAAA,MAAMC,QAAQ,GAAG,CAAA,CAAAH,qBAAA,GAAAD,WAAW,CAACK,QAAQ,MAAA,IAAA,IAAAJ,qBAAA,uBAApBA,qBAAA,CAAsBK,KAAK,KAAIN,WAAW,CAACM,KAAK;AACjE,QAAA,MAAMC,SAAS,GAAG,CAAA,CAAAL,sBAAA,GAAAF,WAAW,CAACK,QAAQ,MAAA,IAAA,IAAAH,sBAAA,uBAApBA,sBAAA,CAAsBM,MAAM,KAAIR,WAAW,CAACQ,MAAM;QAEpE,MAAMC,OAAO,GAAG,CAAC;QACjB,MAAMC,IAAI,GAAG,EAAE;AAEf,QAAA,MAAMC,UAAU,GAAGP,QAAQ,GAAGK,OAAO;AACrC,QAAA,MAAMG,WAAW,GAAGL,SAAS,GAAGG,IAAI;;AAEpC;QACA,KAAK,IAAIG,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGH,IAAI,EAAEG,GAAG,EAAE,EAAE;UACnC,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGL,OAAO,EAAEK,GAAG,EAAE,EAAE;AACtC,YAAA,MAAMC,CAAC,GAAGD,GAAG,GAAGH,UAAU;AAC1B,YAAA,MAAMK,CAAC,GAAGH,GAAG,GAAGD,WAAW;AAC3B,YAAA,MAAMK,SAAS,GAAG,IAAIC,iBAAS,CAACH,CAAC,EAAEC,CAAC,EAAEL,UAAU,EAAEC,WAAW,CAAC;AAC9DT,YAAAA,MAAM,CAACgB,IAAI,CACT,IAAIC,eAAO,CAAC;cACVC,MAAM,EAAErB,WAAW,CAACqB,MAAM;AAAE;AAC5BC,cAAAA,KAAK,EAAEL;AACT,aAAC,CACH,CAAC;AACH,UAAA;AACF,QAAA;;AAEA;AACA,QAAA,MAAMM,cAAc,GAAG,IAAIC,sBAAc,CAACrB,MAAM,CAAC;AACjDoB,QAAAA,cAAc,CAACE,cAAc,GAAG,IAAI,CAAC;QACrCF,cAAc,CAACG,IAAI,GAAG,IAAI;AAC1BH,QAAAA,cAAc,CAACI,KAAK,CAACC,GAAG,CAAC,GAAG,CAAC;QAC7BL,cAAc,CAACM,MAAM,CAACD,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;;AAEnC;QACAL,cAAc,CAACR,CAAC,GACd,IAAI,CAACpB,MAAM,CAACmC,OAAO,CAACC,QAAQ,CAACzB,KAAK,GAAG,CAAC,IACrC0B,MAAM,CAACC,UAAU,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;AACtCV,QAAAA,cAAc,CAACP,CAAC,GAAG,IAAI,CAACrB,MAAM,CAACmC,OAAO,CAACC,QAAQ,CAACvB,MAAM,GAAG,CAAC,GAAG,EAAE;QAE/D,IAAI,CAACb,MAAM,CAACmC,OAAO,CAACI,KAAK,CAACC,QAAQ,CAACZ,cAAc,CAAC;QAClDA,cAAc,CAACa,IAAI,EAAE;AACvB,MAAA,CAAC,CAAC;AACJ,IAAA;AACF;EAEA,OAAO;AACL5C,IAAAA;GACD;AACH,CAAC;;AC3DD,MAAM6C,eAAe,GAAGA,MAAM;AAC5B,EAAA,MAAMC,YAAY,CAAC;AACjB7C,IAAAA,WAAWA,CAACC,UAAU,EAAEC,MAAM,EAAE;MAC9B,IAAI,CAACD,UAAU,GAAGA,UAAU;MAC5B,IAAI,CAACC,MAAM,GAAGA,MAAM;MACpB,IAAI,CAACC,iBAAiB,EAAE;AAC1B,IAAA;IAEA,MAAMA,iBAAiBA,GAAG;MACxBC,cAAM,CAACC,IAAI,CAAC,IAAI,CAACJ,UAAU,CAAC,CAACK,IAAI,CAAEC,WAAW,IAAK;QAAA,IAAAC,qBAAA,EAAAC,sBAAA;AACjD;QACA,MAAMC,MAAM,GAAG,EAAE;;AAEjB;AACA,QAAA,MAAMC,QAAQ,GAAG,CAAA,CAAAH,qBAAA,GAAAD,WAAW,CAACK,QAAQ,MAAA,IAAA,IAAAJ,qBAAA,uBAApBA,qBAAA,CAAsBK,KAAK,KAAIN,WAAW,CAACM,KAAK;AACjE,QAAA,MAAMC,SAAS,GAAG,CAAA,CAAAL,sBAAA,GAAAF,WAAW,CAACK,QAAQ,MAAA,IAAA,IAAAH,sBAAA,uBAApBA,sBAAA,CAAsBM,MAAM,KAAIR,WAAW,CAACQ,MAAM;QAEpE,MAAMC,OAAO,GAAG,CAAC;QACjB,MAAMC,IAAI,GAAG,EAAE;AAEf,QAAA,MAAMC,UAAU,GAAGP,QAAQ,GAAGK,OAAO;AACrC,QAAA,MAAMG,WAAW,GAAGL,SAAS,GAAGG,IAAI;;AAEpC;QACA,KAAK,IAAIG,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGH,IAAI,EAAEG,GAAG,EAAE,EAAE;UACnC,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGL,OAAO,EAAEK,GAAG,EAAE,EAAE;AACtC,YAAA,MAAMC,CAAC,GAAGD,GAAG,GAAGH,UAAU;AAC1B,YAAA,MAAMK,CAAC,GAAGH,GAAG,GAAGD,WAAW;AAC3B,YAAA,MAAMK,SAAS,GAAG,IAAIC,iBAAS,CAACH,CAAC,EAAEC,CAAC,EAAEL,UAAU,EAAEC,WAAW,CAAC;AAC9DT,YAAAA,MAAM,CAACgB,IAAI,CACT,IAAIC,eAAO,CAAC;cACVC,MAAM,EAAErB,WAAW,CAACqB,MAAM;AAAE;AAC5BC,cAAAA,KAAK,EAAEL;AACT,aAAC,CACH,CAAC;AACH,UAAA;AACF,QAAA;;AAEA;AACA,QAAA,MAAMM,cAAc,GAAG,IAAIC,sBAAc,CAACrB,MAAM,CAAC;AACjDoB,QAAAA,cAAc,CAACE,cAAc,GAAG,IAAI,CAAC;QACrCF,cAAc,CAACG,IAAI,GAAG,IAAI;AAC1BH,QAAAA,cAAc,CAACI,KAAK,CAACC,GAAG,CAAC,GAAG,CAAC;QAC7BL,cAAc,CAACM,MAAM,CAACD,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;;AAEnC;QACAL,cAAc,CAACR,CAAC,GACd,IAAI,CAACpB,MAAM,CAACmC,OAAO,CAACC,QAAQ,CAACzB,KAAK,GAAG,CAAC,IACrC0B,MAAM,CAACC,UAAU,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;AACtCV,QAAAA,cAAc,CAACP,CAAC,GAAG,IAAI,CAACrB,MAAM,CAACmC,OAAO,CAACC,QAAQ,CAACvB,MAAM,GAAG,CAAC,GAAG,EAAE;QAE/D,IAAI,CAACb,MAAM,CAACmC,OAAO,CAACI,KAAK,CAACC,QAAQ,CAACZ,cAAc,CAAC;QAClDA,cAAc,CAACa,IAAI,EAAE;AACvB,MAAA,CAAC,CAAC;AACJ,IAAA;AACF;EACA,OAAO;AAAEE,IAAAA;GAAc;AACzB,CAAC;;ACjDD,MAAMC,aAAa,GAAGA,MAAM;AAC1B,EAAA,MAAMC,UAAU,CAAC;AACf/C,IAAAA,WAAWA,CAACgD,KAAK,EAAE/C,UAAU,EAAEC,MAAM,EAAE;MACrC,IAAI,CAAC8C,KAAK,GAAGA,KAAK;MAClB,IAAI,CAAC/C,UAAU,GAAGA,UAAU;MAC5B,IAAI,CAACC,MAAM,GAAGA,MAAM;MACpB,IAAI,CAACC,iBAAiB,EAAE;AAC1B,IAAA;IAEA,MAAMA,iBAAiBA,GAAG;AACxB;MACA,MAAM;AAAE8C,QAAAA;AAAU,OAAC,GAAG,MAAM,OAAO,SAAS,CAAC;AAC7C,MAAA,MAAMC,cAAc,GAAG,IAAID,SAAS,EAAE;;AAEtC;AACA,MAAA,MAAME,QAAQ,GAAG,IAAI,CAACH,KAAK,CAACI,MAAM;MAClC,MAAMC,OAAO,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;MAChC,MAAMC,WAAW,GAAGf,MAAM,CAACC,UAAU,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG;AACxD,MAAc,IAAI,CAACtC,MAAM,CAACmC,OAAO,CAACC,QAAQ,CAACvB,MAAM,GAAG;;AAEpD;AACA,MAAA,MAAMwC,cAAc,GAAG,IAAI,CAACP,KAAK,CAACQ,GAAG,CAAC,OAAOC,IAAI,EAAEC,CAAC,KAAK;AAAA,QAAA,IAAAlD,qBAAA,EAAAC,sBAAA,EAAAkD,gBAAA,EAAAC,UAAA;QACvD,MAAMrD,WAAW,GAAG,MAAMH,cAAM,CAACC,IAAI,CAAC,IAAI,CAACJ,UAAU,CAAC;;AAEtD;QACA,MAAMS,MAAM,GAAG,EAAE;AACjB,QAAA,MAAMC,QAAQ,GAAG,CAAA,CAAAH,qBAAA,GAAAD,WAAW,CAACK,QAAQ,MAAA,IAAA,IAAAJ,qBAAA,uBAApBA,qBAAA,CAAsBK,KAAK,KAAIN,WAAW,CAACM,KAAK;AACjE,QAAA,MAAMC,SAAS,GAAG,CAAA,CAAAL,sBAAA,GAAAF,WAAW,CAACK,QAAQ,MAAA,IAAA,IAAAH,sBAAA,uBAApBA,sBAAA,CAAsBM,MAAM,KAAIR,WAAW,CAACQ,MAAM;QACpE,MAAMC,OAAO,GAAG,EAAE;QAClB,MAAMC,IAAI,GAAG,CAAC;AACd,QAAA,MAAMC,UAAU,GAAGP,QAAQ,GAAGK,OAAO;AACrC,QAAA,MAAMG,WAAW,GAAGL,SAAS,GAAGG,IAAI;QAEpC,KAAK,IAAIG,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGH,IAAI,EAAEG,GAAG,EAAE,EAAE;UACnC,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGL,OAAO,EAAEK,GAAG,EAAE,EAAE;AACtC,YAAA,MAAMC,CAAC,GAAGD,GAAG,GAAGH,UAAU;AAC1B,YAAA,MAAMK,CAAC,GAAGH,GAAG,GAAGD,WAAW;AAC3B,YAAA,MAAMK,SAAS,GAAG,IAAIC,iBAAS,CAACH,CAAC,EAAEC,CAAC,EAAEL,UAAU,EAAEC,WAAW,CAAC;AAC9DT,YAAAA,MAAM,CAACgB,IAAI,CACT,IAAIC,eAAO,CAAC;cACVC,MAAM,EAAErB,WAAW,CAACqB,MAAM;AAC1BC,cAAAA,KAAK,EAAEL;AACT,aAAC,CACH,CAAC;AACH,UAAA;AACF,QAAA;;AAEA;AACA,QAAA,MAAMM,cAAc,GAAG,IAAIC,sBAAc,CAACrB,MAAM,CAAC;QACjDoB,cAAc,CAACE,cAAc,GAAG,IAAI;QACpCF,cAAc,CAACG,IAAI,GAAG,IAAI;AAC1BH,QAAAA,cAAc,CAACI,KAAK,CAACC,GAAG,CAACmB,WAAW,CAAC;AACrCxB,QAAAA,cAAc,CAACM,MAAM,CAACD,GAAG,CAAC,GAAG,CAAC;QAC9BL,cAAc,CAAC+B,aAAa,GAAG,IAAI;;AAEnC;AACA,QAAA,MAAMC,UAAU,GAAG,CAACX,QAAQ,GAAG,CAAC,IAAIE,OAAO;QAC3CvB,cAAc,CAACR,CAAC,GAAG,CAACwC,UAAU,GAAG,CAAC,GAAGJ,CAAC,GAAGL,OAAO;AAChDvB,QAAAA,cAAc,CAACP,CAAC,GAAG,CAAC,CAAC;;QAErBO,cAAc,CAACa,IAAI,EAAE;;AAErB;AACA,QAAA,MAAMoB,cAAc,GAAG,IAAIC,YAAI,CAAC;AAC9BC,UAAAA,IAAI,EAAE,CAAA,EAAA,CAAAN,gBAAA,GAAGF,IAAI,CAACS,UAAU,MAAA,IAAA,IAAAP,gBAAA,cAAAA,gBAAA,GAAIF,IAAI,CAACU,SAAS,CAAA,CAAA,CAAG;AAC7CC,UAAAA,KAAK,EAAE;AACLC,YAAAA,QAAQ,EAAE,EAAE;AACZC,YAAAA,UAAU,EAAE,MAAM;AAClBC,YAAAA,IAAI,EAAE,QAAQ;AACdC,YAAAA,KAAK,EAAE;AACT;AACF,SAAC,CAAC;AACFT,QAAAA,cAAc,CAAC3B,MAAM,CAACD,GAAG,CAAC,GAAG,CAAC;QAC9B4B,cAAc,CAACU,QAAQ,CAACtC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC;AACnCL,QAAAA,cAAc,CAACY,QAAQ,CAACqB,cAAc,CAAC;;AAEvC;QACA,IAAIW,QAAQ,GAAG,EAAE;AACjB,QAAA,QAAA,CAAAd,UAAA,GAAQH,IAAI,CAACkB,IAAI,MAAA,IAAA,IAAAf,UAAA,KAAA,MAAA,GAAA,MAAA,GAATA,UAAA,CAAWgB,WAAW,EAAE;AAC9B,UAAA,KAAK,QAAQ;AACXF,YAAAA,QAAQ,GACN,kGAAkG;AACpG,YAAA;AACF,UAAA,KAAK,OAAO;AACVA,YAAAA,QAAQ,GACN,gGAAgG;AAClG,YAAA;AACF,UAAA,KAAK,UAAU;AACbA,YAAAA,QAAQ,GACN,sGAAsG;AACxG,YAAA;AACF,UAAA;AACEA,YAAAA,QAAQ,GACN,kGAAkG;AACpG,YAAA;AACJ;;AAEA;QACA,MAAMG,aAAa,GAAG,MAAMzE,cAAM,CAACC,IAAI,CAACqE,QAAQ,CAAC;AACjD,QAAA,MAAMI,gBAAgB,GAAG,IAAIC,cAAM,CAACF,aAAa,CAAC;AAClDC,QAAAA,gBAAgB,CAAC1C,MAAM,CAACD,GAAG,CAAC,GAAG,CAAC;AAChC2C,QAAAA,gBAAgB,CAAC5C,KAAK,CAACC,GAAG,CAAC,GAAG,CAAC;QAC/B2C,gBAAgB,CAACL,QAAQ,CAACtC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;AACpCL,QAAAA,cAAc,CAACY,QAAQ,CAACoC,gBAAgB,CAAC;AAEzC,QAAA,OAAOhD,cAAc;AACvB,MAAA,CAAC,CAAC;;AAEF;MACAkD,OAAO,CAACC,GAAG,CAAC1B,cAAc,CAAC,CAACjD,IAAI,CAAE4E,OAAO,IAAK;QAC5CA,OAAO,CAACC,OAAO,CAAEC,MAAM,IAAKlC,cAAc,CAACR,QAAQ,CAAC0C,MAAM,CAAC,CAAC;AAC5D;AACAlC,QAAAA,cAAc,CAAC5B,CAAC,GAAG,IAAI,CAACpB,MAAM,CAACmC,OAAO,CAACC,QAAQ,CAACzB,KAAK,GAAG,CAAC;AACzDqC,QAAAA,cAAc,CAAC3B,CAAC,GAAG,IAAI,CAACrB,MAAM,CAACmC,OAAO,CAACC,QAAQ,CAACvB,MAAM,GAAG,CAAC;QAC1D,IAAI,CAACb,MAAM,CAACmC,OAAO,CAACI,KAAK,CAACC,QAAQ,CAACQ,cAAc,CAAC;AACpD,MAAA,CAAC,CAAC;AACJ,IAAA;AACF;EAEA,OAAO;AACLH,IAAAA;GACD;AACH,CAAC;;AClID,MAAMsC,gBAAgB,GAAGA,MAAM;AAC7B,EAAA,MAAMC,aAAa,CAAC;AAClBtF,IAAAA,WAAWA,CAACC,UAAU,EAAEC,MAAM,EAAE;MAC9B,IAAI,CAACD,UAAU,GAAGA,UAAU;MAC5B,IAAI,CAACC,MAAM,GAAGA,MAAM;MACpB,IAAI,CAACC,iBAAiB,EAAE;AAC1B,IAAA;IAEA,MAAMA,iBAAiBA,GAAG;MACxBC,cAAM,CAACC,IAAI,CAAC,IAAI,CAACJ,UAAU,CAAC,CAACK,IAAI,CAAEC,WAAW,IAAK;QAAA,IAAAC,qBAAA,EAAAC,sBAAA;AACjD;QACA,MAAMC,MAAM,GAAG,EAAE;AACjB;AACA,QAAA,MAAMC,QAAQ,GAAG,CAAA,CAAAH,qBAAA,GAAAD,WAAW,CAACK,QAAQ,MAAA,IAAA,IAAAJ,qBAAA,uBAApBA,qBAAA,CAAsBK,KAAK,KAAIN,WAAW,CAACM,KAAK;AACjE,QAAA,MAAMC,SAAS,GAAG,CAAA,CAAAL,sBAAA,GAAAF,WAAW,CAACK,QAAQ,MAAA,IAAA,IAAAH,sBAAA,uBAApBA,sBAAA,CAAsBM,MAAM,KAAIR,WAAW,CAACQ,MAAM;QAEpE,MAAMC,OAAO,GAAG,CAAC;QACjB,MAAMC,IAAI,GAAG,EAAE;AAEf,QAAA,MAAMC,UAAU,GAAGP,QAAQ,GAAGK,OAAO;AACrC,QAAA,MAAMG,WAAW,GAAGL,SAAS,GAAGG,IAAI;;AAEpC;QACA,KAAK,IAAIG,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGH,IAAI,EAAEG,GAAG,EAAE,EAAE;UACnC,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGL,OAAO,EAAEK,GAAG,EAAE,EAAE;AACtC,YAAA,MAAMC,CAAC,GAAGD,GAAG,GAAGH,UAAU;AAC1B,YAAA,MAAMK,CAAC,GAAGH,GAAG,GAAGD,WAAW;AAC3B,YAAA,MAAMK,SAAS,GAAG,IAAIC,iBAAS,CAACH,CAAC,EAAEC,CAAC,EAAEL,UAAU,EAAEC,WAAW,CAAC;AAC9DT,YAAAA,MAAM,CAACgB,IAAI,CACT,IAAIC,eAAO,CAAC;cACVC,MAAM,EAAErB,WAAW,CAACqB,MAAM;AAAE;AAC5BC,cAAAA,KAAK,EAAEL;AACT,aAAC,CACH,CAAC;AACH,UAAA;AACF,QAAA;;AAEA;AACA,QAAA,MAAMM,cAAc,GAAG,IAAIC,sBAAc,CAACrB,MAAM,CAAC;AACjDoB,QAAAA,cAAc,CAACE,cAAc,GAAG,IAAI,CAAC;QACrCF,cAAc,CAACG,IAAI,GAAG,KAAK;AAC3BH,QAAAA,cAAc,CAACI,KAAK,CAACC,GAAG,CAAC,GAAG,CAAC;QAC7BL,cAAc,CAACM,MAAM,CAACD,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;;AAEnC;AACAL,QAAAA,cAAc,CAACR,CAAC,GAAG,IAAI,CAACpB,MAAM,CAACmC,OAAO,CAACC,QAAQ,CAACzB,KAAK,GAAG,CAAC;QACzDiB,cAAc,CAACP,CAAC,GAAG,CAAC;AACpB,QAAA,MAAMgE,MAAM,GAAG,IAAIC,cAAM,EAAE;QAC3BD,MAAM,CAACE,SAAS,GAAG,IAAI;QACvB,IAAIC,SAAS,GAAG,CAAC;AAEjB,QAAA,MAAMC,YAAY,GAAG,IAAI,CAACzF,MAAM,CAACmC,OAAO,CAACC,QAAQ,CAACvB,MAAM,GAAG,EAAE;AAC7DwE,QAAAA,MAAM,CAACK,GAAG,CAAEC,IAAI,IAAK;UACnB/D,cAAc,CAACP,CAAC,IAAIoE,YAAY;AAChCD,UAAAA,SAAS,EAAE;UACX,IAAIA,SAAS,KAAK,EAAE,EAAE;YACpBH,MAAM,CAACO,IAAI,EAAE;YACbP,MAAM,CAACQ,OAAO,EAAE;AAClB,UAAA;AACF,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC7F,MAAM,CAACmC,OAAO,CAACI,KAAK,CAACC,QAAQ,CAACZ,cAAc,CAAC;QAClDA,cAAc,CAACa,IAAI,EAAE;AACvB,MAAA,CAAC,CAAC;AACJ,IAAA;AACF;EACA,OAAO;AACL2C,IAAAA;GACD;AACH,CAAC;;AC7DD,MAAMU,kBAAkB,GAAGA,MAAM;AAC/B,EAAA,MAAMC,eAAe,CAAC;AACpBjG,IAAAA,WAAWA,CAACgD,KAAK,EAAE/C,UAAU,EAAEC,MAAM,EAAE;MACrC,IAAI,CAAC8C,KAAK,GAAGA,KAAK;MAClB,IAAI,CAAC/C,UAAU,GAAGA,UAAU;MAC5B,IAAI,CAACC,MAAM,GAAGA,MAAM;MACpB,IAAI,CAACC,iBAAiB,EAAE;AAC1B,IAAA;IAEA,MAAMA,iBAAiBA,GAAG;AACxB;MACA,MAAM;AAAE8C,QAAAA;AAAU,OAAC,GAAG,MAAM,OAAO,SAAS,CAAC;AAC7C,MAAA,MAAMC,cAAc,GAAG,IAAID,SAAS,EAAE;;AAEtC;AACA,MAAA,MAAME,QAAQ,GAAG,IAAI,CAACH,KAAK,CAACI,MAAM;MAClC,MAAMC,OAAO,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;MAChC,MAAMC,WAAW,GAAGf,MAAM,CAACC,UAAU,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG;AACxD,MAAc,IAAI,CAACtC,MAAM,CAACmC,OAAO,CAACC,QAAQ,CAACvB,MAAM,GAAG;;AAEpD;AACA,MAAA,MAAMwC,cAAc,GAAG,IAAI,CAACP,KAAK,CAACQ,GAAG,CAAC,OAAOC,IAAI,EAAEC,CAAC,KAAK;AAAA,QAAA,IAAAlD,qBAAA,EAAAC,sBAAA,EAAAkD,gBAAA,EAAAC,UAAA;QACvD,MAAMrD,WAAW,GAAG,MAAMH,cAAM,CAACC,IAAI,CAAC,IAAI,CAACJ,UAAU,CAAC;;AAEtD;QACA,MAAMS,MAAM,GAAG,EAAE;AACjB,QAAA,MAAMC,QAAQ,GAAG,CAAA,CAAAH,qBAAA,GAAAD,WAAW,CAACK,QAAQ,MAAA,IAAA,IAAAJ,qBAAA,uBAApBA,qBAAA,CAAsBK,KAAK,KAAIN,WAAW,CAACM,KAAK;AACjE,QAAA,MAAMC,SAAS,GAAG,CAAA,CAAAL,sBAAA,GAAAF,WAAW,CAACK,QAAQ,MAAA,IAAA,IAAAH,sBAAA,uBAApBA,sBAAA,CAAsBM,MAAM,KAAIR,WAAW,CAACQ,MAAM;QACpE,MAAMC,OAAO,GAAG,EAAE;QAClB,MAAMC,IAAI,GAAG,CAAC;AACd,QAAA,MAAMC,UAAU,GAAGP,QAAQ,GAAGK,OAAO;AACrC,QAAA,MAAMG,WAAW,GAAGL,SAAS,GAAGG,IAAI;QAEpC,KAAK,IAAIG,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGH,IAAI,EAAEG,GAAG,EAAE,EAAE;UACnC,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGL,OAAO,EAAEK,GAAG,EAAE,EAAE;AACtC,YAAA,MAAMC,CAAC,GAAGD,GAAG,GAAGH,UAAU;AAC1B,YAAA,MAAMK,CAAC,GAAGH,GAAG,GAAGD,WAAW;AAC3B,YAAA,MAAMK,SAAS,GAAG,IAAIC,iBAAS,CAACH,CAAC,EAAEC,CAAC,EAAEL,UAAU,EAAEC,WAAW,CAAC;AAC9DT,YAAAA,MAAM,CAACgB,IAAI,CACT,IAAIC,eAAO,CAAC;cACVC,MAAM,EAAErB,WAAW,CAACqB,MAAM;AAC1BC,cAAAA,KAAK,EAAEL;AACT,aAAC,CACH,CAAC;AACH,UAAA;AACF,QAAA;;AAEA;AACA,QAAA,MAAMM,cAAc,GAAG,IAAIC,sBAAc,CAACrB,MAAM,CAAC;QACjDoB,cAAc,CAACE,cAAc,GAAG,IAAI;QACpCF,cAAc,CAACG,IAAI,GAAG,KAAK;AAC3BH,QAAAA,cAAc,CAACI,KAAK,CAACC,GAAG,CAACmB,WAAW,CAAC;AACrCxB,QAAAA,cAAc,CAACM,MAAM,CAACD,GAAG,CAAC,GAAG,CAAC;QAC9BL,cAAc,CAAC+B,aAAa,GAAG,IAAI;;AAEnC;AACA,QAAA,MAAMC,UAAU,GAAG,CAACX,QAAQ,GAAG,CAAC,IAAIE,OAAO;QAC3CvB,cAAc,CAACR,CAAC,GAAG,CAACwC,UAAU,GAAG,CAAC,GAAGJ,CAAC,GAAGL,OAAO;AAChDvB,QAAAA,cAAc,CAACP,CAAC,GAAG,CAAC,CAAC;;QAErBO,cAAc,CAACa,IAAI,EAAE;;AAErB;AACA,QAAA,MAAMoB,cAAc,GAAG,IAAIC,YAAI,CAAC;AAC9BC,UAAAA,IAAI,EAAE,CAAA,EAAA,CAAAN,gBAAA,GAAGF,IAAI,CAACS,UAAU,MAAA,IAAA,IAAAP,gBAAA,cAAAA,gBAAA,GAAIF,IAAI,CAACU,SAAS,CAAA,CAAA,CAAG;AAC7CC,UAAAA,KAAK,EAAE;AACLC,YAAAA,QAAQ,EAAE,EAAE;AACZC,YAAAA,UAAU,EAAE,MAAM;AAClBC,YAAAA,IAAI,EAAE,QAAQ;AACdC,YAAAA,KAAK,EAAE;AACT;AACF,SAAC,CAAC;AACFT,QAAAA,cAAc,CAAC3B,MAAM,CAACD,GAAG,CAAC,GAAG,CAAC;QAC9B4B,cAAc,CAACU,QAAQ,CAACtC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC;AACnCL,QAAAA,cAAc,CAACY,QAAQ,CAACqB,cAAc,CAAC;;AAEvC;QACA,IAAIW,QAAQ,GAAG,EAAE;AACjB,QAAA,QAAA,CAAAd,UAAA,GAAQH,IAAI,CAACkB,IAAI,MAAA,IAAA,IAAAf,UAAA,KAAA,MAAA,GAAA,MAAA,GAATA,UAAA,CAAWgB,WAAW,EAAE;AAC9B,UAAA,KAAK,QAAQ;AACXF,YAAAA,QAAQ,GACN,kGAAkG;AACpG,YAAA;AACF,UAAA,KAAK,OAAO;AACVA,YAAAA,QAAQ,GACN,gGAAgG;AAClG,YAAA;AACF,UAAA,KAAK,UAAU;AACbA,YAAAA,QAAQ,GACN,sGAAsG;AACxG,YAAA;AACF,UAAA;AACEA,YAAAA,QAAQ,GACN,kGAAkG;AACpG,YAAA;AACJ;;AAEA;QACA,MAAMG,aAAa,GAAG,MAAMzE,cAAM,CAACC,IAAI,CAACqE,QAAQ,CAAC;AACjD,QAAA,MAAMI,gBAAgB,GAAG,IAAIC,cAAM,CAACF,aAAa,CAAC;AAClDC,QAAAA,gBAAgB,CAAC1C,MAAM,CAACD,GAAG,CAAC,GAAG,CAAC;AAChC2C,QAAAA,gBAAgB,CAAC5C,KAAK,CAACC,GAAG,CAAC,GAAG,CAAC;QAC/B2C,gBAAgB,CAACL,QAAQ,CAACtC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;AACpCL,QAAAA,cAAc,CAACY,QAAQ,CAACoC,gBAAgB,CAAC;AAEzC,QAAA,OAAOhD,cAAc;AACvB,MAAA,CAAC,CAAC;;AAEF;MACAkD,OAAO,CAACC,GAAG,CAAC1B,cAAc,CAAC,CAACjD,IAAI,CAAE4E,OAAO,IAAK;QAC5CA,OAAO,CAACC,OAAO,CAAEC,MAAM,IAAKlC,cAAc,CAACR,QAAQ,CAAC0C,MAAM,CAAC,CAAC;AAC5D;AACAlC,QAAAA,cAAc,CAAC5B,CAAC,GAAG,IAAI,CAACpB,MAAM,CAACmC,OAAO,CAACC,QAAQ,CAACzB,KAAK,GAAG,CAAC;AACzDqC,QAAAA,cAAc,CAAC3B,CAAC,GAAG,IAAI,CAACrB,MAAM,CAACmC,OAAO,CAACC,QAAQ,CAACvB,MAAM,GAAG,CAAC;QAC1D,IAAI,CAACb,MAAM,CAACmC,OAAO,CAACI,KAAK,CAACC,QAAQ,CAACQ,cAAc,CAAC;AACpD,MAAA,CAAC,CAAC;AACJ,IAAA;AACF;EAEA,OAAO;AACL+C,IAAAA;GACD;AACH,CAAC;;AC1HD;;AAEA,MAAMC,YAAY,GAChB,sFAAsF;AACxF,MAAMC,cAAc,GAClB,sFAAsF;AACxF,MAAMC,aAAa,GACjB,sFAAsF;AAExF,MAAMC,YAAY,GAChB,sFAAsF;AACxF,MAAMC,WAAW,GACf,sFAAsF;AAExF,MAAMC,cAAc,GAAGA,CAAC;EAAEC,WAAW;AAAExD,EAAAA;AAAM,CAAC,KAAK;AACjD,EAAA,MAAMyD,YAAY,GAAGC,YAAM,CAAC,IAAI,CAAC;AACjC,EAAA,MAAMxG,MAAM,GAAGwG,YAAM,CAAC,IAAI,CAAC;EAC3B,MAAM;AAAE3G,IAAAA;GAAa,GAAGD,cAAc,EAAE;EACxC,MAAM;AAAE+C,IAAAA;GAAc,GAAGD,eAAe,EAAE;EAC1C,MAAM;AAAE0C,IAAAA;GAAe,GAAGD,gBAAgB,EAAE;EAC5C,MAAM;AAAEtC,IAAAA;GAAY,GAAGD,aAAa,EAAE;EACtC,MAAM;AAAEmD,IAAAA;GAAiB,GAAGD,kBAAkB,EAAE;AAChD,EAAA,MAAMW,uBAAuB,GAAG,YAAY;AAC1CzG,IAAAA,MAAM,CAACmC,OAAO,GAAG,IAAIuE,mBAAW,EAAE;AAClC,IAAA,MAAM1G,MAAM,CAACmC,OAAO,CAACwE,IAAI,CAAC;MACxBC,QAAQ,EAAEL,YAAY,CAACpE,OAAO;AAC9B0E,MAAAA,eAAe,EAAE,CAAC;AAClBC,MAAAA,eAAe,EAAE,kBAAkB;AACnCC,MAAAA,UAAU,EAAE1E,MAAM,CAAC2E,gBAAgB,IAAI,CAAC;MACxCC,WAAW,EAAE,IAAI;AACnB,KAAC,CAAC;IACFV,YAAY,CAACpE,OAAO,CAAC+E,WAAW,CAAClH,MAAM,CAACmC,OAAO,CAACgF,MAAM,CAAC;AACvDC,IAAAA,UAAU,CAACC,YAAY,GAAGrH,MAAM,CAACmC,OAAO;IAExCmE,WAAW,KAAK,cAAc,IAAI,IAAIzG,WAAW,CAACmG,YAAY,EAAEhG,MAAM,CAAC;IACvEsG,WAAW,KAAK,cAAc,IAAI,IAAI3D,YAAY,CAACuD,aAAa,EAAElG,MAAM,CAAC;IACzEsG,WAAW,KAAK,cAAc,IAAI,IAAIlB,aAAa,CAACa,cAAc,EAAEjG,MAAM,CAAC;IAC3EsG,WAAW,KAAK,WAAW,IACzB,IAAIP,eAAe,CAACjD,KAAK,EAAEqD,YAAY,EAAEnG,MAAM,CAAC;IAClD,CAAC,UAAU,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAACsH,QAAQ,CAAChB,WAAW,CAAC,IAChE,IAAIzD,UAAU,CAACC,KAAK,EAAEsD,WAAW,EAAEpG,MAAM,CAAC;EAC9C,CAAC;AAEDuH,EAAAA,eAAS,CAAC,MAAM;AACd,IAAA,IAAI,CAAChB,YAAY,CAACpE,OAAO,EAAE;AAC3BsE,IAAAA,uBAAuB,EAAE;AACzB;AACA,IAAA,OAAO,MAAM;AACX,MAAA,IAAIzG,MAAM,CAACmC,OAAO,IAAI,OAAOnC,MAAM,CAACmC,OAAO,CAAC0D,OAAO,KAAK,UAAU,EAAE;AAAA,QAAA,IAAA2B,eAAA;AAClE,QAAA,CAAAA,eAAA,GAAAxH,MAAM,CAACmC,OAAO,MAAA,IAAA,IAAAqF,eAAA,KAAA,MAAA,IAAdA,eAAA,CAAgB3B,OAAO,CAAC,IAAI,CAAC;QAC7B7F,MAAM,CAACmC,OAAO,GAAG,IAAI;AACvB,MAAA;IACF,CAAC;AACH,EAAA,CAAC,EAAE,CAACmE,WAAW,CAAC,CAAC;EAEjB,oBAAOmB,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,iBAAiB;AAACC,IAAAA,GAAG,EAAErB;AAAa,GAAM,CAAC;AACnE;AAEAF,cAAc,CAACwB,SAAS,GAAG;AACzBvB,EAAAA,WAAW,EAAEwB,SAAS,CAACC,MAAM,CAACC,UAAU;EACxClF,KAAK,EAAEgF,SAAS,CAACG,OAAO,CACtBH,SAAS,CAACI,KAAK,CAAC;IACdlE,UAAU,EAAE8D,SAAS,CAACK,MAAM;IAC5BC,IAAI,EAAEN,SAAS,CAACC,MAAM;IACtBtD,IAAI,EAAEqD,SAAS,CAACC;AAClB,GAAC,CACH,CAAC;EACDM,SAAS,EAAEP,SAAS,CAACC,MAAM;AAAE;AAC7BO,EAAAA,gBAAgB,EAAER,SAAS,CAACS,IAAI;AAClC,CAAC;AAEDlC,cAAc,CAACmC,YAAY,GAAG;AAC5B1F,EAAAA,KAAK,EAAE;AACT,CAAC;;;;"}
package/dist/index.esm.js CHANGED
@@ -461,7 +461,7 @@ const LighteningCard = ({
461
461
  initiatePixiApplication();
462
462
  // Cleanup function
463
463
  return () => {
464
- if (appRef.current) {
464
+ if (appRef.current && typeof appRef.current.destroy === "function") {
465
465
  var _appRef$current;
466
466
  (_appRef$current = appRef.current) === null || _appRef$current === void 0 || _appRef$current.destroy(true);
467
467
  appRef.current = null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/hooks/useLeftThunder.js","../src/hooks/useRightThunder.js","../src/hooks/useLightening.js","../src/hooks/useMiddleThunder.js","../src/hooks/useLighteningStart.js","../src/LighteningCard.js"],"sourcesContent":["import { AnimatedSprite, Assets, Rectangle, Texture } from \"pixi.js\";\r\n\r\nconst useLeftThunder = () => {\r\n class LeftThunder {\r\n constructor(spritePath, appRef) {\r\n this.spritePath = spritePath;\r\n this.appRef = appRef;\r\n this.initiateAnimation();\r\n }\r\n\r\n async initiateAnimation() {\r\n Assets.load(this.spritePath).then((baseTexture) => {\r\n // Ensure the animation is visible and sized correctly\r\n const frames = [];\r\n // Get the correct texture dimensions\r\n const texWidth = baseTexture.resource?.width || baseTexture.width;\r\n const texHeight = baseTexture.resource?.height || baseTexture.height;\r\n\r\n const columns = 3;\r\n const rows = 10;\r\n\r\n const frameWidth = texWidth / columns;\r\n const frameHeight = texHeight / rows;\r\n\r\n // Row-major order: for each row, for each column\r\n for (let row = 0; row < rows; row++) {\r\n for (let col = 0; col < columns; col++) {\r\n const x = col * frameWidth;\r\n const y = row * frameHeight;\r\n const frameRect = new Rectangle(x, y, frameWidth, frameHeight);\r\n frames.push(\r\n new Texture({\r\n source: baseTexture.source, // Use the correct source for the Texture constructor\r\n frame: frameRect,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Create and configure the AnimatedSprite\r\n const animatedSprite = new AnimatedSprite(frames);\r\n animatedSprite.animationSpeed = 0.25; // Faster speed for more visible animation\r\n animatedSprite.loop = true;\r\n animatedSprite.scale.set(0.3);\r\n animatedSprite.anchor.set(0.5, 0.5);\r\n\r\n // Center the sprite in the canvas\r\n animatedSprite.x =\r\n this.appRef.current.renderer.width / 2 -\r\n (window.innerWidth > 768 ? 40 : -75);\r\n animatedSprite.y = this.appRef.current.renderer.height / 2 + 15;\r\n\r\n this.appRef.current.stage.addChild(animatedSprite);\r\n animatedSprite.play();\r\n });\r\n }\r\n }\r\n\r\n return {\r\n LeftThunder,\r\n };\r\n};\r\n\r\nexport default useLeftThunder;\r\n","import { AnimatedSprite, Assets, Rectangle, Texture } from \"pixi.js\";\r\n\r\nconst useRightThunder = () => {\r\n class RightThunder {\r\n constructor(spritePath, appRef) {\r\n this.spritePath = spritePath;\r\n this.appRef = appRef;\r\n this.initiateAnimation();\r\n }\r\n\r\n async initiateAnimation() {\r\n Assets.load(this.spritePath).then((baseTexture) => {\r\n // Ensure the animation is visible and sized correctly\r\n const frames = [];\r\n\r\n // Get the correct texture dimensions\r\n const texWidth = baseTexture.resource?.width || baseTexture.width;\r\n const texHeight = baseTexture.resource?.height || baseTexture.height;\r\n\r\n const columns = 3;\r\n const rows = 10;\r\n\r\n const frameWidth = texWidth / columns;\r\n const frameHeight = texHeight / rows;\r\n\r\n // Row-major order: for each row, for each column\r\n for (let row = 0; row < rows; row++) {\r\n for (let col = 0; col < columns; col++) {\r\n const x = col * frameWidth;\r\n const y = row * frameHeight;\r\n const frameRect = new Rectangle(x, y, frameWidth, frameHeight);\r\n frames.push(\r\n new Texture({\r\n source: baseTexture.source, // Use the correct source for the Texture constructor\r\n frame: frameRect,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Create and configure the AnimatedSprite\r\n const animatedSprite = new AnimatedSprite(frames);\r\n animatedSprite.animationSpeed = 0.25; // Faster speed for more visible animation\r\n animatedSprite.loop = true;\r\n animatedSprite.scale.set(0.3);\r\n animatedSprite.anchor.set(0.5, 0.5);\r\n\r\n // Center the sprite in the canvas\r\n animatedSprite.x =\r\n this.appRef.current.renderer.width / 2 +\r\n (window.innerWidth > 768 ? 40 : -75);\r\n animatedSprite.y = this.appRef.current.renderer.height / 2 + 15;\r\n\r\n this.appRef.current.stage.addChild(animatedSprite);\r\n animatedSprite.play();\r\n });\r\n }\r\n }\r\n return { RightThunder };\r\n};\r\n\r\nexport default useRightThunder;\r\n","import {\r\n AnimatedSprite,\r\n Assets,\r\n Rectangle,\r\n Text,\r\n Texture,\r\n Sprite,\r\n Graphics,\r\n} from \"pixi.js\";\r\n\r\nconst useLightening = () => {\r\n class Lightening {\r\n constructor(cards, spritePath, appRef) {\r\n this.cards = cards;\r\n this.spritePath = spritePath;\r\n this.appRef = appRef;\r\n this.initiateAnimation();\r\n }\r\n\r\n async initiateAnimation() {\r\n // Create a container to hold all animatedSprites\r\n const { Container } = await import(\"pixi.js\");\r\n const cardsContainer = new Container();\r\n\r\n // Calculate layout: arrange cards horizontally, centered\r\n const numCards = this.cards.length;\r\n const spacing = 77.6 * 0.5 + 20; // space between cards, adjust as needed\r\n const spriteScale = window.innerWidth < 768 ? 0.25 : 0.3;\r\n const baseY = this.appRef.current.renderer.height / 2;\r\n\r\n // We'll keep track of all sprite promises to add them after all loaded\r\n const spritePromises = this.cards.map(async (card, i) => {\r\n const baseTexture = await Assets.load(this.spritePath);\r\n\r\n // Prepare frames for animation\r\n const frames = [];\r\n const texWidth = baseTexture.resource?.width || baseTexture.width;\r\n const texHeight = baseTexture.resource?.height || baseTexture.height;\r\n const columns = 10;\r\n const rows = 3;\r\n const frameWidth = texWidth / columns;\r\n const frameHeight = texHeight / rows;\r\n\r\n for (let row = 0; row < rows; row++) {\r\n for (let col = 0; col < columns; col++) {\r\n const x = col * frameWidth;\r\n const y = row * frameHeight;\r\n const frameRect = new Rectangle(x, y, frameWidth, frameHeight);\r\n frames.push(\r\n new Texture({\r\n source: baseTexture.source,\r\n frame: frameRect,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Create and configure the AnimatedSprite\r\n const animatedSprite = new AnimatedSprite(frames);\r\n animatedSprite.animationSpeed = 0.25;\r\n animatedSprite.loop = true;\r\n animatedSprite.scale.set(spriteScale);\r\n animatedSprite.anchor.set(0.5);\r\n animatedSprite.allowChildren = true;\r\n\r\n // Position horizontally, centered\r\n const totalWidth = (numCards - 1) * spacing;\r\n animatedSprite.x = -totalWidth / 2 + i * spacing;\r\n animatedSprite.y = 0; // Centered in container\r\n\r\n animatedSprite.play();\r\n\r\n // Add multiplier text\r\n const multiplier_txt = new Text({\r\n text: `${card.multiplier ?? card.multplier}X`,\r\n style: {\r\n fontSize: 75,\r\n fontWeight: \"bold\",\r\n fill: 0xffd700,\r\n align: \"center\",\r\n },\r\n });\r\n multiplier_txt.anchor.set(0.5);\r\n multiplier_txt.position.set(0, -50);\r\n animatedSprite.addChild(multiplier_txt);\r\n\r\n // Suit icon\r\n let suit_url = \"\";\r\n switch (card.suit?.toLowerCase()) {\r\n case \"hearts\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/f/f0/SuitHearts.svg/60px-SuitHearts.svg.png\";\r\n break;\r\n case \"clubs\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/SuitClubs.svg/60px-SuitClubs.svg.png\";\r\n break;\r\n case \"diamonds\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/d/db/SuitDiamonds.svg/60px-SuitDiamonds.svg.png\";\r\n break;\r\n default:\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/SuitSpades.svg/60px-SuitSpades.svg.png\";\r\n break;\r\n }\r\n\r\n // Load and add suit sprite\r\n const card_suit_tex = await Assets.load(suit_url);\r\n const card_suit_sprite = new Sprite(card_suit_tex);\r\n card_suit_sprite.anchor.set(0.5);\r\n card_suit_sprite.scale.set(1.2);\r\n card_suit_sprite.position.set(0, 35);\r\n animatedSprite.addChild(card_suit_sprite);\r\n\r\n return animatedSprite;\r\n });\r\n\r\n // After all sprites are loaded, add them to the container and stage\r\n Promise.all(spritePromises).then((sprites) => {\r\n sprites.forEach((sprite) => cardsContainer.addChild(sprite));\r\n // Center the container in the canvas\r\n cardsContainer.x = this.appRef.current.renderer.width / 2;\r\n cardsContainer.y = this.appRef.current.renderer.height / 2;\r\n this.appRef.current.stage.addChild(cardsContainer);\r\n });\r\n }\r\n }\r\n\r\n return {\r\n Lightening,\r\n };\r\n};\r\n\r\nexport default useLightening;\r\n","import { AnimatedSprite, Assets, Rectangle, Texture, Ticker } from \"pixi.js\";\r\n\r\nconst useMiddleThunder = () => {\r\n class MiddleThunder {\r\n constructor(spritePath, appRef) {\r\n this.spritePath = spritePath;\r\n this.appRef = appRef;\r\n this.initiateAnimation();\r\n }\r\n\r\n async initiateAnimation() {\r\n Assets.load(this.spritePath).then((baseTexture) => {\r\n // Ensure the animation is visible and sized correctly\r\n const frames = [];\r\n // Get the correct texture dimensions\r\n const texWidth = baseTexture.resource?.width || baseTexture.width;\r\n const texHeight = baseTexture.resource?.height || baseTexture.height;\r\n\r\n const columns = 3;\r\n const rows = 18;\r\n\r\n const frameWidth = texWidth / columns;\r\n const frameHeight = texHeight / rows;\r\n\r\n // Row-major order: for each row, for each column\r\n for (let row = 0; row < rows; row++) {\r\n for (let col = 0; col < columns; col++) {\r\n const x = col * frameWidth;\r\n const y = row * frameHeight;\r\n const frameRect = new Rectangle(x, y, frameWidth, frameHeight);\r\n frames.push(\r\n new Texture({\r\n source: baseTexture.source, // Use the correct source for the Texture constructor\r\n frame: frameRect,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Create and configure the AnimatedSprite\r\n const animatedSprite = new AnimatedSprite(frames);\r\n animatedSprite.animationSpeed = 0.25; // Faster speed for more visible animation\r\n animatedSprite.loop = false;\r\n animatedSprite.scale.set(0.5);\r\n animatedSprite.anchor.set(0.5, 0.5);\r\n\r\n // Center the sprite in the canvas\r\n animatedSprite.x = this.appRef.current.renderer.width / 2;\r\n animatedSprite.y = 0;\r\n const tikcer = new Ticker();\r\n tikcer.autoStart = true;\r\n let iteration = 0;\r\n\r\n const unitDistance = this.appRef.current.renderer.height / 60;\r\n tikcer.add((tick) => {\r\n animatedSprite.y += unitDistance;\r\n iteration++;\r\n if (iteration === 60) {\r\n tikcer.stop();\r\n tikcer.destroy();\r\n }\r\n });\r\n\r\n this.appRef.current.stage.addChild(animatedSprite);\r\n animatedSprite.play();\r\n });\r\n }\r\n }\r\n return {\r\n MiddleThunder,\r\n };\r\n};\r\n\r\nexport default useMiddleThunder;\r\n","import {\r\n AnimatedSprite,\r\n Assets,\r\n Rectangle,\r\n Text,\r\n Texture,\r\n Sprite,\r\n Graphics,\r\n} from \"pixi.js\";\r\n\r\nconst useLighteningStart = () => {\r\n class LighteningStart {\r\n constructor(cards, spritePath, appRef) {\r\n this.cards = cards;\r\n this.spritePath = spritePath;\r\n this.appRef = appRef;\r\n this.initiateAnimation();\r\n }\r\n\r\n async initiateAnimation() {\r\n // Create a container to hold all animatedSprites\r\n const { Container } = await import(\"pixi.js\");\r\n const cardsContainer = new Container();\r\n\r\n // Calculate layout: arrange cards horizontally, centered\r\n const numCards = this.cards.length;\r\n const spacing = 77.6 * 0.5 + 20; // space between cards, adjust as needed\r\n const spriteScale = window.innerWidth < 768 ? 0.25 : 0.3;\r\n const baseY = this.appRef.current.renderer.height / 2;\r\n\r\n // We'll keep track of all sprite promises to add them after all loaded\r\n const spritePromises = this.cards.map(async (card, i) => {\r\n const baseTexture = await Assets.load(this.spritePath);\r\n\r\n // Prepare frames for animation\r\n const frames = [];\r\n const texWidth = baseTexture.resource?.width || baseTexture.width;\r\n const texHeight = baseTexture.resource?.height || baseTexture.height;\r\n const columns = 10;\r\n const rows = 3;\r\n const frameWidth = texWidth / columns;\r\n const frameHeight = texHeight / rows;\r\n\r\n for (let row = 0; row < rows; row++) {\r\n for (let col = 0; col < columns; col++) {\r\n const x = col * frameWidth;\r\n const y = row * frameHeight;\r\n const frameRect = new Rectangle(x, y, frameWidth, frameHeight);\r\n frames.push(\r\n new Texture({\r\n source: baseTexture.source,\r\n frame: frameRect,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Create and configure the AnimatedSprite\r\n const animatedSprite = new AnimatedSprite(frames);\r\n animatedSprite.animationSpeed = 0.25;\r\n animatedSprite.loop = false;\r\n animatedSprite.scale.set(spriteScale);\r\n animatedSprite.anchor.set(0.5);\r\n animatedSprite.allowChildren = true;\r\n\r\n // Position horizontally, centered\r\n const totalWidth = (numCards - 1) * spacing;\r\n animatedSprite.x = -totalWidth / 2 + i * spacing;\r\n animatedSprite.y = 0; // Centered in container\r\n\r\n animatedSprite.play();\r\n\r\n // Add multiplier text\r\n const multiplier_txt = new Text({\r\n text: `${card.multiplier ?? card.multplier}X`,\r\n style: {\r\n fontSize: 75,\r\n fontWeight: \"bold\",\r\n fill: 0xffd700,\r\n align: \"center\",\r\n },\r\n });\r\n multiplier_txt.anchor.set(0.5);\r\n multiplier_txt.position.set(0, -50);\r\n animatedSprite.addChild(multiplier_txt);\r\n\r\n // Suit icon\r\n let suit_url = \"\";\r\n switch (card.suit?.toLowerCase()) {\r\n case \"hearts\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/f/f0/SuitHearts.svg/60px-SuitHearts.svg.png\";\r\n break;\r\n case \"clubs\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/SuitClubs.svg/60px-SuitClubs.svg.png\";\r\n break;\r\n case \"diamonds\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/d/db/SuitDiamonds.svg/60px-SuitDiamonds.svg.png\";\r\n break;\r\n default:\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/SuitSpades.svg/60px-SuitSpades.svg.png\";\r\n break;\r\n }\r\n\r\n // Load and add suit sprite\r\n const card_suit_tex = await Assets.load(suit_url);\r\n const card_suit_sprite = new Sprite(card_suit_tex);\r\n card_suit_sprite.anchor.set(0.5);\r\n card_suit_sprite.scale.set(1.2);\r\n card_suit_sprite.position.set(0, 35);\r\n animatedSprite.addChild(card_suit_sprite);\r\n\r\n return animatedSprite;\r\n });\r\n\r\n // After all sprites are loaded, add them to the container and stage\r\n Promise.all(spritePromises).then((sprites) => {\r\n sprites.forEach((sprite) => cardsContainer.addChild(sprite));\r\n // Center the container in the canvas\r\n cardsContainer.x = this.appRef.current.renderer.width / 2;\r\n cardsContainer.y = this.appRef.current.renderer.height / 2;\r\n this.appRef.current.stage.addChild(cardsContainer);\r\n });\r\n }\r\n }\r\n\r\n return {\r\n LighteningStart,\r\n };\r\n};\r\n\r\nexport default useLighteningStart;\r\n","import React, { useEffect, useRef } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Application } from \"pixi.js\";\r\nimport useLeftThunder from \"./hooks/useLeftThunder\";\r\nimport useRightThunder from \"./hooks/useRightThunder\";\r\nimport useLightening from \"./hooks/useLightening\";\r\nimport useMiddleThunder from \"./hooks/useMiddleThunder\";\r\nimport useLighteningStart from \"./hooks/useLighteningStart\";\r\nimport \"./LighteningCard.css\";\r\n\r\n// CSS is provided separately via the style field in package.json\r\n\r\nconst thunder_left =\r\n \"https://babylonbetst.evo-games.com/frontend/evo/mini/images/lightnings.f9848fb7.webp\";\r\nconst thunder_middle =\r\n \"https://babylonbetst.evo-games.com/frontend/evo/mini/images/feeborderb.0e2c6bbe.webp\";\r\nconst thunder_right =\r\n \"https://babylonbetst.evo-games.com/frontend/evo/mini/images/lightnings.aeaa062e.webp\";\r\n\r\nconst border_start =\r\n \"https://babylonbetst.evo-games.com/frontend/evo/mini/images/borderstar.65180209.webp\";\r\nconst border_loop =\r\n \"https://babylonbetst.evo-games.com/frontend/evo/mini/images/borderloop.c55570cc.webp\";\r\n\r\nconst LighteningCard = ({ roundStatus, cards }) => {\r\n const containerRef = useRef(null);\r\n const appRef = useRef(null);\r\n const { LeftThunder } = useLeftThunder();\r\n const { RightThunder } = useRightThunder();\r\n const { MiddleThunder } = useMiddleThunder();\r\n const { Lightening } = useLightening();\r\n const { LighteningStart } = useLighteningStart();\r\n const initiatePixiApplication = async () => {\r\n appRef.current = new Application();\r\n await appRef.current.init({\r\n resizeTo: containerRef.current,\r\n backgroundAlpha: 0,\r\n powerPreference: \"high-performance\",\r\n resolution: window.devicePixelRatio || 1,\r\n autoDensity: true, // This ensures the canvas CSS size is correct\r\n });\r\n containerRef.current.appendChild(appRef.current.canvas);\r\n globalThis.__PIXI_APP__ = appRef.current;\r\n\r\n roundStatus === \"NO_MORE_BETS\" && new LeftThunder(thunder_left, appRef);\r\n roundStatus === \"NO_MORE_BETS\" && new RightThunder(thunder_right, appRef);\r\n roundStatus === \"NO_MORE_BETS\" && new MiddleThunder(thunder_middle, appRef);\r\n roundStatus === \"LIGHTNING\" &&\r\n new LighteningStart(cards, border_start, appRef);\r\n [\"NEW_CARD\", \"ROUND_END\", \"BETTING_STARTED\"].includes(roundStatus) &&\r\n new Lightening(cards, border_loop, appRef);\r\n };\r\n\r\n useEffect(() => {\r\n if (!containerRef.current) return;\r\n initiatePixiApplication();\r\n // Cleanup function\r\n return () => {\r\n if (appRef.current) {\r\n appRef.current?.destroy(true);\r\n appRef.current = null;\r\n }\r\n };\r\n }, [roundStatus]);\r\n\r\n return <div className=\"lightening-card\" ref={containerRef}></div>;\r\n};\r\n\r\nLighteningCard.propTypes = {\r\n roundStatus: PropTypes.string.isRequired,\r\n cards: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n multiplier: PropTypes.number,\r\n rank: PropTypes.string,\r\n suit: PropTypes.string,\r\n })\r\n ),\r\n assetPath: PropTypes.string, // Path to the animation asset\r\n onAnimationReady: PropTypes.func, // Callback when animation is ready\r\n};\r\n\r\nLighteningCard.defaultProps = {\r\n cards: [],\r\n};\r\n\r\nexport default LighteningCard;\r\n"],"names":["useLeftThunder","LeftThunder","constructor","spritePath","appRef","initiateAnimation","Assets","load","then","baseTexture","_baseTexture$resource","_baseTexture$resource2","frames","texWidth","resource","width","texHeight","height","columns","rows","frameWidth","frameHeight","row","col","x","y","frameRect","Rectangle","push","Texture","source","frame","animatedSprite","AnimatedSprite","animationSpeed","loop","scale","set","anchor","current","renderer","window","innerWidth","stage","addChild","play","useRightThunder","RightThunder","useLightening","Lightening","cards","Container","cardsContainer","numCards","length","spacing","spriteScale","spritePromises","map","card","i","_card$multiplier","_card$suit","allowChildren","totalWidth","multiplier_txt","Text","text","multiplier","multplier","style","fontSize","fontWeight","fill","align","position","suit_url","suit","toLowerCase","card_suit_tex","card_suit_sprite","Sprite","Promise","all","sprites","forEach","sprite","useMiddleThunder","MiddleThunder","tikcer","Ticker","autoStart","iteration","unitDistance","add","tick","stop","destroy","useLighteningStart","LighteningStart","thunder_left","thunder_middle","thunder_right","border_start","border_loop","LighteningCard","roundStatus","containerRef","useRef","initiatePixiApplication","Application","init","resizeTo","backgroundAlpha","powerPreference","resolution","devicePixelRatio","autoDensity","appendChild","canvas","globalThis","__PIXI_APP__","includes","useEffect","_appRef$current","React","createElement","className","ref","propTypes","PropTypes","string","isRequired","arrayOf","shape","number","rank","assetPath","onAnimationReady","func","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/hooks/useLeftThunder.js","../src/hooks/useRightThunder.js","../src/hooks/useLightening.js","../src/hooks/useMiddleThunder.js","../src/hooks/useLighteningStart.js","../src/LighteningCard.js"],"sourcesContent":["import { AnimatedSprite, Assets, Rectangle, Texture } from \"pixi.js\";\r\n\r\nconst useLeftThunder = () => {\r\n class LeftThunder {\r\n constructor(spritePath, appRef) {\r\n this.spritePath = spritePath;\r\n this.appRef = appRef;\r\n this.initiateAnimation();\r\n }\r\n\r\n async initiateAnimation() {\r\n Assets.load(this.spritePath).then((baseTexture) => {\r\n // Ensure the animation is visible and sized correctly\r\n const frames = [];\r\n // Get the correct texture dimensions\r\n const texWidth = baseTexture.resource?.width || baseTexture.width;\r\n const texHeight = baseTexture.resource?.height || baseTexture.height;\r\n\r\n const columns = 3;\r\n const rows = 10;\r\n\r\n const frameWidth = texWidth / columns;\r\n const frameHeight = texHeight / rows;\r\n\r\n // Row-major order: for each row, for each column\r\n for (let row = 0; row < rows; row++) {\r\n for (let col = 0; col < columns; col++) {\r\n const x = col * frameWidth;\r\n const y = row * frameHeight;\r\n const frameRect = new Rectangle(x, y, frameWidth, frameHeight);\r\n frames.push(\r\n new Texture({\r\n source: baseTexture.source, // Use the correct source for the Texture constructor\r\n frame: frameRect,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Create and configure the AnimatedSprite\r\n const animatedSprite = new AnimatedSprite(frames);\r\n animatedSprite.animationSpeed = 0.25; // Faster speed for more visible animation\r\n animatedSprite.loop = true;\r\n animatedSprite.scale.set(0.3);\r\n animatedSprite.anchor.set(0.5, 0.5);\r\n\r\n // Center the sprite in the canvas\r\n animatedSprite.x =\r\n this.appRef.current.renderer.width / 2 -\r\n (window.innerWidth > 768 ? 40 : -75);\r\n animatedSprite.y = this.appRef.current.renderer.height / 2 + 15;\r\n\r\n this.appRef.current.stage.addChild(animatedSprite);\r\n animatedSprite.play();\r\n });\r\n }\r\n }\r\n\r\n return {\r\n LeftThunder,\r\n };\r\n};\r\n\r\nexport default useLeftThunder;\r\n","import { AnimatedSprite, Assets, Rectangle, Texture } from \"pixi.js\";\r\n\r\nconst useRightThunder = () => {\r\n class RightThunder {\r\n constructor(spritePath, appRef) {\r\n this.spritePath = spritePath;\r\n this.appRef = appRef;\r\n this.initiateAnimation();\r\n }\r\n\r\n async initiateAnimation() {\r\n Assets.load(this.spritePath).then((baseTexture) => {\r\n // Ensure the animation is visible and sized correctly\r\n const frames = [];\r\n\r\n // Get the correct texture dimensions\r\n const texWidth = baseTexture.resource?.width || baseTexture.width;\r\n const texHeight = baseTexture.resource?.height || baseTexture.height;\r\n\r\n const columns = 3;\r\n const rows = 10;\r\n\r\n const frameWidth = texWidth / columns;\r\n const frameHeight = texHeight / rows;\r\n\r\n // Row-major order: for each row, for each column\r\n for (let row = 0; row < rows; row++) {\r\n for (let col = 0; col < columns; col++) {\r\n const x = col * frameWidth;\r\n const y = row * frameHeight;\r\n const frameRect = new Rectangle(x, y, frameWidth, frameHeight);\r\n frames.push(\r\n new Texture({\r\n source: baseTexture.source, // Use the correct source for the Texture constructor\r\n frame: frameRect,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Create and configure the AnimatedSprite\r\n const animatedSprite = new AnimatedSprite(frames);\r\n animatedSprite.animationSpeed = 0.25; // Faster speed for more visible animation\r\n animatedSprite.loop = true;\r\n animatedSprite.scale.set(0.3);\r\n animatedSprite.anchor.set(0.5, 0.5);\r\n\r\n // Center the sprite in the canvas\r\n animatedSprite.x =\r\n this.appRef.current.renderer.width / 2 +\r\n (window.innerWidth > 768 ? 40 : -75);\r\n animatedSprite.y = this.appRef.current.renderer.height / 2 + 15;\r\n\r\n this.appRef.current.stage.addChild(animatedSprite);\r\n animatedSprite.play();\r\n });\r\n }\r\n }\r\n return { RightThunder };\r\n};\r\n\r\nexport default useRightThunder;\r\n","import {\r\n AnimatedSprite,\r\n Assets,\r\n Rectangle,\r\n Text,\r\n Texture,\r\n Sprite,\r\n Graphics,\r\n} from \"pixi.js\";\r\n\r\nconst useLightening = () => {\r\n class Lightening {\r\n constructor(cards, spritePath, appRef) {\r\n this.cards = cards;\r\n this.spritePath = spritePath;\r\n this.appRef = appRef;\r\n this.initiateAnimation();\r\n }\r\n\r\n async initiateAnimation() {\r\n // Create a container to hold all animatedSprites\r\n const { Container } = await import(\"pixi.js\");\r\n const cardsContainer = new Container();\r\n\r\n // Calculate layout: arrange cards horizontally, centered\r\n const numCards = this.cards.length;\r\n const spacing = 77.6 * 0.5 + 20; // space between cards, adjust as needed\r\n const spriteScale = window.innerWidth < 768 ? 0.25 : 0.3;\r\n const baseY = this.appRef.current.renderer.height / 2;\r\n\r\n // We'll keep track of all sprite promises to add them after all loaded\r\n const spritePromises = this.cards.map(async (card, i) => {\r\n const baseTexture = await Assets.load(this.spritePath);\r\n\r\n // Prepare frames for animation\r\n const frames = [];\r\n const texWidth = baseTexture.resource?.width || baseTexture.width;\r\n const texHeight = baseTexture.resource?.height || baseTexture.height;\r\n const columns = 10;\r\n const rows = 3;\r\n const frameWidth = texWidth / columns;\r\n const frameHeight = texHeight / rows;\r\n\r\n for (let row = 0; row < rows; row++) {\r\n for (let col = 0; col < columns; col++) {\r\n const x = col * frameWidth;\r\n const y = row * frameHeight;\r\n const frameRect = new Rectangle(x, y, frameWidth, frameHeight);\r\n frames.push(\r\n new Texture({\r\n source: baseTexture.source,\r\n frame: frameRect,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Create and configure the AnimatedSprite\r\n const animatedSprite = new AnimatedSprite(frames);\r\n animatedSprite.animationSpeed = 0.25;\r\n animatedSprite.loop = true;\r\n animatedSprite.scale.set(spriteScale);\r\n animatedSprite.anchor.set(0.5);\r\n animatedSprite.allowChildren = true;\r\n\r\n // Position horizontally, centered\r\n const totalWidth = (numCards - 1) * spacing;\r\n animatedSprite.x = -totalWidth / 2 + i * spacing;\r\n animatedSprite.y = 0; // Centered in container\r\n\r\n animatedSprite.play();\r\n\r\n // Add multiplier text\r\n const multiplier_txt = new Text({\r\n text: `${card.multiplier ?? card.multplier}X`,\r\n style: {\r\n fontSize: 75,\r\n fontWeight: \"bold\",\r\n fill: 0xffd700,\r\n align: \"center\",\r\n },\r\n });\r\n multiplier_txt.anchor.set(0.5);\r\n multiplier_txt.position.set(0, -50);\r\n animatedSprite.addChild(multiplier_txt);\r\n\r\n // Suit icon\r\n let suit_url = \"\";\r\n switch (card.suit?.toLowerCase()) {\r\n case \"hearts\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/f/f0/SuitHearts.svg/60px-SuitHearts.svg.png\";\r\n break;\r\n case \"clubs\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/SuitClubs.svg/60px-SuitClubs.svg.png\";\r\n break;\r\n case \"diamonds\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/d/db/SuitDiamonds.svg/60px-SuitDiamonds.svg.png\";\r\n break;\r\n default:\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/SuitSpades.svg/60px-SuitSpades.svg.png\";\r\n break;\r\n }\r\n\r\n // Load and add suit sprite\r\n const card_suit_tex = await Assets.load(suit_url);\r\n const card_suit_sprite = new Sprite(card_suit_tex);\r\n card_suit_sprite.anchor.set(0.5);\r\n card_suit_sprite.scale.set(1.2);\r\n card_suit_sprite.position.set(0, 35);\r\n animatedSprite.addChild(card_suit_sprite);\r\n\r\n return animatedSprite;\r\n });\r\n\r\n // After all sprites are loaded, add them to the container and stage\r\n Promise.all(spritePromises).then((sprites) => {\r\n sprites.forEach((sprite) => cardsContainer.addChild(sprite));\r\n // Center the container in the canvas\r\n cardsContainer.x = this.appRef.current.renderer.width / 2;\r\n cardsContainer.y = this.appRef.current.renderer.height / 2;\r\n this.appRef.current.stage.addChild(cardsContainer);\r\n });\r\n }\r\n }\r\n\r\n return {\r\n Lightening,\r\n };\r\n};\r\n\r\nexport default useLightening;\r\n","import { AnimatedSprite, Assets, Rectangle, Texture, Ticker } from \"pixi.js\";\r\n\r\nconst useMiddleThunder = () => {\r\n class MiddleThunder {\r\n constructor(spritePath, appRef) {\r\n this.spritePath = spritePath;\r\n this.appRef = appRef;\r\n this.initiateAnimation();\r\n }\r\n\r\n async initiateAnimation() {\r\n Assets.load(this.spritePath).then((baseTexture) => {\r\n // Ensure the animation is visible and sized correctly\r\n const frames = [];\r\n // Get the correct texture dimensions\r\n const texWidth = baseTexture.resource?.width || baseTexture.width;\r\n const texHeight = baseTexture.resource?.height || baseTexture.height;\r\n\r\n const columns = 3;\r\n const rows = 18;\r\n\r\n const frameWidth = texWidth / columns;\r\n const frameHeight = texHeight / rows;\r\n\r\n // Row-major order: for each row, for each column\r\n for (let row = 0; row < rows; row++) {\r\n for (let col = 0; col < columns; col++) {\r\n const x = col * frameWidth;\r\n const y = row * frameHeight;\r\n const frameRect = new Rectangle(x, y, frameWidth, frameHeight);\r\n frames.push(\r\n new Texture({\r\n source: baseTexture.source, // Use the correct source for the Texture constructor\r\n frame: frameRect,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Create and configure the AnimatedSprite\r\n const animatedSprite = new AnimatedSprite(frames);\r\n animatedSprite.animationSpeed = 0.25; // Faster speed for more visible animation\r\n animatedSprite.loop = false;\r\n animatedSprite.scale.set(0.5);\r\n animatedSprite.anchor.set(0.5, 0.5);\r\n\r\n // Center the sprite in the canvas\r\n animatedSprite.x = this.appRef.current.renderer.width / 2;\r\n animatedSprite.y = 0;\r\n const tikcer = new Ticker();\r\n tikcer.autoStart = true;\r\n let iteration = 0;\r\n\r\n const unitDistance = this.appRef.current.renderer.height / 60;\r\n tikcer.add((tick) => {\r\n animatedSprite.y += unitDistance;\r\n iteration++;\r\n if (iteration === 60) {\r\n tikcer.stop();\r\n tikcer.destroy();\r\n }\r\n });\r\n\r\n this.appRef.current.stage.addChild(animatedSprite);\r\n animatedSprite.play();\r\n });\r\n }\r\n }\r\n return {\r\n MiddleThunder,\r\n };\r\n};\r\n\r\nexport default useMiddleThunder;\r\n","import {\r\n AnimatedSprite,\r\n Assets,\r\n Rectangle,\r\n Text,\r\n Texture,\r\n Sprite,\r\n Graphics,\r\n} from \"pixi.js\";\r\n\r\nconst useLighteningStart = () => {\r\n class LighteningStart {\r\n constructor(cards, spritePath, appRef) {\r\n this.cards = cards;\r\n this.spritePath = spritePath;\r\n this.appRef = appRef;\r\n this.initiateAnimation();\r\n }\r\n\r\n async initiateAnimation() {\r\n // Create a container to hold all animatedSprites\r\n const { Container } = await import(\"pixi.js\");\r\n const cardsContainer = new Container();\r\n\r\n // Calculate layout: arrange cards horizontally, centered\r\n const numCards = this.cards.length;\r\n const spacing = 77.6 * 0.5 + 20; // space between cards, adjust as needed\r\n const spriteScale = window.innerWidth < 768 ? 0.25 : 0.3;\r\n const baseY = this.appRef.current.renderer.height / 2;\r\n\r\n // We'll keep track of all sprite promises to add them after all loaded\r\n const spritePromises = this.cards.map(async (card, i) => {\r\n const baseTexture = await Assets.load(this.spritePath);\r\n\r\n // Prepare frames for animation\r\n const frames = [];\r\n const texWidth = baseTexture.resource?.width || baseTexture.width;\r\n const texHeight = baseTexture.resource?.height || baseTexture.height;\r\n const columns = 10;\r\n const rows = 3;\r\n const frameWidth = texWidth / columns;\r\n const frameHeight = texHeight / rows;\r\n\r\n for (let row = 0; row < rows; row++) {\r\n for (let col = 0; col < columns; col++) {\r\n const x = col * frameWidth;\r\n const y = row * frameHeight;\r\n const frameRect = new Rectangle(x, y, frameWidth, frameHeight);\r\n frames.push(\r\n new Texture({\r\n source: baseTexture.source,\r\n frame: frameRect,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Create and configure the AnimatedSprite\r\n const animatedSprite = new AnimatedSprite(frames);\r\n animatedSprite.animationSpeed = 0.25;\r\n animatedSprite.loop = false;\r\n animatedSprite.scale.set(spriteScale);\r\n animatedSprite.anchor.set(0.5);\r\n animatedSprite.allowChildren = true;\r\n\r\n // Position horizontally, centered\r\n const totalWidth = (numCards - 1) * spacing;\r\n animatedSprite.x = -totalWidth / 2 + i * spacing;\r\n animatedSprite.y = 0; // Centered in container\r\n\r\n animatedSprite.play();\r\n\r\n // Add multiplier text\r\n const multiplier_txt = new Text({\r\n text: `${card.multiplier ?? card.multplier}X`,\r\n style: {\r\n fontSize: 75,\r\n fontWeight: \"bold\",\r\n fill: 0xffd700,\r\n align: \"center\",\r\n },\r\n });\r\n multiplier_txt.anchor.set(0.5);\r\n multiplier_txt.position.set(0, -50);\r\n animatedSprite.addChild(multiplier_txt);\r\n\r\n // Suit icon\r\n let suit_url = \"\";\r\n switch (card.suit?.toLowerCase()) {\r\n case \"hearts\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/f/f0/SuitHearts.svg/60px-SuitHearts.svg.png\";\r\n break;\r\n case \"clubs\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/SuitClubs.svg/60px-SuitClubs.svg.png\";\r\n break;\r\n case \"diamonds\":\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/d/db/SuitDiamonds.svg/60px-SuitDiamonds.svg.png\";\r\n break;\r\n default:\r\n suit_url =\r\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/SuitSpades.svg/60px-SuitSpades.svg.png\";\r\n break;\r\n }\r\n\r\n // Load and add suit sprite\r\n const card_suit_tex = await Assets.load(suit_url);\r\n const card_suit_sprite = new Sprite(card_suit_tex);\r\n card_suit_sprite.anchor.set(0.5);\r\n card_suit_sprite.scale.set(1.2);\r\n card_suit_sprite.position.set(0, 35);\r\n animatedSprite.addChild(card_suit_sprite);\r\n\r\n return animatedSprite;\r\n });\r\n\r\n // After all sprites are loaded, add them to the container and stage\r\n Promise.all(spritePromises).then((sprites) => {\r\n sprites.forEach((sprite) => cardsContainer.addChild(sprite));\r\n // Center the container in the canvas\r\n cardsContainer.x = this.appRef.current.renderer.width / 2;\r\n cardsContainer.y = this.appRef.current.renderer.height / 2;\r\n this.appRef.current.stage.addChild(cardsContainer);\r\n });\r\n }\r\n }\r\n\r\n return {\r\n LighteningStart,\r\n };\r\n};\r\n\r\nexport default useLighteningStart;\r\n","import React, { useEffect, useRef } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Application } from \"pixi.js\";\r\nimport useLeftThunder from \"./hooks/useLeftThunder\";\r\nimport useRightThunder from \"./hooks/useRightThunder\";\r\nimport useLightening from \"./hooks/useLightening\";\r\nimport useMiddleThunder from \"./hooks/useMiddleThunder\";\r\nimport useLighteningStart from \"./hooks/useLighteningStart\";\r\nimport \"./LighteningCard.css\";\r\n\r\n// CSS is provided separately via the style field in package.json\r\n\r\nconst thunder_left =\r\n \"https://babylonbetst.evo-games.com/frontend/evo/mini/images/lightnings.f9848fb7.webp\";\r\nconst thunder_middle =\r\n \"https://babylonbetst.evo-games.com/frontend/evo/mini/images/feeborderb.0e2c6bbe.webp\";\r\nconst thunder_right =\r\n \"https://babylonbetst.evo-games.com/frontend/evo/mini/images/lightnings.aeaa062e.webp\";\r\n\r\nconst border_start =\r\n \"https://babylonbetst.evo-games.com/frontend/evo/mini/images/borderstar.65180209.webp\";\r\nconst border_loop =\r\n \"https://babylonbetst.evo-games.com/frontend/evo/mini/images/borderloop.c55570cc.webp\";\r\n\r\nconst LighteningCard = ({ roundStatus, cards }) => {\r\n const containerRef = useRef(null);\r\n const appRef = useRef(null);\r\n const { LeftThunder } = useLeftThunder();\r\n const { RightThunder } = useRightThunder();\r\n const { MiddleThunder } = useMiddleThunder();\r\n const { Lightening } = useLightening();\r\n const { LighteningStart } = useLighteningStart();\r\n const initiatePixiApplication = async () => {\r\n appRef.current = new Application();\r\n await appRef.current.init({\r\n resizeTo: containerRef.current,\r\n backgroundAlpha: 0,\r\n powerPreference: \"high-performance\",\r\n resolution: window.devicePixelRatio || 1,\r\n autoDensity: true, // This ensures the canvas CSS size is correct\r\n });\r\n containerRef.current.appendChild(appRef.current.canvas);\r\n globalThis.__PIXI_APP__ = appRef.current;\r\n\r\n roundStatus === \"NO_MORE_BETS\" && new LeftThunder(thunder_left, appRef);\r\n roundStatus === \"NO_MORE_BETS\" && new RightThunder(thunder_right, appRef);\r\n roundStatus === \"NO_MORE_BETS\" && new MiddleThunder(thunder_middle, appRef);\r\n roundStatus === \"LIGHTNING\" &&\r\n new LighteningStart(cards, border_start, appRef);\r\n [\"NEW_CARD\", \"ROUND_END\", \"BETTING_STARTED\"].includes(roundStatus) &&\r\n new Lightening(cards, border_loop, appRef);\r\n };\r\n\r\n useEffect(() => {\r\n if (!containerRef.current) return;\r\n initiatePixiApplication();\r\n // Cleanup function\r\n return () => {\r\n if (appRef.current && typeof appRef.current.destroy === \"function\") {\r\n appRef.current?.destroy(true);\r\n appRef.current = null;\r\n }\r\n };\r\n }, [roundStatus]);\r\n\r\n return <div className=\"lightening-card\" ref={containerRef}></div>;\r\n};\r\n\r\nLighteningCard.propTypes = {\r\n roundStatus: PropTypes.string.isRequired,\r\n cards: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n multiplier: PropTypes.number,\r\n rank: PropTypes.string,\r\n suit: PropTypes.string,\r\n })\r\n ),\r\n assetPath: PropTypes.string, // Path to the animation asset\r\n onAnimationReady: PropTypes.func, // Callback when animation is ready\r\n};\r\n\r\nLighteningCard.defaultProps = {\r\n cards: [],\r\n};\r\n\r\nexport default LighteningCard;\r\n"],"names":["useLeftThunder","LeftThunder","constructor","spritePath","appRef","initiateAnimation","Assets","load","then","baseTexture","_baseTexture$resource","_baseTexture$resource2","frames","texWidth","resource","width","texHeight","height","columns","rows","frameWidth","frameHeight","row","col","x","y","frameRect","Rectangle","push","Texture","source","frame","animatedSprite","AnimatedSprite","animationSpeed","loop","scale","set","anchor","current","renderer","window","innerWidth","stage","addChild","play","useRightThunder","RightThunder","useLightening","Lightening","cards","Container","cardsContainer","numCards","length","spacing","spriteScale","spritePromises","map","card","i","_card$multiplier","_card$suit","allowChildren","totalWidth","multiplier_txt","Text","text","multiplier","multplier","style","fontSize","fontWeight","fill","align","position","suit_url","suit","toLowerCase","card_suit_tex","card_suit_sprite","Sprite","Promise","all","sprites","forEach","sprite","useMiddleThunder","MiddleThunder","tikcer","Ticker","autoStart","iteration","unitDistance","add","tick","stop","destroy","useLighteningStart","LighteningStart","thunder_left","thunder_middle","thunder_right","border_start","border_loop","LighteningCard","roundStatus","containerRef","useRef","initiatePixiApplication","Application","init","resizeTo","backgroundAlpha","powerPreference","resolution","devicePixelRatio","autoDensity","appendChild","canvas","globalThis","__PIXI_APP__","includes","useEffect","_appRef$current","React","createElement","className","ref","propTypes","PropTypes","string","isRequired","arrayOf","shape","number","rank","assetPath","onAnimationReady","func","defaultProps"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lighteningcards",
3
- "version": "1.3.3",
3
+ "version": "2.0.5",
4
4
  "description": "",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
@@ -56,7 +56,7 @@ const LighteningCard = ({ roundStatus, cards }) => {
56
56
  initiatePixiApplication();
57
57
  // Cleanup function
58
58
  return () => {
59
- if (appRef.current) {
59
+ if (appRef.current && typeof appRef.current.destroy === "function") {
60
60
  appRef.current?.destroy(true);
61
61
  appRef.current = null;
62
62
  }