@cuemath/leap 3.0.9 → 3.0.10-aa1

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.
Files changed (81) hide show
  1. package/dist/assets/line-icons/icons/check.js +3 -3
  2. package/dist/assets/line-icons/icons/check.js.map +1 -1
  3. package/dist/assets/line-icons/icons/hw.js +32 -0
  4. package/dist/assets/line-icons/icons/hw.js.map +1 -0
  5. package/dist/assets/line-icons/icons/puzzle-icon.js +51 -0
  6. package/dist/assets/line-icons/icons/puzzle-icon.js.map +1 -0
  7. package/dist/assets/line-icons/icons/share.js +48 -0
  8. package/dist/assets/line-icons/icons/share.js.map +1 -0
  9. package/dist/assets/line-icons/icons/tile.js +54 -0
  10. package/dist/assets/line-icons/icons/tile.js.map +1 -0
  11. package/dist/features/cue-canvas/bottombar/homework-controls.js +58 -0
  12. package/dist/features/cue-canvas/bottombar/homework-controls.js.map +1 -0
  13. package/dist/features/cue-canvas/cue-canvas-context.js +6 -6
  14. package/dist/features/cue-canvas/cue-canvas-context.js.map +1 -1
  15. package/dist/features/cue-canvas/cue-canvas-core.js +85 -54
  16. package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
  17. package/dist/features/cue-canvas/cue-canvas-helpers.js +31 -25
  18. package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
  19. package/dist/features/cue-canvas/cue-canvas-provider.js +10 -10
  20. package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
  21. package/dist/features/cue-canvas/cue-canvas.js +57 -57
  22. package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
  23. package/dist/features/cue-canvas/cue-cavas-styled.js +34 -33
  24. package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
  25. package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js +20 -20
  26. package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js.map +1 -1
  27. package/dist/features/cue-canvas/sidebar/homework/helper.js +20 -0
  28. package/dist/features/cue-canvas/sidebar/homework/helper.js.map +1 -0
  29. package/dist/features/cue-canvas/sidebar/homework/homework-menu.js +33 -0
  30. package/dist/features/cue-canvas/sidebar/homework/homework-menu.js.map +1 -0
  31. package/dist/features/cue-canvas/sidebar/homework/homework-request.js +60 -0
  32. package/dist/features/cue-canvas/sidebar/homework/homework-request.js.map +1 -0
  33. package/dist/features/cue-canvas/sidebar/homework/homework-styled.js +25 -0
  34. package/dist/features/cue-canvas/sidebar/homework/homework-styled.js.map +1 -0
  35. package/dist/features/cue-canvas/sidebar/homework/homework.js +32 -0
  36. package/dist/features/cue-canvas/sidebar/homework/homework.js.map +1 -0
  37. package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js +13 -0
  38. package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js.map +1 -0
  39. package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js +60 -0
  40. package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js.map +1 -0
  41. package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js +44 -0
  42. package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js.map +1 -0
  43. package/dist/features/cue-canvas/sidebar/puzzles/filters.js +107 -0
  44. package/dist/features/cue-canvas/sidebar/puzzles/filters.js.map +1 -0
  45. package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js +42 -0
  46. package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js.map +1 -0
  47. package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js +84 -0
  48. package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js.map +1 -0
  49. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js +36 -0
  50. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js.map +1 -0
  51. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js +133 -0
  52. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js.map +1 -0
  53. package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js +96 -0
  54. package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js.map +1 -0
  55. package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js +29 -0
  56. package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js.map +1 -0
  57. package/dist/features/cue-canvas/sidebar/puzzles/utils.js +120 -0
  58. package/dist/features/cue-canvas/sidebar/puzzles/utils.js.map +1 -0
  59. package/dist/features/cue-canvas/sidebar/sidebar-styled.js +32 -0
  60. package/dist/features/cue-canvas/sidebar/sidebar-styled.js.map +1 -0
  61. package/dist/features/cue-canvas/sidebar/sidebar.js +34 -0
  62. package/dist/features/cue-canvas/sidebar/sidebar.js.map +1 -0
  63. package/dist/features/cue-canvas/sidebar/tiles/tile.js +16 -0
  64. package/dist/features/cue-canvas/sidebar/tiles/tile.js.map +1 -0
  65. package/dist/features/hooks/use-debounce.js +16 -0
  66. package/dist/features/hooks/use-debounce.js.map +1 -0
  67. package/dist/features/post-game-stats/digital-meter/digital-meter.js +49 -40
  68. package/dist/features/post-game-stats/digital-meter/digital-meter.js.map +1 -1
  69. package/dist/features/ui/animated-arc/animated-arc.js +7 -7
  70. package/dist/features/ui/animated-arc/animated-arc.js.map +1 -1
  71. package/dist/features/ui/loader/circular-loader/circular-loader.js +8 -6
  72. package/dist/features/ui/loader/circular-loader/circular-loader.js.map +1 -1
  73. package/dist/features/ui/stepper/stepper.js +7 -7
  74. package/dist/features/ui/theme/tab.js +26 -0
  75. package/dist/features/ui/theme/tab.js.map +1 -1
  76. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +34 -34
  77. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  78. package/dist/index.d.ts +48 -11
  79. package/dist/index.js +441 -435
  80. package/dist/index.js.map +1 -1
  81. package/package.json +1 -1
