@cuemath/leap 3.0.7-hg2 → 3.0.7-hg4

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.
@@ -1,33 +1,35 @@
1
1
  import { jsxs as n, jsx as r } from "react/jsx-runtime";
2
- import { memo as T } from "react";
2
+ import { memo as s } from "react";
3
3
  import { LOTTIE as o } from "../../../../../../assets/lottie/lottie.js";
4
4
  import a from "../../../../../ui/layout/flex-view.js";
5
- import _ from "../../../../../ui/lottie-animation/lottie-animation.js";
6
- import s from "../../../../../ui/separator/separator.js";
5
+ import T from "../../../../../ui/lottie-animation/lottie-animation.js";
6
+ import _ from "../../../../../ui/separator/separator.js";
7
7
  import E from "../../../../../ui/text/text.js";
8
- import { GAME_LAUNCHER_SIZE as t, GAME_LAUNCHER_SIZE_LARGE as m } from "../../card-container/constants.js";
8
+ import { GAME_LAUNCHER_SIZE as t, GAME_LAUNCHER_SIZE_LARGE as c } from "../../card-container/constants.js";
9
9
  import M from "../table-mode-star/table-mode-star.js";
10
10
  import { ModeContentSquareBlock as i, TableModeLottieContainer as f } from "./table-mode-styled.js";
