@cuemath/leap 3.1.29 → 3.1.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/features/auth/comps/tabs/tabs-styled.js +1 -1
- package/dist/features/auth/comps/tabs/tabs-styled.js.map +1 -1
- package/dist/features/auth/comps/tabs/tabs.js +1 -1
- package/dist/features/auth/comps/tabs/tabs.js.map +1 -1
- package/dist/features/auth/login/username-password-form/username-password-form.js +3 -3
- package/dist/features/auth/login/username-password-form/username-password-form.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/tables-card/infinite-button/infinite-button-card.js +42 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/infinite-button/infinite-button-card.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js +135 -160
- package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js.map +1 -1
- package/dist/features/circle-games/game-launcher/game-launcher.js +122 -101
- package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
- package/dist/features/circle-games/game-launcher/hooks/use-table-infinite-launcher-journey/constants.js +10 -0
- package/dist/features/circle-games/game-launcher/hooks/use-table-infinite-launcher-journey/constants.js.map +1 -0
- package/dist/features/circle-games/game-launcher/hooks/use-table-infinite-launcher-journey/use-table-infinite-launcher-journey-styled.js +13 -0
- package/dist/features/circle-games/game-launcher/hooks/use-table-infinite-launcher-journey/use-table-infinite-launcher-journey-styled.js.map +1 -0
- package/dist/features/circle-games/game-launcher/hooks/use-table-infinite-launcher-journey/use-table-infinite-launcher-journey.js +126 -0
- package/dist/features/circle-games/game-launcher/hooks/use-table-infinite-launcher-journey/use-table-infinite-launcher-journey.js.map +1 -0
- package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js +132 -112
- package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js.map +1 -1
- package/dist/features/circle-games/leaderboard/leaderboard.js +38 -38
- package/dist/features/circle-games/leaderboard/leaderboard.js.map +1 -1
- package/dist/features/journey/journey-id/journey-id-student.js +1 -1
- package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs-styled.js","sources":["../../../../../src/features/auth/comps/tabs/tabs-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport Text from '../../../ui/text/text';\n\ninterface TabsWrapperProps {\n tabsCount: number;\n}\n\nconst TabsWrapper = styled.div<TabsWrapperProps>(({ theme, tabsCount }) => {\n const { colors } = theme;\n\n return `\n display: grid;\n background: ${colors.BLACK_4};\n grid-template-columns: repeat(${tabsCount}, 1fr);\n `;\n});\n\ninterface ITabsText {\n $selected?: boolean;\n}\n\nconst TabsText = styled(Text)<ITabsText>(({ theme, $selected }) => {\n const { layout, colors } = theme;\n const { WHITE_T_15, WHITE } = colors;\n\n return `\n cursor: pointer;\n padding: ${layout.gutter * 0.875}px 0;\n border-bottom: 1.5px solid ${$selected ? WHITE : WHITE_T_15};\n transition: all 0.3s ease;\n `;\n});\n\nexport { TabsWrapper, TabsText };\n"],"names":["TabsWrapper","styled","theme","tabsCount","colors","TabsText","Text","$selected","layout","WHITE_T_15","WHITE"],"mappings":";;AAQA,MAAMA,IAAcC,EAAO,IAAsB,CAAC,EAAE,OAAAC,GAAO,
|
|
1
|
+
{"version":3,"file":"tabs-styled.js","sources":["../../../../../src/features/auth/comps/tabs/tabs-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport Text from '../../../ui/text/text';\n\ninterface TabsWrapperProps {\n $tabsCount: number;\n}\n\nconst TabsWrapper = styled.div<TabsWrapperProps>(({ theme, $tabsCount }) => {\n const { colors } = theme;\n\n return `\n display: grid;\n background: ${colors.BLACK_4};\n grid-template-columns: repeat(${$tabsCount}, 1fr);\n `;\n});\n\ninterface ITabsText {\n $selected?: boolean;\n}\n\nconst TabsText = styled(Text)<ITabsText>(({ theme, $selected }) => {\n const { layout, colors } = theme;\n const { WHITE_T_15, WHITE } = colors;\n\n return `\n cursor: pointer;\n padding: ${layout.gutter * 0.875}px 0;\n border-bottom: 1.5px solid ${$selected ? WHITE : WHITE_T_15};\n transition: all 0.3s ease;\n `;\n});\n\nexport { TabsWrapper, TabsText };\n"],"names":["TabsWrapper","styled","theme","$tabsCount","colors","TabsText","Text","$selected","layout","WHITE_T_15","WHITE"],"mappings":";;AAQA,MAAMA,IAAcC,EAAO,IAAsB,CAAC,EAAE,OAAAC,GAAO,YAAAC,QAAiB;AACpE,QAAA,EAAE,QAAAC,EAAW,IAAAF;AAEZ,SAAA;AAAA;AAAA,kBAESE,EAAO,OAAO;AAAA,oCACID,CAAU;AAAA;AAE9C,CAAC,GAMKE,IAAWJ,EAAOK,CAAI,EAAa,CAAC,EAAE,OAAAJ,GAAO,WAAAK,QAAgB;AAC3D,QAAA,EAAE,QAAAC,GAAQ,QAAAJ,EAAW,IAAAF,GACrB,EAAE,YAAAO,GAAY,OAAAC,EAAU,IAAAN;AAEvB,SAAA;AAAA;AAAA,eAEMI,EAAO,SAAS,KAAK;AAAA,iCACHD,IAAYG,IAAQD,CAAU;AAAA;AAAA;AAG/D,CAAC;"}
|
|
@@ -2,7 +2,7 @@ import { jsx as m } from "react/jsx-runtime";
|
|
|
2
2
|
import { memo as i } from "react";
|
|
3
3
|
import p from "./tab-tem/tab-item.js";
|
|
4
4
|
import { TabsWrapper as s } from "./tabs-styled.js";
|
|
5
|
-
const a = ({ selectedTab: t, onChange: e, tabs: o }) => /* @__PURE__ */ m(s, { tabsCount: o.length, children: o.map((r) => /* @__PURE__ */ m(p, { tab: r, isSelected: r.id === t, onChange: e }, r.id)) }), l = i(a);
|
|
5
|
+
const a = ({ selectedTab: t, onChange: e, tabs: o }) => /* @__PURE__ */ m(s, { $tabsCount: o.length, children: o.map((r) => /* @__PURE__ */ m(p, { tab: r, isSelected: r.id === t, onChange: e }, r.id)) }), l = i(a);
|
|
6
6
|
export {
|
|
7
7
|
l as default
|
|
8
8
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.js","sources":["../../../../../src/features/auth/comps/tabs/tabs.tsx"],"sourcesContent":["import type { ITabsProps } from './tabs-types';\n\nimport { memo } from 'react';\n\nimport TabItem from './tab-tem/tab-item';\nimport * as Styled from './tabs-styled';\n\nconst Tabs = ({ selectedTab, onChange, tabs }: ITabsProps) => {\n return (\n <Styled.TabsWrapper tabsCount={tabs.length}>\n {tabs.map(tab => (\n <TabItem key={tab.id} tab={tab} isSelected={tab.id === selectedTab} onChange={onChange} />\n ))}\n </Styled.TabsWrapper>\n );\n};\n\nexport default memo(Tabs);\n"],"names":["Tabs","selectedTab","onChange","tabs","jsx","Styled.TabsWrapper","tab","TabItem","memo"],"mappings":";;;;AAOA,MAAMA,IAAO,CAAC,EAAE,aAAAC,GAAa,UAAAC,GAAU,MAAAC,QAEnC,gBAAAC,EAACC,GAAA,EAAmB,
|
|
1
|
+
{"version":3,"file":"tabs.js","sources":["../../../../../src/features/auth/comps/tabs/tabs.tsx"],"sourcesContent":["import type { ITabsProps } from './tabs-types';\n\nimport { memo } from 'react';\n\nimport TabItem from './tab-tem/tab-item';\nimport * as Styled from './tabs-styled';\n\nconst Tabs = ({ selectedTab, onChange, tabs }: ITabsProps) => {\n return (\n <Styled.TabsWrapper $tabsCount={tabs.length}>\n {tabs.map(tab => (\n <TabItem key={tab.id} tab={tab} isSelected={tab.id === selectedTab} onChange={onChange} />\n ))}\n </Styled.TabsWrapper>\n );\n};\n\nexport default memo(Tabs);\n"],"names":["Tabs","selectedTab","onChange","tabs","jsx","Styled.TabsWrapper","tab","TabItem","memo"],"mappings":";;;;AAOA,MAAMA,IAAO,CAAC,EAAE,aAAAC,GAAa,UAAAC,GAAU,MAAAC,QAEnC,gBAAAC,EAACC,GAAA,EAAmB,YAAYF,EAAK,QAClC,YAAK,IAAI,CAAAG,wBACPC,GAAqB,EAAA,KAAAD,GAAU,YAAYA,EAAI,OAAOL,GAAa,UAAAC,EAAtD,GAAAI,EAAI,EAAsE,CACzF,EACH,CAAA,GAIWH,IAAAK,EAAKR,CAAI;"}
|
|
@@ -7,7 +7,7 @@ import o from "../../../ui/layout/flex-view.js";
|
|
|
7
7
|
import a from "../../../ui/separator/separator.js";
|
|
8
8
|
import y from "../../comps/input-status-icon/input-status-icon.js";
|
|
9
9
|
import { Container as $, FormContainer as k } from "../login-styled.js";
|
|
10
|
-
const
|
|
10
|
+
const I = ({
|
|
11
11
|
username: n,
|
|
12
12
|
password: i,
|
|
13
13
|
errors: r,
|
|
@@ -79,7 +79,7 @@ const x = ({
|
|
|
79
79
|
size: "small",
|
|
80
80
|
renderAs: "secondary-dark",
|
|
81
81
|
type: "submit",
|
|
82
|
-
label: "Log
|
|
82
|
+
label: "Log In",
|
|
83
83
|
width: "100%",
|
|
84
84
|
busy: m,
|
|
85
85
|
disabled: h
|
|
@@ -88,7 +88,7 @@ const x = ({
|
|
|
88
88
|
] })
|
|
89
89
|
}
|
|
90
90
|
);
|
|
91
|
-
}, E = f(
|
|
91
|
+
}, E = f(I);
|
|
92
92
|
export {
|
|
93
93
|
E as default
|
|
94
94
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"username-password-form.js","sources":["../../../../../src/features/auth/login/username-password-form/username-password-form.tsx"],"sourcesContent":["import type { IUsernamePasswordFormProps } from './username-password-form-types';\n\nimport { type ChangeEvent, type FC, memo, useCallback } from 'react';\n\nimport Button from '../../../ui/buttons/button/button';\nimport TextButton from '../../../ui/buttons/text-button/text-button';\nimport TextInput from '../../../ui/inputs/text-input/text-input';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport InputStatusIcon from '../../comps/input-status-icon/input-status-icon';\nimport * as Styled from '../login-styled';\n\nconst UsernamePasswordForm: FC<IUsernamePasswordFormProps> = ({\n username,\n password,\n errors,\n isLoading,\n onChange,\n onSubmit,\n onForgotPassword,\n}) => {\n const isSubmitDisabled = isLoading || !username.trim() || !password.trim();\n\n const handleUsernameChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n onChange('username', e.target.value);\n },\n [onChange],\n );\n\n const handlePasswordChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n onChange('password', e.target.value);\n },\n [onChange],\n );\n\n return (\n <Styled.Container\n $gutterX={1.5}\n $gapX={1.5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"BLACK_2\"\n >\n <Styled.FormContainer onSubmit={onSubmit}>\n <FlexView $alignItems=\"center\" $justifyContent=\"center\">\n <TextInput\n renderAs={errors.username ? 'error-dark' : 'primary-dark'}\n autoFocus\n autoComplete=\"username\"\n label=\"Username\"\n value={username}\n width=\"100%\"\n onChange={handleUsernameChange}\n required\n shape=\"borderLess\"\n errorMessage={errors.username}\n />\n <Separator height={36} />\n <TextInput\n type=\"password\"\n renderAs={errors.password ? 'error-dark' : 'primary-dark'}\n autoComplete=\"password\"\n label=\"Password\"\n value={password}\n width=\"100%\"\n onChange={handlePasswordChange}\n required\n shape=\"borderLess\"\n errorMessage={errors.password}\n siblingElement={<InputStatusIcon isError={!!errors.password} />}\n />\n </FlexView>\n <Separator heightX={1.25} />\n <FlexView $alignItems=\"flex-end\">\n <TextButton label=\"Forgot password?\" onClick={onForgotPassword} color=\"WHITE_T_60\" />\n </FlexView>\n <Separator heightX={2} />\n <FlexView $justifyContent=\"center\">\n <Button\n size=\"small\"\n renderAs=\"secondary-dark\"\n type=\"submit\"\n label=\"Log
|
|
1
|
+
{"version":3,"file":"username-password-form.js","sources":["../../../../../src/features/auth/login/username-password-form/username-password-form.tsx"],"sourcesContent":["import type { IUsernamePasswordFormProps } from './username-password-form-types';\n\nimport { type ChangeEvent, type FC, memo, useCallback } from 'react';\n\nimport Button from '../../../ui/buttons/button/button';\nimport TextButton from '../../../ui/buttons/text-button/text-button';\nimport TextInput from '../../../ui/inputs/text-input/text-input';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport InputStatusIcon from '../../comps/input-status-icon/input-status-icon';\nimport * as Styled from '../login-styled';\n\nconst UsernamePasswordForm: FC<IUsernamePasswordFormProps> = ({\n username,\n password,\n errors,\n isLoading,\n onChange,\n onSubmit,\n onForgotPassword,\n}) => {\n const isSubmitDisabled = isLoading || !username.trim() || !password.trim();\n\n const handleUsernameChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n onChange('username', e.target.value);\n },\n [onChange],\n );\n\n const handlePasswordChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n onChange('password', e.target.value);\n },\n [onChange],\n );\n\n return (\n <Styled.Container\n $gutterX={1.5}\n $gapX={1.5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"BLACK_2\"\n >\n <Styled.FormContainer onSubmit={onSubmit}>\n <FlexView $alignItems=\"center\" $justifyContent=\"center\">\n <TextInput\n renderAs={errors.username ? 'error-dark' : 'primary-dark'}\n autoFocus\n autoComplete=\"username\"\n label=\"Username\"\n value={username}\n width=\"100%\"\n onChange={handleUsernameChange}\n required\n shape=\"borderLess\"\n errorMessage={errors.username}\n />\n <Separator height={36} />\n <TextInput\n type=\"password\"\n renderAs={errors.password ? 'error-dark' : 'primary-dark'}\n autoComplete=\"password\"\n label=\"Password\"\n value={password}\n width=\"100%\"\n onChange={handlePasswordChange}\n required\n shape=\"borderLess\"\n errorMessage={errors.password}\n siblingElement={<InputStatusIcon isError={!!errors.password} />}\n />\n </FlexView>\n <Separator heightX={1.25} />\n <FlexView $alignItems=\"flex-end\">\n <TextButton label=\"Forgot password?\" onClick={onForgotPassword} color=\"WHITE_T_60\" />\n </FlexView>\n <Separator heightX={2} />\n <FlexView $justifyContent=\"center\">\n <Button\n size=\"small\"\n renderAs=\"secondary-dark\"\n type=\"submit\"\n label=\"Log In\"\n width=\"100%\"\n busy={isLoading}\n disabled={isSubmitDisabled}\n />\n </FlexView>\n </Styled.FormContainer>\n </Styled.Container>\n );\n};\n\nexport default memo(UsernamePasswordForm);\n"],"names":["UsernamePasswordForm","username","password","errors","isLoading","onChange","onSubmit","onForgotPassword","isSubmitDisabled","handleUsernameChange","useCallback","e","handlePasswordChange","jsx","Styled.Container","jsxs","Styled.FormContainer","FlexView","TextInput","Separator","InputStatusIcon","TextButton","Button","usernamePasswordForm","memo"],"mappings":";;;;;;;;;AAYA,MAAMA,IAAuD,CAAC;AAAA,EAC5D,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,kBAAAC;AACF,MAAM;AACE,QAAAC,IAAmBJ,KAAa,CAACH,EAAS,UAAU,CAACC,EAAS,QAE9DO,IAAuBC;AAAA,IAC3B,CAACC,MAAqC;AAC3B,MAAAN,EAAA,YAAYM,EAAE,OAAO,KAAK;AAAA,IACrC;AAAA,IACA,CAACN,CAAQ;AAAA,EAAA,GAGLO,IAAuBF;AAAA,IAC3B,CAACC,MAAqC;AAC3B,MAAAN,EAAA,YAAYM,EAAE,OAAO,KAAK;AAAA,IACrC;AAAA,IACA,CAACN,CAAQ;AAAA,EAAA;AAIT,SAAA,gBAAAQ;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,UAAU;AAAA,MACV,OAAO;AAAA,MACP,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAChB,aAAY;AAAA,MAEZ,UAAC,gBAAAC,EAAAC,GAAA,EAAqB,UAAAV,GACpB,UAAA;AAAA,QAAA,gBAAAS,EAACE,GAAS,EAAA,aAAY,UAAS,iBAAgB,UAC7C,UAAA;AAAA,UAAA,gBAAAJ;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,UAAUf,EAAO,WAAW,eAAe;AAAA,cAC3C,WAAS;AAAA,cACT,cAAa;AAAA,cACb,OAAM;AAAA,cACN,OAAOF;AAAA,cACP,OAAM;AAAA,cACN,UAAUQ;AAAA,cACV,UAAQ;AAAA,cACR,OAAM;AAAA,cACN,cAAcN,EAAO;AAAA,YAAA;AAAA,UACvB;AAAA,UACA,gBAAAU,EAACM,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,UACvB,gBAAAN;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,UAAUf,EAAO,WAAW,eAAe;AAAA,cAC3C,cAAa;AAAA,cACb,OAAM;AAAA,cACN,OAAOD;AAAA,cACP,OAAM;AAAA,cACN,UAAUU;AAAA,cACV,UAAQ;AAAA,cACR,OAAM;AAAA,cACN,cAAcT,EAAO;AAAA,cACrB,gBAAiB,gBAAAU,EAAAO,GAAA,EAAgB,SAAS,CAAC,CAACjB,EAAO,UAAU;AAAA,YAAA;AAAA,UAC/D;AAAA,QAAA,GACF;AAAA,QACA,gBAAAU,EAACM,GAAU,EAAA,SAAS,KAAM,CAAA;AAAA,QACzB,gBAAAN,EAAAI,GAAA,EAAS,aAAY,YACpB,UAAC,gBAAAJ,EAAAQ,GAAA,EAAW,OAAM,oBAAmB,SAASd,GAAkB,OAAM,aAAa,CAAA,GACrF;AAAA,QACA,gBAAAM,EAACM,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,QACvB,gBAAAN,EAACI,GAAS,EAAA,iBAAgB,UACxB,UAAA,gBAAAJ;AAAA,UAACS;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,UAAS;AAAA,YACT,MAAK;AAAA,YACL,OAAM;AAAA,YACN,OAAM;AAAA,YACN,MAAMlB;AAAA,YACN,UAAUI;AAAA,UAAA;AAAA,QAAA,GAEd;AAAA,MAAA,GACF;AAAA,IAAA;AAAA,EAAA;AAGN,GAEee,IAAAC,EAAKxB,CAAoB;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsxs as d, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { LOTTIE as r } from "../../../../../../assets/lottie/lottie.js";
|
|
3
|
+
import n from "../../../../../ui/lottie-animation/lottie-animation.js";
|
|
4
|
+
import { InfiniteButtonWrapper as a, ExtendedAbsoluteView as i } from "../tables-card-styled.js";
|
|
5
|
+
const O = ({
|
|
6
|
+
onClick: s,
|
|
7
|
+
onMouseOver: m,
|
|
8
|
+
onMouseLeave: I,
|
|
9
|
+
enableClick: e = !0,
|
|
10
|
+
buttonRef: u,
|
|
11
|
+
rendererSettings: o
|
|
12
|
+
}) => /* @__PURE__ */ d(
|
|
13
|
+
a,
|
|
14
|
+
{
|
|
15
|
+
ref: u,
|
|
16
|
+
onClick: e ? s : void 0,
|
|
17
|
+
onMouseOver: e ? m : void 0,
|
|
18
|
+
onMouseLeave: e ? I : void 0,
|
|
19
|
+
children: [
|
|
20
|
+
/* @__PURE__ */ t(i, { children: /* @__PURE__ */ t(
|
|
21
|
+
n,
|
|
22
|
+
{
|
|
23
|
+
src: r.INFINITE_BUTTON_BG,
|
|
24
|
+
settings: o,
|
|
25
|
+
animateOnIntersect: !0
|
|
26
|
+
}
|
|
27
|
+
) }),
|
|
28
|
+
/* @__PURE__ */ t(i, { children: /* @__PURE__ */ t(
|
|
29
|
+
n,
|
|
30
|
+
{
|
|
31
|
+
src: r.INFINITE_BUTTON_SYMBOL,
|
|
32
|
+
settings: o,
|
|
33
|
+
animateOnIntersect: !0
|
|
34
|
+
}
|
|
35
|
+
) })
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
export {
|
|
40
|
+
O as default
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=infinite-button-card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infinite-button-card.js","sources":["../../../../../../../src/features/circle-games/game-launcher/comps/tables-card/infinite-button/infinite-button-card.tsx"],"sourcesContent":["// InfiniteButtonCard.tsx\n\nimport React from 'react';\n\nimport { LOTTIE } from '../../../../../../assets/lottie/lottie';\nimport LottieAnimation from '../../../../../ui/lottie-animation/lottie-animation';\nimport * as Styled from '../tables-card-styled';\n\ninterface InfiniteButtonCardProps {\n onClick?: () => void;\n onMouseOver?: () => void;\n onMouseLeave?: () => void;\n enableClick?: boolean;\n buttonRef?: React.RefObject<HTMLDivElement>;\n rendererSettings?: {\n renderer: 'canvas';\n };\n}\n\nconst InfiniteButtonCard: React.FC<InfiniteButtonCardProps> = ({\n onClick,\n onMouseOver,\n onMouseLeave,\n enableClick = true,\n buttonRef,\n rendererSettings,\n}) => {\n return (\n <Styled.InfiniteButtonWrapper\n ref={buttonRef}\n onClick={enableClick ? onClick : undefined}\n onMouseOver={enableClick ? onMouseOver : undefined}\n onMouseLeave={enableClick ? onMouseLeave : 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 );\n};\n\nexport default InfiniteButtonCard;\n"],"names":["InfiniteButtonCard","onClick","onMouseOver","onMouseLeave","enableClick","buttonRef","rendererSettings","jsxs","Styled.InfiniteButtonWrapper","jsx","Styled.ExtendedAbsoluteView","LottieAnimation","LOTTIE"],"mappings":";;;;AAmBA,MAAMA,IAAwD,CAAC;AAAA,EAC7D,SAAAC;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,WAAAC;AAAA,EACA,kBAAAC;AACF,MAEI,gBAAAC;AAAA,EAACC;AAAAA,EAAA;AAAA,IACC,KAAKH;AAAA,IACL,SAASD,IAAcH,IAAU;AAAA,IACjC,aAAaG,IAAcF,IAAc;AAAA,IACzC,cAAcE,IAAcD,IAAe;AAAA,IAE3C,UAAA;AAAA,MAAC,gBAAAM,EAAAC,GAAA,EACC,UAAA,gBAAAD;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,KAAKC,EAAO;AAAA,UACZ,UAAUN;AAAA,UACV,oBAAkB;AAAA,QAAA;AAAA,MAAA,GAEtB;AAAA,MACA,gBAAAG,EAACC,GAAA,EACC,UAAA,gBAAAD;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,KAAKC,EAAO;AAAA,UACZ,UAAUN;AAAA,UACV,oBAAkB;AAAA,QAAA;AAAA,MAAA,GAEtB;AAAA,IAAA;AAAA,EAAA;AAAA;"}
|
|
@@ -1,90 +1,88 @@
|
|
|
1
|
-
import { jsx as t, jsxs as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import { LOTTIE as
|
|
5
|
-
import Se from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
|
|
1
|
+
import { jsx as t, jsxs as m } from "react/jsx-runtime";
|
|
2
|
+
import he, { forwardRef as be, useState as o, useRef as A, useCallback as i, useMemo as z, useImperativeHandle as Ae, useEffect as K, memo as Ee } from "react";
|
|
3
|
+
import ge from "../../../../../assets/line-icons/icons/back2.js";
|
|
4
|
+
import { LOTTIE as Ce } from "../../../../../assets/lottie/lottie.js";
|
|
6
5
|
import { useUIContext as fe } from "../../../../ui/context/context.js";
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import { useCircleSounds as
|
|
12
|
-
import { GAME_LAUNCHER_ANALYTICS_EVENTS as
|
|
13
|
-
import { CardContainer as
|
|
14
|
-
import { GAME_LAUNCHER_SIZE as
|
|
15
|
-
import { TABLE_REVEAL_ANIMATION as
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}, ze = {
|
|
6
|
+
import ve from "../../../../ui/layout/flex-view.js";
|
|
7
|
+
import Le from "../../../../ui/lottie-animation/lottie-animation.js";
|
|
8
|
+
import Ne from "../../../../ui/separator/separator.js";
|
|
9
|
+
import Se from "../../../../ui/text/text.js";
|
|
10
|
+
import { useCircleSounds as pe } from "../../../hooks/use-circle-sounds/use-circle-sounds.js";
|
|
11
|
+
import { GAME_LAUNCHER_ANALYTICS_EVENTS as Ie } from "../../game-launcher-analytics-events.js";
|
|
12
|
+
import { CardContainer as _e } from "../card-container/card-container.js";
|
|
13
|
+
import { GAME_LAUNCHER_SIZE as f, GAME_LAUNCHER_SIZE_LARGE as Re } from "../card-container/constants.js";
|
|
14
|
+
import { TABLE_REVEAL_ANIMATION as v, TABLE_MODE_LABEL_COLOR as Te, INFINITE_MODE_TEXT as He } from "./constants.js";
|
|
15
|
+
import $e from "./infinite-button/infinite-button-card.js";
|
|
16
|
+
import we from "./table-mode/table-mode.js";
|
|
17
|
+
import We from "./table-segment-star/table-segment-star.js";
|
|
18
|
+
import { CardWrapper as ye, TableSegmentsWrapper as ke, TableSegmentCardShadowContainer as De, TableSegment as Pe, TableNumber as xe, TableModeContainer as Ve, TableModeWrapper as Be, AnimatedView as qe, ModeOverlay as Me, AbsoluteView as X, IconWrapper as Ue } from "./tables-card-styled.js";
|
|
19
|
+
const je = {
|
|
22
20
|
loop: !1,
|
|
23
21
|
renderer: "svg"
|
|
24
|
-
},
|
|
22
|
+
}, Ze = be(
|
|
25
23
|
({
|
|
26
|
-
data:
|
|
27
|
-
label:
|
|
24
|
+
data: s,
|
|
25
|
+
label: H,
|
|
28
26
|
onPress: E,
|
|
29
27
|
openModesOfTable: r,
|
|
30
|
-
defaultTable:
|
|
31
|
-
onGoBackFromTableLevel:
|
|
32
|
-
onPressTableSegment:
|
|
33
|
-
},
|
|
34
|
-
var
|
|
35
|
-
const { onEvent:
|
|
28
|
+
defaultTable: g,
|
|
29
|
+
onGoBackFromTableLevel: C,
|
|
30
|
+
onPressTableSegment: L
|
|
31
|
+
}, Y) => {
|
|
32
|
+
var j;
|
|
33
|
+
const { onEvent: $ } = fe(), { playButtonSound: c } = pe(), [u, N] = o(!0), [d, h] = o(
|
|
36
34
|
(r == null ? void 0 : r.tableNumber) ?? null
|
|
37
|
-
), [
|
|
38
|
-
stars: ((
|
|
35
|
+
), [S, w] = o(null), [W, y] = o(!1), [F, b] = o("WHITE_T_60"), [a, p] = o({
|
|
36
|
+
stars: ((j = s.tableList.find((e) => e.tableNumber === (r == null ? void 0 : r.tableNumber))) == null ? void 0 : j.stars) ?? [],
|
|
39
37
|
tableNumber: (r == null ? void 0 : r.tableNumber) ?? 0
|
|
40
|
-
}), [
|
|
38
|
+
}), k = A(null), [J, Q] = o(!0), [I, D] = o(!1), [P, G] = o("WHITE_T_60"), x = A(null), V = A(null), [B, O] = o((r == null ? void 0 : r.rewardStar) ?? []), _ = A(null), R = A(), q = i(
|
|
41
39
|
(e) => {
|
|
42
|
-
if (
|
|
43
|
-
|
|
40
|
+
if (L) {
|
|
41
|
+
L(e);
|
|
44
42
|
return;
|
|
45
43
|
}
|
|
46
|
-
|
|
44
|
+
c(), N(!0), h(e.tableNumber), p({ ...e }), O([]), $(Ie.TABLE_SELECTED, {
|
|
47
45
|
meta: {
|
|
48
46
|
table_of: e.tableNumber
|
|
49
47
|
}
|
|
50
48
|
});
|
|
51
49
|
},
|
|
52
|
-
[
|
|
53
|
-
),
|
|
50
|
+
[L, c, $]
|
|
51
|
+
), ee = i(
|
|
54
52
|
(e) => {
|
|
55
|
-
|
|
53
|
+
b(I ? P : "WHITE_T_60"), h(e.tableNumber);
|
|
56
54
|
},
|
|
57
|
-
[
|
|
58
|
-
),
|
|
59
|
-
|
|
60
|
-
}, []),
|
|
61
|
-
|
|
62
|
-
}, [
|
|
55
|
+
[P, I]
|
|
56
|
+
), te = i(() => {
|
|
57
|
+
y(!0);
|
|
58
|
+
}, []), M = i(() => {
|
|
59
|
+
b("WHITE_T_60"), !a.tableNumber && h(null), y(!1);
|
|
60
|
+
}, [a.tableNumber]), U = i(() => {
|
|
63
61
|
var n;
|
|
64
|
-
|
|
65
|
-
const e = (
|
|
66
|
-
(n =
|
|
67
|
-
|
|
62
|
+
C == null || C(), c(), N(!1), h(null);
|
|
63
|
+
const e = (v.DISAPPEAR[1] - v.DISAPPEAR[0]) / 30;
|
|
64
|
+
(n = _.current) == null || n.playSegments(v.DISAPPEAR, !0), R.current = setTimeout(() => {
|
|
65
|
+
p({ stars: [], tableNumber: 0 });
|
|
68
66
|
}, e * 1e3);
|
|
69
|
-
}, [
|
|
67
|
+
}, [C, c]), re = i(() => {
|
|
70
68
|
var e;
|
|
71
|
-
(e =
|
|
72
|
-
}, []),
|
|
69
|
+
(e = _.current) == null || e.playSegments(v.REVEAL, !0);
|
|
70
|
+
}, []), ie = i((e) => {
|
|
73
71
|
const n = {
|
|
74
72
|
sequence: 1,
|
|
75
73
|
random: 2,
|
|
76
74
|
advance: 3
|
|
77
75
|
};
|
|
78
|
-
|
|
79
|
-
}, []),
|
|
80
|
-
|
|
81
|
-
}, []),
|
|
76
|
+
b(Te[e] ?? "WHITE_T_60"), w(n[e] ?? 0);
|
|
77
|
+
}, []), ne = i(() => {
|
|
78
|
+
w(null), b("WHITE_T_60");
|
|
79
|
+
}, []), l = z(() => a, [a]), oe = z(() => [
|
|
82
80
|
{
|
|
83
81
|
top: 20,
|
|
84
82
|
left: 10.5,
|
|
85
83
|
type: "sequence",
|
|
86
|
-
tableNumber:
|
|
87
|
-
isStarAchieved:
|
|
84
|
+
tableNumber: l.tableNumber,
|
|
85
|
+
isStarAchieved: l.stars.includes("sequence"),
|
|
88
86
|
semicirclePosiiionTop: "-19%",
|
|
89
87
|
semicirclePosiiionLeft: "-43%",
|
|
90
88
|
semicircleHoverColor: "#B259004D"
|
|
@@ -93,8 +91,8 @@ const J = {
|
|
|
93
91
|
top: 20,
|
|
94
92
|
left: 65.5,
|
|
95
93
|
type: "random",
|
|
96
|
-
tableNumber:
|
|
97
|
-
isStarAchieved:
|
|
94
|
+
tableNumber: l.tableNumber,
|
|
95
|
+
isStarAchieved: l.stars.includes("random"),
|
|
98
96
|
semicirclePosiiionTop: "-19%",
|
|
99
97
|
semicirclePosiiionLeft: "65%",
|
|
100
98
|
semicircleHoverColor: "#0055CC4D"
|
|
@@ -103,113 +101,90 @@ const J = {
|
|
|
103
101
|
top: 66,
|
|
104
102
|
left: 38,
|
|
105
103
|
type: "advance",
|
|
106
|
-
tableNumber:
|
|
107
|
-
isStarAchieved:
|
|
104
|
+
tableNumber: l.tableNumber,
|
|
105
|
+
isStarAchieved: l.stars.includes("advance"),
|
|
108
106
|
semicirclePosiiionTop: "74%",
|
|
109
107
|
semicirclePosiiionLeft: "11%",
|
|
110
108
|
semicircleHoverColor: "#A9099C4D"
|
|
111
109
|
}
|
|
112
|
-
], [
|
|
110
|
+
], [l.tableNumber, l.stars]), le = i(() => {
|
|
113
111
|
E({
|
|
114
112
|
mode: "infinite",
|
|
115
|
-
infiniteModeHighScore:
|
|
113
|
+
infiniteModeHighScore: s.infiniteModeHighScore
|
|
116
114
|
});
|
|
117
|
-
}, [E,
|
|
115
|
+
}, [E, s.infiniteModeHighScore]), se = i(
|
|
118
116
|
(e, n) => {
|
|
119
117
|
E({
|
|
120
118
|
mode: e,
|
|
121
|
-
tableNumber:
|
|
119
|
+
tableNumber: a.tableNumber,
|
|
122
120
|
isStarRewarded: n
|
|
123
121
|
});
|
|
124
122
|
},
|
|
125
|
-
[E,
|
|
126
|
-
),
|
|
127
|
-
|
|
128
|
-
}, []),
|
|
129
|
-
return
|
|
130
|
-
labelRef:
|
|
131
|
-
segmentedCardWrapperRef:
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
}, [
|
|
141
|
-
|
|
123
|
+
[E, a.tableNumber]
|
|
124
|
+
), ae = i(() => S ? `${d}× LEVEL${S}` : W ? He : d ? `${d}× Table` : H, [S, d, W, H]), ce = i((e) => {
|
|
125
|
+
b(e), G(e), D(!0);
|
|
126
|
+
}, []), me = i(() => D(!1), []), ue = i((e) => Q(e), []);
|
|
127
|
+
return Ae(Y, () => ({
|
|
128
|
+
labelRef: x,
|
|
129
|
+
segmentedCardWrapperRef: V,
|
|
130
|
+
centerCardWrapperRef: k,
|
|
131
|
+
startLabelAnimation: ce,
|
|
132
|
+
stopLabelAnimation: me,
|
|
133
|
+
setLabelVisiblity: ue,
|
|
134
|
+
handleTableSegmentClick: q,
|
|
135
|
+
goBackFromTableLevel: U
|
|
136
|
+
})), K(() => () => {
|
|
137
|
+
R.current && clearTimeout(R.current);
|
|
138
|
+
}, []), K(() => {
|
|
139
|
+
g && (c(), N(!0), h(g.tableNumber), p({ ...g }));
|
|
140
|
+
}, [g, c]), /* @__PURE__ */ t(
|
|
141
|
+
_e,
|
|
142
142
|
{
|
|
143
|
-
labelRef:
|
|
144
|
-
ref:
|
|
143
|
+
labelRef: x,
|
|
144
|
+
ref: V,
|
|
145
145
|
strokeColor: "WHITE",
|
|
146
|
-
label:
|
|
147
|
-
labelColor:
|
|
148
|
-
isAnimated:
|
|
149
|
-
showLabel:
|
|
150
|
-
children: /* @__PURE__ */
|
|
151
|
-
/* @__PURE__ */
|
|
146
|
+
label: ae(),
|
|
147
|
+
labelColor: F,
|
|
148
|
+
isAnimated: I,
|
|
149
|
+
showLabel: J,
|
|
150
|
+
children: /* @__PURE__ */ m(ye, { children: [
|
|
151
|
+
/* @__PURE__ */ m(ke, { children: [
|
|
152
152
|
/* @__PURE__ */ t(
|
|
153
|
-
|
|
153
|
+
$e,
|
|
154
154
|
{
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
Pe,
|
|
161
|
-
{
|
|
162
|
-
onClick: N ? ue : void 0,
|
|
163
|
-
onMouseOver: N ? oe : void 0,
|
|
164
|
-
onMouseLeave: N ? j : void 0,
|
|
165
|
-
children: [
|
|
166
|
-
/* @__PURE__ */ t(X, { children: /* @__PURE__ */ t(
|
|
167
|
-
w,
|
|
168
|
-
{
|
|
169
|
-
src: R.INFINITE_BUTTON_BG,
|
|
170
|
-
settings: J,
|
|
171
|
-
animateOnIntersect: !0
|
|
172
|
-
}
|
|
173
|
-
) }),
|
|
174
|
-
/* @__PURE__ */ t(X, { children: /* @__PURE__ */ t(
|
|
175
|
-
w,
|
|
176
|
-
{
|
|
177
|
-
src: R.INFINITE_BUTTON_SYMBOL,
|
|
178
|
-
settings: J,
|
|
179
|
-
animateOnIntersect: !0
|
|
180
|
-
}
|
|
181
|
-
) })
|
|
182
|
-
]
|
|
183
|
-
}
|
|
184
|
-
)
|
|
155
|
+
onClick: le,
|
|
156
|
+
enableClick: !0,
|
|
157
|
+
buttonRef: k,
|
|
158
|
+
onMouseLeave: M,
|
|
159
|
+
onMouseOver: te
|
|
185
160
|
}
|
|
186
161
|
),
|
|
187
|
-
/* @__PURE__ */ t(
|
|
188
|
-
|
|
189
|
-
const
|
|
162
|
+
/* @__PURE__ */ t(De, {}),
|
|
163
|
+
s.tableList.map((e, n) => {
|
|
164
|
+
const de = 360 / s.tableList.length, Z = -(90 + 360 / (2 * s.tableList.length)) + de * (n + 1);
|
|
190
165
|
return /* @__PURE__ */ t(
|
|
191
|
-
|
|
166
|
+
Pe,
|
|
192
167
|
{
|
|
193
168
|
$angle: Z,
|
|
194
|
-
$totalSegments:
|
|
169
|
+
$totalSegments: s.tableList.length,
|
|
195
170
|
$zIndex: n + 1,
|
|
196
171
|
onClick: () => q(e),
|
|
197
|
-
onMouseOver: () =>
|
|
198
|
-
onMouseLeave:
|
|
199
|
-
children: /* @__PURE__ */
|
|
200
|
-
["sequence", "random", "advance"].map((
|
|
201
|
-
|
|
172
|
+
onMouseOver: () => ee(e),
|
|
173
|
+
onMouseLeave: M,
|
|
174
|
+
children: /* @__PURE__ */ m(ve, { $flexDirection: "row", $justifyContent: "center", $alignItems: "center", children: [
|
|
175
|
+
["sequence", "random", "advance"].map((T) => /* @__PURE__ */ t(
|
|
176
|
+
We,
|
|
202
177
|
{
|
|
203
|
-
isStarAchieved: e.stars.includes(
|
|
204
|
-
rewardStar: !u && (r == null ? void 0 : r.tableNumber) === e.tableNumber ?
|
|
178
|
+
isStarAchieved: e.stars.includes(T),
|
|
179
|
+
rewardStar: !u && (r == null ? void 0 : r.tableNumber) === e.tableNumber ? B.includes(T) : void 0
|
|
205
180
|
},
|
|
206
|
-
|
|
181
|
+
T
|
|
207
182
|
)),
|
|
208
|
-
/* @__PURE__ */ t(
|
|
209
|
-
/* @__PURE__ */ t(
|
|
210
|
-
|
|
183
|
+
/* @__PURE__ */ t(Ne, { width: f * 0.055 }),
|
|
184
|
+
/* @__PURE__ */ t(xe, { $angle: -Z, children: /* @__PURE__ */ t(
|
|
185
|
+
Se,
|
|
211
186
|
{
|
|
212
|
-
$renderAs:
|
|
187
|
+
$renderAs: f === Re ? "ac3-black" : "ac4-black",
|
|
213
188
|
$color: d === e.tableNumber ? "BLACK_1" : "WHITE",
|
|
214
189
|
children: e.tableNumber
|
|
215
190
|
}
|
|
@@ -220,54 +195,54 @@ const J = {
|
|
|
220
195
|
);
|
|
221
196
|
})
|
|
222
197
|
] }),
|
|
223
|
-
|
|
224
|
-
/* @__PURE__ */
|
|
225
|
-
|
|
198
|
+
a.tableNumber > 0 && /* @__PURE__ */ t(Ve, { children: /* @__PURE__ */ m(Be, { children: [
|
|
199
|
+
/* @__PURE__ */ m(qe, { animation: u ? "fade-in" : "fade-out", children: [
|
|
200
|
+
oe.map((e, n) => /* @__PURE__ */ m(he.Fragment, { children: [
|
|
226
201
|
/* @__PURE__ */ t(
|
|
227
|
-
|
|
202
|
+
Me,
|
|
228
203
|
{
|
|
229
204
|
$top: e.semicirclePosiiionTop,
|
|
230
205
|
$left: e.semicirclePosiiionLeft,
|
|
231
206
|
$hoverColor: e.semicircleHoverColor,
|
|
232
|
-
onClick: () => u ?
|
|
233
|
-
onMouseOver: () => u ?
|
|
234
|
-
onMouseLeave: u ?
|
|
207
|
+
onClick: () => u ? se(e.type, e.isStarAchieved) : void 0,
|
|
208
|
+
onMouseOver: () => u ? ie(e.type) : void 0,
|
|
209
|
+
onMouseLeave: u ? ne : void 0
|
|
235
210
|
}
|
|
236
211
|
),
|
|
237
212
|
/* @__PURE__ */ t(
|
|
238
|
-
|
|
213
|
+
X,
|
|
239
214
|
{
|
|
240
215
|
$top: e.top,
|
|
241
216
|
$left: e.left,
|
|
242
217
|
$isPointerEventsNone: !0,
|
|
243
218
|
children: /* @__PURE__ */ t(
|
|
244
|
-
|
|
219
|
+
we,
|
|
245
220
|
{
|
|
246
221
|
tableNumber: e.tableNumber,
|
|
247
222
|
isStarAchieved: e.isStarAchieved,
|
|
248
223
|
type: e.type,
|
|
249
|
-
rewardStar:
|
|
224
|
+
rewardStar: B.includes(e.type)
|
|
250
225
|
}
|
|
251
226
|
)
|
|
252
227
|
}
|
|
253
228
|
)
|
|
254
229
|
] }, n)),
|
|
255
|
-
/* @__PURE__ */ t(
|
|
256
|
-
|
|
230
|
+
/* @__PURE__ */ t(X, { $top: 50, $left: 50, $alignCenter: !0, children: /* @__PURE__ */ t(Ue, { children: /* @__PURE__ */ t(
|
|
231
|
+
ge,
|
|
257
232
|
{
|
|
258
|
-
onClick:
|
|
259
|
-
height:
|
|
260
|
-
width:
|
|
233
|
+
onClick: U,
|
|
234
|
+
height: f * 0.1,
|
|
235
|
+
width: f * 0.1
|
|
261
236
|
}
|
|
262
237
|
) }) })
|
|
263
238
|
] }),
|
|
264
239
|
/* @__PURE__ */ t(
|
|
265
|
-
|
|
240
|
+
Le,
|
|
266
241
|
{
|
|
267
|
-
src:
|
|
268
|
-
ref:
|
|
269
|
-
settings:
|
|
270
|
-
onRender:
|
|
242
|
+
src: Ce.TABLE_MODE_REVEAL,
|
|
243
|
+
ref: _,
|
|
244
|
+
settings: je,
|
|
245
|
+
onRender: re,
|
|
271
246
|
animateOnIntersect: !0
|
|
272
247
|
}
|
|
273
248
|
)
|
|
@@ -276,8 +251,8 @@ const J = {
|
|
|
276
251
|
}
|
|
277
252
|
);
|
|
278
253
|
}
|
|
279
|
-
),
|
|
254
|
+
), mt = Ee(Ze);
|
|
280
255
|
export {
|
|
281
|
-
|
|
256
|
+
mt as TablesCard
|
|
282
257
|
};
|
|
283
258
|
//# sourceMappingURL=tables-card.js.map
|