@@ -0,0 +1,96 @@
1
+ import r from "styled-components";
2
+ import t from "../../../ui/layout/flex-view.js";
3
+ import e from "../../../ui/text/text.js";
4
+ const s = r(t)`
5
+ position: absolute;
6
+ top: 38px;
7
+ left: -43px; //32px for icon +4 gutter + 7 padding
8
+ width: 650px;
9
+ height: 438px;
10
+ border-radius: 6px;
11
+ background: #292734;
12
+ box-shadow: 0px 4px 8px ${({ theme: o }) => o.colors.BLACK_T_20};
13
+ `, d = r.img`
14
+ position: relative;
15
+ width: 160px;
16
+ height: 120px;
17
+ border: 1px solid white;
18
+ border-radius: 8px;
19
+ margin: 16px;
20
+ background-color: black;
21
+ cursor: pointer;
22
+ `, a = r.div`
23
+ color: white;
24
+ cursor: pointer;
25
+ width: 150px;
26
+ overflow: hidden;
27
+ white-space: nowrap;
28
+ text-overflow: ellipsis;
29
+ `, p = r.div`
30
+ width: 336px;
31
+ height: 300px;
32
+ display: flex;
33
+ justify-content: center;
34
+ align-items: center;
35
+ color: ${({ theme: o }) => o.colors.GREY_4};
36
+ `, b = r(t)`
37
+ max-height: 300px;
38
+ width: 100%;
39
+ overflow-y: auto;
40
+ &::-webkit-scrollbar {
41
+ border-radius: 6px;
42
+ background-color: ${({ theme: o }) => o.colors.WHITE};
43
+ }
44
+
45
+ &::-webkit-scrollbar-thumb {
46
+ border-radius: 6px;
47
+ background: ${({ theme: o }) => o.colors.REAL_BLACK_60};
48
+ }
49
+ `, n = r(t)`
50
+ background: #292734;
51
+
52
+ & > div {
53
+ width: calc(100% - 32px);
54
+ }
55
+ `, x = r(t)`
56
+ overflow-y: auto;
57
+ &::-webkit-scrollbar {
58
+ border-radius: 6px;
59
+ background-color: ${({ theme: o }) => o.colors.WHITE};
60
+ }
61
+
62
+ &::-webkit-scrollbar-thumb {
63
+ border-radius: 6px;
64
+ background: ${({ theme: o }) => o.colors.REAL_BLACK_60};
65
+ }
66
+ `, h = r(t)`
67
+ border-right: 1px solid ${({ theme: o }) => o.colors.GREY_4};
68
+ height: 385px;
69
+ overflow-y: auto;
70
+ &::-webkit-scrollbar {
71
+ border-radius: 6px;
72
+ background-color: ${({ theme: o }) => o.colors.WHITE};
73
+ }
74
+
75
+ &::-webkit-scrollbar-thumb {
76
+ border-radius: 6px;
77
+ background: ${({ theme: o }) => o.colors.REAL_BLACK_60};
78
+ }
79
+ `, u = r(e)`
80
+ width: 130px;
81
+ white-space: nowrap;
82
+ text-overflow: ellipsis;
83
+ overflow: hidden;
84
+ `;
85
+ export {
86
+ b as ActivitiesList,
87
+ d as ActivityImage,
88
+ a as ActivityTitle,
89
+ x as CheckboxWrapper,
90
+ p as EmptyStateContainer,
91
+ h as FilterSidebar,
92
+ s as MenuContainer,
93
+ n as SearchHeaderWrapper,
94
+ u as SelectedGrades
95
+ };
96
+ //# sourceMappingURL=puzzles-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puzzles-styled.js","sources":["../../../../../src/features/cue-canvas/sidebar/puzzles/puzzles-styled.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\n\nconst MenuContainer = styled(FlexView)`\n position: absolute;\n top: 38px;\n left: -43px; //32px for icon +4 gutter + 7 padding\n width: 650px;\n height: 438px;\n border-radius: 6px;\n background: #292734;\n box-shadow: 0px 4px 8px ${({ theme }) => theme.colors.BLACK_T_20};\n`;\n\nconst ActivityImage = styled.img`\n position: relative;\n width: 160px;\n height: 120px;\n border: 1px solid white;\n border-radius: 8px;\n margin: 16px;\n background-color: black;\n cursor: pointer;\n`;\n\nconst ActivityTitle = styled.div`\n color: white;\n cursor: pointer;\n width: 150px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n`;\n\nconst EmptyStateContainer = styled.div`\n width: 336px;\n height: 300px;\n display: flex;\n justify-content: center;\n align-items: center;\n color: ${({ theme }) => theme.colors.GREY_4};\n`;\n\nconst ActivitiesList = styled(FlexView)`\n max-height: 300px;\n width: 100%;\n overflow-y: auto;\n &::-webkit-scrollbar {\n border-radius: 6px;\n background-color: ${({ theme }) => theme.colors.WHITE};\n }\n\n &::-webkit-scrollbar-thumb {\n border-radius: 6px;\n background: ${({ theme }) => theme.colors.REAL_BLACK_60};\n }\n`;\n\nconst SearchHeaderWrapper = styled(FlexView)<{ $noBorder?: boolean }>`\n background: #292734;\n\n & > div {\n width: calc(100% - 32px);\n }\n`;\n\nconst CheckboxWrapper = styled(FlexView)`\n overflow-y: auto;\n &::-webkit-scrollbar {\n border-radius: 6px;\n background-color: ${({ theme }) => theme.colors.WHITE};\n }\n\n &::-webkit-scrollbar-thumb {\n border-radius: 6px;\n background: ${({ theme }) => theme.colors.REAL_BLACK_60};\n }\n`;\n\nconst FilterSidebar = styled(FlexView)`\n border-right: 1px solid ${({ theme }) => theme.colors.GREY_4};\n height: 385px;\n overflow-y: auto;\n &::-webkit-scrollbar {\n border-radius: 6px;\n background-color: ${({ theme }) => theme.colors.WHITE};\n }\n\n &::-webkit-scrollbar-thumb {\n border-radius: 6px;\n background: ${({ theme }) => theme.colors.REAL_BLACK_60};\n }\n`;\n\nconst SelectedGrades = styled(Text)`\n width: 130px;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n`;\n\nexport {\n MenuContainer,\n ActivityImage,\n ActivityTitle,\n EmptyStateContainer,\n ActivitiesList,\n SearchHeaderWrapper,\n CheckboxWrapper,\n FilterSidebar,\n SelectedGrades,\n};\n"],"names":["MenuContainer","styled","FlexView","theme","ActivityImage","ActivityTitle","EmptyStateContainer","ActivitiesList","SearchHeaderWrapper","CheckboxWrapper","FilterSidebar","SelectedGrades","Text"],"mappings":";;;AAKM,MAAAA,IAAgBC,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAQT,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,UAAU;AAAA,GAG5DC,IAAgBH,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWvBI,IAAgBJ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASvBK,IAAsBL,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAMxB,CAAC,EAAE,OAAAE,EAAA,MAAYA,EAAM,OAAO,MAAM;AAAA,GAGvCI,IAAiBN,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAMd,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKvC,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,aAAa;AAAA;AAAA,GAIrDK,IAAsBP,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQrCO,IAAkBR,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,wBAIf,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKvC,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,aAAa;AAAA;AAAA,GAIrDO,IAAgBT,EAAOC,CAAQ;AAAA,4BACT,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,wBAKtC,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKvC,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,aAAa;AAAA;AAAA,GAIrDQ,IAAiBV,EAAOW,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,29 @@
1
+ import { jsxs as m, jsx as o } from "react/jsx-runtime";
2
+ import { memo as a, useRef as p, useCallback as z, useEffect as f } from "react";
3
+ import d from "../../../../assets/line-icons/icons/puzzle-icon.js";
4
+ import C from "../../../ui/buttons/clickable/clickable.js";
5
+ import v from "../../../ui/hooks/use-context-menu-click-handler.js";
6
+ import b from "../../../ui/layout/flex-view.js";
7
+ import { StyledWrapper as g } from "../../cue-cavas-styled.js";
8
+ import { useCueCanvasActions as h } from "../../hooks/use-cue-canvas-actions.js";
9
+ import k from "./puzzle-menu.js";
10
+ const x = (s) => {
11
+ const { activeSidebar: e, setActiveSidebar: r, grade: u } = s, { activeInstance: t } = h(), c = p(null), { menuVisible: l, onMenuClick: i } = v(
12
+ c,
13
+ void 0,
14
+ !0,
15
+ void 0
16
+ ), n = z(() => {
17
+ e === "tile" && (t == null || t.toggleTiles(!1)), r(e === "puzzle" ? void 0 : "puzzle"), i();
18
+ }, [e, t, i, r]);
19
+ return f(() => {
20
+ e === "tile" && l && i();
21
+ }, [e, l, i]), /* @__PURE__ */ m(b, { $position: "relative", $height: "100%", children: [
22
+ /* @__PURE__ */ o(C, { onClick: n, label: "puzzles", children: /* @__PURE__ */ o(g, { $active: e === "puzzle", children: /* @__PURE__ */ o(d, {}) }) }),
23
+ l && /* @__PURE__ */ o(k, { toggleMenu: n, studentGrade: u })
24
+ ] });
25
+ }, w = a(x);
26
+ export {
27
+ w as default
28
+ };
29
+ //# sourceMappingURL=puzzles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puzzles.js","sources":["../../../../../src/features/cue-canvas/sidebar/puzzles/puzzles.tsx"],"sourcesContent":["import type { IPuzzlesContainer } from './puzzles-type';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useRef } from 'react';\n\nimport PuzzleIcon from '../../../../assets/line-icons/icons/puzzle-icon';\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport useContextMenuClickHandler from '../../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../../ui/layout/flex-view';\nimport { StyledWrapper } from '../../cue-cavas-styled';\nimport { useCueCanvasActions } from '../../hooks/use-cue-canvas-actions';\nimport PuzzleMenu from './puzzle-menu';\n\nconst PuzzlesContainer: FC<IPuzzlesContainer> = props => {\n const { activeSidebar, setActiveSidebar, grade } = props;\n const { activeInstance: cueCanvas } = useCueCanvasActions();\n const puzzleMenuRef = useRef(null);\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(\n puzzleMenuRef,\n undefined,\n true,\n undefined,\n );\n\n const handleClick = useCallback(() => {\n if (activeSidebar === 'tile') {\n cueCanvas?.toggleTiles(false);\n }\n setActiveSidebar(activeSidebar === 'puzzle' ? undefined : 'puzzle');\n onMenuClick();\n }, [activeSidebar, cueCanvas, onMenuClick, setActiveSidebar]);\n\n useEffect(() => {\n if (activeSidebar === 'tile' && menuVisible) {\n onMenuClick();\n }\n }, [activeSidebar, menuVisible, onMenuClick]);\n\n return (\n <FlexView $position=\"relative\" $height=\"100%\">\n <Clickable onClick={handleClick} label=\"puzzles\">\n <StyledWrapper $active={activeSidebar === 'puzzle'}>\n <PuzzleIcon />\n </StyledWrapper>\n </Clickable>\n {menuVisible && <PuzzleMenu toggleMenu={handleClick} studentGrade={grade} />}\n </FlexView>\n );\n};\n\nexport default memo(PuzzlesContainer);\n"],"names":["PuzzlesContainer","props","activeSidebar","setActiveSidebar","grade","cueCanvas","useCueCanvasActions","puzzleMenuRef","useRef","menuVisible","onMenuClick","useContextMenuClickHandler","handleClick","useCallback","useEffect","jsxs","FlexView","jsx","Clickable","StyledWrapper","PuzzleIcon","PuzzleMenu","Puzzles","memo"],"mappings":";;;;;;;;;AAaA,MAAMA,IAA0C,CAASC,MAAA;AACvD,QAAM,EAAE,eAAAC,GAAe,kBAAAC,GAAkB,OAAAC,EAAA,IAAUH,GAC7C,EAAE,gBAAgBI,EAAU,IAAIC,EAAoB,GACpDC,IAAgBC,EAAO,IAAI,GAC3B,EAAE,aAAAC,GAAa,aAAAC,EAAA,IAAgBC;AAAA,IACnCJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,GAGIK,IAAcC,EAAY,MAAM;AACpC,IAAIX,MAAkB,WACpBG,KAAA,QAAAA,EAAW,YAAY,MAERF,EAAAD,MAAkB,WAAW,SAAY,QAAQ,GACtDQ;KACX,CAACR,GAAeG,GAAWK,GAAaP,CAAgB,CAAC;AAE5D,SAAAW,EAAU,MAAM;AACV,IAAAZ,MAAkB,UAAUO,KAClBC;EAEb,GAAA,CAACR,GAAeO,GAAaC,CAAW,CAAC,GAGzC,gBAAAK,EAAAC,GAAA,EAAS,WAAU,YAAW,SAAQ,QACrC,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAU,EAAA,SAASN,GAAa,OAAM,WACrC,UAAA,gBAAAK,EAACE,GAAc,EAAA,SAASjB,MAAkB,UACxC,UAAC,gBAAAe,EAAAG,GAAA,CAAA,CAAW,EACd,CAAA,GACF;AAAA,IACCX,KAAgB,gBAAAQ,EAAAI,GAAA,EAAW,YAAYT,GAAa,cAAcR,GAAO;AAAA,EAC5E,EAAA,CAAA;AAEJ,GAEekB,IAAAC,EAAKvB,CAAgB;"}
@@ -0,0 +1,120 @@
1
+ const I = (l) => {
2
+ const { grid: m, strokes: c, tiles: f } = l || {}, a = {};
3
+ (f || []).forEach((o) => {
4
+ var G, u, g, D, A, h;
5
+ const { name: t, options: i, id: r, size: T } = o || {};
6
+ if (r) {
7
+ if (t === "text") {
8
+ const e = { ...o, html: i };
9
+ delete e.options, delete e.id, a[r] = [void 0, e];
10
+ }
11
+ if (t === "equation" || t === "algebra-tile") {
12
+ const e = { ...o, expr: i };
13
+ t === "algebra-tile" && (e.name = "algebra"), delete e.options, delete e.id, a[r] = [void 0, e];
14
+ }
15
+ if (t === "image") {
16
+ const e = { ...o, href: i, width: T };
17
+ delete e.options, delete e.id, a[r] = [void 0, e];
18
+ }
19
+ if (t === "polygon" || t === "token" || t === "custom-polygon") {
20
+ const e = { ...o, shape: i };
21
+ delete e.options, delete e.id, a[r] = [void 0, e];
22
+ }
23
+ if (t === "dice") {
24
+ const e = (G = i == null ? void 0 : i.trim()) == null ? void 0 : G.split(":")[0], d = { ...o, value: e };
25
+ delete d.options, delete d.id, a[r] = [void 0, d];
26
+ }
27
+ if (t === "number-tile") {
28
+ const [e, d] = ((u = i == null ? void 0 : i.trim()) == null ? void 0 : u.split(":")) || [], n = { ...o, value: d || 0, width: e || 0 };
29
+ delete n.options, delete n.id, a[r] = [void 0, n];
30
+ }
31
+ if (t === "geo") {
32
+ const [e, d] = ((g = i == null ? void 0 : i.trim()) == null ? void 0 : g.split("=")) || [], n = { ...o, key: e || "", expr: d || 0 };
33
+ delete n.options, delete n.id, a[r] = [void 0, n];
34
+ }
35
+ if (t === "number-line") {
36
+ const [e, d, n, s, E] = ((D = i == null ? void 0 : i.trim()) == null ? void 0 : D.split(":")) || [], p = {
37
+ ...o,
38
+ start: e || 0,
39
+ step: d || 0,
40
+ width: n || 0,
41
+ size: s || 0,
42
+ minor: E || 0
43
+ };
44
+ delete p.options, delete p.id, a[r] = [void 0, p];
45
+ }
46
+ if (t === "fraction-bar") {
47
+ const [e, d, n] = ((A = i == null ? void 0 : i.trim()) == null ? void 0 : A.split(":")) || [], s = { ...o };
48
+ e && (s.denominator = +e), d && (s.count = +d), n && (s.active = +n), delete s.options, delete s.id, a[r] = [void 0, s];
49
+ }
50
+ if (t === "fraction-circle") {
51
+ const [e, d, n] = ((h = i == null ? void 0 : i.trim()) == null ? void 0 : h.split(":")) || [], s = { ...o };
52
+ e && (s.denominator = +e), d && (s.count = +d), n && (s.active = +n), delete s.options, delete s.id, a[r] = [void 0, s];
53
+ }
54
+ if (t === "number-card" || t === "number-bar" || t === "tantrix") {
55
+ const e = { ...o, value: i };
56
+ delete e.options, delete e.id, a[r] = [void 0, e];
57
+ }
58
+ if (t === "tangram" || t === "garden" || t === "kolam" || t === "penrose" || t === "polyomino") {
59
+ const e = { ...o, index: i };
60
+ delete e.options, delete e.id, a[r] = [void 0, e];
61
+ }
62
+ if (t === "ruler" || t === "protractor" || t === "set-triangle" || t === "compass") {
63
+ const e = { ...o, width: i };
64
+ delete e.options, delete e.id, a[r] = [void 0, e];
65
+ }
66
+ }
67
+ });
68
+ const v = {};
69
+ return c.forEach((o) => {
70
+ const { id: t } = o || {};
71
+ if (t) {
72
+ const i = { ...o };
73
+ delete i.id, v[t] = [void 0, i];
74
+ }
75
+ }), {
76
+ gridName: m,
77
+ data: { ...v, ...a }
78
+ };
79
+ }, L = (l, m = "") => {
80
+ const c = [];
81
+ return l && l.length > 0 && l.forEach((f) => {
82
+ if (m === "grades") {
83
+ const a = `G${f.name}`;
84
+ c.push(a);
85
+ } else
86
+ c.push(f.name);
87
+ }), c;
88
+ }, y = {
89
+ ACTIVITY_TILES: "activity_tiles",
90
+ ACTIVITY_TOPICS: "activity_topics",
91
+ ACTIVITY_TYPES: "activity_types",
92
+ ACTIVITY_GRADES: "grades"
93
+ }, _ = {
94
+ "-1": "LKG",
95
+ 0: "UKG",
96
+ 1: "G1",
97
+ 2: "G2",
98
+ 3: "G3",
99
+ 4: "G4",
100
+ 5: "G5",
101
+ 6: "G6",
102
+ 7: "G7",
103
+ 8: "G8",
104
+ 9: "G9",
105
+ 10: "G10",
106
+ 11: "G11",
107
+ 12: "G12",
108
+ ALG1: "ALG1",
109
+ ALG2: "ALG2",
110
+ PCAL: "PCAL",
111
+ GEO: "GEO",
112
+ CAL: "CAL"
113
+ };
114
+ export {
115
+ y as FILTER_KEYS,
116
+ _ as GRADE_DISPLAY_NAMES,
117
+ L as getTags,
118
+ I as serializeData
119
+ };
120
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../../../src/features/cue-canvas/sidebar/puzzles/utils.ts"],"sourcesContent":["import type { TCueCanvasChangeDataObject, TCueCanvasGridName } from '../../types/cue-canvas';\nimport type { ActivityMetadata, IActivityGrade } from './api/get-puzzles';\nimport type { ITypeStroke, ITypeTile } from './puzzles-type';\n\nexport const serializeData = (jsonOBJ: {\n grid: TCueCanvasGridName;\n strokes: ITypeStroke[];\n tiles: ITypeTile[];\n}) => {\n const { grid, strokes, tiles } = jsonOBJ || {};\n const newTilesArray = {} as TCueCanvasChangeDataObject;\n\n (tiles || []).forEach(tile => {\n const { name, options, id, size } = tile || {};\n\n if (id) {\n if (name === 'text') {\n const tileData = { ...tile, html: options };\n\n delete tileData.options;\n delete tileData.id;\n newTilesArray[id] = [undefined, tileData];\n }\n\n if (name === 'equation' || name === 'algebra-tile') {\n const tileData = { ...tile, expr: options };\n\n if (name === 'algebra-tile') {\n tileData.name = 'algebra';\n }\n\n delete tileData.options;\n delete tileData.id;\n newTilesArray[id] = [undefined, tileData];\n }\n\n if (name === 'image') {\n const tileData = { ...tile, href: options, width: size };\n\n delete tileData.options;\n delete tileData.id;\n newTilesArray[id] = [undefined, tileData];\n }\n\n if (name === 'polygon' || name === 'token' || name === 'custom-polygon') {\n const tileData = { ...tile, shape: options };\n\n delete tileData.options;\n delete tileData.id;\n newTilesArray[id] = [undefined, tileData];\n }\n\n if (name === 'dice') {\n const val = options?.trim()?.split(':')[0];\n const tileData = { ...tile, value: val };\n\n delete tileData.options;\n delete tileData.id;\n newTilesArray[id] = [undefined, tileData];\n }\n\n if (name === 'number-tile') {\n const [width, value] = options?.trim()?.split(':') || [];\n const tileData = { ...tile, value: value || 0, width: width || 0 };\n\n delete tileData.options;\n delete tileData.id;\n newTilesArray[id] = [undefined, tileData];\n }\n\n if (name === 'geo') {\n const [key, expr] = options?.trim()?.split('=') || [];\n const tileData = { ...tile, key: key || '', expr: expr || 0 };\n\n delete tileData.options;\n delete tileData.id;\n newTilesArray[id] = [undefined, tileData];\n }\n\n if (name === 'number-line') {\n const [start, step, width, stepSize, minor] = options?.trim()?.split(':') || [];\n const tileData = {\n ...tile,\n start: start || 0,\n step: step || 0,\n width: width || 0,\n size: stepSize || 0,\n minor: minor || 0,\n };\n\n delete tileData.options;\n delete tileData.id;\n newTilesArray[id] = [undefined, tileData];\n }\n\n if (name === 'fraction-bar') {\n const [denominator, count, active] = options?.trim()?.split(':') || [];\n\n const tileData = { ...tile };\n\n if (denominator) {\n tileData.denominator = +denominator;\n }\n\n if (count) {\n tileData.count = +count;\n }\n\n if (active) {\n tileData.active = +active;\n }\n\n delete tileData.options;\n delete tileData.id;\n newTilesArray[id] = [undefined, tileData];\n }\n\n if (name === 'fraction-circle') {\n const [denominator, count, active] = options?.trim()?.split(':') || [];\n\n const tileData = { ...tile };\n\n if (denominator) {\n tileData.denominator = +denominator;\n }\n\n if (count) {\n tileData.count = +count;\n }\n\n if (active) {\n tileData.active = +active;\n }\n\n delete tileData.options;\n delete tileData.id;\n newTilesArray[id] = [undefined, tileData];\n }\n\n if (name === 'number-card' || name === 'number-bar' || name === 'tantrix') {\n const tileData = { ...tile, value: options };\n\n delete tileData.options;\n delete tileData.id;\n newTilesArray[id] = [undefined, tileData];\n }\n\n if (\n name === 'tangram' ||\n name === 'garden' ||\n name === 'kolam' ||\n name === 'penrose' ||\n name === 'polyomino'\n ) {\n const tileData = { ...tile, index: options };\n\n delete tileData.options;\n delete tileData.id;\n newTilesArray[id] = [undefined, tileData];\n }\n\n if (\n name === 'ruler' ||\n name === 'protractor' ||\n name === 'set-triangle' ||\n name === 'compass'\n ) {\n const tileData = { ...tile, width: options };\n\n delete tileData.options;\n delete tileData.id;\n newTilesArray[id] = [undefined, tileData];\n }\n }\n });\n const newStrokeMap = {} as TCueCanvasChangeDataObject;\n\n strokes.forEach((stroke: ITypeStroke) => {\n const { id } = stroke || {};\n\n if (id) {\n const strokeData = { ...stroke };\n\n delete strokeData.id;\n newStrokeMap[id] = [undefined, strokeData];\n }\n });\n\n return {\n gridName: grid,\n data: { ...newStrokeMap, ...newTilesArray },\n };\n};\n\nexport const getTags = (data: ActivityMetadata[] | IActivityGrade[], type = '') => {\n const arr: string[] = [];\n\n if (data && data.length > 0) {\n data.forEach(res => {\n if (type === 'grades') {\n const grade = `G${res.name}`;\n\n arr.push(grade);\n } else {\n arr.push(res.name);\n }\n });\n }\n\n return arr;\n};\n\nexport const FILTER_KEYS = {\n ACTIVITY_TILES: 'activity_tiles',\n ACTIVITY_TOPICS: 'activity_topics',\n ACTIVITY_TYPES: 'activity_types',\n ACTIVITY_GRADES: 'grades',\n} as const;\n\nexport const GRADE_DISPLAY_NAMES: Record<string, string> = {\n '-1': 'LKG',\n '0': 'UKG',\n '1': 'G1',\n '2': 'G2',\n '3': 'G3',\n '4': 'G4',\n '5': 'G5',\n '6': 'G6',\n '7': 'G7',\n '8': 'G8',\n '9': 'G9',\n '10': 'G10',\n '11': 'G11',\n '12': 'G12',\n 'ALG1': 'ALG1',\n 'ALG2': 'ALG2',\n 'PCAL': 'PCAL',\n 'GEO': 'GEO',\n 'CAL': 'CAL',\n};\n"],"names":["serializeData","jsonOBJ","grid","strokes","tiles","newTilesArray","tile","_a","_b","_c","_d","_e","_f","name","options","id","size","tileData","val","width","value","key","expr","start","step","stepSize","minor","denominator","count","active","newStrokeMap","stroke","strokeData","getTags","data","type","arr","res","grade","FILTER_KEYS","GRADE_DISPLAY_NAMES"],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import p, { css as r } from "styled-components";
2
+ import x from "../../ui/layout/flex-view.js";
3
+ const t = p(x)(({
4
+ theme: o,
5
+ $activeSidebar: d
6
+ }) => r`
7
+ z-index: ${o.zIndex.TILE_CONTAINER};
8
+ background-color: ${o.colors.WHITE};
9
+ padding: 7px;
10
+ gap: 4px;
11
+ border-radius: 8px;
12
+ border: 1px solid ${o.colors.BLACK_10};
13
+ box-shadow: 0px 1px 5px 0px ${o.colors.BLACK_10};
14
+
15
+ ${d === "tile" && r`
16
+ border: none;
17
+ box-shadow: none;
18
+ `}
19
+ `);
20
+ p(x)`
21
+ margin: auto;
22
+ box-shadow: 0px 1px 5px 0px ${({ theme: o }) => o.colors.BLACK_10};
23
+ border-top-left-radius: 8px;
24
+ border-top-right-radius: 8px;
25
+ bottom: 0;
26
+ left: 50%;
27
+ transform: translateX(-50%);
28
+ `;
29
+ export {
30
+ t as SideBarContainer
31
+ };
32
+ //# sourceMappingURL=sidebar-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar-styled.js","sources":["../../../../src/features/cue-canvas/sidebar/sidebar-styled.tsx"],"sourcesContent":["import type { TActiveSidebar } from '../sidebar/puzzles/puzzles-type';\n\nimport styled, { css } from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\n\ninterface IStyledTileContainer {\n $activeSidebar?: TActiveSidebar;\n}\n\nexport const SideBarContainer = styled(FlexView)<IStyledTileContainer>(({\n theme,\n $activeSidebar,\n}) => {\n return css`\n z-index: ${theme.zIndex.TILE_CONTAINER};\n background-color: ${theme.colors.WHITE};\n padding: 7px;\n gap: 4px;\n border-radius: 8px;\n border: 1px solid ${theme.colors.BLACK_10};\n box-shadow: 0px 1px 5px 0px ${theme.colors.BLACK_10};\n\n ${$activeSidebar === 'tile' &&\n css`\n border: none;\n box-shadow: none;\n `}\n `;\n});\n\nexport const StyledToolContainer = styled(FlexView)`\n margin: auto;\n box-shadow: 0px 1px 5px 0px ${({ theme }) => theme.colors.BLACK_10};\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n`;\n"],"names":["SideBarContainer","styled","FlexView","theme","$activeSidebar","css"],"mappings":";;AAUO,MAAMA,IAAmBC,EAAOC,CAAQ,EAAwB,CAAC;AAAA,EACtE,OAAAC;AAAA,EACA,gBAAAC;AACF,MACSC;AAAA,eACMF,EAAM,OAAO,cAAc;AAAA,wBAClBA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA,wBAIlBA,EAAM,OAAO,QAAQ;AAAA,kCACXA,EAAM,OAAO,QAAQ;AAAA;AAAA,MAEjDC,MAAmB,UACrBC;AAAA;AAAA;AAAA,KAGC;AAAA,GAEJ;AAEkCJ,EAAOC,CAAQ;AAAA;AAAA,gCAElB,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,34 @@
1
+ import { jsxs as a, jsx as e } from "react/jsx-runtime";
2
+ import { memo as s, useState as f } from "react";
3
+ import n from "./homework/homework.js";
4
+ import c from "./puzzles/puzzles.js";
5
+ import { SideBarContainer as d } from "./sidebar-styled.js";
6
+ import p from "./tiles/tile.js";
7
+ const l = ({ grade: i, hwRequests: o, studentName: m }) => {
8
+ const [r, t] = f();
9
+ return /* @__PURE__ */ a(
10
+ d,
11
+ {
12
+ $activeSidebar: r,
13
+ $flexDirection: "row",
14
+ $justifyContent: "flex-start",
15
+ children: [
16
+ /* @__PURE__ */ e(p, { activeSidebar: r, setActiveSidebar: t }),
17
+ /* @__PURE__ */ e(c, { grade: i, activeSidebar: r, setActiveSidebar: t }),
18
+ o && /* @__PURE__ */ e(
19
+ n,
20
+ {
21
+ activeSidebar: r,
22
+ setActiveSidebar: t,
23
+ hwRequests: o,
24
+ studentName: m
25
+ }
26
+ )
27
+ ]
28
+ }
29
+ );
30
+ }, $ = s(l);
31
+ export {
32
+ $ as default
33
+ };
34
+ //# sourceMappingURL=sidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar.js","sources":["../../../../src/features/cue-canvas/sidebar/sidebar.tsx"],"sourcesContent":["import type { IHomeWorkHelpRequestModel } from './homework/homework-types';\nimport type { TActiveSidebar } from './puzzles/puzzles-type';\nimport type { FC } from 'react';\n\nimport { memo, useState } from 'react';\n\nimport Homework from './homework/homework';\nimport Puzzles from './puzzles/puzzles';\nimport { SideBarContainer } from './sidebar-styled';\nimport TileBar from './tiles/tile';\n\ninterface ISidebar {\n grade?: string;\n hwRequests?: IHomeWorkHelpRequestModel[];\n studentName?: string;\n}\n\nconst Sidebar: FC<ISidebar> = ({ grade, hwRequests, studentName }) => {\n const [activeSidebar, setActiveSidebar] = useState<TActiveSidebar | undefined>();\n\n return (\n <SideBarContainer\n $activeSidebar={activeSidebar}\n $flexDirection=\"row\"\n $justifyContent=\"flex-start\"\n >\n <TileBar activeSidebar={activeSidebar} setActiveSidebar={setActiveSidebar} />\n <Puzzles grade={grade} activeSidebar={activeSidebar} setActiveSidebar={setActiveSidebar} />\n {hwRequests && (\n <Homework\n activeSidebar={activeSidebar}\n setActiveSidebar={setActiveSidebar}\n hwRequests={hwRequests}\n studentName={studentName}\n />\n )}\n </SideBarContainer>\n );\n};\n\nexport default memo(Sidebar);\n"],"names":["Sidebar","grade","hwRequests","studentName","activeSidebar","setActiveSidebar","useState","jsxs","SideBarContainer","jsx","TileBar","Puzzles","Homework","sidebar","memo"],"mappings":";;;;;;AAiBA,MAAMA,IAAwB,CAAC,EAAE,OAAAC,GAAO,YAAAC,GAAY,aAAAC,QAAkB;AACpE,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAqC;AAG7E,SAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,gBAAgBJ;AAAA,MAChB,gBAAe;AAAA,MACf,iBAAgB;AAAA,MAEhB,UAAA;AAAA,QAAC,gBAAAK,EAAAC,GAAA,EAAQ,eAAAN,GAA8B,kBAAAC,EAAoC,CAAA;AAAA,QAC1E,gBAAAI,EAAAE,GAAA,EAAQ,OAAAV,GAAc,eAAAG,GAA8B,kBAAAC,EAAoC,CAAA;AAAA,QACxFH,KACC,gBAAAO;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,eAAAR;AAAA,YACA,kBAAAC;AAAA,YACA,YAAAH;AAAA,YACA,aAAAC;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR,GAEeU,IAAAC,EAAKd,CAAO;"}
@@ -0,0 +1,16 @@
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ import { memo as c, useCallback as a } from "react";
3
+ import n from "../../../../assets/line-icons/icons/tile.js";
4
+ import { StyledWrapper as p } from "../../cue-cavas-styled.js";
5
+ import { useCueCanvasActions as d } from "../../hooks/use-cue-canvas-actions.js";
6
+ const C = c((s) => {
7
+ const { setActiveSidebar: t, activeSidebar: o } = s, { activeInstance: e, setActiveTool: i } = d(), m = a(() => {
8
+ const r = o !== "tile";
9
+ e == null || e.toggleTiles(r), t(r ? "tile" : void 0), i("move");
10
+ }, [o, e, t, i]);
11
+ return /* @__PURE__ */ l(p, { $active: o === "tile", onClick: m, children: /* @__PURE__ */ l(n, {}) });
12
+ });
13
+ export {
14
+ C as default
15
+ };
16
+ //# sourceMappingURL=tile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tile.js","sources":["../../../../../src/features/cue-canvas/sidebar/tiles/tile.tsx"],"sourcesContent":["import type { TActiveSidebar } from '../puzzles/puzzles-type';\nimport type { Dispatch, FC, SetStateAction } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport TileIcon from '../../../../assets/line-icons/icons/tile';\nimport { StyledWrapper } from '../../cue-cavas-styled';\nimport { useCueCanvasActions } from '../../hooks/use-cue-canvas-actions';\n\ninterface ITileBar {\n setActiveSidebar: Dispatch<SetStateAction<TActiveSidebar | undefined>>;\n activeSidebar?: TActiveSidebar;\n}\n\nconst TileBar: FC<ITileBar> = memo(props => {\n const { setActiveSidebar, activeSidebar } = props;\n const { activeInstance, setActiveTool } = useCueCanvasActions();\n\n const toggleTiles = useCallback(() => {\n const newTileState = activeSidebar !== 'tile';\n\n activeInstance?.toggleTiles(newTileState);\n setActiveSidebar(newTileState ? 'tile' : undefined);\n setActiveTool('move');\n }, [activeSidebar, activeInstance, setActiveSidebar, setActiveTool]);\n\n return (\n <StyledWrapper $active={activeSidebar === 'tile'} onClick={toggleTiles}>\n <TileIcon />\n </StyledWrapper>\n );\n});\n\nexport default TileBar;\n"],"names":["TileBar","memo","props","setActiveSidebar","activeSidebar","activeInstance","setActiveTool","useCueCanvasActions","toggleTiles","useCallback","newTileState","jsx","StyledWrapper","TileIcon"],"mappings":";;;;;AAcM,MAAAA,IAAwBC,EAAK,CAASC,MAAA;AACpC,QAAA,EAAE,kBAAAC,GAAkB,eAAAC,EAAkB,IAAAF,GACtC,EAAE,gBAAAG,GAAgB,eAAAC,EAAc,IAAIC,EAAoB,GAExDC,IAAcC,EAAY,MAAM;AACpC,UAAMC,IAAeN,MAAkB;AAEvC,IAAAC,KAAA,QAAAA,EAAgB,YAAYK,IACXP,EAAAO,IAAe,SAAS,MAAS,GAClDJ,EAAc,MAAM;AAAA,KACnB,CAACF,GAAeC,GAAgBF,GAAkBG,CAAa,CAAC;AAGjE,SAAA,gBAAAK,EAACC,KAAc,SAASR,MAAkB,QAAQ,SAASI,GACzD,UAAC,gBAAAG,EAAAE,GAAA,CAAS,CAAA,EACZ,CAAA;AAEJ,CAAC;"}
@@ -0,0 +1,16 @@
1
+ import { useRef as n, useCallback as c } from "react";
2
+ function a(u, r) {
3
+ const e = n(null);
4
+ return c(
5
+ (t) => (e.current && clearTimeout(e.current), e.current = setTimeout(() => {
6
+ u(t);
7
+ }, r), () => {
8
+ e.current && clearTimeout(e.current);
9
+ }),
10
+ [u, r]
11
+ );
12
+ }
13
+ export {
14
+ a as default
15
+ };
16
+ //# sourceMappingURL=use-debounce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-debounce.js","sources":["../../../src/features/hooks/use-debounce.tsx"],"sourcesContent":["import { useCallback, useRef } from 'react';\n\nfunction useDebounce<T>(callback: (arg: T) => void, wait: number) {\n const timeoutIdRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const debouncedCallback = useCallback(\n (val: T) => {\n if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);\n timeoutIdRef.current = setTimeout(() => {\n callback(val);\n }, wait);\n\n return () => {\n if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);\n };\n },\n [callback, wait],\n );\n\n return debouncedCallback;\n}\n\nexport default useDebounce;\n"],"names":["useDebounce","callback","wait","timeoutIdRef","useRef","useCallback","val"],"mappings":";AAEA,SAASA,EAAeC,GAA4BC,GAAc;AAC1D,QAAAC,IAAeC,EAA6C,IAAI;AAgB/D,SAdmBC;AAAA,IACxB,CAACC,OACKH,EAAa,WAAsB,aAAAA,EAAa,OAAO,GAC9CA,EAAA,UAAU,WAAW,MAAM;AACtC,MAAAF,EAASK,CAAG;AAAA,OACXJ,CAAI,GAEA,MAAM;AACX,MAAIC,EAAa,WAAsB,aAAAA,EAAa,OAAO;AAAA,IAAA;AAAA,IAG/D,CAACF,GAAUC,CAAI;AAAA,EAAA;AAInB;"}
@@ -1,9 +1,9 @@
1
- import { jsxs as o, jsx as r, Fragment as k } from "react/jsx-runtime";
2
- import w, { memo as Y, useState as B, useCallback as K, useEffect as P } from "react";
1
+ import { jsxs as c, jsx as r, Fragment as k } from "react/jsx-runtime";
2
+ import U, { memo as Y, useState as B, useCallback as K, useEffect as P } from "react";
3
3
  import { LOTTIE as j } from "../../../assets/lottie/lottie.js";