11
11
  const h = {
12
12
  sequence: o.SEQUENCE_MODE_SEGMENT_LOTTIE,
13
13
  random: o.RANDOM_MODE_SEGMENT_LOTTIE,
14
14
  advance: o.ADVANCE_MODE_SEGMENT_LOTTIE
15
- }, u = T(({ tableNumber: c, isStarAchieved: d, type: e, rewardStar: l }) => /* @__PURE__ */ n(a, { $alignItems: "center", children: [
16
- /* @__PURE__ */ r(M, { isStarAchieved: d, rewardStar: l }),
17
- /* @__PURE__ */ r(s, { height: t * 0.055 }),
15
+ }, A = {
16
+ renderer: "svg"
17
+ }, u = s(({ tableNumber: d, isStarAchieved: m, type: e, rewardStar: l }) => /* @__PURE__ */ n(a, { $alignItems: "center", children: [
18
+ /* @__PURE__ */ r(M, { isStarAchieved: m, rewardStar: l }),
19
+ /* @__PURE__ */ r(_, { height: t * 0.055 }),
18
20
  /* @__PURE__ */ n(a, { $flexDirection: "row", children: [
19
21
  /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(
20
22
  E,
21
23
  {
22
- $renderAs: t === m ? "ac3-black" : "ab2-bold",
24
+ $renderAs: t === c ? "ac3-black" : "ab2-bold",
23
25
  $color: "WHITE",
24
- children: c
26
+ children: d
25
27
  }
26
28
  ) }),
27
29
  /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(
28
30
  E,
29
31
  {
30
- $renderAs: t === m ? "ac3-black" : "ab2-bold",
32
+ $renderAs: t === c ? "ac3-black" : "ab2-bold",
31
33
  $color: "WHITE",
32
34
  children: "×"
33
35
  }
@@ -37,7 +39,7 @@ const h = {
37
39
  {
38
40
  $bottom: e === "advance" ? "-1px" : "unset",
39
41
  $right: e === "advance" ? "-1px" : "unset",
40
- children: /* @__PURE__ */ r(_, { src: h[e] ?? "" })
42
+ children: /* @__PURE__ */ r(T, { src: h[e] ?? "", overrideSettings: A })
41
43
  }
42
44
  ) })
43
45
  ] })
@@ -1 +1 @@
1
- {"version":3,"file":"table-mode.js","sources":["../../../../../../../src/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode.tsx"],"sourcesContent":["import type { TTableMode } from '../../../dal/use-get-circle-home-details-dal/use-get-circle-home-dal-types';\nimport type { ITableModeProps } from './table-mode-types';\nimport type { FC } from 'react';\n\nimport { memo } from 'react';\n\nimport { LOTTIE } from '../../../../../../assets/lottie/lottie';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../../ui/lottie-animation/lottie-animation';\nimport Separator from '../../../../../ui/separator/separator';\nimport Text from '../../../../../ui/text/text';\nimport { GAME_LAUNCHER_SIZE, GAME_LAUNCHER_SIZE_LARGE } from '../../card-container/constants';\nimport TableStar from '../table-mode-star/table-mode-star';\nimport * as Styled from './table-mode-styled';\n\nconst LOAD_LOTTIE: Partial<Record<TTableMode, string>> = {\n sequence: LOTTIE.SEQUENCE_MODE_SEGMENT_LOTTIE,\n random: LOTTIE.RANDOM_MODE_SEGMENT_LOTTIE,\n advance: LOTTIE.ADVANCE_MODE_SEGMENT_LOTTIE,\n};\n\nconst TableMode: FC<ITableModeProps> = memo(({ tableNumber, isStarAchieved, type, rewardStar }) => {\n return (\n <FlexView $alignItems=\"center\">\n <TableStar isStarAchieved={isStarAchieved} rewardStar={rewardStar} />\n <Separator height={GAME_LAUNCHER_SIZE * 0.055} />\n <FlexView $flexDirection=\"row\">\n <Styled.ModeContentSquareBlock>\n <Text\n $renderAs={GAME_LAUNCHER_SIZE === GAME_LAUNCHER_SIZE_LARGE ? 'ac3-black' : 'ab2-bold'}\n $color=\"WHITE\"\n >\n {tableNumber}\n </Text>\n </Styled.ModeContentSquareBlock>\n <Styled.ModeContentSquareBlock>\n <Text\n $renderAs={GAME_LAUNCHER_SIZE === GAME_LAUNCHER_SIZE_LARGE ? 'ac3-black' : 'ab2-bold'}\n $color=\"WHITE\"\n >\n ×\n </Text>\n </Styled.ModeContentSquareBlock>\n <Styled.ModeContentSquareBlock $isBorderRightRequired={type === 'advance'}>\n <Styled.TableModeLottieContainer\n $bottom={type === 'advance' ? '-1px' : 'unset'}\n $right={type === 'advance' ? '-1px' : 'unset'}\n >\n <LottieAnimation src={LOAD_LOTTIE[type] ?? ''} />\n </Styled.TableModeLottieContainer>\n </Styled.ModeContentSquareBlock>\n </FlexView>\n </FlexView>\n );\n});\n\nexport default TableMode;\n"],"names":["LOAD_LOTTIE","LOTTIE","TableMode","memo","tableNumber","isStarAchieved","type","rewardStar","jsxs","FlexView","jsx","TableStar","Separator","GAME_LAUNCHER_SIZE","Styled.ModeContentSquareBlock","Text","GAME_LAUNCHER_SIZE_LARGE","Styled.TableModeLottieContainer","LottieAnimation"],"mappings":";;;;;;;;;;AAeA,MAAMA,IAAmD;AAAA,EACvD,UAAUC,EAAO;AAAA,EACjB,QAAQA,EAAO;AAAA,EACf,SAASA,EAAO;AAClB,GAEMC,IAAiCC,EAAK,CAAC,EAAE,aAAAC,GAAa,gBAAAC,GAAgB,MAAAC,GAAM,YAAAC,QAE9E,gBAAAC,EAACC,GAAS,EAAA,aAAY,UACpB,UAAA;AAAA,EAAC,gBAAAC,EAAAC,GAAA,EAAU,gBAAAN,GAAgC,YAAAE,EAAwB,CAAA;AAAA,EAClE,gBAAAG,EAAAE,GAAA,EAAU,QAAQC,IAAqB,MAAO,CAAA;AAAA,EAC/C,gBAAAL,EAACC,GAAS,EAAA,gBAAe,OACvB,UAAA;AAAA,IAAC,gBAAAC,EAAAI,GAAA,EACC,UAAA,gBAAAJ;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,WAAWF,MAAuBG,IAA2B,cAAc;AAAA,QAC3E,QAAO;AAAA,QAEN,UAAAZ;AAAA,MAAA;AAAA,IAAA,GAEL;AAAA,IACA,gBAAAM,EAACI,GAAA,EACC,UAAA,gBAAAJ;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,WAAWF,MAAuBG,IAA2B,cAAc;AAAA,QAC3E,QAAO;AAAA,QACR,UAAA;AAAA,MAAA;AAAA,IAAA,GAGH;AAAA,sBACCF,GAAA,EAA8B,wBAAwBR,MAAS,WAC9D,UAAA,gBAAAI;AAAA,MAACO;AAAAA,MAAA;AAAA,QACC,SAASX,MAAS,YAAY,SAAS;AAAA,QACvC,QAAQA,MAAS,YAAY,SAAS;AAAA,QAEtC,4BAACY,GAAgB,EAAA,KAAKlB,EAAYM,CAAI,KAAK,IAAI;AAAA,MAAA;AAAA,IAAA,GAEnD;AAAA,EAAA,GACF;AACF,EAAA,CAAA,CAEH;"}
1
+ {"version":3,"file":"table-mode.js","sources":["../../../../../../../src/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode.tsx"],"sourcesContent":["import type { TTableMode } from '../../../dal/use-get-circle-home-details-dal/use-get-circle-home-dal-types';\nimport type { ITableModeProps } from './table-mode-types';\nimport type { FC } from 'react';\n\nimport { memo } from 'react';\n\nimport { LOTTIE } from '../../../../../../assets/lottie/lottie';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../../ui/lottie-animation/lottie-animation';\nimport Separator from '../../../../../ui/separator/separator';\nimport Text from '../../../../../ui/text/text';\nimport { GAME_LAUNCHER_SIZE, GAME_LAUNCHER_SIZE_LARGE } from '../../card-container/constants';\nimport TableStar from '../table-mode-star/table-mode-star';\nimport * as Styled from './table-mode-styled';\n\nconst LOAD_LOTTIE: Partial<Record<TTableMode, string>> = {\n sequence: LOTTIE.SEQUENCE_MODE_SEGMENT_LOTTIE,\n random: LOTTIE.RANDOM_MODE_SEGMENT_LOTTIE,\n advance: LOTTIE.ADVANCE_MODE_SEGMENT_LOTTIE,\n};\n\nconst settings = {\n renderer: 'svg',\n};\n\nconst TableMode: FC<ITableModeProps> = memo(({ tableNumber, isStarAchieved, type, rewardStar }) => {\n return (\n <FlexView $alignItems=\"center\">\n <TableStar isStarAchieved={isStarAchieved} rewardStar={rewardStar} />\n <Separator height={GAME_LAUNCHER_SIZE * 0.055} />\n <FlexView $flexDirection=\"row\">\n <Styled.ModeContentSquareBlock>\n <Text\n $renderAs={GAME_LAUNCHER_SIZE === GAME_LAUNCHER_SIZE_LARGE ? 'ac3-black' : 'ab2-bold'}\n $color=\"WHITE\"\n >\n {tableNumber}\n </Text>\n </Styled.ModeContentSquareBlock>\n <Styled.ModeContentSquareBlock>\n <Text\n $renderAs={GAME_LAUNCHER_SIZE === GAME_LAUNCHER_SIZE_LARGE ? 'ac3-black' : 'ab2-bold'}\n $color=\"WHITE\"\n >\n ×\n </Text>\n </Styled.ModeContentSquareBlock>\n <Styled.ModeContentSquareBlock $isBorderRightRequired={type === 'advance'}>\n <Styled.TableModeLottieContainer\n $bottom={type === 'advance' ? '-1px' : 'unset'}\n $right={type === 'advance' ? '-1px' : 'unset'}\n >\n <LottieAnimation src={LOAD_LOTTIE[type] ?? ''} overrideSettings={settings} />\n </Styled.TableModeLottieContainer>\n </Styled.ModeContentSquareBlock>\n </FlexView>\n </FlexView>\n );\n});\n\nexport default TableMode;\n"],"names":["LOAD_LOTTIE","LOTTIE","settings","TableMode","memo","tableNumber","isStarAchieved","type","rewardStar","jsxs","FlexView","jsx","TableStar","Separator","GAME_LAUNCHER_SIZE","Styled.ModeContentSquareBlock","Text","GAME_LAUNCHER_SIZE_LARGE","Styled.TableModeLottieContainer","LottieAnimation"],"mappings":";;;;;;;;;;AAeA,MAAMA,IAAmD;AAAA,EACvD,UAAUC,EAAO;AAAA,EACjB,QAAQA,EAAO;AAAA,EACf,SAASA,EAAO;AAClB,GAEMC,IAAW;AAAA,EACf,UAAU;AACZ,GAEMC,IAAiCC,EAAK,CAAC,EAAE,aAAAC,GAAa,gBAAAC,GAAgB,MAAAC,GAAM,YAAAC,QAE9E,gBAAAC,EAACC,GAAS,EAAA,aAAY,UACpB,UAAA;AAAA,EAAC,gBAAAC,EAAAC,GAAA,EAAU,gBAAAN,GAAgC,YAAAE,EAAwB,CAAA;AAAA,EAClE,gBAAAG,EAAAE,GAAA,EAAU,QAAQC,IAAqB,MAAO,CAAA;AAAA,EAC/C,gBAAAL,EAACC,GAAS,EAAA,gBAAe,OACvB,UAAA;AAAA,IAAC,gBAAAC,EAAAI,GAAA,EACC,UAAA,gBAAAJ;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,WAAWF,MAAuBG,IAA2B,cAAc;AAAA,QAC3E,QAAO;AAAA,QAEN,UAAAZ;AAAA,MAAA;AAAA,IAAA,GAEL;AAAA,IACA,gBAAAM,EAACI,GAAA,EACC,UAAA,gBAAAJ;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,WAAWF,MAAuBG,IAA2B,cAAc;AAAA,QAC3E,QAAO;AAAA,QACR,UAAA;AAAA,MAAA;AAAA,IAAA,GAGH;AAAA,sBACCF,GAAA,EAA8B,wBAAwBR,MAAS,WAC9D,UAAA,gBAAAI;AAAA,MAACO;AAAAA,MAAA;AAAA,QACC,SAASX,MAAS,YAAY,SAAS;AAAA,QACvC,QAAQA,MAAS,YAAY,SAAS;AAAA,QAEtC,UAAA,gBAAAI,EAACQ,KAAgB,KAAKnB,EAAYO,CAAI,KAAK,IAAI,kBAAkBL,GAAU;AAAA,MAAA;AAAA,IAAA,GAE/E;AAAA,EAAA,GACF;AACF,EAAA,CAAA,CAEH;"}
@@ -1,46 +1,47 @@
1
- import { jsxs as m, jsx as t } from "react/jsx-runtime";
2
- import { useState as l, useMemo as L, useEffect as T } from "react";
3
- import { LOTTIE as u } from "../../../../../../assets/lottie/lottie.js";
4
- import E from "../../../../../ui/lottie-animation/lottie-animation.js";
5
- import { STAR_SIZE as a } from "./constants.js";
6
- import { StarContainer as p, LottieContainer as _, Circle as d, Path as h } from "./table-mode-star-styled.js";
7
- const w = {
8
- loop: !1
9
- }, M = ({ isStarAchieved: e, rewardStar: o }) => {
10
- const [i, n] = l(!1), [s, f] = l(e && !o), c = L(() => ({
1
+ import { jsxs as m, jsx as e } from "react/jsx-runtime";
2
+ import { memo as L, useState as a, useMemo as T, useEffect as u } from "react";
3
+ import { LOTTIE as E } from "../../../../../../assets/lottie/lottie.js";
4
+ import p from "../../../../../ui/lottie-animation/lottie-animation.js";
5
+ import { STAR_SIZE as l } from "./constants.js";
6
+ import { StarContainer as _, LottieContainer as d, Circle as h, Path as w } from "./table-mode-star-styled.js";
7
+ const x = {
8
+ loop: !1,
9
+ renderer: "canvas"
10
+ }, v = L(({ isStarAchieved: t, rewardStar: o }) => {
11
+ const [n, i] = a(!1), [s, c] = a(t && !o), f = T(() => ({
11
12
  name: "complete",
12
13
  callback: () => {
13
- f(!0), n(!1);
14
+ c(!0), i(!1);
14
15
  }
15
16
  }), []);
16
- return T(() => {
17
+ return u(() => {
17
18
  let r;
18
- return e && o && (r = setTimeout(() => {
19
- n(!0);
19
+ return t && o && (r = setTimeout(() => {
20
+ i(!0);
20
21
  }, 1e3)), () => {
21
22
  r && clearTimeout(r);
22
23
  };
23
- }, [e, o]), /* @__PURE__ */ m(p, { children: [
24
- i && /* @__PURE__ */ t(_, { children: /* @__PURE__ */ t(
25
- E,
24
+ }, [t, o]), /* @__PURE__ */ m(_, { children: [
25
+ n && /* @__PURE__ */ e(d, { children: /* @__PURE__ */ e(
26
+ p,
26
27
  {
27
- src: u.TABLE_MODE_STAR,
28
- settings: w,
29
- eventListener: c
28
+ src: E.TABLE_MODE_STAR,
29
+ settings: x,
30
+ eventListener: f
30
31
  }
31
32
  ) }),
32
- !i && /* @__PURE__ */ m(
33
+ !n && /* @__PURE__ */ m(
33
34
  "svg",
34
35
  {
35
36
  xmlns: "http://www.w3.org/2000/svg",
36
- width: a,
37
- height: a,
37
+ width: l,
38
+ height: l,
38
39
  viewBox: "0 0 16 16",
39
40
  fill: "none",
40
41
  children: [
41
- /* @__PURE__ */ t(d, { cx: "8", cy: "8", r: "8", $fill: s ? "GREEN_6" : "WHITE_T_15" }),
42
- /* @__PURE__ */ t(
43
- h,
42
+ /* @__PURE__ */ e(h, { cx: "8", cy: "8", r: "8", $fill: s ? "GREEN_6" : "WHITE_T_15" }),
43
+ /* @__PURE__ */ e(
44
+ w,
44
45
  {
45
46
  d: "M8 2L6.23664 5.57295L2.29366 6.1459L5.14683 8.92705L4.47329 12.8541L8 11L11.5267 12.8541L10.8532 8.92705L13.7063 6.1459L9.76336 5.57295L8 2Z",
46
47
  $fill: s ? "GREEN_4" : "WHITE_T_15"
@@ -50,8 +51,8 @@ const w = {
50
51
  }
51
52
  )
52
53
  ] });
53
- };
54
+ });
54
55
  export {
55
- M as default
56
+ v as default
56
57
  };
57
58
  //# sourceMappingURL=table-mode-star.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-mode-star.js","sources":["../../../../../../../src/features/circle-games/game-launcher/comps/tables-card/table-mode-star/table-mode-star.tsx"],"sourcesContent":["import type { ITableModeStarProps } from './table-mode-star-types';\nimport type { AnimationEventName } from 'lottie-web';\n\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { LOTTIE } from '../../../../../../assets/lottie/lottie';\nimport LottieAnimation from '../../../../../ui/lottie-animation/lottie-animation';\nimport { STAR_SIZE } from './constants';\nimport * as Styled from './table-mode-star-styled';\n\nconst settings = {\n loop: false,\n};\n\nconst TableModeStar: React.FC<ITableModeStarProps> = ({ isStarAchieved, rewardStar }) => {\n const [animateStar, setAnimateStar] = useState(false);\n const [starRewarded, setStarRewarded] = useState(isStarAchieved && !rewardStar);\n\n const onAnimationFinish = useMemo(() => {\n return {\n name: 'complete' as AnimationEventName,\n callback: () => {\n setStarRewarded(true);\n setAnimateStar(false);\n },\n };\n }, []);\n\n useEffect(() => {\n let timer: ReturnType<typeof setTimeout>;\n\n if (isStarAchieved && rewardStar) {\n timer = setTimeout(() => {\n setAnimateStar(true);\n }, 1000);\n }\n\n return () => {\n timer && clearTimeout(timer);\n };\n }, [isStarAchieved, rewardStar]);\n\n return (\n <Styled.StarContainer>\n {animateStar && (\n <Styled.LottieContainer>\n <LottieAnimation\n src={LOTTIE.TABLE_MODE_STAR}\n settings={settings}\n eventListener={onAnimationFinish}\n />\n </Styled.LottieContainer>\n )}\n {!animateStar && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={STAR_SIZE}\n height={STAR_SIZE}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <Styled.Circle cx=\"8\" cy=\"8\" r=\"8\" $fill={starRewarded ? 'GREEN_6' : 'WHITE_T_15'} />\n <Styled.Path\n d=\"M8 2L6.23664 5.57295L2.29366 6.1459L5.14683 8.92705L4.47329 12.8541L8 11L11.5267 12.8541L10.8532 8.92705L13.7063 6.1459L9.76336 5.57295L8 2Z\"\n $fill={starRewarded ? 'GREEN_4' : 'WHITE_T_15'}\n />\n </svg>\n )}\n </Styled.StarContainer>\n );\n};\n\nexport default TableModeStar;\n"],"names":["settings","TableModeStar","isStarAchieved","rewardStar","animateStar","setAnimateStar","useState","starRewarded","setStarRewarded","onAnimationFinish","useMemo","useEffect","timer","jsxs","Styled.StarContainer","jsx","Styled.LottieContainer","LottieAnimation","LOTTIE","STAR_SIZE","Styled.Circle","Styled.Path"],"mappings":";;;;;;AAUA,MAAMA,IAAW;AAAA,EACf,MAAM;AACR,GAEMC,IAA+C,CAAC,EAAE,gBAAAC,GAAgB,YAAAC,QAAiB;AACvF,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAS,EAAK,GAC9C,CAACC,GAAcC,CAAe,IAAIF,EAASJ,KAAkB,CAACC,CAAU,GAExEM,IAAoBC,EAAQ,OACzB;AAAA,IACL,MAAM;AAAA,IACN,UAAU,MAAM;AACd,MAAAF,EAAgB,EAAI,GACpBH,EAAe,EAAK;AAAA,IACtB;AAAA,EAAA,IAED,CAAE,CAAA;AAEL,SAAAM,EAAU,MAAM;AACV,QAAAC;AAEJ,WAAIV,KAAkBC,MACpBS,IAAQ,WAAW,MAAM;AACvB,MAAAP,EAAe,EAAI;AAAA,OAClB,GAAI,IAGF,MAAM;AACX,MAAAO,KAAS,aAAaA,CAAK;AAAA,IAAA;AAAA,EAC7B,GACC,CAACV,GAAgBC,CAAU,CAAC,GAG7B,gBAAAU,EAACC,GAAA,EACE,UAAA;AAAA,IACCV,KAAA,gBAAAW,EAACC,GAAA,EACC,UAAA,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,KAAKC,EAAO;AAAA,QACZ,UAAAlB;AAAA,QACA,eAAeS;AAAA,MAAA;AAAA,IAAA,GAEnB;AAAA,IAED,CAACL,KACA,gBAAAS;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAM;AAAA,QACN,OAAOM;AAAA,QACP,QAAQA;AAAA,QACR,SAAQ;AAAA,QACR,MAAK;AAAA,QAEL,UAAA;AAAA,UAAA,gBAAAJ,EAACK,GAAA,EAAc,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,OAAOb,IAAe,YAAY,aAAc,CAAA;AAAA,UACnF,gBAAAQ;AAAA,YAACM;AAAAA,YAAA;AAAA,cACC,GAAE;AAAA,cACF,OAAOd,IAAe,YAAY;AAAA,YAAA;AAAA,UACpC;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAEJ,EAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"table-mode-star.js","sources":["../../../../../../../src/features/circle-games/game-launcher/comps/tables-card/table-mode-star/table-mode-star.tsx"],"sourcesContent":["import type { ITableModeStarProps } from './table-mode-star-types';\nimport type { AnimationEventName } from 'lottie-web';\n\nimport React, { memo, useEffect, useMemo, useState } from 'react';\n\nimport { LOTTIE } from '../../../../../../assets/lottie/lottie';\nimport LottieAnimation from '../../../../../ui/lottie-animation/lottie-animation';\nimport { STAR_SIZE } from './constants';\nimport * as Styled from './table-mode-star-styled';\n\nconst settings = {\n loop: false,\n renderer: 'canvas',\n};\n\nconst TableModeStar: React.FC<ITableModeStarProps> = memo(({ isStarAchieved, rewardStar }) => {\n const [animateStar, setAnimateStar] = useState(false);\n const [starRewarded, setStarRewarded] = useState(isStarAchieved && !rewardStar);\n\n const onAnimationFinish = useMemo(() => {\n return {\n name: 'complete' as AnimationEventName,\n callback: () => {\n setStarRewarded(true);\n setAnimateStar(false);\n },\n };\n }, []);\n\n useEffect(() => {\n let timer: ReturnType<typeof setTimeout>;\n\n if (isStarAchieved && rewardStar) {\n timer = setTimeout(() => {\n setAnimateStar(true);\n }, 1000);\n }\n\n return () => {\n timer && clearTimeout(timer);\n };\n }, [isStarAchieved, rewardStar]);\n\n return (\n <Styled.StarContainer>\n {animateStar && (\n <Styled.LottieContainer>\n <LottieAnimation\n src={LOTTIE.TABLE_MODE_STAR}\n settings={settings}\n eventListener={onAnimationFinish}\n />\n </Styled.LottieContainer>\n )}\n {!animateStar && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={STAR_SIZE}\n height={STAR_SIZE}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <Styled.Circle cx=\"8\" cy=\"8\" r=\"8\" $fill={starRewarded ? 'GREEN_6' : 'WHITE_T_15'} />\n <Styled.Path\n d=\"M8 2L6.23664 5.57295L2.29366 6.1459L5.14683 8.92705L4.47329 12.8541L8 11L11.5267 12.8541L10.8532 8.92705L13.7063 6.1459L9.76336 5.57295L8 2Z\"\n $fill={starRewarded ? 'GREEN_4' : 'WHITE_T_15'}\n />\n </svg>\n )}\n </Styled.StarContainer>\n );\n});\n\nexport default TableModeStar;\n"],"names":["settings","TableModeStar","memo","isStarAchieved","rewardStar","animateStar","setAnimateStar","useState","starRewarded","setStarRewarded","onAnimationFinish","useMemo","useEffect","timer","jsxs","Styled.StarContainer","jsx","Styled.LottieContainer","LottieAnimation","LOTTIE","STAR_SIZE","Styled.Circle","Styled.Path"],"mappings":";;;;;;AAUA,MAAMA,IAAW;AAAA,EACf,MAAM;AAAA,EACN,UAAU;AACZ,GAEMC,IAA+CC,EAAK,CAAC,EAAE,gBAAAC,GAAgB,YAAAC,QAAiB;AAC5F,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAS,EAAK,GAC9C,CAACC,GAAcC,CAAe,IAAIF,EAASJ,KAAkB,CAACC,CAAU,GAExEM,IAAoBC,EAAQ,OACzB;AAAA,IACL,MAAM;AAAA,IACN,UAAU,MAAM;AACd,MAAAF,EAAgB,EAAI,GACpBH,EAAe,EAAK;AAAA,IACtB;AAAA,EAAA,IAED,CAAE,CAAA;AAEL,SAAAM,EAAU,MAAM;AACV,QAAAC;AAEJ,WAAIV,KAAkBC,MACpBS,IAAQ,WAAW,MAAM;AACvB,MAAAP,EAAe,EAAI;AAAA,OAClB,GAAI,IAGF,MAAM;AACX,MAAAO,KAAS,aAAaA,CAAK;AAAA,IAAA;AAAA,EAC7B,GACC,CAACV,GAAgBC,CAAU,CAAC,GAG7B,gBAAAU,EAACC,GAAA,EACE,UAAA;AAAA,IACCV,KAAA,gBAAAW,EAACC,GAAA,EACC,UAAA,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,KAAKC,EAAO;AAAA,QACZ,UAAAnB;AAAA,QACA,eAAeU;AAAA,MAAA;AAAA,IAAA,GAEnB;AAAA,IAED,CAACL,KACA,gBAAAS;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAM;AAAA,QACN,OAAOM;AAAA,QACP,QAAQA;AAAA,QACR,SAAQ;AAAA,QACR,MAAK;AAAA,QAEL,UAAA;AAAA,UAAA,gBAAAJ,EAACK,GAAA,EAAc,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,OAAOb,IAAe,YAAY,aAAc,CAAA;AAAA,UACnF,gBAAAQ;AAAA,YAACM;AAAAA,YAAA;AAAA,cACC,GAAE;AAAA,cACF,OAAOd,IAAe,YAAY;AAAA,YAAA;AAAA,UACpC;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAEJ,EAAA,CAAA;AAEJ,CAAC;"}
@@ -1,37 +1,40 @@
1
- import { jsxs as c, jsx as r } from "react/jsx-runtime";
2
- import { useState as i, useMemo as f, useEffect as u } from "react";
3
- import { LOTTIE as T } from "../../../../../../assets/lottie/lottie.js";
4
- import p from "../../../../../ui/lottie-animation/lottie-animation.js";
5
- import { StarContainer as S, LottieContainer as E, TableStar as L } from "./table-segment-star-styled.js";
6
- const d = {
7
- loop: !1
8
- }, h = ({ isStarAchieved: t, rewardStar: e }) => {
9
- const [n, a] = i(!1), [s, m] = i(t && !e), l = f(() => ({
10
- name: "complete",
11
- callback: () => {
12
- m(!0), a(!1);
13
- }
14
- }), []);
15
- return u(() => {
16
- let o;
17
- return t && e && (o = setTimeout(() => {
18
- a(!0);
19
- }, 1e3)), () => {
20
- o && clearTimeout(o);
21
- };
22
- }, [t, e]), /* @__PURE__ */ c(S, { children: [
23
- n && /* @__PURE__ */ r(E, { children: /* @__PURE__ */ r(
24
- p,
25
- {
26
- src: T.TABLE_SEGMENT_STAR,
27
- settings: d,
28
- eventListener: l
1
+ import { jsxs as c, jsx as o } from "react/jsx-runtime";
2
+ import { memo as f, useState as s, useMemo as u, useEffect as T } from "react";
3
+ import { LOTTIE as p } from "../../../../../../assets/lottie/lottie.js";
4
+ import S from "../../../../../ui/lottie-animation/lottie-animation.js";
5
+ import { StarContainer as d, LottieContainer as E, TableStar as L } from "./table-segment-star-styled.js";
6
+ const A = {
7
+ loop: !1,
8
+ render: "canvas"
9
+ }, j = f(
10
+ ({ isStarAchieved: e, rewardStar: t }) => {
11
+ const [n, a] = s(!1), [i, m] = s(e && !t), l = u(() => ({
12
+ name: "complete",
13
+ callback: () => {
14
+ m(!0), a(!1);
29
15
  }
30
- ) }),
31
- !n && /* @__PURE__ */ r(L, { $isStarAchieved: s })
32
- ] });
33
- };
16
+ }), []);
17
+ return T(() => {
18
+ let r;
19
+ return e && t && (r = setTimeout(() => {
20
+ a(!0);
21
+ }, 1e3)), () => {
22
+ r && clearTimeout(r);
23
+ };
24
+ }, [e, t]), /* @__PURE__ */ c(d, { children: [
25
+ n && /* @__PURE__ */ o(E, { children: /* @__PURE__ */ o(
26
+ S,
27
+ {
28
+ src: p.TABLE_SEGMENT_STAR,
29
+ settings: A,
30
+ eventListener: l
31
+ }
32
+ ) }),
33
+ !n && /* @__PURE__ */ o(L, { $isStarAchieved: i })
34
+ ] });
35
+ }
36
+ );
34
37
  export {
35
- h as default
38
+ j as default
36
39
  };
37
40
  //# sourceMappingURL=table-segment-star.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-segment-star.js","sources":["../../../../../../../src/features/circle-games/game-launcher/comps/tables-card/table-segment-star/table-segment-star.tsx"],"sourcesContent":["import type { ITableSegmentStarProps } from './table-segment-star-types';\nimport type { AnimationEventName } from 'lottie-web';\n\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { LOTTIE } from '../../../../../../assets/lottie/lottie';\nimport LottieAnimation from '../../../../../ui/lottie-animation/lottie-animation';\nimport * as Styled from './table-segment-star-styled';\n\nconst settings = {\n loop: false,\n};\n\nconst TableSegmentStar: React.FC<ITableSegmentStarProps> = ({ isStarAchieved, rewardStar }) => {\n const [animateStar, setAnimateStar] = useState(false);\n const [starRewarded, setStarRewarded] = useState(isStarAchieved && !rewardStar);\n\n const onAnimationFinish = useMemo(() => {\n return {\n name: 'complete' as AnimationEventName,\n callback: () => {\n setStarRewarded(true);\n setAnimateStar(false);\n },\n };\n }, []);\n\n useEffect(() => {\n let timer: ReturnType<typeof setTimeout>;\n\n if (isStarAchieved && rewardStar) {\n timer = setTimeout(() => {\n setAnimateStar(true);\n }, 1000);\n }\n\n return () => {\n timer && clearTimeout(timer);\n };\n }, [isStarAchieved, rewardStar]);\n\n return (\n <Styled.StarContainer>\n {animateStar && (\n <Styled.LottieContainer>\n <LottieAnimation\n src={LOTTIE.TABLE_SEGMENT_STAR}\n settings={settings}\n eventListener={onAnimationFinish}\n />\n </Styled.LottieContainer>\n )}\n {!animateStar && <Styled.TableStar $isStarAchieved={starRewarded} />}\n </Styled.StarContainer>\n );\n};\n\nexport default TableSegmentStar;\n"],"names":["settings","TableSegmentStar","isStarAchieved","rewardStar","animateStar","setAnimateStar","useState","starRewarded","setStarRewarded","onAnimationFinish","useMemo","useEffect","timer","jsxs","Styled.StarContainer","jsx","Styled.LottieContainer","LottieAnimation","LOTTIE","Styled.TableStar"],"mappings":";;;;;AASA,MAAMA,IAAW;AAAA,EACf,MAAM;AACR,GAEMC,IAAqD,CAAC,EAAE,gBAAAC,GAAgB,YAAAC,QAAiB;AAC7F,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAS,EAAK,GAC9C,CAACC,GAAcC,CAAe,IAAIF,EAASJ,KAAkB,CAACC,CAAU,GAExEM,IAAoBC,EAAQ,OACzB;AAAA,IACL,MAAM;AAAA,IACN,UAAU,MAAM;AACd,MAAAF,EAAgB,EAAI,GACpBH,EAAe,EAAK;AAAA,IACtB;AAAA,EAAA,IAED,CAAE,CAAA;AAEL,SAAAM,EAAU,MAAM;AACV,QAAAC;AAEJ,WAAIV,KAAkBC,MACpBS,IAAQ,WAAW,MAAM;AACvB,MAAAP,EAAe,EAAI;AAAA,OAClB,GAAI,IAGF,MAAM;AACX,MAAAO,KAAS,aAAaA,CAAK;AAAA,IAAA;AAAA,EAC7B,GACC,CAACV,GAAgBC,CAAU,CAAC,GAG7B,gBAAAU,EAACC,GAAA,EACE,UAAA;AAAA,IACCV,KAAA,gBAAAW,EAACC,GAAA,EACC,UAAA,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,KAAKC,EAAO;AAAA,QACZ,UAAAlB;AAAA,QACA,eAAeS;AAAA,MAAA;AAAA,IAAA,GAEnB;AAAA,IAED,CAACL,KAAe,gBAAAW,EAACI,GAAA,EAAiB,iBAAiBZ,EAAc,CAAA;AAAA,EACpE,EAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"table-segment-star.js","sources":["../../../../../../../src/features/circle-games/game-launcher/comps/tables-card/table-segment-star/table-segment-star.tsx"],"sourcesContent":["import type { ITableSegmentStarProps } from './table-segment-star-types';\nimport type { AnimationEventName } from 'lottie-web';\n\nimport React, { memo, useEffect, useMemo, useState } from 'react';\n\nimport { LOTTIE } from '../../../../../../assets/lottie/lottie';\nimport LottieAnimation from '../../../../../ui/lottie-animation/lottie-animation';\nimport * as Styled from './table-segment-star-styled';\n\nconst settings = {\n loop: false,\n render: 'canvas',\n};\n\nconst TableSegmentStar: React.FC<ITableSegmentStarProps> = memo(\n ({ isStarAchieved, rewardStar }) => {\n const [animateStar, setAnimateStar] = useState(false);\n const [starRewarded, setStarRewarded] = useState(isStarAchieved && !rewardStar);\n\n const onAnimationFinish = useMemo(() => {\n return {\n name: 'complete' as AnimationEventName,\n callback: () => {\n setStarRewarded(true);\n setAnimateStar(false);\n },\n };\n }, []);\n\n useEffect(() => {\n let timer: ReturnType<typeof setTimeout>;\n\n if (isStarAchieved && rewardStar) {\n timer = setTimeout(() => {\n setAnimateStar(true);\n }, 1000);\n }\n\n return () => {\n timer && clearTimeout(timer);\n };\n }, [isStarAchieved, rewardStar]);\n\n return (\n <Styled.StarContainer>\n {animateStar && (\n <Styled.LottieContainer>\n <LottieAnimation\n src={LOTTIE.TABLE_SEGMENT_STAR}\n settings={settings}\n eventListener={onAnimationFinish}\n />\n </Styled.LottieContainer>\n )}\n {!animateStar && <Styled.TableStar $isStarAchieved={starRewarded} />}\n </Styled.StarContainer>\n );\n },\n);\n\nexport default TableSegmentStar;\n"],"names":["settings","TableSegmentStar","memo","isStarAchieved","rewardStar","animateStar","setAnimateStar","useState","starRewarded","setStarRewarded","onAnimationFinish","useMemo","useEffect","timer","jsxs","Styled.StarContainer","jsx","Styled.LottieContainer","LottieAnimation","LOTTIE","Styled.TableStar"],"mappings":";;;;;AASA,MAAMA,IAAW;AAAA,EACf,MAAM;AAAA,EACN,QAAQ;AACV,GAEMC,IAAqDC;AAAA,EACzD,CAAC,EAAE,gBAAAC,GAAgB,YAAAC,QAAiB;AAClC,UAAM,CAACC,GAAaC,CAAc,IAAIC,EAAS,EAAK,GAC9C,CAACC,GAAcC,CAAe,IAAIF,EAASJ,KAAkB,CAACC,CAAU,GAExEM,IAAoBC,EAAQ,OACzB;AAAA,MACL,MAAM;AAAA,MACN,UAAU,MAAM;AACd,QAAAF,EAAgB,EAAI,GACpBH,EAAe,EAAK;AAAA,MACtB;AAAA,IAAA,IAED,CAAE,CAAA;AAEL,WAAAM,EAAU,MAAM;AACV,UAAAC;AAEJ,aAAIV,KAAkBC,MACpBS,IAAQ,WAAW,MAAM;AACvB,QAAAP,EAAe,EAAI;AAAA,SAClB,GAAI,IAGF,MAAM;AACX,QAAAO,KAAS,aAAaA,CAAK;AAAA,MAAA;AAAA,IAC7B,GACC,CAACV,GAAgBC,CAAU,CAAC,GAG7B,gBAAAU,EAACC,GAAA,EACE,UAAA;AAAA,MACCV,KAAA,gBAAAW,EAACC,GAAA,EACC,UAAA,gBAAAD;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,KAAKC,EAAO;AAAA,UACZ,UAAAnB;AAAA,UACA,eAAeU;AAAA,QAAA;AAAA,MAAA,GAEnB;AAAA,MAED,CAACL,KAAe,gBAAAW,EAACI,GAAA,EAAiB,iBAAiBZ,EAAc,CAAA;AAAA,IACpE,EAAA,CAAA;AAAA,EAEJ;AACF;"}
@@ -2,15 +2,15 @@ import e, { keyframes as s } from "styled-components";
2
2
  import d from "../../../../ui/layout/flex-view.js";
3
3
  import { GAME_LAUNCHER_SIZE as o } from "../card-container/constants.js";
4
4
  import { TABLE_CARD_SHADOW_Z_INDEX as l, TABLE_MODE_CONTAINER_Z_INDEX as p, TABLE_MODE_OVERLAY_Z_INDEX as h, ABSOLUTE_VIEW_Z_INDEX as f, INFINITE_MODE_Z_INDEX as E, TABLE_REVEAL_ANIMATION as n } from "./constants.js";
5
- const a = 2 * Math.PI * (o / 2), r = 30, m = n.REVEAL_CONTENT[0] / r, $ = (n.REVEAL_CONTENT[1] - n.REVEAL_CONTENT[0]) / r, g = (n.DISAPPEAR_CONTENT[1] - n.DISAPPEAR_CONTENT[0]) / r, c = e.div`
5
+ const a = 2 * Math.PI * (o / 2), r = 30, g = n.REVEAL_CONTENT[0] / r, m = (n.REVEAL_CONTENT[1] - n.REVEAL_CONTENT[0]) / r, $ = (n.DISAPPEAR_CONTENT[1] - n.DISAPPEAR_CONTENT[0]) / r, c = e.div`
6
6
  position: relative;
7
7
  height: inherit;
8
8
  width: inherit;
9
- `, N = e(c)`
9
+ `, I = e(c)`
10
10
  display: flex;
11
11
  align-items: center;
12
12
  justify-content: center;
13
- `, I = e.div`
13
+ `, y = e.div`
14
14
  position: absolute;
15
15
  height: inherit;
16
16
  width: inherit;
@@ -23,7 +23,7 @@ const a = 2 * Math.PI * (o / 2), r = 30, m = n.REVEAL_CONTENT[0] / r, $ = (n.REV
23
23
  );
24
24
  z-index: ${l};
25
25
  pointer-events: none;
26
- `, y = e.div`
26
+ `, v = e.div`
27
27
  display: flex;
28
28
  flex-direction: column;
29
29
  justify-content: center;
@@ -64,7 +64,7 @@ const a = 2 * Math.PI * (o / 2), r = 30, m = n.REVEAL_CONTENT[0] / r, $ = (n.REV
64
64
  background: ${({ theme: t }) => t.colors.WHITE_5};
65
65
  }
66
66
  }
67
- `, v = e(d)`
67
+ `, w = e(d)`
68
68
  transform: rotate(${({ $angle: t }) => t}deg);
69
69
  width: 16px;
70
70
  height: 16px;
@@ -76,12 +76,12 @@ const a = 2 * Math.PI * (o / 2), r = 30, m = n.REVEAL_CONTENT[0] / r, $ = (n.REV
76
76
  width: inherit;
77
77
  top: 0;
78
78
  left: 0;
79
- `, w = e(c)``, L = e.div`
79
+ `, L = e(c)``, O = e.div`
80
80
  cursor: pointer;
81
81
  & svg {
82
82
  color: ${({ theme: t }) => t.colors.WHITE};
83
83
  }
84
- `, O = e.div`
84
+ `, D = e.div`
85
85
  position: absolute;
86
86
  height: inherit;
87
87
  width: inherit;
@@ -94,7 +94,7 @@ const a = 2 * Math.PI * (o / 2), r = 30, m = n.REVEAL_CONTENT[0] / r, $ = (n.REV
94
94
  &:hover {
95
95
  background-color: ${({ $hoverColor: t }) => t};
96
96
  }
97
- `, D = e.div`
97
+ `, _ = e.div`
98
98
  position: absolute;
99
99
  pointer-events: ${({ $isPointerEventsNone: t = !1 }) => t ? "none" : "auto"};
100
100
  top: ${({ $top: t = 0, $valueInPx: i }) => i ? `${t}px` : `${t}%`};
@@ -104,21 +104,24 @@ const a = 2 * Math.PI * (o / 2), r = 30, m = n.REVEAL_CONTENT[0] / r, $ = (n.REV
104
104
  display: flex;
105
105
  align-items: center;
106
106
  justify-content: center;
107
- `, _ = () => s`
107
+ `, B = e(_)`
108
+ width: 100%;
109
+ height: 100%;
110
+ `, u = () => s`
108
111
  from {
109
112
  opacity: 0;
110
113
  }
111
114
  to {
112
115
  opacity: 1;
113
116
  }
114
- `, T = () => s`
117
+ `, x = () => s`
115
118
  from {
116
119
  opacity: 1;
117
120
  }
118
121
  to {
119
122
  opacity: 0;
120
123
  }
121
- `, B = e.div`
124
+ `, R = e.div`
122
125
  position: absolute;
123
126
  height: inherit;
124
127
  width: inherit;
@@ -126,11 +129,11 @@ to {
126
129
  left: 0;
127
130
  opacity: 0;
128
131
  z-index: 1;
129
- animation: ${({ animation: t }) => t === "fade-in" ? _ : T}
130
- ${({ animation: t }) => t === "fade-in" ? $ : g}s
131
- ${({ animation: t }) => t === "fade-in" ? m : 0}s ease-in-out
132
+ animation: ${({ animation: t }) => t === "fade-in" ? u : x}
133
+ ${({ animation: t }) => t === "fade-in" ? m : $}s
134
+ ${({ animation: t }) => t === "fade-in" ? g : 0}s ease-in-out
132
135
  forwards;
133
- `, R = e.div`
136
+ `, S = e.div`
134
137
  position: relative;
135
138
  height: ${o * 24.5 / 100}px;
136
139
  width: ${o * 24.5 / 100}px;
@@ -138,17 +141,18 @@ to {
138
141
  cursor: pointer;
139
142
  `;
140
143
  export {
141
- D as AbsoluteView,
142
- B as AnimatedView,
144
+ _ as AbsoluteView,
145
+ R as AnimatedView,
143
146
  c as CardWrapper,
144
- L as IconWrapper,
145
- R as InfiniteButtonWrapper,
146
- O as ModeOverlay,
147
+ B as ExtendedAbsoluteView,
148
+ O as IconWrapper,
149
+ S as InfiniteButtonWrapper,
150
+ D as ModeOverlay,
147
151
  C as TableModeContainer,
148
- w as TableModeWrapper,
149
- v as TableNumber,
150
- y as TableSegment,
151
- I as TableSegmentCardShadowContainer,
152
- N as TableSegmentsWrapper
152
+ L as TableModeWrapper,
153
+ w as TableNumber,
154
+ v as TableSegment,
155
+ y as TableSegmentCardShadowContainer,
156
+ I as TableSegmentsWrapper
153
157
  };
154
158
  //# sourceMappingURL=tables-card-styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tables-card-styled.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/tables-card/tables-card-styled.tsx"],"sourcesContent":["import styled, { keyframes } from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport { GAME_LAUNCHER_SIZE } from '../card-container/constants';\nimport {\n ABSOLUTE_VIEW_Z_INDEX,\n INFINITE_MODE_Z_INDEX,\n TABLE_CARD_SHADOW_Z_INDEX,\n TABLE_MODE_CONTAINER_Z_INDEX,\n TABLE_MODE_OVERLAY_Z_INDEX,\n TABLE_REVEAL_ANIMATION,\n} from './constants';\n\nconst circumference = 2 * Math.PI * (GAME_LAUNCHER_SIZE / 2);\nconst FPS = 30;\n\nconst entryAnimationDelayTime = TABLE_REVEAL_ANIMATION.REVEAL_CONTENT[0] / FPS;\n\nconst entryAnimationTime =\n (TABLE_REVEAL_ANIMATION.REVEAL_CONTENT[1] - TABLE_REVEAL_ANIMATION.REVEAL_CONTENT[0]) / FPS;\nconst exitAnimationTime =\n (TABLE_REVEAL_ANIMATION.DISAPPEAR_CONTENT[1] - TABLE_REVEAL_ANIMATION.DISAPPEAR_CONTENT[0]) / FPS;\n\nexport const CardWrapper = styled.div`\n position: relative;\n height: inherit;\n width: inherit;\n`;\n\nexport const TableSegmentsWrapper = styled(CardWrapper)`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const TableSegmentCardShadowContainer = styled.div`\n position: absolute;\n height: inherit;\n width: inherit;\n top: 0;\n left: 0;\n background: radial-gradient(\n 50% 50% at 50% 50%,\n rgba(13, 13, 13, 0.5) 0%,\n rgba(13, 13, 13, 0) 100%\n );\n z-index: ${TABLE_CARD_SHADOW_Z_INDEX};\n pointer-events: none;\n`;\n\nexport const TableSegment = styled.div<{ $angle: number; $totalSegments: number; $zIndex: number }>`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: flex-end;\n flex: 1;\n transform: rotate(${({ $angle }) => $angle}deg);\n transform-origin: 0 50%;\n width: 50%;\n height: ${({ $totalSegments }) => circumference / $totalSegments}px;\n position: absolute;\n left: ${GAME_LAUNCHER_SIZE / 2}px;\n top: ${({ $totalSegments }) => (GAME_LAUNCHER_SIZE - circumference / $totalSegments) / 2}px;\n padding-right: ${GAME_LAUNCHER_SIZE * 0.0475}px;\n z-index: ${({ $zIndex }) => $zIndex || 1};\n background-color: ${({ theme }) => theme.colors.BLACK_1};\n clip-path: polygon(0% 50%, 100% 0%, 100% 100%);\n &:nth-child(2n) {\n background-color: ${({ theme }) => theme.colors.BLACK_3};\n }\n &::after {\n content: '';\n width: 100%;\n height: 2px;\n position: absolute;\n background: ${({ theme }) => theme.colors.BLACK_5};\n transform-style: preserve-3d;\n backface-visibility: hidden;\n transform-origin: left;\n transform: rotate(${({ $totalSegments }) => 360 / (2 * $totalSegments)}deg);\n left: 0;\n z-index: 1;\n }\n &:hover {\n background-color: ${({ theme }) => theme.colors.WHITE_T_60};\n color: ${({ theme }) => theme.colors.BLACK_1};\n cursor: pointer;\n &::after {\n background: ${({ theme }) => theme.colors.WHITE_5};\n }\n }\n`;\n\nexport const TableNumber = styled(FlexView)<{ $angle: number }>`\n transform: rotate(${({ $angle }) => $angle}deg);\n width: 16px;\n height: 16px;\n align-items: center;\n`;\n\nexport const TableModeContainer = styled.div`\n position: absolute;\n z-index: ${TABLE_MODE_CONTAINER_Z_INDEX};\n height: inherit;\n width: inherit;\n top: 0;\n left: 0;\n`;\n\nexport const TableModeWrapper = styled(CardWrapper)``;\n\nexport const IconWrapper = styled.div`\n cursor: pointer;\n & svg {\n color: ${({ theme }) => theme.colors.WHITE};\n }\n`;\n\nexport const ModeOverlay = styled.div<{ $top?: string; $left?: string; $hoverColor: string }>`\n position: absolute;\n height: inherit;\n width: inherit;\n height: ${(81.08 * GAME_LAUNCHER_SIZE) / 100}px;\n width: ${(81.08 * GAME_LAUNCHER_SIZE) / 100}px;\n border-radius: 100%;\n transform: ${({ $top = '50%', $left = '50%' }) => `translate(${$left}, ${$top})`};\n z-index: ${TABLE_MODE_OVERLAY_Z_INDEX};\n cursor: pointer;\n &:hover {\n background-color: ${({ $hoverColor }) => $hoverColor};\n }\n`;\n\nexport const AbsoluteView = styled.div<{\n $top?: number;\n $left?: number;\n $alignCenter?: boolean;\n $valueInPx?: boolean;\n $isPointerEventsNone?: boolean;\n}>`\n position: absolute;\n pointer-events: ${({ $isPointerEventsNone = false }) => ($isPointerEventsNone ? 'none' : 'auto')};\n top: ${({ $top = 0, $valueInPx }) => ($valueInPx ? `${$top}px` : `${$top}%`)};\n left: ${({ $left = 0, $valueInPx }) => ($valueInPx ? `${$left}px` : `${$left}%`)};\n z-index: ${ABSOLUTE_VIEW_Z_INDEX};\n transform: ${({ $alignCenter }) => ($alignCenter ? 'translate(-50%, -50%)' : 'none')};\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst fadeIn = () => keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n `;\n\nconst fadeOut = () => keyframes`\nfrom {\n opacity: 1;\n}\nto {\n opacity: 0;\n}\n`;\n\nexport const AnimatedView = styled.div<{ animation: 'fade-in' | 'fade-out' }>`\n position: absolute;\n height: inherit;\n width: inherit;\n top: 0;\n left: 0;\n opacity: 0;\n z-index: 1;\n animation: ${({ animation }) => (animation === 'fade-in' ? fadeIn : fadeOut)}\n ${({ animation }) => (animation === 'fade-in' ? entryAnimationTime : exitAnimationTime)}s\n ${({ animation }) => (animation === 'fade-in' ? entryAnimationDelayTime : 0)}s ease-in-out\n forwards;\n`;\n\nexport const InfiniteButtonWrapper = styled.div`\n position: relative;\n height: ${(GAME_LAUNCHER_SIZE * 24.5) / 100}px;\n width: ${(GAME_LAUNCHER_SIZE * 24.5) / 100}px;\n z-index: ${INFINITE_MODE_Z_INDEX};\n cursor: pointer;\n`;\n"],"names":["circumference","GAME_LAUNCHER_SIZE","FPS","entryAnimationDelayTime","TABLE_REVEAL_ANIMATION","entryAnimationTime","exitAnimationTime","CardWrapper","styled","TableSegmentsWrapper","TableSegmentCardShadowContainer","TABLE_CARD_SHADOW_Z_INDEX","TableSegment","$angle","$totalSegments","$zIndex","theme","TableNumber","FlexView","TableModeContainer","TABLE_MODE_CONTAINER_Z_INDEX","TableModeWrapper","IconWrapper","ModeOverlay","$top","$left","TABLE_MODE_OVERLAY_Z_INDEX","$hoverColor","AbsoluteView","$isPointerEventsNone","$valueInPx","ABSOLUTE_VIEW_Z_INDEX","$alignCenter","fadeIn","keyframes","fadeOut","AnimatedView","animation","InfiniteButtonWrapper","INFINITE_MODE_Z_INDEX"],"mappings":"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"}
1
+ {"version":3,"file":"tables-card-styled.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/tables-card/tables-card-styled.tsx"],"sourcesContent":["import styled, { keyframes } from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport { GAME_LAUNCHER_SIZE } from '../card-container/constants';\nimport {\n ABSOLUTE_VIEW_Z_INDEX,\n INFINITE_MODE_Z_INDEX,\n TABLE_CARD_SHADOW_Z_INDEX,\n TABLE_MODE_CONTAINER_Z_INDEX,\n TABLE_MODE_OVERLAY_Z_INDEX,\n TABLE_REVEAL_ANIMATION,\n} from './constants';\n\nconst circumference = 2 * Math.PI * (GAME_LAUNCHER_SIZE / 2);\nconst FPS = 30;\n\nconst entryAnimationDelayTime = TABLE_REVEAL_ANIMATION.REVEAL_CONTENT[0] / FPS;\n\nconst entryAnimationTime =\n (TABLE_REVEAL_ANIMATION.REVEAL_CONTENT[1] - TABLE_REVEAL_ANIMATION.REVEAL_CONTENT[0]) / FPS;\nconst exitAnimationTime =\n (TABLE_REVEAL_ANIMATION.DISAPPEAR_CONTENT[1] - TABLE_REVEAL_ANIMATION.DISAPPEAR_CONTENT[0]) / FPS;\n\nexport const CardWrapper = styled.div`\n position: relative;\n height: inherit;\n width: inherit;\n`;\n\nexport const TableSegmentsWrapper = styled(CardWrapper)`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const TableSegmentCardShadowContainer = styled.div`\n position: absolute;\n height: inherit;\n width: inherit;\n top: 0;\n left: 0;\n background: radial-gradient(\n 50% 50% at 50% 50%,\n rgba(13, 13, 13, 0.5) 0%,\n rgba(13, 13, 13, 0) 100%\n );\n z-index: ${TABLE_CARD_SHADOW_Z_INDEX};\n pointer-events: none;\n`;\n\nexport const TableSegment = styled.div<{ $angle: number; $totalSegments: number; $zIndex: number }>`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: flex-end;\n flex: 1;\n transform: rotate(${({ $angle }) => $angle}deg);\n transform-origin: 0 50%;\n width: 50%;\n height: ${({ $totalSegments }) => circumference / $totalSegments}px;\n position: absolute;\n left: ${GAME_LAUNCHER_SIZE / 2}px;\n top: ${({ $totalSegments }) => (GAME_LAUNCHER_SIZE - circumference / $totalSegments) / 2}px;\n padding-right: ${GAME_LAUNCHER_SIZE * 0.0475}px;\n z-index: ${({ $zIndex }) => $zIndex || 1};\n background-color: ${({ theme }) => theme.colors.BLACK_1};\n clip-path: polygon(0% 50%, 100% 0%, 100% 100%);\n &:nth-child(2n) {\n background-color: ${({ theme }) => theme.colors.BLACK_3};\n }\n &::after {\n content: '';\n width: 100%;\n height: 2px;\n position: absolute;\n background: ${({ theme }) => theme.colors.BLACK_5};\n transform-style: preserve-3d;\n backface-visibility: hidden;\n transform-origin: left;\n transform: rotate(${({ $totalSegments }) => 360 / (2 * $totalSegments)}deg);\n left: 0;\n z-index: 1;\n }\n &:hover {\n background-color: ${({ theme }) => theme.colors.WHITE_T_60};\n color: ${({ theme }) => theme.colors.BLACK_1};\n cursor: pointer;\n &::after {\n background: ${({ theme }) => theme.colors.WHITE_5};\n }\n }\n`;\n\nexport const TableNumber = styled(FlexView)<{ $angle: number }>`\n transform: rotate(${({ $angle }) => $angle}deg);\n width: 16px;\n height: 16px;\n align-items: center;\n`;\n\nexport const TableModeContainer = styled.div`\n position: absolute;\n z-index: ${TABLE_MODE_CONTAINER_Z_INDEX};\n height: inherit;\n width: inherit;\n top: 0;\n left: 0;\n`;\n\nexport const TableModeWrapper = styled(CardWrapper)``;\n\nexport const IconWrapper = styled.div`\n cursor: pointer;\n & svg {\n color: ${({ theme }) => theme.colors.WHITE};\n }\n`;\n\nexport const ModeOverlay = styled.div<{ $top?: string; $left?: string; $hoverColor: string }>`\n position: absolute;\n height: inherit;\n width: inherit;\n height: ${(81.08 * GAME_LAUNCHER_SIZE) / 100}px;\n width: ${(81.08 * GAME_LAUNCHER_SIZE) / 100}px;\n border-radius: 100%;\n transform: ${({ $top = '50%', $left = '50%' }) => `translate(${$left}, ${$top})`};\n z-index: ${TABLE_MODE_OVERLAY_Z_INDEX};\n cursor: pointer;\n &:hover {\n background-color: ${({ $hoverColor }) => $hoverColor};\n }\n`;\n\nexport const AbsoluteView = styled.div<{\n $top?: number;\n $left?: number;\n $alignCenter?: boolean;\n $valueInPx?: boolean;\n $isPointerEventsNone?: boolean;\n}>`\n position: absolute;\n pointer-events: ${({ $isPointerEventsNone = false }) => ($isPointerEventsNone ? 'none' : 'auto')};\n top: ${({ $top = 0, $valueInPx }) => ($valueInPx ? `${$top}px` : `${$top}%`)};\n left: ${({ $left = 0, $valueInPx }) => ($valueInPx ? `${$left}px` : `${$left}%`)};\n z-index: ${ABSOLUTE_VIEW_Z_INDEX};\n transform: ${({ $alignCenter }) => ($alignCenter ? 'translate(-50%, -50%)' : 'none')};\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const ExtendedAbsoluteView = styled(AbsoluteView)`\n width: 100%;\n height: 100%;\n`;\n\nconst fadeIn = () => keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n `;\n\nconst fadeOut = () => keyframes`\nfrom {\n opacity: 1;\n}\nto {\n opacity: 0;\n}\n`;\n\nexport const AnimatedView = styled.div<{ animation: 'fade-in' | 'fade-out' }>`\n position: absolute;\n height: inherit;\n width: inherit;\n top: 0;\n left: 0;\n opacity: 0;\n z-index: 1;\n animation: ${({ animation }) => (animation === 'fade-in' ? fadeIn : fadeOut)}\n ${({ animation }) => (animation === 'fade-in' ? entryAnimationTime : exitAnimationTime)}s\n ${({ animation }) => (animation === 'fade-in' ? entryAnimationDelayTime : 0)}s ease-in-out\n forwards;\n`;\n\nexport const InfiniteButtonWrapper = styled.div`\n position: relative;\n height: ${(GAME_LAUNCHER_SIZE * 24.5) / 100}px;\n width: ${(GAME_LAUNCHER_SIZE * 24.5) / 100}px;\n z-index: ${INFINITE_MODE_Z_INDEX};\n cursor: pointer;\n`;\n"],"names":["circumference","GAME_LAUNCHER_SIZE","FPS","entryAnimationDelayTime","TABLE_REVEAL_ANIMATION","entryAnimationTime","exitAnimationTime","CardWrapper","styled","TableSegmentsWrapper","TableSegmentCardShadowContainer","TABLE_CARD_SHADOW_Z_INDEX","TableSegment","$angle","$totalSegments","$zIndex","theme","TableNumber","FlexView","TableModeContainer","TABLE_MODE_CONTAINER_Z_INDEX","TableModeWrapper","IconWrapper","ModeOverlay","$top","$left","TABLE_MODE_OVERLAY_Z_INDEX","$hoverColor","AbsoluteView","$isPointerEventsNone","$valueInPx","ABSOLUTE_VIEW_Z_INDEX","$alignCenter","ExtendedAbsoluteView","fadeIn","keyframes","fadeOut","AnimatedView","animation","InfiniteButtonWrapper","INFINITE_MODE_Z_INDEX"],"mappings":"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"}
@@ -1,83 +1,82 @@
1
1
  import { jsx as t, jsxs as a } from "react/jsx-runtime";
2
- import Ae, { forwardRef as be, useState as o, useRef as N, useCallback as i, useMemo as z, useImperativeHandle as Ee, useEffect as K, memo as ge } from "react";
3
- import Ne from "../../../../../assets/line-icons/icons/back2.js";
4
- import { LOTTIE as R } from "../../../../../assets/lottie/lottie.js";
5
- import pe from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
6
- import { useUIContext as Ce } from "../../../../ui/context/context.js";
7
- import Se from "../../../../ui/layout/flex-view.js";
8
- import w from "../../../../ui/lottie-animation/lottie-animation.js";
2
+ import be, { forwardRef as Ee, useState as o, useRef as N, useCallback as i, useMemo as Y, useImperativeHandle as ge, useEffect as Z, memo as Ne } from "react";
3
+ import pe from "../../../../../assets/line-icons/icons/back2.js";
4
+ import { LOTTIE as $ } from "../../../../../assets/lottie/lottie.js";
5
+ import Ce from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
6
+ import { useUIContext as Se } from "../../../../ui/context/context.js";
7
+ import ve from "../../../../ui/layout/flex-view.js";
8
+ import R from "../../../../ui/lottie-animation/lottie-animation.js";
9
9
  import Ie from "../../../../ui/separator/separator.js";
10
- import F from "../../../../ui/text/text.js";
10
+ import z from "../../../../ui/text/text.js";
11
11
  import { useCircleSounds as Le } from "../../../hooks/use-circle-sounds/use-circle-sounds.js";
12
12
  import { GAME_LAUNCHER_ANALYTICS_EVENTS as fe } from "../../game-launcher-analytics-events.js";
13
- import { CardContainer as ve } from "../card-container/card-container.js";
14
- import { GAME_LAUNCHER_SIZE as p, GAME_LAUNCHER_SIZE_LARGE as _e } from "../card-container/constants.js";
15
- import { TABLE_REVEAL_ANIMATION as C, TABLE_MODE_LABEL_COLOR as Te } from "./constants.js";
16
- import He from "./table-mode/table-mode.js";
17
- import $e from "./table-segment-star/table-segment-star.js";
18
- import { CardWrapper as Re, TableSegmentsWrapper as we, InfiniteButtonWrapper as ye, AbsoluteView as S, TableSegmentCardShadowContainer as We, TableSegment as Be, TableNumber as De, TableModeContainer as Pe, TableModeWrapper as ke, AnimatedView as Ve, ModeOverlay as xe, IconWrapper as Ue } from "./tables-card-styled.js";
19
- const y = {
20
- renderer: "svg"
21
- }, qe = {
13
+ import { CardContainer as _e } from "../card-container/card-container.js";
14
+ import { GAME_LAUNCHER_SIZE as p, GAME_LAUNCHER_SIZE_LARGE as Te } from "../card-container/constants.js";
15
+ import { TABLE_REVEAL_ANIMATION as C, TABLE_MODE_LABEL_COLOR as He } from "./constants.js";
16
+ import $e from "./table-mode/table-mode.js";
17
+ import Re from "./table-segment-star/table-segment-star.js";
18
+ import { CardWrapper as we, TableSegmentsWrapper as We, InfiniteButtonWrapper as ye, ExtendedAbsoluteView as K, TableSegmentCardShadowContainer as Be, TableSegment as De, TableNumber as Pe, TableModeContainer as Ve, TableModeWrapper as ke, AnimatedView as xe, ModeOverlay as Ue, AbsoluteView as F, IconWrapper as qe } from "./tables-card-styled.js";
19
+ const G = {
20
+ renderer: "canvas"
21
+ }, je = {
22
22
  loop: !1,
23
- autoplay: !1,
24
- ...y
25
- }, je = be(
23
+ renderer: "svg"
24
+ }, Ye = Ee(
26
25
  ({
27
26
  data: l,
28
- label: W,
27
+ label: w,
29
28
  onPress: b,
30
29
  openModesOfTable: r,
31
30
  defaultTable: E,
32
31
  onGoBackFromTableLevel: g,
33
- onPressTableSegment: I
34
- }, G) => {
35
- var Y;
36
- const { onEvent: B } = Ce(), { playButtonSound: m } = Le(), [u, L] = o(!0), [d, h] = o(
32
+ onPressTableSegment: S
33
+ }, J) => {
34
+ var q;
35
+ const { onEvent: W } = Se(), { playButtonSound: m } = Le(), [u, v] = o(!0), [d, h] = o(
37
36
  (r == null ? void 0 : r.tableNumber) ?? null
38
- ), [f, D] = o(null), [J, A] = o("WHITE_T_60"), [c, v] = o({
39
- stars: ((Y = l.tableList.find((e) => e.tableNumber === (r == null ? void 0 : r.tableNumber))) == null ? void 0 : Y.stars) ?? [],
37
+ ), [I, y] = o(null), [Q, A] = o("WHITE_T_60"), [c, L] = o({
38
+ stars: ((q = l.tableList.find((e) => e.tableNumber === (r == null ? void 0 : r.tableNumber))) == null ? void 0 : q.stars) ?? [],
40
39
  tableNumber: (r == null ? void 0 : r.tableNumber) ?? 0
41
- }), [Q, X] = o(!0), [_, P] = o(!1), [k, M] = o("WHITE_T_60"), V = N(null), x = N(null), [U, O] = o((r == null ? void 0 : r.rewardStar) ?? []), [q] = o(!1), T = N(null), H = N(), j = i(
40
+ }), [X, M] = o(!0), [f, B] = o(!1), [D, O] = o("WHITE_T_60"), P = N(null), V = N(null), [k, ee] = o((r == null ? void 0 : r.rewardStar) ?? []), [x] = o(!1), _ = N(null), T = N(), U = i(
42
41
  (e) => {
43
- if (I) {
44
- I(e);
42
+ if (S) {
43
+ S(e);
45
44
  return;
46
45
  }
47
- m(), L(!0), h(e.tableNumber), v({ ...e }), O([]), B(fe.TABLE_SELECTED, {
46
+ m(), v(!0), h(e.tableNumber), L({ ...e }), ee([]), W(fe.TABLE_SELECTED, {
48
47
  meta: {
49
48
  table_of: e.tableNumber
50
49
  }
51
50
  });
52
51
  },
53
- [I, m, B]
54
- ), ee = i(
52
+ [S, m, W]
53
+ ), te = i(
55
54
  (e) => {
56
- A(_ ? k : "WHITE_T_60"), h(e.tableNumber);
55
+ A(f ? D : "WHITE_T_60"), h(e.tableNumber);
57
56
  },
58
- [k, _]
59
- ), te = i(() => {
57
+ [D, f]
58
+ ), re = i(() => {
60
59
  A("WHITE_T_60"), !c.tableNumber && h(null);
61
- }, [c.tableNumber]), re = i(() => {
60
+ }, [c.tableNumber]), ie = i(() => {
62
61
  var n;
63
- g == null || g(), m(), L(!1), h(null);
62
+ g == null || g(), m(), v(!1), h(null);
64
63
  const e = (C.DISAPPEAR[1] - C.DISAPPEAR[0]) / 30;
65
- (n = T.current) == null || n.playSegments(C.DISAPPEAR, !0), H.current = setTimeout(() => {
66
- v({ stars: [], tableNumber: 0 });
64
+ (n = _.current) == null || n.playSegments(C.DISAPPEAR, !0), T.current = setTimeout(() => {
65
+ L({ stars: [], tableNumber: 0 });
67
66
  }, e * 1e3);
68
- }, [g, m]), ie = i(() => {
67
+ }, [g, m]), ne = i(() => {
69
68
  var e;
70
- (e = T.current) == null || e.playSegments(C.REVEAL, !0);
71
- }, []), ne = i((e) => {
69
+ (e = _.current) == null || e.playSegments(C.REVEAL, !0);
70
+ }, []), oe = i((e) => {
72
71
  const n = {
73
72
  sequence: 1,
74
73
  random: 2,
75
74
  advance: 3
76
75
  };
77
- A(Te[e] ?? "WHITE_T_60"), D(n[e] ?? 0);
78
- }, []), oe = i(() => {
79
- D(null), A("WHITE_T_60");
80
- }, []), s = z(() => c, [c]), se = z(() => [
76
+ A(He[e] ?? "WHITE_T_60"), y(n[e] ?? 0);
77
+ }, []), se = i(() => {
78
+ y(null), A("WHITE_T_60");
79
+ }, []), s = Y(() => c, [c]), le = Y(() => [
81
80
  {
82
81
  top: 20,
83
82
  left: 10.5,
@@ -108,12 +107,12 @@ const y = {
108
107
  semicirclePosiiionLeft: "11%",
109
108
  semicircleHoverColor: "#A9099C4D"
110
109
  }
111
- ], [s.tableNumber, s.stars]), le = i(() => {
110
+ ], [s.tableNumber, s.stars]), ce = i(() => {
112
111
  b({
113
112
  mode: "infinite",
114
113
  infiniteModeHighScore: l.infiniteModeHighScore
115
114
  });
116
- }, [b, l.infiniteModeHighScore]), ce = i(
115
+ }, [b, l.infiniteModeHighScore]), ae = i(
117
116
  (e, n) => {
118
117
  b({
119
118
  mode: e,
@@ -122,57 +121,57 @@ const y = {
122
121
  });
123
122
  },
124
123
  [b, c.tableNumber]
125
- ), ae = i(() => f ? `${d}× LEVEL${f}` : d ? `${d}× Table` : W, [f, d, W]), me = i((e) => {
126
- A(e), M(e), P(!0);
127
- }, []), ue = i(() => P(!1), []), de = i((e) => X(e), []);
128
- return Ee(G, () => ({
129
- labelRef: V,
130
- segmentedCardWrapperRef: x,
131
- startLabelAnimation: me,
132
- stopLabelAnimation: ue,
133
- setLabelVisiblity: de,
134
- handleTableSegmentClick: j
135
- })), K(() => () => {
136
- H.current && clearTimeout(H.current);
137
- }, []), K(() => {
138
- E && (m(), L(!0), h(E.tableNumber), v({ ...E }));
124
+ ), me = i(() => I ? `${d}× LEVEL${I}` : d ? `${d}× Table` : w, [I, d, w]), ue = i((e) => {
125
+ A(e), O(e), B(!0);
126
+ }, []), de = i(() => B(!1), []), he = i((e) => M(e), []);
127
+ return ge(J, () => ({
128
+ labelRef: P,
129
+ segmentedCardWrapperRef: V,
130
+ startLabelAnimation: ue,
131
+ stopLabelAnimation: de,
132
+ setLabelVisiblity: he,
133
+ handleTableSegmentClick: U
134
+ })), Z(() => () => {
135
+ T.current && clearTimeout(T.current);
136
+ }, []), Z(() => {
137
+ E && (m(), v(!0), h(E.tableNumber), L({ ...E }));
139
138
  }, [E, m]), /* @__PURE__ */ t(
140
- ve,
139
+ _e,
141
140
  {
142
- labelRef: V,
143
- ref: x,
141
+ labelRef: P,
142
+ ref: V,
144
143
  strokeColor: "WHITE",
145
- label: ae(),
146
- labelColor: J,
147
- isAnimated: _,
148
- showLabel: Q,
149
- children: /* @__PURE__ */ a(Re, { children: [
150
- /* @__PURE__ */ a(we, { children: [
144
+ label: me(),
145
+ labelColor: Q,
146
+ isAnimated: f,
147
+ showLabel: X,
148
+ children: /* @__PURE__ */ a(we, { children: [
149
+ /* @__PURE__ */ a(We, { children: [
151
150
  /* @__PURE__ */ t(
152
- pe,
151
+ Ce,
153
152
  {
154
153
  renderAs: "primary",
155
154
  position: "top",
156
- hidden: q,
157
- tooltipItem: /* @__PURE__ */ t(F, { $renderAs: "ab3", $color: "WHITE", children: "Coming Soon" }),
155
+ hidden: x,
156
+ tooltipItem: /* @__PURE__ */ t(z, { $renderAs: "ab3", $color: "WHITE", children: "Coming Soon" }),
158
157
  children: /* @__PURE__ */ a(
159
158
  ye,
160
159
  {
161
- onClick: q ? le : void 0,
160
+ onClick: x ? ce : void 0,
162
161
  children: [
163
- /* @__PURE__ */ t(S, { children: /* @__PURE__ */ t(
164
- w,
162
+ /* @__PURE__ */ t(K, { children: /* @__PURE__ */ t(
163
+ R,
165
164
  {
166
- src: R.INFINITE_BUTTON_BG,
167
- settings: y,
165
+ src: $.INFINITE_BUTTON_BG,
166
+ settings: G,
168
167
  animateOnIntersect: !0
169
168
  }
170
169
  ) }),
171
- /* @__PURE__ */ t(S, { children: /* @__PURE__ */ t(
172
- w,
170
+ /* @__PURE__ */ t(K, { children: /* @__PURE__ */ t(
171
+ R,
173
172
  {
174
- src: R.INFINITE_BUTTON_SYMBOL,
175
- settings: y,
173
+ src: $.INFINITE_BUTTON_SYMBOL,
174
+ settings: G,
176
175
  animateOnIntersect: !0
177
176
  }
178
177
  ) })
@@ -181,32 +180,32 @@ const y = {
181
180
  )
182
181
  }
183
182
  ),
184
- /* @__PURE__ */ t(We, {}),
183
+ /* @__PURE__ */ t(Be, {}),
185
184
  l.tableList.map((e, n) => {
186
- const he = 360 / l.tableList.length, Z = -(90 + 360 / (2 * l.tableList.length)) + he * (n + 1);
185
+ const Ae = 360 / l.tableList.length, j = -(90 + 360 / (2 * l.tableList.length)) + Ae * (n + 1);
187
186
  return /* @__PURE__ */ t(
188
- Be,
187
+ De,
189
188
  {
190
- $angle: Z,
189
+ $angle: j,
191
190
  $totalSegments: l.tableList.length,
192
191
  $zIndex: n + 1,
193
- onClick: () => j(e),
194
- onMouseOver: () => ee(e),
195
- onMouseLeave: te,
196
- children: /* @__PURE__ */ a(Se, { $flexDirection: "row", $justifyContent: "center", $alignItems: "center", children: [
197
- ["sequence", "random", "advance"].map(($) => /* @__PURE__ */ t(
198
- $e,
192
+ onClick: () => U(e),
193
+ onMouseOver: () => te(e),
194
+ onMouseLeave: re,
195
+ children: /* @__PURE__ */ a(ve, { $flexDirection: "row", $justifyContent: "center", $alignItems: "center", children: [
196
+ ["sequence", "random", "advance"].map((H) => /* @__PURE__ */ t(
197
+ Re,
199
198
  {
200
- isStarAchieved: e.stars.includes($),
201
- rewardStar: !u && (r == null ? void 0 : r.tableNumber) === e.tableNumber ? U.includes($) : void 0
199
+ isStarAchieved: e.stars.includes(H),
200
+ rewardStar: !u && (r == null ? void 0 : r.tableNumber) === e.tableNumber ? k.includes(H) : void 0
202
201
  },
203
- $
202
+ H
204
203
  )),
205
204
  /* @__PURE__ */ t(Ie, { width: p * 0.055 }),
206
- /* @__PURE__ */ t(De, { $angle: -Z, children: /* @__PURE__ */ t(
207
- F,
205
+ /* @__PURE__ */ t(Pe, { $angle: -j, children: /* @__PURE__ */ t(
206
+ z,
208
207
  {
209
- $renderAs: p === _e ? "ac3-black" : "ac4-black",
208
+ $renderAs: p === Te ? "ac3-black" : "ac4-black",
210
209
  $color: d === e.tableNumber ? "BLACK_1" : "WHITE",
211
210
  children: e.tableNumber
212
211
  }
@@ -217,54 +216,54 @@ const y = {
217
216
  );
218
217
  })
219
218
  ] }),
220
- c.tableNumber > 0 && /* @__PURE__ */ t(Pe, { children: /* @__PURE__ */ a(ke, { children: [
221
- /* @__PURE__ */ a(Ve, { animation: u ? "fade-in" : "fade-out", children: [
222
- se.map((e, n) => /* @__PURE__ */ a(Ae.Fragment, { children: [
219
+ c.tableNumber > 0 && /* @__PURE__ */ t(Ve, { children: /* @__PURE__ */ a(ke, { children: [
220
+ /* @__PURE__ */ a(xe, { animation: u ? "fade-in" : "fade-out", children: [
221
+ le.map((e, n) => /* @__PURE__ */ a(be.Fragment, { children: [
223
222
  /* @__PURE__ */ t(
224
- xe,
223
+ Ue,
225
224
  {
226
225
  $top: e.semicirclePosiiionTop,
227
226
  $left: e.semicirclePosiiionLeft,
228
227
  $hoverColor: e.semicircleHoverColor,
229
- onClick: () => u ? ce(e.type, e.isStarAchieved) : void 0,
230
- onMouseOver: () => u ? ne(e.type) : void 0,
231
- onMouseLeave: u ? oe : void 0
228
+ onClick: () => u ? ae(e.type, e.isStarAchieved) : void 0,
229
+ onMouseOver: () => u ? oe(e.type) : void 0,
230
+ onMouseLeave: u ? se : void 0
232
231
  }
233
232
  ),
234
233
  /* @__PURE__ */ t(
235
- S,
234
+ F,
236
235
  {
237
236
  $top: e.top,
238
237
  $left: e.left,
239
238
  $isPointerEventsNone: !0,
240
239
  children: /* @__PURE__ */ t(
241
- He,
240
+ $e,
242
241
  {
243
242
  tableNumber: e.tableNumber,
244
243
  isStarAchieved: e.isStarAchieved,
245
244
  type: e.type,
246
- rewardStar: U.includes(e.type)
245
+ rewardStar: k.includes(e.type)
247
246
  }
248
247
  )
249
248
  }
250
249
  )
251
250
  ] }, n)),
252
- /* @__PURE__ */ t(S, { $top: 50, $left: 50, $alignCenter: !0, children: /* @__PURE__ */ t(Ue, { children: /* @__PURE__ */ t(
253
- Ne,
251
+ /* @__PURE__ */ t(F, { $top: 50, $left: 50, $alignCenter: !0, children: /* @__PURE__ */ t(qe, { children: /* @__PURE__ */ t(
252
+ pe,
254
253
  {
255
- onClick: re,
254
+ onClick: ie,
256
255
  height: p * 0.1,
257
256
  width: p * 0.1
258
257
  }
259
258
  ) }) })
260
259
  ] }),
261
260
  /* @__PURE__ */ t(
262
- w,
261
+ R,
263
262
  {
264
- src: R.TABLE_MODE_REVEAL,
265
- ref: T,
266
- settings: qe,
267
- onRender: ie,
263
+ src: $.TABLE_MODE_REVEAL,
264
+ ref: _,
265
+ overrideSettings: je,
266
+ onRender: ne,
268
267
  animateOnIntersect: !0
269
268
  }
270
269
  )
@@ -273,8 +272,8 @@ const y = {
273
272
  }
274
273
  );
275
274
  }
276
- ), ct = ge(je);
275
+ ), at = Ne(Ye);
277
276
  export {
278
- ct as TablesCard
277
+ at as TablesCard
279
278
  };
280
279
  //# sourceMappingURL=tables-card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tables-card.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/tables-card/tables-card.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport type { TColorNames } from '../../../../ui/types';\nimport type {\n ITableInfo,\n TTableMode,\n} from '../../dal/use-get-circle-home-details-dal/use-get-circle-home-dal-types';\nimport type { ITableCardRef, ITablesCardProps } from './tables-card-types';\n\nimport React, {\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport Back2Icon from '../../../../../assets/line-icons/icons/back2';\nimport { LOTTIE } from '../../../../../assets/lottie/lottie';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport { useUIContext } from '../../../../ui/context/context';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport { useCircleSounds } from '../../../hooks/use-circle-sounds/use-circle-sounds';\nimport { GAME_LAUNCHER_ANALYTICS_EVENTS } from '../../game-launcher-analytics-events';\nimport { CardContainer } from '../card-container/card-container';\nimport { GAME_LAUNCHER_SIZE, GAME_LAUNCHER_SIZE_LARGE } from '../card-container/constants';\nimport { TABLE_MODE_LABEL_COLOR, TABLE_REVEAL_ANIMATION } from './constants';\nimport TableMode from './table-mode/table-mode';\nimport TableSegmentStar from './table-segment-star/table-segment-star';\nimport * as Styled from './tables-card-styled';\n\nconst rendererSettings = {\n renderer: 'svg',\n};\n\nconst animationSettings = {\n loop: false,\n autoplay: false,\n ...rendererSettings,\n};\n\nconst TablesCardComponent = forwardRef<ITableCardRef, ITablesCardProps>(\n (\n {\n data,\n label,\n onPress,\n openModesOfTable,\n defaultTable,\n onGoBackFromTableLevel,\n onPressTableSegment,\n },\n ref,\n ) => {\n const { onEvent: trackEvent } = useUIContext();\n const { playButtonSound } = useCircleSounds();\n const [fadeIn, setFadeIn] = useState(true);\n const [highlightedTable, setHighlightedTable] = useState<number | null>(\n openModesOfTable?.tableNumber ?? null,\n );\n const [highlightedLevel, setHighlightedLevel] = useState<number | null>(null);\n const [labelColor, setLabelColor] = useState<TColorNames>('WHITE_T_60');\n const [revealTableModes, setRevealTableModes] = useState<ITableInfo>({\n stars:\n data.tableList.find(table => table.tableNumber === openModesOfTable?.tableNumber)?.stars ??\n [],\n tableNumber: openModesOfTable?.tableNumber ?? 0,\n });\n\n const [showLabel, setShowLabel] = useState(true);\n const [isLabelAnimated, setIsLabelAnimated] = useState(false);\n const [animatedColor, setAniimatedColor] = useState<TColorNames>('WHITE_T_60');\n\n const labelRef = useRef<HTMLDivElement>(null);\n const cardRef = useRef<HTMLDivElement>(null);\n\n const [rewardStar, setRewardStar] = useState(openModesOfTable?.rewardStar ?? []);\n const [enableInfiniteMode] = useState(false);\n\n const revealAnimationRef = useRef<ILottieAnimationRef | null>(null);\n const disappearAnimationTimer = useRef<ReturnType<typeof setTimeout>>();\n\n const handleTableSegmentClick = useCallback(\n (table: ITableInfo) => {\n if (onPressTableSegment) {\n onPressTableSegment(table);\n\n return;\n }\n playButtonSound();\n setFadeIn(true);\n setHighlightedTable(table.tableNumber);\n setRevealTableModes({ ...table });\n setRewardStar([]);\n trackEvent(GAME_LAUNCHER_ANALYTICS_EVENTS.TABLE_SELECTED, {\n meta: {\n table_of: table.tableNumber,\n },\n });\n },\n [onPressTableSegment, playButtonSound, trackEvent],\n );\n\n const handleTableSegmentMouseOver = useCallback(\n (table: ITableInfo) => {\n setLabelColor(isLabelAnimated ? animatedColor : 'WHITE_T_60');\n setHighlightedTable(table.tableNumber);\n },\n [animatedColor, isLabelAnimated],\n );\n\n const handleTableSegmentMouseLeave = useCallback(() => {\n setLabelColor('WHITE_T_60');\n !revealTableModes.tableNumber && setHighlightedTable(null);\n }, [revealTableModes.tableNumber]);\n\n const goBack = useCallback(() => {\n onGoBackFromTableLevel?.();\n playButtonSound();\n setFadeIn(false);\n setHighlightedTable(null);\n const time = (TABLE_REVEAL_ANIMATION.DISAPPEAR[1] - TABLE_REVEAL_ANIMATION.DISAPPEAR[0]) / 30;\n\n revealAnimationRef.current?.playSegments(TABLE_REVEAL_ANIMATION.DISAPPEAR, true);\n disappearAnimationTimer.current = setTimeout(() => {\n setRevealTableModes({ stars: [], tableNumber: 0 });\n }, time * 1000);\n }, [onGoBackFromTableLevel, playButtonSound]);\n\n const showTableModes = useCallback(() => {\n revealAnimationRef.current?.playSegments(TABLE_REVEAL_ANIMATION.REVEAL, true);\n }, []);\n\n const handleModeMouseOver = useCallback((type: TTableMode) => {\n const level: Partial<Record<TTableMode, number>> = {\n sequence: 1,\n random: 2,\n advance: 3,\n };\n\n setLabelColor(TABLE_MODE_LABEL_COLOR[type] ?? 'WHITE_T_60');\n setHighlightedLevel(level[type] ?? 0);\n }, []);\n\n const handleModeMouseLeave = useCallback(() => {\n setHighlightedLevel(null);\n setLabelColor('WHITE_T_60');\n }, []);\n\n const revealTableModesMemo = useMemo(() => revealTableModes, [revealTableModes]);\n\n const tableModes = useMemo(() => {\n return [\n {\n top: 20,\n left: 10.5,\n type: 'sequence' as TTableMode,\n tableNumber: revealTableModesMemo.tableNumber,\n isStarAchieved: revealTableModesMemo.stars.includes('sequence'),\n semicirclePosiiionTop: '-19%',\n semicirclePosiiionLeft: '-43%',\n semicircleHoverColor: '#B259004D',\n },\n {\n top: 20,\n left: 65.5,\n type: 'random' as TTableMode,\n tableNumber: revealTableModesMemo.tableNumber,\n isStarAchieved: revealTableModesMemo.stars.includes('random'),\n semicirclePosiiionTop: '-19%',\n semicirclePosiiionLeft: '65%',\n semicircleHoverColor: '#0055CC4D',\n },\n {\n top: 66,\n left: 38,\n type: 'advance' as TTableMode,\n tableNumber: revealTableModesMemo.tableNumber,\n isStarAchieved: revealTableModesMemo.stars.includes('advance'),\n semicirclePosiiionTop: '74%',\n semicirclePosiiionLeft: '11%',\n semicircleHoverColor: '#A9099C4D',\n },\n ];\n }, [revealTableModesMemo.tableNumber, revealTableModesMemo.stars]);\n\n // Disabled infinite mode\n const handleInfiniteModeClick = useCallback(() => {\n onPress({\n mode: 'infinite',\n infiniteModeHighScore: data.infiniteModeHighScore,\n });\n }, [onPress, data.infiniteModeHighScore]);\n\n const handleNormalModeClick = useCallback(\n (mode: TTableMode, isStarRewarded: boolean) => {\n onPress({\n mode,\n tableNumber: revealTableModes.tableNumber,\n isStarRewarded,\n });\n },\n [onPress, revealTableModes.tableNumber],\n );\n\n const getHighlightedText = useCallback(() => {\n if (highlightedLevel) {\n return `${highlightedTable}× LEVEL${highlightedLevel}`;\n }\n\n return highlightedTable ? `${highlightedTable}× Table` : label;\n }, [highlightedLevel, highlightedTable, label]);\n\n const startLabelAnimation = useCallback((color: TColorNames) => {\n setLabelColor(color);\n setAniimatedColor(color);\n setIsLabelAnimated(true);\n }, []);\n\n const stopLabelAnimation = useCallback(() => setIsLabelAnimated(false), []);\n const setLabelVisiblity = useCallback((visible: boolean) => setShowLabel(visible), []);\n\n useImperativeHandle(ref, () => ({\n labelRef: labelRef,\n segmentedCardWrapperRef: cardRef,\n startLabelAnimation,\n stopLabelAnimation,\n setLabelVisiblity,\n handleTableSegmentClick,\n }));\n\n useEffect(() => {\n return () => {\n disappearAnimationTimer.current && clearTimeout(disappearAnimationTimer.current);\n };\n }, []);\n\n // Used in trial journey, to open table levels by default if given in props\n useEffect(() => {\n if (defaultTable) {\n playButtonSound();\n setFadeIn(true);\n setHighlightedTable(defaultTable.tableNumber);\n setRevealTableModes({ ...defaultTable });\n }\n }, [defaultTable, playButtonSound]);\n\n return (\n <CardContainer\n labelRef={labelRef}\n ref={cardRef}\n strokeColor=\"WHITE\"\n label={getHighlightedText()}\n labelColor={labelColor}\n isAnimated={isLabelAnimated}\n showLabel={showLabel}\n >\n <Styled.CardWrapper>\n {/* table selection */}\n <Styled.TableSegmentsWrapper>\n {/* infinite button */}\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"top\"\n hidden={enableInfiniteMode}\n tooltipItem={\n <Text $renderAs=\"ab3\" $color=\"WHITE\">\n Coming Soon\n </Text>\n }\n >\n <Styled.InfiniteButtonWrapper\n onClick={enableInfiniteMode ? handleInfiniteModeClick : undefined}\n >\n <Styled.AbsoluteView>\n <LottieAnimation\n src={LOTTIE.INFINITE_BUTTON_BG}\n settings={rendererSettings}\n animateOnIntersect\n />\n </Styled.AbsoluteView>\n <Styled.AbsoluteView>\n <LottieAnimation\n src={LOTTIE.INFINITE_BUTTON_SYMBOL}\n settings={rendererSettings}\n animateOnIntersect\n />\n </Styled.AbsoluteView>\n </Styled.InfiniteButtonWrapper>\n </ArrowTooltip>\n\n {/* card shadow */}\n <Styled.TableSegmentCardShadowContainer />\n\n {/* table segments */}\n {data.tableList.map((table, index) => {\n const segmentAngle = 360 / data.tableList.length;\n const startAngle = -(90 + 360 / (2 * data.tableList.length));\n const currentAngle = startAngle + segmentAngle * (index + 1);\n\n return (\n <Styled.TableSegment\n key={index}\n $angle={currentAngle}\n $totalSegments={data.tableList.length}\n $zIndex={index + 1}\n onClick={() => handleTableSegmentClick(table)}\n onMouseOver={() => handleTableSegmentMouseOver(table)}\n onMouseLeave={handleTableSegmentMouseLeave}\n >\n <FlexView $flexDirection=\"row\" $justifyContent=\"center\" $alignItems=\"center\">\n {['sequence', 'random', 'advance'].map(star => (\n <TableSegmentStar\n key={star}\n isStarAchieved={table.stars.includes(star as TTableMode)}\n rewardStar={\n !fadeIn && openModesOfTable?.tableNumber === table.tableNumber\n ? rewardStar.includes(star as TTableMode)\n : undefined\n }\n />\n ))}\n <Separator width={GAME_LAUNCHER_SIZE * 0.055} />\n\n <Styled.TableNumber $angle={-currentAngle}>\n <Text\n $renderAs={\n GAME_LAUNCHER_SIZE === GAME_LAUNCHER_SIZE_LARGE\n ? 'ac3-black'\n : 'ac4-black'\n }\n $color={highlightedTable === table.tableNumber ? 'BLACK_1' : 'WHITE'}\n >\n {table.tableNumber}\n </Text>\n </Styled.TableNumber>\n </FlexView>\n </Styled.TableSegment>\n );\n })}\n </Styled.TableSegmentsWrapper>\n\n {/* table modes */}\n {revealTableModes.tableNumber > 0 && (\n <Styled.TableModeContainer>\n <Styled.TableModeWrapper>\n {/* tables modes with back button */}\n <Styled.AnimatedView animation={fadeIn ? 'fade-in' : 'fade-out'}>\n {tableModes.map((tableMode, index) => (\n <React.Fragment key={index}>\n <Styled.ModeOverlay\n $top={tableMode.semicirclePosiiionTop}\n $left={tableMode.semicirclePosiiionLeft}\n $hoverColor={tableMode.semicircleHoverColor}\n onClick={() =>\n fadeIn\n ? handleNormalModeClick(tableMode.type, tableMode.isStarAchieved)\n : undefined\n }\n onMouseOver={() =>\n fadeIn ? handleModeMouseOver(tableMode.type as TTableMode) : undefined\n }\n onMouseLeave={fadeIn ? handleModeMouseLeave : undefined}\n />\n <Styled.AbsoluteView\n $top={tableMode.top}\n $left={tableMode.left}\n $isPointerEventsNone={true}\n >\n <TableMode\n tableNumber={tableMode.tableNumber}\n isStarAchieved={tableMode.isStarAchieved}\n type={tableMode.type as TTableMode}\n rewardStar={rewardStar.includes(tableMode.type as TTableMode)}\n />\n </Styled.AbsoluteView>\n </React.Fragment>\n ))}\n {/* back button */}\n <Styled.AbsoluteView $top={50} $left={50} $alignCenter={true}>\n <Styled.IconWrapper>\n <Back2Icon\n onClick={goBack}\n height={GAME_LAUNCHER_SIZE * 0.1}\n width={GAME_LAUNCHER_SIZE * 0.1}\n />\n </Styled.IconWrapper>\n </Styled.AbsoluteView>\n </Styled.AnimatedView>\n\n {/* overlay lottie for modes */}\n <LottieAnimation\n src={LOTTIE.TABLE_MODE_REVEAL}\n ref={revealAnimationRef}\n settings={animationSettings}\n onRender={showTableModes}\n animateOnIntersect\n />\n </Styled.TableModeWrapper>\n </Styled.TableModeContainer>\n )}\n </Styled.CardWrapper>\n </CardContainer>\n );\n },\n);\n\nexport const TablesCard = memo(TablesCardComponent);\n"],"names":["rendererSettings","animationSettings","TablesCardComponent","forwardRef","data","label","onPress","openModesOfTable","defaultTable","onGoBackFromTableLevel","onPressTableSegment","ref","trackEvent","useUIContext","playButtonSound","useCircleSounds","fadeIn","setFadeIn","useState","highlightedTable","setHighlightedTable","highlightedLevel","setHighlightedLevel","labelColor","setLabelColor","revealTableModes","setRevealTableModes","_a","table","showLabel","setShowLabel","isLabelAnimated","setIsLabelAnimated","animatedColor","setAniimatedColor","labelRef","useRef","cardRef","rewardStar","setRewardStar","enableInfiniteMode","revealAnimationRef","disappearAnimationTimer","handleTableSegmentClick","useCallback","GAME_LAUNCHER_ANALYTICS_EVENTS","handleTableSegmentMouseOver","handleTableSegmentMouseLeave","goBack","time","TABLE_REVEAL_ANIMATION","showTableModes","handleModeMouseOver","type","level","TABLE_MODE_LABEL_COLOR","handleModeMouseLeave","revealTableModesMemo","useMemo","tableModes","handleInfiniteModeClick","handleNormalModeClick","mode","isStarRewarded","getHighlightedText","startLabelAnimation","color","stopLabelAnimation","setLabelVisiblity","visible","useImperativeHandle","useEffect","jsx","CardContainer","jsxs","Styled.CardWrapper","Styled.TableSegmentsWrapper","ArrowTooltip","Text","Styled.InfiniteButtonWrapper","Styled.AbsoluteView","LottieAnimation","LOTTIE","Styled.TableSegmentCardShadowContainer","index","segmentAngle","currentAngle","Styled.TableSegment","FlexView","star","TableSegmentStar","Separator","GAME_LAUNCHER_SIZE","Styled.TableNumber","GAME_LAUNCHER_SIZE_LARGE","Styled.TableModeContainer","Styled.TableModeWrapper","Styled.AnimatedView","tableMode","React","Styled.ModeOverlay","TableMode","Styled.IconWrapper","Back2Icon","TablesCard","memo"],"mappings":"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"}
1
+ {"version":3,"file":"tables-card.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/tables-card/tables-card.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport type { TColorNames } from '../../../../ui/types';\nimport type {\n ITableInfo,\n TTableMode,\n} from '../../dal/use-get-circle-home-details-dal/use-get-circle-home-dal-types';\nimport type { ITableCardRef, ITablesCardProps } from './tables-card-types';\n\nimport React, {\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport Back2Icon from '../../../../../assets/line-icons/icons/back2';\nimport { LOTTIE } from '../../../../../assets/lottie/lottie';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport { useUIContext } from '../../../../ui/context/context';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport { useCircleSounds } from '../../../hooks/use-circle-sounds/use-circle-sounds';\nimport { GAME_LAUNCHER_ANALYTICS_EVENTS } from '../../game-launcher-analytics-events';\nimport { CardContainer } from '../card-container/card-container';\nimport { GAME_LAUNCHER_SIZE, GAME_LAUNCHER_SIZE_LARGE } from '../card-container/constants';\nimport { TABLE_MODE_LABEL_COLOR, TABLE_REVEAL_ANIMATION } from './constants';\nimport TableMode from './table-mode/table-mode';\nimport TableSegmentStar from './table-segment-star/table-segment-star';\nimport * as Styled from './tables-card-styled';\n\nconst rendererSettings = {\n renderer: 'canvas',\n};\n\nconst modeRevealAnimationSettings = {\n loop: false,\n renderer: 'svg',\n};\n\nconst TablesCardComponent = forwardRef<ITableCardRef, ITablesCardProps>(\n (\n {\n data,\n label,\n onPress,\n openModesOfTable,\n defaultTable,\n onGoBackFromTableLevel,\n onPressTableSegment,\n },\n ref,\n ) => {\n const { onEvent: trackEvent } = useUIContext();\n const { playButtonSound } = useCircleSounds();\n const [fadeIn, setFadeIn] = useState(true);\n const [highlightedTable, setHighlightedTable] = useState<number | null>(\n openModesOfTable?.tableNumber ?? null,\n );\n const [highlightedLevel, setHighlightedLevel] = useState<number | null>(null);\n const [labelColor, setLabelColor] = useState<TColorNames>('WHITE_T_60');\n const [revealTableModes, setRevealTableModes] = useState<ITableInfo>({\n stars:\n data.tableList.find(table => table.tableNumber === openModesOfTable?.tableNumber)?.stars ??\n [],\n tableNumber: openModesOfTable?.tableNumber ?? 0,\n });\n\n const [showLabel, setShowLabel] = useState(true);\n const [isLabelAnimated, setIsLabelAnimated] = useState(false);\n const [animatedColor, setAniimatedColor] = useState<TColorNames>('WHITE_T_60');\n\n const labelRef = useRef<HTMLDivElement>(null);\n const cardRef = useRef<HTMLDivElement>(null);\n\n const [rewardStar, setRewardStar] = useState(openModesOfTable?.rewardStar ?? []);\n const [enableInfiniteMode] = useState(false);\n\n const revealAnimationRef = useRef<ILottieAnimationRef | null>(null);\n const disappearAnimationTimer = useRef<ReturnType<typeof setTimeout>>();\n\n const handleTableSegmentClick = useCallback(\n (table: ITableInfo) => {\n if (onPressTableSegment) {\n onPressTableSegment(table);\n\n return;\n }\n playButtonSound();\n setFadeIn(true);\n setHighlightedTable(table.tableNumber);\n setRevealTableModes({ ...table });\n setRewardStar([]);\n trackEvent(GAME_LAUNCHER_ANALYTICS_EVENTS.TABLE_SELECTED, {\n meta: {\n table_of: table.tableNumber,\n },\n });\n },\n [onPressTableSegment, playButtonSound, trackEvent],\n );\n\n const handleTableSegmentMouseOver = useCallback(\n (table: ITableInfo) => {\n setLabelColor(isLabelAnimated ? animatedColor : 'WHITE_T_60');\n setHighlightedTable(table.tableNumber);\n },\n [animatedColor, isLabelAnimated],\n );\n\n const handleTableSegmentMouseLeave = useCallback(() => {\n setLabelColor('WHITE_T_60');\n !revealTableModes.tableNumber && setHighlightedTable(null);\n }, [revealTableModes.tableNumber]);\n\n const goBack = useCallback(() => {\n onGoBackFromTableLevel?.();\n playButtonSound();\n setFadeIn(false);\n setHighlightedTable(null);\n const time = (TABLE_REVEAL_ANIMATION.DISAPPEAR[1] - TABLE_REVEAL_ANIMATION.DISAPPEAR[0]) / 30;\n\n revealAnimationRef.current?.playSegments(TABLE_REVEAL_ANIMATION.DISAPPEAR, true);\n disappearAnimationTimer.current = setTimeout(() => {\n setRevealTableModes({ stars: [], tableNumber: 0 });\n }, time * 1000);\n }, [onGoBackFromTableLevel, playButtonSound]);\n\n const showTableModes = useCallback(() => {\n revealAnimationRef.current?.playSegments(TABLE_REVEAL_ANIMATION.REVEAL, true);\n }, []);\n\n const handleModeMouseOver = useCallback((type: TTableMode) => {\n const level: Partial<Record<TTableMode, number>> = {\n sequence: 1,\n random: 2,\n advance: 3,\n };\n\n setLabelColor(TABLE_MODE_LABEL_COLOR[type] ?? 'WHITE_T_60');\n setHighlightedLevel(level[type] ?? 0);\n }, []);\n\n const handleModeMouseLeave = useCallback(() => {\n setHighlightedLevel(null);\n setLabelColor('WHITE_T_60');\n }, []);\n\n const revealTableModesMemo = useMemo(() => revealTableModes, [revealTableModes]);\n\n const tableModes = useMemo(() => {\n return [\n {\n top: 20,\n left: 10.5,\n type: 'sequence' as TTableMode,\n tableNumber: revealTableModesMemo.tableNumber,\n isStarAchieved: revealTableModesMemo.stars.includes('sequence'),\n semicirclePosiiionTop: '-19%',\n semicirclePosiiionLeft: '-43%',\n semicircleHoverColor: '#B259004D',\n },\n {\n top: 20,\n left: 65.5,\n type: 'random' as TTableMode,\n tableNumber: revealTableModesMemo.tableNumber,\n isStarAchieved: revealTableModesMemo.stars.includes('random'),\n semicirclePosiiionTop: '-19%',\n semicirclePosiiionLeft: '65%',\n semicircleHoverColor: '#0055CC4D',\n },\n {\n top: 66,\n left: 38,\n type: 'advance' as TTableMode,\n tableNumber: revealTableModesMemo.tableNumber,\n isStarAchieved: revealTableModesMemo.stars.includes('advance'),\n semicirclePosiiionTop: '74%',\n semicirclePosiiionLeft: '11%',\n semicircleHoverColor: '#A9099C4D',\n },\n ];\n }, [revealTableModesMemo.tableNumber, revealTableModesMemo.stars]);\n\n // Disabled infinite mode\n const handleInfiniteModeClick = useCallback(() => {\n onPress({\n mode: 'infinite',\n infiniteModeHighScore: data.infiniteModeHighScore,\n });\n }, [onPress, data.infiniteModeHighScore]);\n\n const handleNormalModeClick = useCallback(\n (mode: TTableMode, isStarRewarded: boolean) => {\n onPress({\n mode,\n tableNumber: revealTableModes.tableNumber,\n isStarRewarded,\n });\n },\n [onPress, revealTableModes.tableNumber],\n );\n\n const getHighlightedText = useCallback(() => {\n if (highlightedLevel) {\n return `${highlightedTable}× LEVEL${highlightedLevel}`;\n }\n\n return highlightedTable ? `${highlightedTable}× Table` : label;\n }, [highlightedLevel, highlightedTable, label]);\n\n const startLabelAnimation = useCallback((color: TColorNames) => {\n setLabelColor(color);\n setAniimatedColor(color);\n setIsLabelAnimated(true);\n }, []);\n\n const stopLabelAnimation = useCallback(() => setIsLabelAnimated(false), []);\n const setLabelVisiblity = useCallback((visible: boolean) => setShowLabel(visible), []);\n\n useImperativeHandle(ref, () => ({\n labelRef: labelRef,\n segmentedCardWrapperRef: cardRef,\n startLabelAnimation,\n stopLabelAnimation,\n setLabelVisiblity,\n handleTableSegmentClick,\n }));\n\n useEffect(() => {\n return () => {\n disappearAnimationTimer.current && clearTimeout(disappearAnimationTimer.current);\n };\n }, []);\n\n // Used in trial journey, to open table levels by default if given in props\n useEffect(() => {\n if (defaultTable) {\n playButtonSound();\n setFadeIn(true);\n setHighlightedTable(defaultTable.tableNumber);\n setRevealTableModes({ ...defaultTable });\n }\n }, [defaultTable, playButtonSound]);\n\n return (\n <CardContainer\n labelRef={labelRef}\n ref={cardRef}\n strokeColor=\"WHITE\"\n label={getHighlightedText()}\n labelColor={labelColor}\n isAnimated={isLabelAnimated}\n showLabel={showLabel}\n >\n <Styled.CardWrapper>\n {/* table selection */}\n <Styled.TableSegmentsWrapper>\n {/* infinite button */}\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"top\"\n hidden={enableInfiniteMode}\n tooltipItem={\n <Text $renderAs=\"ab3\" $color=\"WHITE\">\n Coming Soon\n </Text>\n }\n >\n <Styled.InfiniteButtonWrapper\n onClick={enableInfiniteMode ? handleInfiniteModeClick : undefined}\n >\n <Styled.ExtendedAbsoluteView>\n <LottieAnimation\n src={LOTTIE.INFINITE_BUTTON_BG}\n settings={rendererSettings}\n animateOnIntersect\n />\n </Styled.ExtendedAbsoluteView>\n <Styled.ExtendedAbsoluteView>\n <LottieAnimation\n src={LOTTIE.INFINITE_BUTTON_SYMBOL}\n settings={rendererSettings}\n animateOnIntersect\n />\n </Styled.ExtendedAbsoluteView>\n </Styled.InfiniteButtonWrapper>\n </ArrowTooltip>\n\n {/* card shadow */}\n <Styled.TableSegmentCardShadowContainer />\n\n {/* table segments */}\n {data.tableList.map((table, index) => {\n const segmentAngle = 360 / data.tableList.length;\n const startAngle = -(90 + 360 / (2 * data.tableList.length));\n const currentAngle = startAngle + segmentAngle * (index + 1);\n\n return (\n <Styled.TableSegment\n key={index}\n $angle={currentAngle}\n $totalSegments={data.tableList.length}\n $zIndex={index + 1}\n onClick={() => handleTableSegmentClick(table)}\n onMouseOver={() => handleTableSegmentMouseOver(table)}\n onMouseLeave={handleTableSegmentMouseLeave}\n >\n <FlexView $flexDirection=\"row\" $justifyContent=\"center\" $alignItems=\"center\">\n {['sequence', 'random', 'advance'].map(star => (\n <TableSegmentStar\n key={star}\n isStarAchieved={table.stars.includes(star as TTableMode)}\n rewardStar={\n !fadeIn && openModesOfTable?.tableNumber === table.tableNumber\n ? rewardStar.includes(star as TTableMode)\n : undefined\n }\n />\n ))}\n <Separator width={GAME_LAUNCHER_SIZE * 0.055} />\n\n <Styled.TableNumber $angle={-currentAngle}>\n <Text\n $renderAs={\n GAME_LAUNCHER_SIZE === GAME_LAUNCHER_SIZE_LARGE\n ? 'ac3-black'\n : 'ac4-black'\n }\n $color={highlightedTable === table.tableNumber ? 'BLACK_1' : 'WHITE'}\n >\n {table.tableNumber}\n </Text>\n </Styled.TableNumber>\n </FlexView>\n </Styled.TableSegment>\n );\n })}\n </Styled.TableSegmentsWrapper>\n\n {/* table modes */}\n {revealTableModes.tableNumber > 0 && (\n <Styled.TableModeContainer>\n <Styled.TableModeWrapper>\n {/* tables modes with back button */}\n <Styled.AnimatedView animation={fadeIn ? 'fade-in' : 'fade-out'}>\n {tableModes.map((tableMode, index) => (\n <React.Fragment key={index}>\n <Styled.ModeOverlay\n $top={tableMode.semicirclePosiiionTop}\n $left={tableMode.semicirclePosiiionLeft}\n $hoverColor={tableMode.semicircleHoverColor}\n onClick={() =>\n fadeIn\n ? handleNormalModeClick(tableMode.type, tableMode.isStarAchieved)\n : undefined\n }\n onMouseOver={() =>\n fadeIn ? handleModeMouseOver(tableMode.type as TTableMode) : undefined\n }\n onMouseLeave={fadeIn ? handleModeMouseLeave : undefined}\n />\n <Styled.AbsoluteView\n $top={tableMode.top}\n $left={tableMode.left}\n $isPointerEventsNone={true}\n >\n <TableMode\n tableNumber={tableMode.tableNumber}\n isStarAchieved={tableMode.isStarAchieved}\n type={tableMode.type as TTableMode}\n rewardStar={rewardStar.includes(tableMode.type as TTableMode)}\n />\n </Styled.AbsoluteView>\n </React.Fragment>\n ))}\n {/* back button */}\n <Styled.AbsoluteView $top={50} $left={50} $alignCenter={true}>\n <Styled.IconWrapper>\n <Back2Icon\n onClick={goBack}\n height={GAME_LAUNCHER_SIZE * 0.1}\n width={GAME_LAUNCHER_SIZE * 0.1}\n />\n </Styled.IconWrapper>\n </Styled.AbsoluteView>\n </Styled.AnimatedView>\n\n {/* overlay lottie for modes */}\n <LottieAnimation\n src={LOTTIE.TABLE_MODE_REVEAL}\n ref={revealAnimationRef}\n overrideSettings={modeRevealAnimationSettings}\n onRender={showTableModes}\n animateOnIntersect\n />\n </Styled.TableModeWrapper>\n </Styled.TableModeContainer>\n )}\n </Styled.CardWrapper>\n </CardContainer>\n );\n },\n);\n\nexport const TablesCard = memo(TablesCardComponent);\n"],"names":["rendererSettings","modeRevealAnimationSettings","TablesCardComponent","forwardRef","data","label","onPress","openModesOfTable","defaultTable","onGoBackFromTableLevel","onPressTableSegment","ref","trackEvent","useUIContext","playButtonSound","useCircleSounds","fadeIn","setFadeIn","useState","highlightedTable","setHighlightedTable","highlightedLevel","setHighlightedLevel","labelColor","setLabelColor","revealTableModes","setRevealTableModes","_a","table","showLabel","setShowLabel","isLabelAnimated","setIsLabelAnimated","animatedColor","setAniimatedColor","labelRef","useRef","cardRef","rewardStar","setRewardStar","enableInfiniteMode","revealAnimationRef","disappearAnimationTimer","handleTableSegmentClick","useCallback","GAME_LAUNCHER_ANALYTICS_EVENTS","handleTableSegmentMouseOver","handleTableSegmentMouseLeave","goBack","time","TABLE_REVEAL_ANIMATION","showTableModes","handleModeMouseOver","type","level","TABLE_MODE_LABEL_COLOR","handleModeMouseLeave","revealTableModesMemo","useMemo","tableModes","handleInfiniteModeClick","handleNormalModeClick","mode","isStarRewarded","getHighlightedText","startLabelAnimation","color","stopLabelAnimation","setLabelVisiblity","visible","useImperativeHandle","useEffect","jsx","CardContainer","jsxs","Styled.CardWrapper","Styled.TableSegmentsWrapper","ArrowTooltip","Text","Styled.InfiniteButtonWrapper","Styled.ExtendedAbsoluteView","LottieAnimation","LOTTIE","Styled.TableSegmentCardShadowContainer","index","segmentAngle","currentAngle","Styled.TableSegment","FlexView","star","TableSegmentStar","Separator","GAME_LAUNCHER_SIZE","Styled.TableNumber","GAME_LAUNCHER_SIZE_LARGE","Styled.TableModeContainer","Styled.TableModeWrapper","Styled.AnimatedView","tableMode","React","Styled.ModeOverlay","Styled.AbsoluteView","TableMode","Styled.IconWrapper","Back2Icon","TablesCard","memo"],"mappings":"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"}
@@ -1,38 +1,40 @@
1
1
  import { jsx as E } from "react/jsx-runtime";
2
- import g from "lottie-web";
3
- import { memo as b, forwardRef as A, useRef as m, useMemo as I, useImperativeHandle as x, useEffect as O } from "react";
4
- import S from "../layout/flex-view.js";
5
- import { fetchLottie as $ } from "./helper.js";
6
- const k = A((L, h) => {
2
+ import b from "lottie-web";
3
+ import { memo as A, forwardRef as I, useRef as m, useMemo as S, useImperativeHandle as x, useEffect as O } from "react";
4
+ import $ from "../layout/flex-view.js";
5
+ import { fetchLottie as k } from "./helper.js";
6
+ const F = I((L, h) => {
7
7
  const {
8
8
  src: l,
9
9
  width: w = "100%",
10
10
  height: y = "100%",
11
- settings: i,
11
+ settings: o,
12
12
  eventListener: n,
13
13
  onRender: a,
14
- animateOnIntersect: s
15
- } = L, c = m(null), r = m(null), u = m(null), d = I(
14
+ animateOnIntersect: s,
15
+ overrideSettings: g
16
+ } = L, c = m(null), r = m(null), u = m(null), d = S(
16
17
  () => ({
17
- ...i,
18
- renderer: window.ReactNativeWebView ? "canvas" : (i == null ? void 0 : i.renderer) ?? "svg"
18
+ ...o,
19
+ renderer: window.ReactNativeWebView ? "canvas" : (o == null ? void 0 : o.renderer) ?? "svg",
20
+ ...g || {}
19
21
  }),
20
- [i]
22
+ [o]
21
23
  );
22
24
  return x(
23
25
  h,
24
26
  () => ({
25
- playSegments: (t, o) => {
27
+ playSegments: (t, i) => {
26
28
  var e;
27
- return (e = r.current) == null ? void 0 : e.playSegments(t, o);
29
+ return (e = r.current) == null ? void 0 : e.playSegments(t, i);
28
30
  },
29
- addEventListener: (t, o) => {
31
+ addEventListener: (t, i) => {
30
32
  var e;
31
- return (e = r.current) == null ? void 0 : e.addEventListener(t, o);
33
+ return (e = r.current) == null ? void 0 : e.addEventListener(t, i);
32
34
  },
33
- removeEventListener: (t, o) => {
35
+ removeEventListener: (t, i) => {
34
36
  var e;
35
- return (e = r.current) == null ? void 0 : e.removeEventListener(t, o);
37
+ return (e = r.current) == null ? void 0 : e.removeEventListener(t, i);
36
38
  },
37
39
  play: () => {
38
40
  var t;
@@ -48,9 +50,9 @@ const k = A((L, h) => {
48
50
  let t = !1;
49
51
  return (async () => {
50
52
  try {
51
- const e = await $(l);
53
+ const e = await k(l);
52
54
  requestAnimationFrame(() => {
53
- !c.current || t || (r.current = g.loadAnimation({
55
+ !c.current || t || (r.current = b.loadAnimation({
54
56
  container: c.current,
55
57
  animationData: e,
56
58
  loop: !0,
@@ -58,8 +60,8 @@ const k = A((L, h) => {
58
60
  ...d
59
61
  }), s && (u.current = new IntersectionObserver(
60
62
  ([f]) => {
61
- var p, v;
62
- f && f.isIntersecting ? (p = r.current) == null || p.play() : (v = r.current) == null || v.pause();
63
+ var v, p;
64
+ f && f.isIntersecting ? (v = r.current) == null || v.play() : (p = r.current) == null || p.pause();
63
65
  },
64
66
  { threshold: 0 }
65
67
  ), u.current.observe(c.current)), a == null || a(), n && r.current.addEventListener(n.name, n.callback));
@@ -71,9 +73,9 @@ const k = A((L, h) => {
71
73
  var e;
72
74
  t = !0, r.current && (n && r.current.removeEventListener(n.name, n.callback), s && ((e = u.current) == null || e.disconnect()), r.current.destroy());
73
75
  };
74
- }, [l, n, a, s, d]), /* @__PURE__ */ E(S, { ref: c, $width: w, $height: y });
75
- }), D = b(k);
76
+ }, [l, n, a, s, d]), /* @__PURE__ */ E($, { ref: c, $width: w, $height: y });
77
+ }), H = A(F);
76
78
  export {
77
- D as default
79
+ H as default
78
80
  };
79
81
  //# sourceMappingURL=lottie-animation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lottie-animation.js","sources":["../../../../src/features/ui/lottie-animation/lottie-animation.tsx"],"sourcesContent":["import type { ILottieAnimationProps, ILottieAnimationRef } from './types';\nimport type { AnimationEventName, AnimationItem, AnimationSegment, RendererType } from 'lottie-web';\n\nimport lottie from 'lottie-web';\nimport { forwardRef, memo, useEffect, useImperativeHandle, useMemo, useRef } from 'react';\n\nimport FlexView from '../layout/flex-view';\nimport { fetchLottie } from './helper';\n\nconst LottieAnimation = forwardRef<ILottieAnimationRef, ILottieAnimationProps>((props, ref) => {\n const {\n src,\n width = '100%',\n height = '100%',\n settings,\n eventListener,\n onRender,\n animateOnIntersect,\n } = props;\n\n const container = useRef<HTMLDivElement>(null);\n const animationInstance = useRef<AnimationItem | null>(null);\n const intersectionObserver = useRef<IntersectionObserver | null>(null);\n const newSettings = useMemo(\n () => ({\n ...settings,\n renderer: (window.ReactNativeWebView ? 'canvas' : settings?.renderer ?? 'svg') as RendererType,\n }),\n [settings],\n );\n\n useImperativeHandle(\n ref,\n () => ({\n playSegments: (segments: AnimationSegment, forceFlag?: boolean) =>\n animationInstance.current?.playSegments(segments, forceFlag),\n addEventListener: (eventName: string, callback: () => void) =>\n animationInstance.current?.addEventListener(eventName as AnimationEventName, callback),\n removeEventListener: (eventName: string, callback: () => void) =>\n animationInstance.current?.removeEventListener(eventName as AnimationEventName, callback),\n play: () => animationInstance.current?.play(),\n stop: () => animationInstance.current?.stop(),\n }),\n [],\n );\n\n useEffect(() => {\n let destroyed = false;\n \n const loadAnimation = async () => {\n try {\n const animationData = await fetchLottie(src);\n \n // Wait for layout\n requestAnimationFrame(() => {\n if (!container.current || destroyed) return;\n \n animationInstance.current = lottie.loadAnimation({\n container: container.current,\n animationData,\n loop: true,\n autoplay: true,\n ...newSettings,\n });\n \n if (animateOnIntersect) {\n intersectionObserver.current = new IntersectionObserver(\n ([entry]) => {\n if (entry && entry.isIntersecting) {\n animationInstance.current?.play();\n } else {\n animationInstance.current?.pause();\n }\n },\n { threshold: 0 },\n );\n \n intersectionObserver.current.observe(container.current);\n }\n \n onRender?.();\n \n if (eventListener) {\n animationInstance.current.addEventListener(eventListener.name, eventListener.callback);\n }\n });\n } catch (error) {\n console.error('Error loading Lottie animation:', error);\n }\n };\n \n loadAnimation();\n \n return () => {\n destroyed = true;\n if (animationInstance.current) {\n if (eventListener) {\n animationInstance.current.removeEventListener(eventListener.name, eventListener.callback);\n }\n \n if (animateOnIntersect) {\n intersectionObserver.current?.disconnect();\n }\n \n animationInstance.current.destroy();\n }\n };\n }, [src, eventListener, onRender, animateOnIntersect, newSettings]);\n\n return <FlexView ref={container} $width={width} $height={height} />;\n});\n\nexport default memo(LottieAnimation);\n"],"names":["LottieAnimation","forwardRef","props","ref","src","width","height","settings","eventListener","onRender","animateOnIntersect","container","useRef","animationInstance","intersectionObserver","newSettings","useMemo","useImperativeHandle","segments","forceFlag","_a","eventName","callback","useEffect","destroyed","animationData","fetchLottie","lottie","entry","_b","error","FlexView","LottieAnimation$1","memo"],"mappings":";;;;;AASA,MAAMA,IAAkBC,EAAuD,CAACC,GAAOC,MAAQ;AACvF,QAAA;AAAA,IACJ,KAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,IACR,QAAAC,IAAS;AAAA,IACT,UAAAC;AAAA,IACA,eAAAC;AAAA,IACA,UAAAC;AAAA,IACA,oBAAAC;AAAA,EACE,IAAAR,GAEES,IAAYC,EAAuB,IAAI,GACvCC,IAAoBD,EAA6B,IAAI,GACrDE,IAAuBF,EAAoC,IAAI,GAC/DG,IAAcC;AAAA,IAClB,OAAO;AAAA,MACL,GAAGT;AAAA,MACH,UAAW,OAAO,qBAAqB,YAAWA,KAAA,gBAAAA,EAAU,aAAY;AAAA,IAAA;AAAA,IAE1E,CAACA,CAAQ;AAAA,EAAA;AAGX,SAAAU;AAAA,IACEd;AAAA,IACA,OAAO;AAAA,MACL,cAAc,CAACe,GAA4BC,MACzC;;AAAA,gBAAAC,IAAAP,EAAkB,YAAlB,gBAAAO,EAA2B,aAAaF,GAAUC;AAAA;AAAA,MACpD,kBAAkB,CAACE,GAAmBC,MACpC;;AAAA,gBAAAF,IAAAP,EAAkB,YAAlB,gBAAAO,EAA2B,iBAAiBC,GAAiCC;AAAA;AAAA,MAC/E,qBAAqB,CAACD,GAAmBC,MACvC;;AAAA,gBAAAF,IAAAP,EAAkB,YAAlB,gBAAAO,EAA2B,oBAAoBC,GAAiCC;AAAA;AAAA,MAClF,MAAM,MAAM;;AAAA,gBAAAF,IAAAP,EAAkB,YAAlB,gBAAAO,EAA2B;AAAA;AAAA,MACvC,MAAM,MAAM;;AAAA,gBAAAA,IAAAP,EAAkB,YAAlB,gBAAAO,EAA2B;AAAA;AAAA,IAAK;AAAA,IAE9C,CAAC;AAAA,EAAA,GAGHG,EAAU,MAAM;AACd,QAAIC,IAAY;AA4CF,YA1CQ,YAAY;AAC5B,UAAA;AACI,cAAAC,IAAgB,MAAMC,EAAYtB,CAAG;AAG3C,8BAAsB,MAAM;AACtB,UAAA,CAACO,EAAU,WAAWa,MAERX,EAAA,UAAUc,EAAO,cAAc;AAAA,YAC/C,WAAWhB,EAAU;AAAA,YACrB,eAAAc;AAAA,YACA,MAAM;AAAA,YACN,UAAU;AAAA,YACV,GAAGV;AAAA,UAAA,CACJ,GAEGL,MACFI,EAAqB,UAAU,IAAI;AAAA,YACjC,CAAC,CAACc,CAAK,MAAM;;AACP,cAAAA,KAASA,EAAM,kBACjBR,IAAAP,EAAkB,YAAlB,QAAAO,EAA2B,UAE3BS,IAAAhB,EAAkB,YAAlB,QAAAgB,EAA2B;AAAA,YAE/B;AAAA,YACA,EAAE,WAAW,EAAE;AAAA,UAAA,GAGIf,EAAA,QAAQ,QAAQH,EAAU,OAAO,IAG7CF,KAAA,QAAAA,KAEPD,KACFK,EAAkB,QAAQ,iBAAiBL,EAAc,MAAMA,EAAc,QAAQ;AAAA,QACvF,CACD;AAAA,eACMsB,GAAO;AACN,gBAAA,MAAM,mCAAmCA,CAAK;AAAA,MACxD;AAAA,IAAA,MAKK,MAAM;;AACC,MAAAN,IAAA,IACRX,EAAkB,YAChBL,KACFK,EAAkB,QAAQ,oBAAoBL,EAAc,MAAMA,EAAc,QAAQ,GAGtFE,OACFU,IAAAN,EAAqB,YAArB,QAAAM,EAA8B,eAGhCP,EAAkB,QAAQ;IAC5B;AAAA,EACF,GACC,CAACT,GAAKI,GAAeC,GAAUC,GAAoBK,CAAW,CAAC,qBAE1DgB,GAAS,EAAA,KAAKpB,GAAW,QAAQN,GAAO,SAASC,EAAQ,CAAA;AACnE,CAAC,GAEc0B,IAAAC,EAAKjC,CAAe;"}
1
+ {"version":3,"file":"lottie-animation.js","sources":["../../../../src/features/ui/lottie-animation/lottie-animation.tsx"],"sourcesContent":["import type { ILottieAnimationProps, ILottieAnimationRef } from './types';\nimport type { AnimationEventName, AnimationItem, AnimationSegment, RendererType } from 'lottie-web';\n\nimport lottie from 'lottie-web';\nimport { forwardRef, memo, useEffect, useImperativeHandle, useMemo, useRef } from 'react';\n\nimport FlexView from '../layout/flex-view';\nimport { fetchLottie } from './helper';\n\nconst LottieAnimation = forwardRef<ILottieAnimationRef, ILottieAnimationProps>((props, ref) => {\n const {\n src,\n width = '100%',\n height = '100%',\n settings,\n eventListener,\n onRender,\n animateOnIntersect,\n overrideSettings,\n } = props;\n\n const container = useRef<HTMLDivElement>(null);\n const animationInstance = useRef<AnimationItem | null>(null);\n const intersectionObserver = useRef<IntersectionObserver | null>(null);\n const newSettings = useMemo(\n () => ({\n ...settings,\n renderer: (window.ReactNativeWebView\n ? 'canvas'\n : settings?.renderer ?? 'svg') as RendererType,\n ...(overrideSettings || {}),\n }),\n [settings],\n );\n\n useImperativeHandle(\n ref,\n () => ({\n playSegments: (segments: AnimationSegment, forceFlag?: boolean) =>\n animationInstance.current?.playSegments(segments, forceFlag),\n addEventListener: (eventName: string, callback: () => void) =>\n animationInstance.current?.addEventListener(eventName as AnimationEventName, callback),\n removeEventListener: (eventName: string, callback: () => void) =>\n animationInstance.current?.removeEventListener(eventName as AnimationEventName, callback),\n play: () => animationInstance.current?.play(),\n stop: () => animationInstance.current?.stop(),\n }),\n [],\n );\n\n useEffect(() => {\n let destroyed = false;\n\n const loadAnimation = async () => {\n try {\n const animationData = await fetchLottie(src);\n\n // Wait for layout\n requestAnimationFrame(() => {\n if (!container.current || destroyed) return;\n\n animationInstance.current = lottie.loadAnimation({\n container: container.current,\n animationData,\n loop: true,\n autoplay: true,\n ...newSettings,\n });\n\n if (animateOnIntersect) {\n intersectionObserver.current = new IntersectionObserver(\n ([entry]) => {\n if (entry && entry.isIntersecting) {\n animationInstance.current?.play();\n } else {\n animationInstance.current?.pause();\n }\n },\n { threshold: 0 },\n );\n\n intersectionObserver.current.observe(container.current);\n }\n\n onRender?.();\n\n if (eventListener) {\n animationInstance.current.addEventListener(eventListener.name, eventListener.callback);\n }\n });\n } catch (error) {\n console.error('Error loading Lottie animation:', error);\n }\n };\n\n loadAnimation();\n\n return () => {\n destroyed = true;\n if (animationInstance.current) {\n if (eventListener) {\n animationInstance.current.removeEventListener(eventListener.name, eventListener.callback);\n }\n\n if (animateOnIntersect) {\n intersectionObserver.current?.disconnect();\n }\n\n animationInstance.current.destroy();\n }\n };\n }, [src, eventListener, onRender, animateOnIntersect, newSettings]);\n\n return <FlexView ref={container} $width={width} $height={height} />;\n});\n\nexport default memo(LottieAnimation);\n"],"names":["LottieAnimation","forwardRef","props","ref","src","width","height","settings","eventListener","onRender","animateOnIntersect","overrideSettings","container","useRef","animationInstance","intersectionObserver","newSettings","useMemo","useImperativeHandle","segments","forceFlag","_a","eventName","callback","useEffect","destroyed","animationData","fetchLottie","lottie","entry","_b","error","FlexView","LottieAnimation$1","memo"],"mappings":";;;;;AASA,MAAMA,IAAkBC,EAAuD,CAACC,GAAOC,MAAQ;AACvF,QAAA;AAAA,IACJ,KAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,IACR,QAAAC,IAAS;AAAA,IACT,UAAAC;AAAA,IACA,eAAAC;AAAA,IACA,UAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,kBAAAC;AAAA,EACE,IAAAT,GAEEU,IAAYC,EAAuB,IAAI,GACvCC,IAAoBD,EAA6B,IAAI,GACrDE,IAAuBF,EAAoC,IAAI,GAC/DG,IAAcC;AAAA,IAClB,OAAO;AAAA,MACL,GAAGV;AAAA,MACH,UAAW,OAAO,qBACd,YACAA,KAAA,gBAAAA,EAAU,aAAY;AAAA,MAC1B,GAAII,KAAoB,CAAC;AAAA,IAAA;AAAA,IAE3B,CAACJ,CAAQ;AAAA,EAAA;AAGX,SAAAW;AAAA,IACEf;AAAA,IACA,OAAO;AAAA,MACL,cAAc,CAACgB,GAA4BC,MACzC;;AAAA,gBAAAC,IAAAP,EAAkB,YAAlB,gBAAAO,EAA2B,aAAaF,GAAUC;AAAA;AAAA,MACpD,kBAAkB,CAACE,GAAmBC,MACpC;;AAAA,gBAAAF,IAAAP,EAAkB,YAAlB,gBAAAO,EAA2B,iBAAiBC,GAAiCC;AAAA;AAAA,MAC/E,qBAAqB,CAACD,GAAmBC,MACvC;;AAAA,gBAAAF,IAAAP,EAAkB,YAAlB,gBAAAO,EAA2B,oBAAoBC,GAAiCC;AAAA;AAAA,MAClF,MAAM,MAAM;;AAAA,gBAAAF,IAAAP,EAAkB,YAAlB,gBAAAO,EAA2B;AAAA;AAAA,MACvC,MAAM,MAAM;;AAAA,gBAAAA,IAAAP,EAAkB,YAAlB,gBAAAO,EAA2B;AAAA;AAAA,IAAK;AAAA,IAE9C,CAAC;AAAA,EAAA,GAGHG,EAAU,MAAM;AACd,QAAIC,IAAY;AA4CF,YA1CQ,YAAY;AAC5B,UAAA;AACI,cAAAC,IAAgB,MAAMC,EAAYvB,CAAG;AAG3C,8BAAsB,MAAM;AACtB,UAAA,CAACQ,EAAU,WAAWa,MAERX,EAAA,UAAUc,EAAO,cAAc;AAAA,YAC/C,WAAWhB,EAAU;AAAA,YACrB,eAAAc;AAAA,YACA,MAAM;AAAA,YACN,UAAU;AAAA,YACV,GAAGV;AAAA,UAAA,CACJ,GAEGN,MACFK,EAAqB,UAAU,IAAI;AAAA,YACjC,CAAC,CAACc,CAAK,MAAM;;AACP,cAAAA,KAASA,EAAM,kBACjBR,IAAAP,EAAkB,YAAlB,QAAAO,EAA2B,UAE3BS,IAAAhB,EAAkB,YAAlB,QAAAgB,EAA2B;AAAA,YAE/B;AAAA,YACA,EAAE,WAAW,EAAE;AAAA,UAAA,GAGIf,EAAA,QAAQ,QAAQH,EAAU,OAAO,IAG7CH,KAAA,QAAAA,KAEPD,KACFM,EAAkB,QAAQ,iBAAiBN,EAAc,MAAMA,EAAc,QAAQ;AAAA,QACvF,CACD;AAAA,eACMuB,GAAO;AACN,gBAAA,MAAM,mCAAmCA,CAAK;AAAA,MACxD;AAAA,IAAA,MAKK,MAAM;;AACC,MAAAN,IAAA,IACRX,EAAkB,YAChBN,KACFM,EAAkB,QAAQ,oBAAoBN,EAAc,MAAMA,EAAc,QAAQ,GAGtFE,OACFW,IAAAN,EAAqB,YAArB,QAAAM,EAA8B,eAGhCP,EAAkB,QAAQ;IAC5B;AAAA,EACF,GACC,CAACV,GAAKI,GAAeC,GAAUC,GAAoBM,CAAW,CAAC,qBAE1DgB,GAAS,EAAA,KAAKpB,GAAW,QAAQP,GAAO,SAASC,EAAQ,CAAA;AACnE,CAAC,GAEc2B,IAAAC,EAAKlC,CAAe;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "3.0.7-hg2",
3
+ "version": "3.0.7-hg4",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"