4
- import { GAME_LAUNCHER_SIZE as c, GAME_LAUNCHER_SIZE_LARGE as d } from "../../circle-games/game-launcher/comps/card-container/constants.js";
4
+ import { GAME_LAUNCHER_SIZE as o, GAME_LAUNCHER_SIZE_LARGE as d } from "../../circle-games/game-launcher/comps/card-container/constants.js";
5
5
  import { useCircleSounds as Z } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds.js";
6
- import { CircleSoundKey as m } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js";
6
+ import { CircleSoundKey as T } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js";
7
7
  import I from "../../ui/animated-arc/animated-arc.js";
8
8
  import $ from "../../ui/layout/flex-view.js";
9
9
  import X from "../../ui/lottie-animation/lottie-animation.js";
@@ -12,34 +12,36 @@ import D from "../../ui/text/text.js";
12
12
  import { NumberCountAnimation as q } from "../number-count-animation/number-count-animation.js";
13
13
  import { TARGET_ACHIEVED_DELAY as G, TOTAL_ARC_AVAILABLE as h, STROKE_WIDTH as C, ARC_RADIUS as L, ANIMATED_ARC_START_ANGLE as p, PROGRESS_FILL_DURATION as f, PROGRESS_FILL_DELAY as b, TOTAL_ANIMATION_DURATION as z } from "./constants.js";
14
14
  import { DigitalMeter as J, ContentContainer as Q, NumberCountContainer as v, RainboxColorText as N, LineMarking as M, MarkingContainer as H, MarkingText as u, BottomAbsoluteView as O, HelperTextPrimary as x, HelperTextSecondary as V } from "./digital-meter-styled.js";
15
- const Er = Y(
15
+ const rr = {
16
+ renderer: "canvas"
17
+ }, _r = Y(
16
18
  ({
17
19
  show: R,
18
- value: T,
20
+ value: a,
19
21
  maxValue: n,
20
22
  targetValue: t = 0,
21
23
  displayText: F,
22
- progressType: s,
24
+ progressType: m,
23
25
  helperTextPrimary: W,
24
- helperTextSecondary: y,
26
+ helperTextSecondary: w,
25
27
  onComplete: S,
26
- actAsTimer: a
28
+ actAsTimer: s
27
29
  }) => {
28
- const [l, U] = B(!1), { play: E } = Z(), _ = K(
29
- (i) => t ? a ? i <= t : i >= t : !1,
30
- [t, a]
30
+ const [l, y] = B(!1), { play: E } = Z(), _ = K(
31
+ (i) => t ? s ? i <= t : i >= t : !1,
32
+ [t, s]
31
33
  );
32
34
  return P(() => {
33
35
  let i, e;
34
- const A = _(T);
35
- return R && (E(a ? m.TIME_INTRO : m.ACCURACY_INTRO), E(m.METER_FILL), A && (i = setTimeout(() => {
36
- E(a ? m.TIME_TARGET : m.ACCURACY_TARGET), U(!0);
36
+ const A = _(a);
37
+ return R && (E(s ? T.TIME_INTRO : T.ACCURACY_INTRO), E(T.METER_FILL), A && (i = setTimeout(() => {
38
+ E(s ? T.TIME_TARGET : T.ACCURACY_TARGET), y(!0);
37
39
  }, G * 1e3)), e = setTimeout(() => {
38
40
  S();
39
41
  }, (A ? z : G) * 1e3)), () => {
40
42
  i && clearTimeout(i), e && clearTimeout(e);
41
43
  };
42
- }, [R, T, S, _, a, E]), R ? /* @__PURE__ */ o(J, { $isTargetAchieved: l, children: [
44
+ }, [R, a, S, _, s, E]), R ? /* @__PURE__ */ c(J, { $isTargetAchieved: l, children: [
43
45
  /* @__PURE__ */ r(
44
46
  I,
45
47
  {
@@ -51,29 +53,29 @@ const Er = Y(
51
53
  startAngle: -p
52
54
  }
53
55
  ),
54
- /* @__PURE__ */ r(Q, { children: /* @__PURE__ */ o($, { $flexDirection: "column", $alignItems: "center", children: [
55
- /* @__PURE__ */ o($, { $flexDirection: "row", $alignItems: "flex-end", children: [
56
+ /* @__PURE__ */ r(Q, { children: /* @__PURE__ */ c($, { $flexDirection: "column", $alignItems: "center", children: [
57
+ /* @__PURE__ */ c($, { $flexDirection: "row", $alignItems: "flex-end", children: [
56
58
  /* @__PURE__ */ r(v, { children: /* @__PURE__ */ r(
57
59
  N,
58
60
  {
59
- $renderAs: c === d ? "ah1" : "ah2",
61
+ $renderAs: o === d ? "ah1" : "ah2",
60
62
  $color: "GREEN_4",
61
63
  $isTargetAchieved: l,
62
64
  children: /* @__PURE__ */ r(
63
65
  q,
64
66
  {
65
67
  initialValue: 0,
66
- targetValue: Math.floor(T),
68
+ targetValue: Math.floor(a),
67
69
  durationInSec: f,
68
70
  delayInSec: b
69
71
  }
70
72
  )
71
73
  }
72
74
  ) }),
73
- s === "stepper" && /* @__PURE__ */ o(
75
+ m === "stepper" && /* @__PURE__ */ c(
74
76
  D,
75
77
  {
76
- $renderAs: c === d ? "ah4" : "ab1",
78
+ $renderAs: o === d ? "ah4" : "ab1",
77
79
  $color: "WHITE",
78
80
  children: [
79
81
  "/",
@@ -86,13 +88,13 @@ const Er = Y(
86
88
  /* @__PURE__ */ r(
87
89
  D,
88
90
  {
89
- $renderAs: c === d ? "ac3-black" : "ac4-black",
91
+ $renderAs: o === d ? "ac3-black" : "ac4-black",
90
92
  $color: "WHITE_T_60",
91
93
  children: F
92
94
  }
93
95
  )
94
96
  ] }) }),
95
- s === "stepper" && Array.from({ length: T }, (i, e) => {
97
+ m === "stepper" && Array.from({ length: a }, (i, e) => {
96
98
  const A = h / n;
97
99
  return /* @__PURE__ */ r(
98
100
  I,
@@ -110,14 +112,14 @@ const Er = Y(
110
112
  e
111
113
  );
112
114
  }),
113
- s === "stepper" && Array.from({ length: n + 1 }, (i, e) => {
115
+ m === "stepper" && Array.from({ length: n + 1 }, (i, e) => {
114
116
  const A = h / n;
115
- return /* @__PURE__ */ o(w.Fragment, { children: [
117
+ return /* @__PURE__ */ c(U.Fragment, { children: [
116
118
  /* @__PURE__ */ r(M, { $angle: A * e }),
117
119
  /* @__PURE__ */ r(H, { $angle: A * e, children: /* @__PURE__ */ r(u, { $angle: A * e, children: /* @__PURE__ */ r(
118
120
  N,
119
121
  {
120
- $renderAs: c === d ? "ac3-black" : "ac4-black",
122
+ $renderAs: o === d ? "ac3-black" : "ac4-black",
121
123
  $color: t && t === e ? "GREEN_4" : "WHITE_T_60",
122
124
  $isTargetAchieved: t === e && _(e) && l,
123
125
  children: e
@@ -125,11 +127,11 @@ const Er = Y(
125
127
  ) }) }, e)
126
128
  ] }, e);
127
129
  }),
128
- s === "linear" && /* @__PURE__ */ o(k, { children: [
130
+ m === "linear" && /* @__PURE__ */ c(k, { children: [
129
131
  /* @__PURE__ */ r(
130
132
  I,
131
133
  {
132
- targetAngle: T * h / n,
134
+ targetAngle: a * h / n,
133
135
  strokeWidth: C,
134
136
  color: "GREEN_4",
135
137
  radius: L,
@@ -139,7 +141,7 @@ const Er = Y(
139
141
  startAngle: -p
140
142
  }
141
143
  ),
142
- /* @__PURE__ */ o(k, { children: [
144
+ /* @__PURE__ */ c(k, { children: [
143
145
  t && /* @__PURE__ */ r(M, { $angle: t * h / n }),
144
146
  Array.from(/* @__PURE__ */ new Set([0, t, n])).map((i, e) => /* @__PURE__ */ r(
145
147
  H,
@@ -148,7 +150,7 @@ const Er = Y(
148
150
  children: /* @__PURE__ */ r(u, { $angle: i * h / n, children: /* @__PURE__ */ r(
149
151
  N,
150
152
  {
151
- $renderAs: c === d ? "ac3-black" : "ac4-black",
153
+ $renderAs: o === d ? "ac3-black" : "ac4-black",
152
154
  $color: t && t === i ? "GREEN_4" : "WHITE_T_60",
153
155
  $isTargetAchieved: t === i && l && _(i),
154
156
  children: i
@@ -159,27 +161,34 @@ const Er = Y(
159
161
  ))
160
162
  ] })
161
163
  ] }),
162
- l && /* @__PURE__ */ r(O, { top: c, children: /* @__PURE__ */ r(X, { src: j.TARGET_ACHIEVED_TEXT }) }),
163
- !l && /* @__PURE__ */ o(O, { top: c, children: [
164
+ l && /* @__PURE__ */ r(O, { top: o, children: /* @__PURE__ */ r(
165
+ X,
166
+ {
167
+ src: j.TARGET_ACHIEVED_TEXT,
168
+ settings: rr,
169
+ width: o * 0.6
170
+ }
171
+ ) }),
172
+ !l && /* @__PURE__ */ c(O, { top: o, children: [
164
173
  /* @__PURE__ */ r(g, { height: 25 }),
165
- /* @__PURE__ */ o($, { $flexDirection: "column", $alignItems: "center", children: [
166
- /* @__PURE__ */ o(
174
+ /* @__PURE__ */ c($, { $flexDirection: "column", $alignItems: "center", children: [
175
+ /* @__PURE__ */ c(
167
176
  x,
168
177
  {
169
- $renderAs: c === d ? "ac3-black" : "ac4-black",
178
+ $renderAs: o === d ? "ac3-black" : "ac4-black",
170
179
  $color: "WHITE_T_60",
171
180
  children: [
172
181
  W,
173
- /* @__PURE__ */ r(g, { height: c * 0.03 })
182
+ /* @__PURE__ */ r(g, { height: o * 0.03 })
174
183
  ]
175
184
  }
176
185
  ),
177
186
  /* @__PURE__ */ r(
178
187
  V,
179
188
  {
180
- $renderAs: c === d ? "ah4" : "ab1",
189
+ $renderAs: o === d ? "ah4" : "ab1",
181
190
  $color: "WHITE",
182
- children: y
191
+ children: w
183
192
  }
184
193
  )
185
194
  ] })
@@ -188,6 +197,6 @@ const Er = Y(
188
197
  }
189
198
  );
190
199
  export {
191
- Er as DigitalMeter
200
+ _r as DigitalMeter
192
201
  };
193
202
  //# sourceMappingURL=digital-meter.js.map