@cuemath/leap 2.8.50 → 2.8.52-link.0

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 (85) hide show
  1. package/dist/assets/illustrations/illustrations.js +1 -0
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/line-icons/icons/clear-all.js +53 -0
  4. package/dist/assets/line-icons/icons/clear-all.js.map +1 -0
  5. package/dist/assets/line-icons/icons/download.js +48 -0
  6. package/dist/assets/line-icons/icons/download.js.map +1 -0
  7. package/dist/assets/line-icons/icons/equation.js +48 -0
  8. package/dist/assets/line-icons/icons/equation.js.map +1 -0
  9. package/dist/assets/line-icons/icons/grid-icon.js +42 -0
  10. package/dist/assets/line-icons/icons/grid-icon.js.map +1 -0
  11. package/dist/assets/line-icons/icons/pan.js +98 -0
  12. package/dist/assets/line-icons/icons/pan.js.map +1 -0
  13. package/dist/assets/line-icons/icons/square-checked-grid.js +25 -0
  14. package/dist/assets/line-icons/icons/square-checked-grid.js.map +1 -0
  15. package/dist/assets/line-icons/icons/square-dots.js +32 -0
  16. package/dist/assets/line-icons/icons/square-dots.js.map +1 -0
  17. package/dist/assets/line-icons/icons/square-grid.js +17 -0
  18. package/dist/assets/line-icons/icons/square-grid.js.map +1 -0
  19. package/dist/assets/line-icons/icons/square2-grid.js +13 -0
  20. package/dist/assets/line-icons/icons/square2-grid.js.map +1 -0
  21. package/dist/assets/line-icons/icons/text-icon.js +48 -0
  22. package/dist/assets/line-icons/icons/text-icon.js.map +1 -0
  23. package/dist/assets/line-icons/icons/tri-dots.js +27 -0
  24. package/dist/assets/line-icons/icons/tri-dots.js.map +1 -0
  25. package/dist/assets/line-icons/icons/tri-grid.js +27 -0
  26. package/dist/assets/line-icons/icons/tri-grid.js.map +1 -0
  27. package/dist/assets/line-icons/icons/tri2-dots.js +27 -0
  28. package/dist/assets/line-icons/icons/tri2-dots.js.map +1 -0
  29. package/dist/assets/line-icons/icons/tri2-grid.js +27 -0
  30. package/dist/assets/line-icons/icons/tri2-grid.js.map +1 -0
  31. package/dist/assets/line-icons/icons/upload.js +48 -0
  32. package/dist/assets/line-icons/icons/upload.js.map +1 -0
  33. package/dist/assets/line-icons/icons/zoom-in.js +58 -0
  34. package/dist/assets/line-icons/icons/zoom-in.js.map +1 -0
  35. package/dist/assets/line-icons/icons/zoom-out.js +48 -0
  36. package/dist/assets/line-icons/icons/zoom-out.js.map +1 -0
  37. package/dist/features/cue-canvas/cue-canvas-core.js +138 -49
  38. package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
  39. package/dist/features/cue-canvas/cue-canvas-helpers.js +88 -29
  40. package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
  41. package/dist/features/cue-canvas/cue-canvas.js +57 -49
  42. package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
  43. package/dist/features/cue-canvas/cue-cavas-styled.js +127 -92
  44. package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
  45. package/dist/features/cue-canvas/toolbar/color-palette.js +49 -0
  46. package/dist/features/cue-canvas/toolbar/color-palette.js.map +1 -0
  47. package/dist/features/cue-canvas/toolbar/color-picker-menu.js +62 -0
  48. package/dist/features/cue-canvas/toolbar/color-picker-menu.js.map +1 -0
  49. package/dist/features/cue-canvas/toolbar/grid-menu.js +62 -0
  50. package/dist/features/cue-canvas/toolbar/grid-menu.js.map +1 -0
  51. package/dist/features/cue-canvas/toolbar/icon-map.js +58 -0
  52. package/dist/features/cue-canvas/toolbar/icon-map.js.map +1 -0
  53. package/dist/features/cue-canvas/toolbar/pen-tool-menu.js +56 -0
  54. package/dist/features/cue-canvas/toolbar/pen-tool-menu.js.map +1 -0
  55. package/dist/features/cue-canvas/toolbar/tool.js +34 -0
  56. package/dist/features/cue-canvas/toolbar/tool.js.map +1 -0
  57. package/dist/features/cue-canvas/toolbar/toolbar.js +18 -87
  58. package/dist/features/cue-canvas/toolbar/toolbar.js.map +1 -1
  59. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js +16 -0
  60. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js.map +1 -0
  61. package/dist/features/trial-session/api/trial-nodes.js +6 -5
  62. package/dist/features/trial-session/api/trial-nodes.js.map +1 -1
  63. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js +7 -10
  64. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js.map +1 -1
  65. package/dist/features/trial-session/comps/school-goals/school-goals.js +54 -54
  66. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  67. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js +41 -41
  68. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js.map +1 -1
  69. package/dist/features/trial-session/comps/student-info/student-info.js +35 -35
  70. package/dist/features/trial-session/comps/student-info/student-info.js.map +1 -1
  71. package/dist/features/trial-session/comps/test-prep/test-prep.js +45 -42
  72. package/dist/features/trial-session/comps/test-prep/test-prep.js.map +1 -1
  73. package/dist/features/trial-session/comps/worksheet/worksheet.js +23 -23
  74. package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
  75. package/dist/features/trial-session/helper.js +52 -52
  76. package/dist/features/trial-session/helper.js.map +1 -1
  77. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  78. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js +7 -7
  79. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
  80. package/dist/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.js.map +1 -1
  81. package/dist/index.d.ts +16 -2
  82. package/dist/static/chapter-header-bg.4ed173c2.svg +1 -0
  83. package/package.json +1 -1
  84. package/dist/features/cue-canvas/toolbar/color-pallete.js +0 -49
  85. package/dist/features/cue-canvas/toolbar/color-pallete.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-map.js","sources":["../../../../src/features/cue-canvas/toolbar/icon-map.ts"],"sourcesContent":["import type { IToolsToCompMap, IGridToCompMap, TToolComponentType } from '../types/toolbar';\n\nimport ClearAllIcon from '../../../assets/line-icons/icons/clear-all';\nimport CursorIcon from '../../../assets/line-icons/icons/cursor';\nimport DownloadIcon from '../../../assets/line-icons/icons/download';\nimport EquationIcon from '../../../assets/line-icons/icons/equation';\nimport EraserIcon from '../../../assets/line-icons/icons/eraser';\nimport GridIcon from '../../../assets/line-icons/icons/grid-icon';\nimport HomeIcon from '../../../assets/line-icons/icons/home';\nimport PanIcon from '../../../assets/line-icons/icons/pan';\nimport SquareCheckedGridSvg from '../../../assets/line-icons/icons/square-checked-grid';\nimport SquareDotSvg from '../../../assets/line-icons/icons/square-dots';\nimport SquareGridSvg from '../../../assets/line-icons/icons/square-grid';\nimport Square2GridSvg from '../../../assets/line-icons/icons/square2-grid';\nimport TextIcon from '../../../assets/line-icons/icons/text-icon';\nimport TriDotSvg from '../../../assets/line-icons/icons/tri-dots';\nimport TriGridSvg from '../../../assets/line-icons/icons/tri-grid';\nimport Tri2DotSvg from '../../../assets/line-icons/icons/tri2-dots';\nimport Tri2GridSvg from '../../../assets/line-icons/icons/tri2-grid';\nimport UndoIcon from '../../../assets/line-icons/icons/undo';\nimport UploadIcon from '../../../assets/line-icons/icons/upload';\nimport ZoomInIcon from '../../../assets/line-icons/icons/zoom-in';\nimport ZoomOutIcon from '../../../assets/line-icons/icons/zoom-out';\nimport FlexView from '../../ui/layout/flex-view';\nimport {\n RedoIcon,\n StyledHighlighterWrapper,\n StyledPencilIcon,\n StyledRulerIcon,\n StyledSketchWrapper,\n} from '../cue-cavas-styled';\n\nexport const TOOLS_TO_COMP: IToolsToCompMap = {\n pen: StyledPencilIcon,\n ruler: StyledRulerIcon,\n marker: StyledSketchWrapper,\n highlighter: StyledHighlighterWrapper,\n eraser: EraserIcon,\n move: CursorIcon,\n undo: UndoIcon,\n redo: RedoIcon,\n pan: PanIcon,\n clearAll: ClearAllIcon,\n text: TextIcon,\n equation: EquationIcon,\n grid: GridIcon,\n home: HomeIcon,\n zoomIn: ZoomInIcon,\n zoomOut: ZoomOutIcon,\n upload: UploadIcon,\n download: DownloadIcon,\n};\n\nexport const GRID_TO_COMP: IGridToCompMap = {\n 'none': FlexView as unknown as TToolComponentType,\n 'square2-grid': Square2GridSvg,\n 'square-checked': SquareCheckedGridSvg,\n 'square-dots': SquareDotSvg,\n 'tri-dots': TriDotSvg,\n 'tri2-dots': Tri2DotSvg,\n 'square-grid': SquareGridSvg,\n 'tri-grid': TriGridSvg,\n 'tri2-grid': Tri2GridSvg,\n};\n"],"names":["TOOLS_TO_COMP","StyledPencilIcon","StyledRulerIcon","StyledSketchWrapper","StyledHighlighterWrapper","EraserIcon","CursorIcon","UndoIcon","RedoIcon","PanIcon","ClearAllIcon","TextIcon","EquationIcon","GridIcon","HomeIcon","ZoomInIcon","ZoomOutIcon","UploadIcon","DownloadIcon","GRID_TO_COMP","FlexView","Square2GridSvg","SquareCheckedGridSvg","SquareDotSvg","TriDotSvg","Tri2DotSvg","SquareGridSvg","TriGridSvg","Tri2GridSvg"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgCO,MAAMA,IAAiC;AAAA,EAC5C,KAAKC;AAAA,EACL,OAAOC;AAAA,EACP,QAAQC;AAAA,EACR,aAAaC;AAAA,EACb,QAAQC;AAAA,EACR,MAAMC;AAAA,EACN,MAAMC;AAAA,EACN,MAAMC;AAAA,EACN,KAAKC;AAAA,EACL,UAAUC;AAAA,EACV,MAAMC;AAAA,EACN,UAAUC;AAAAA,EACV,MAAMC;AAAA,EACN,MAAMC;AAAA,EACN,QAAQC;AAAA,EACR,SAASC;AAAA,EACT,QAAQC;AAAA,EACR,UAAUC;AACZ,GAEaC,IAA+B;AAAA,EAC1C,MAAQC;AAAA,EACR,gBAAgBC;AAAA,EAChB,kBAAkBC;AAAA,EAClB,eAAeC;AAAA,EACf,YAAYC;AAAA,EACZ,aAAaC;AAAA,EACb,eAAeC;AAAA,EACf,YAAYC;AAAA,EACZ,aAAaC;AACf;"}
@@ -0,0 +1,56 @@
1
+ import { jsxs as r, jsx as o } from "react/jsx-runtime";
2
+ import { memo as d, useRef as C } from "react";
3
+ import $ from "../../ui/buttons/clickable/clickable.js";
4
+ import v from "../../ui/hooks/use-context-menu-click-handler.js";
5
+ import m from "../../ui/layout/flex-view.js";
6
+ import { getIsWritingTool as c } from "../cue-canvas-helpers.js";
7
+ import { PenIconWrapper as T, StyledDownIcon as h, MenuWrapper as b } from "../cue-cavas-styled.js";
8
+ import { useCueCanvasActions as g } from "../hooks/use-cue-canvas-actions.js";
9
+ import x from "./color-palette.js";
10
+ import { TOOLS_TO_COMP as A } from "./icon-map.js";
11
+ import I from "./tool.js";
12
+ const _ = d(({ writingTools: s, userType: a }) => {
13
+ const { activeTool: e, activeColor: t, setActiveColor: u } = g(), i = C(null), { menuVisible: n, onMenuClick: f } = v(
14
+ i,
15
+ void 0,
16
+ !0,
17
+ void 0
18
+ ), p = A[c(e) ? e : "pen"];
19
+ return /* @__PURE__ */ r(m, { $borderRadius: 16, $background: "WHITE", ref: i, children: [
20
+ /* @__PURE__ */ o(T, { children: /* @__PURE__ */ o($, { onClick: f, label: "Active Tool", children: /* @__PURE__ */ r(m, { $flexDirection: "row", $justifyContent: "center", $alignItems: "center", children: [
21
+ /* @__PURE__ */ o(
22
+ p,
23
+ {
24
+ $active: c(e),
25
+ $activeColor: t,
26
+ $shouldAnimate: !1
27
+ }
28
+ ),
29
+ /* @__PURE__ */ o(h, { $isAnimating: n })
30
+ ] }) }) }),
31
+ n && /* @__PURE__ */ r(
32
+ b,
33
+ {
34
+ $flexDirection: "row",
35
+ $alignItems: "center",
36
+ $borderColor: "GREY_1",
37
+ $background: "WHITE",
38
+ children: [
39
+ s.map((l) => /* @__PURE__ */ o(I, { tool: l, shouldAnimate: !1, withGutter: !0 }, l)),
40
+ /* @__PURE__ */ o(
41
+ x,
42
+ {
43
+ setActiveColor: u,
44
+ activeColor: t,
45
+ userType: a
46
+ }
47
+ )
48
+ ]
49
+ }
50
+ )
51
+ ] });
52
+ });
53
+ export {
54
+ _ as default
55
+ };
56
+ //# sourceMappingURL=pen-tool-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pen-tool-menu.js","sources":["../../../../src/features/cue-canvas/toolbar/pen-tool-menu.tsx"],"sourcesContent":["import type { IPenToolMenu, TToolComponentType } from '../types/toolbar';\nimport type { FC } from 'react';\n\nimport { memo, useRef } from 'react';\n\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 { getIsWritingTool } from '../cue-canvas-helpers';\nimport { MenuWrapper, PenIconWrapper, StyledDownIcon } from '../cue-cavas-styled';\nimport { useCueCanvasActions } from '../hooks/use-cue-canvas-actions';\nimport ColorPalette from './color-palette';\nimport { TOOLS_TO_COMP } from './icon-map';\nimport Tool from './tool';\n\nconst PenToolMenu: FC<IPenToolMenu> = memo(({ writingTools, userType }) => {\n const { activeTool, activeColor, setActiveColor } = useCueCanvasActions();\n\n const penMenuRef = useRef(null);\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(\n penMenuRef,\n undefined,\n true,\n undefined,\n );\n\n const ActiveToolComponent = TOOLS_TO_COMP[\n getIsWritingTool(activeTool) ? activeTool : 'pen'\n ] as TToolComponentType;\n\n return (\n <FlexView $borderRadius={16} $background=\"WHITE\" ref={penMenuRef}>\n <PenIconWrapper>\n <Clickable onClick={onMenuClick} label=\"Active Tool\">\n <FlexView $flexDirection=\"row\" $justifyContent=\"center\" $alignItems=\"center\">\n <ActiveToolComponent\n $active={getIsWritingTool(activeTool)}\n $activeColor={activeColor}\n $shouldAnimate={false}\n />\n <StyledDownIcon $isAnimating={menuVisible} />\n </FlexView>\n </Clickable>\n </PenIconWrapper>\n {menuVisible && (\n <MenuWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $borderColor=\"GREY_1\"\n $background=\"WHITE\"\n >\n {writingTools.map(tool => (\n <Tool tool={tool} key={tool} shouldAnimate={false} withGutter />\n ))}\n\n <ColorPalette\n setActiveColor={setActiveColor}\n activeColor={activeColor}\n userType={userType}\n />\n </MenuWrapper>\n )}\n </FlexView>\n );\n});\n\nexport default PenToolMenu;\n"],"names":["PenToolMenu","memo","writingTools","userType","activeTool","activeColor","setActiveColor","useCueCanvasActions","penMenuRef","useRef","menuVisible","onMenuClick","useContextMenuClickHandler","ActiveToolComponent","TOOLS_TO_COMP","getIsWritingTool","FlexView","jsx","PenIconWrapper","Clickable","jsxs","StyledDownIcon","MenuWrapper","tool","Tool","ColorPalette"],"mappings":";;;;;;;;;;;AAeA,MAAMA,IAAgCC,EAAK,CAAC,EAAE,cAAAC,GAAc,UAAAC,QAAe;AACzE,QAAM,EAAE,YAAAC,GAAY,aAAAC,GAAa,gBAAAC,MAAmBC,EAAoB,GAElEC,IAAaC,EAAO,IAAI,GACxB,EAAE,aAAAC,GAAa,aAAAC,EAAA,IAAgBC;AAAA,IACnCJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,GAGIK,IAAsBC,EAC1BC,EAAiBX,CAAU,IAAIA,IAAa,KAC9C;AAEA,2BACGY,GAAS,EAAA,eAAe,IAAI,aAAY,SAAQ,KAAKR,GACpD,UAAA;AAAA,IAAA,gBAAAS,EAACC,GACC,EAAA,UAAA,gBAAAD,EAACE,GAAU,EAAA,SAASR,GAAa,OAAM,eACrC,UAAC,gBAAAS,EAAAJ,GAAA,EAAS,gBAAe,OAAM,iBAAgB,UAAS,aAAY,UAClE,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAACJ;AAAA,QAAA;AAAA,UACC,SAASE,EAAiBX,CAAU;AAAA,UACpC,cAAcC;AAAA,UACd,gBAAgB;AAAA,QAAA;AAAA,MAClB;AAAA,MACA,gBAAAY,EAACI,GAAe,EAAA,cAAcX,EAAa,CAAA;AAAA,IAAA,EAC7C,CAAA,EACF,CAAA,GACF;AAAA,IACCA,KACC,gBAAAU;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,gBAAe;AAAA,QACf,aAAY;AAAA,QACZ,cAAa;AAAA,QACb,aAAY;AAAA,QAEX,UAAA;AAAA,UAAapB,EAAA,IAAI,CAChBqB,MAAA,gBAAAN,EAACO,GAAK,EAAA,MAAAD,GAAuB,eAAe,IAAO,YAAU,GAAtC,GAAAA,CAAuC,CAC/D;AAAA,UAED,gBAAAN;AAAA,YAACQ;AAAA,YAAA;AAAA,cACC,gBAAAnB;AAAA,cACA,aAAAD;AAAA,cACA,UAAAF;AAAA,YAAA;AAAA,UACF;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAEJ,EAAA,CAAA;AAEJ,CAAC;"}
@@ -0,0 +1,34 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { memo as p, useCallback as T } from "react";
3
+ import f from "../../ui/buttons/clickable/clickable.js";
4
+ import d from "../../ui/layout/flex-view.js";
5
+ import { STATELESS_TOOLS as C, getIsWritingTool as u } from "../cue-canvas-helpers.js";
6
+ import { StyledWrapper as v } from "../cue-cavas-styled.js";
7
+ import { useCueCanvasActions as O } from "../hooks/use-cue-canvas-actions.js";
8
+ import S from "./grid-menu.js";
9
+ import { TOOLS_TO_COMP as $ } from "./icon-map.js";
10
+ const h = ({ tool: o, withGutter: n, shouldAnimate: l }) => {
11
+ const e = $[o], {
12
+ activeInstance: i,
13
+ setActiveTool: m,
14
+ activeTool: c,
15
+ activeColor: a
16
+ } = O(), s = T(
17
+ (t) => {
18
+ i == null || i.setTool(t), C.has(t) || m(t);
19
+ },
20
+ [i, m]
21
+ );
22
+ return o === "grid" ? /* @__PURE__ */ r(S, { GridIcon: e }) : /* @__PURE__ */ r(d, { $gutterX: n ? 0.25 : 0, children: /* @__PURE__ */ r(f, { onClick: () => s(o), label: o, children: u(o) ? /* @__PURE__ */ r(
23
+ e,
24
+ {
25
+ $active: c === o,
26
+ $activeColor: a,
27
+ $shouldAnimate: l
28
+ }
29
+ ) : /* @__PURE__ */ r(v, { $active: c === o, children: /* @__PURE__ */ r(e, {}) }) }) });
30
+ }, G = p(h);
31
+ export {
32
+ G as default
33
+ };
34
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sources":["../../../../src/features/cue-canvas/toolbar/tool.tsx"],"sourcesContent":["import type { TCueCanvasTool } from '../types/cue-canvas';\nimport type { TToolComponentType } from '../types/toolbar';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport Clickable from '../../ui/buttons/clickable/clickable';\nimport FlexView from '../../ui/layout/flex-view';\nimport { getIsWritingTool, STATELESS_TOOLS } from '../cue-canvas-helpers';\nimport { StyledWrapper } from '../cue-cavas-styled';\nimport { useCueCanvasActions } from '../hooks/use-cue-canvas-actions';\nimport GridMenu from './grid-menu';\nimport { TOOLS_TO_COMP } from './icon-map';\n\ninterface IToolProps {\n tool: TCueCanvasTool;\n withGutter?: boolean;\n shouldAnimate?: boolean;\n}\n\nconst Tool: FC<IToolProps> = ({ tool, withGutter, shouldAnimate }) => {\n const ToolComponent = TOOLS_TO_COMP[tool] as TToolComponentType;\n const {\n activeInstance: cueCanvas,\n setActiveTool,\n activeTool,\n activeColor,\n } = useCueCanvasActions();\n\n const onToolClick = useCallback(\n (t: TCueCanvasTool) => {\n cueCanvas?.setTool(t);\n\n if (!STATELESS_TOOLS.has(t)) {\n setActiveTool(t);\n }\n },\n [cueCanvas, setActiveTool],\n );\n\n if (tool === 'grid') {\n return <GridMenu GridIcon={ToolComponent} />;\n }\n\n return (\n <FlexView $gutterX={withGutter ? 0.25 : 0}>\n <Clickable onClick={() => onToolClick(tool)} label={tool}>\n {getIsWritingTool(tool) ? (\n <ToolComponent\n $active={activeTool === tool}\n $activeColor={activeColor}\n $shouldAnimate={shouldAnimate}\n />\n ) : (\n <StyledWrapper $active={activeTool === tool}>\n <ToolComponent />\n </StyledWrapper>\n )}\n </Clickable>\n </FlexView>\n );\n};\n\nexport default memo(Tool);\n"],"names":["Tool","tool","withGutter","shouldAnimate","ToolComponent","TOOLS_TO_COMP","cueCanvas","setActiveTool","activeTool","activeColor","useCueCanvasActions","onToolClick","useCallback","STATELESS_TOOLS","jsx","GridMenu","FlexView","Clickable","getIsWritingTool","StyledWrapper","Tool$1","memo"],"mappings":";;;;;;;;;AAoBA,MAAMA,IAAuB,CAAC,EAAE,MAAAC,GAAM,YAAAC,GAAY,eAAAC,QAAoB;AAC9D,QAAAC,IAAgBC,EAAcJ,CAAI,GAClC;AAAA,IACJ,gBAAgBK;AAAA,IAChB,eAAAC;AAAA,IACA,YAAAC;AAAA,IACA,aAAAC;AAAA,MACEC,EAAoB,GAElBC,IAAcC;AAAA,IAClB,CAAC,MAAsB;AACrB,MAAAN,KAAA,QAAAA,EAAW,QAAQ,IAEdO,EAAgB,IAAI,CAAC,KACxBN,EAAc,CAAC;AAAA,IAEnB;AAAA,IACA,CAACD,GAAWC,CAAa;AAAA,EAAA;AAG3B,SAAIN,MAAS,SACJ,gBAAAa,EAACC,GAAS,EAAA,UAAUX,EAAe,CAAA,sBAIzCY,GAAS,EAAA,UAAUd,IAAa,OAAO,GACtC,UAAC,gBAAAY,EAAAG,GAAA,EAAU,SAAS,MAAMN,EAAYV,CAAI,GAAG,OAAOA,GACjD,UAAAiB,EAAiBjB,CAAI,IACpB,gBAAAa;AAAA,IAACV;AAAA,IAAA;AAAA,MACC,SAASI,MAAeP;AAAA,MACxB,cAAcQ;AAAA,MACd,gBAAgBN;AAAA,IAAA;AAAA,EAClB,IAEC,gBAAAW,EAAAK,GAAA,EAAc,SAASX,MAAeP,GACrC,UAAC,gBAAAa,EAAAV,GAAA,CAAc,CAAA,EACjB,CAAA,EAEJ,CAAA,EACF,CAAA;AAEJ,GAEegB,IAAAC,EAAKrB,CAAI;"}
@@ -1,91 +1,22 @@
1
- import { jsxs as d, jsx as r } from "react/jsx-runtime";
2
- import { memo as T, useRef as b, useEffect as v, useCallback as I } from "react";
3
- import S, { useTheme as y } from "styled-components";
4
- import R from "../../../assets/line-icons/icons/cursor.js";
5
- import x from "../../../assets/line-icons/icons/eraser.js";
6
- import p from "../../../assets/line-icons/icons/undo.js";
7
- import f from "../../ui/buttons/clickable/clickable.js";
8
- import A from "../../ui/hooks/use-context-menu-click-handler.js";
9
- import l from "../../ui/layout/flex-view.js";
10
- import { CANVAS_COLORS as O } from "../constants/constants.js";
11
- import { getUserTools as P } from "../cue-canvas-helpers.js";
12
- import { StyledWrapper as W, ColorPicker as j, StyledPencilIcon as w, StyledRulerIcon as E, StyledSketchWrapper as H, StyledHighlighterWrapper as M } from "../cue-cavas-styled.js";
13
- import { useCueCanvasActions as V } from "../hooks/use-cue-canvas-actions.js";
14
- import _ from "./color-pallete.js";
15
- const L = S(p)`
16
- transform: scaleX(-1);
17
- `, U = {
18
- pen: w,
19
- ruler: E,
20
- marker: H,
21
- highlighter: M,
22
- eraser: x,
23
- move: R,
24
- undo: p,
25
- redo: L
26
- }, X = T(({ userType: n }) => {
27
- const {
28
- activeInstance: o,
29
- activeTool: i,
30
- setActiveTool: c,
31
- setActiveColor: u,
32
- activeColor: t,
33
- isWritingToolActive: s
34
- } = V(), { colors: h } = y(), m = b(null), C = P(n);
35
- v(() => {
36
- o && (t && o.setColor(O[t]), i && (o == null || o.setTool(i)));
37
- }, [t, i, h, o]);
38
- const $ = I(
39
- (e) => {
40
- o == null || o.setTool(e), e !== "undo" && e !== "redo" && c(e);
41
- },
42
- [o, c]
43
- ), { menuVisible: g, onMenuClick: k } = A(
44
- m,
45
- void 0,
46
- !0,
47
- void 0
48
- );
49
- return /* @__PURE__ */ d(l, { $flexDirection: "row", $alignItems: "center", $justifyContent: "center", children: [
50
- C.map((e) => {
51
- const a = U[e];
52
- return /* @__PURE__ */ r(l, { $gutterX: 0.25, children: /* @__PURE__ */ r(f, { onClick: () => $(e), label: e, children: ["pen", "ruler", "marker", "highlighter"].includes(e) ? /* @__PURE__ */ r(a, { $active: i === e, $activeColor: t }) : /* @__PURE__ */ r(W, { $active: i === e, children: /* @__PURE__ */ r(a, {}) }) }) }, e);
53
- }),
54
- /* @__PURE__ */ d(
55
- l,
56
- {
57
- $width: 32,
58
- $height: 32,
59
- $alignItems: "center",
60
- $justifyContent: "center",
61
- $borderRadius: 16,
62
- $background: "WHITE",
63
- children: [
64
- /* @__PURE__ */ r(f, { onClick: k, label: "Color Picker", disabled: !s, children: /* @__PURE__ */ r(
65
- j,
66
- {
67
- $width: 22,
68
- $height: 22,
69
- $borderRadius: 11,
70
- $color: t,
71
- $opacity: s ? 1 : 0.5,
72
- ref: m
73
- }
74
- ) }),
75
- g && /* @__PURE__ */ r(
76
- _,
77
- {
78
- setActiveColor: u,
79
- activeColor: t,
80
- userType: n
81
- }
82
- )
83
- ]
84
- }
85
- )
1
+ import { jsx as m, jsxs as n } from "react/jsx-runtime";
2
+ import { memo as s, useEffect as a } from "react";
3
+ import c from "../../ui/layout/flex-view.js";
4
+ import { CANVAS_COLORS as p } from "../constants/constants.js";
5
+ import { getUserTools as u } from "../cue-canvas-helpers.js";
6
+ import { useCueCanvasActions as C } from "../hooks/use-cue-canvas-actions.js";
7
+ import x from "./color-picker-menu.js";
8
+ import b from "./tool.js";
9
+ import T from "./whiteboard-toolbar.js";
10
+ const $ = s(({ userType: t, renderAs: r }) => {
11
+ const f = u(t, r), { activeInstance: o, activeTool: i, activeColor: e } = C();
12
+ return a(() => {
13
+ o && (e && o.setColor(p[e]), i && (o == null || o.setTool(i)));
14
+ }, [e, i, o, r]), r === "whiteboard" ? /* @__PURE__ */ m(T, { tools: f, userType: t }) : /* @__PURE__ */ n(c, { $flexDirection: "row", $alignItems: "center", $justifyContent: "center", $flexGapX: 0.5, children: [
15
+ f.map((l) => /* @__PURE__ */ m(b, { tool: l, shouldAnimate: !0 }, l)),
16
+ /* @__PURE__ */ m(x, { userType: t })
86
17
  ] });
87
- }), re = X;
18
+ }), S = $;
88
19
  export {
89
- re as default
20
+ S as default
90
21
  };
91
22
  //# sourceMappingURL=toolbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolbar.js","sources":["../../../../src/features/cue-canvas/toolbar/toolbar.tsx"],"sourcesContent":["import type { TCueCanvasTool } from '../types/cue-canvas';\nimport type { IToolsToCompMap, IToolbarProps, TToolComponentType } from '../types/toolbar';\n\nimport React, { memo, useCallback, useEffect, useRef } from 'react';\nimport styled from 'styled-components';\nimport { useTheme } from 'styled-components';\n\nimport CursorIcon from '../../../assets/line-icons/icons/cursor';\nimport EraserIcon from '../../../assets/line-icons/icons/eraser';\nimport UndoIcon from '../../../assets/line-icons/icons/undo';\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 { CANVAS_COLORS } from '../constants/constants';\nimport { getUserTools } from '../cue-canvas-helpers';\nimport {\n StyledPencilIcon,\n StyledRulerIcon,\n StyledWrapper,\n StyledSketchWrapper,\n StyledHighlighterWrapper,\n ColorPicker,\n} from '../cue-cavas-styled';\nimport { useCueCanvasActions } from '../hooks/use-cue-canvas-actions';\nimport ColorPallete from './color-pallete';\n\nconst RedoIcon = styled(UndoIcon)`\n transform: scaleX(-1);\n`;\n\nconst TOOLS_TO_COMP: IToolsToCompMap = {\n pen: StyledPencilIcon,\n ruler: StyledRulerIcon,\n marker: StyledSketchWrapper,\n highlighter: StyledHighlighterWrapper,\n eraser: EraserIcon,\n move: CursorIcon,\n undo: UndoIcon,\n redo: RedoIcon,\n};\n\nconst Toolbar: React.FC<IToolbarProps> = memo(({ userType }) => {\n const {\n activeInstance: cueCanvas,\n activeTool,\n setActiveTool,\n setActiveColor,\n activeColor,\n isWritingToolActive,\n } = useCueCanvasActions();\n const { colors } = useTheme();\n\n const colorPalleteRef = useRef<HTMLDivElement>(null);\n\n const tools = getUserTools(userType);\n\n useEffect(() => {\n if (cueCanvas) {\n if (activeColor) {\n cueCanvas.setColor(CANVAS_COLORS[activeColor]);\n }\n\n if (activeTool) {\n cueCanvas?.setTool(activeTool);\n }\n }\n }, [activeColor, activeTool, colors, cueCanvas]);\n\n const onToolClick = useCallback(\n (tool: TCueCanvasTool) => {\n cueCanvas?.setTool(tool);\n if (tool !== 'undo' && tool !== 'redo') {\n setActiveTool(tool);\n }\n },\n [cueCanvas, setActiveTool],\n );\n\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(\n colorPalleteRef,\n undefined,\n true,\n undefined,\n );\n\n return (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"center\">\n {tools.map(tool => {\n const ToolComponent = TOOLS_TO_COMP[tool] as TToolComponentType;\n\n return (\n <FlexView $gutterX={0.25} key={tool}>\n <Clickable onClick={() => onToolClick(tool)} label={tool}>\n {['pen', 'ruler', 'marker', 'highlighter'].includes(tool) ? (\n <ToolComponent $active={activeTool === tool} $activeColor={activeColor} />\n ) : (\n <StyledWrapper $active={activeTool === tool}>\n <ToolComponent />\n </StyledWrapper>\n )}\n </Clickable>\n </FlexView>\n );\n })}\n <FlexView\n $width={32}\n $height={32}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $background=\"WHITE\"\n >\n <Clickable onClick={onMenuClick} label=\"Color Picker\" disabled={!isWritingToolActive}>\n <ColorPicker\n $width={22}\n $height={22}\n $borderRadius={11}\n $color={activeColor}\n $opacity={isWritingToolActive ? 1 : 0.5}\n ref={colorPalleteRef}\n />\n </Clickable>\n {menuVisible && (\n <ColorPallete\n setActiveColor={setActiveColor}\n activeColor={activeColor}\n userType={userType}\n />\n )}\n </FlexView>\n </FlexView>\n );\n});\n\nexport default Toolbar;\n"],"names":["RedoIcon","styled","UndoIcon","TOOLS_TO_COMP","StyledPencilIcon","StyledRulerIcon","StyledSketchWrapper","StyledHighlighterWrapper","EraserIcon","CursorIcon","Toolbar","memo","userType","cueCanvas","activeTool","setActiveTool","setActiveColor","activeColor","isWritingToolActive","useCueCanvasActions","colors","useTheme","colorPalleteRef","useRef","tools","getUserTools","useEffect","CANVAS_COLORS","onToolClick","useCallback","tool","menuVisible","onMenuClick","useContextMenuClickHandler","FlexView","ToolComponent","jsx","Clickable","StyledWrapper","jsxs","ColorPicker","ColorPallete","Toolbar$1"],"mappings":";;;;;;;;;;;;;;AA0BA,MAAMA,IAAWC,EAAOC,CAAQ;AAAA;AAAA,GAI1BC,IAAiC;AAAA,EACrC,KAAKC;AAAA,EACL,OAAOC;AAAA,EACP,QAAQC;AAAA,EACR,aAAaC;AAAA,EACb,QAAQC;AAAA,EACR,MAAMC;AAAA,EACN,MAAMP;AAAA,EACN,MAAMF;AACR,GAEMU,IAAmCC,EAAK,CAAC,EAAE,UAAAC,QAAe;AACxD,QAAA;AAAA,IACJ,gBAAgBC;AAAA,IAChB,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,qBAAAC;AAAA,MACEC,EAAoB,GAClB,EAAE,QAAAC,MAAWC,KAEbC,IAAkBC,EAAuB,IAAI,GAE7CC,IAAQC,EAAab,CAAQ;AAEnC,EAAAc,EAAU,MAAM;AACd,IAAIb,MACEI,KACQJ,EAAA,SAASc,EAAcV,CAAW,CAAC,GAG3CH,MACFD,KAAA,QAAAA,EAAW,QAAQC;AAAA,KAGtB,CAACG,GAAaH,GAAYM,GAAQP,CAAS,CAAC;AAE/C,QAAMe,IAAcC;AAAA,IAClB,CAACC,MAAyB;AACxB,MAAAjB,KAAA,QAAAA,EAAW,QAAQiB,IACfA,MAAS,UAAUA,MAAS,UAC9Bf,EAAce,CAAI;AAAA,IAEtB;AAAA,IACA,CAACjB,GAAWE,CAAa;AAAA,EAAA,GAGrB,EAAE,aAAAgB,GAAa,aAAAC,EAAA,IAAgBC;AAAA,IACnCX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,2BACGY,GAAS,EAAA,gBAAe,OAAM,aAAY,UAAS,iBAAgB,UACjE,UAAA;AAAA,IAAAV,EAAM,IAAI,CAAQM,MAAA;AACX,YAAAK,IAAgBhC,EAAc2B,CAAI;AAExC,+BACGI,GAAS,EAAA,UAAU,MAClB,UAAC,gBAAAE,EAAAC,GAAA,EAAU,SAAS,MAAMT,EAAYE,CAAI,GAAG,OAAOA,GACjD,UAAA,CAAC,OAAO,SAAS,UAAU,aAAa,EAAE,SAASA,CAAI,sBACrDK,GAAc,EAAA,SAASrB,MAAegB,GAAM,cAAcb,EAAa,CAAA,IAExE,gBAAAmB,EAACE,GAAc,EAAA,SAASxB,MAAegB,GACrC,UAAA,gBAAAM,EAACD,KAAc,EACjB,CAAA,EAEJ,CAAA,KAT6BL,CAU/B;AAAA,IAAA,CAEH;AAAA,IACD,gBAAAS;AAAA,MAACL;AAAA,MAAA;AAAA,QACC,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,aAAY;AAAA,QACZ,iBAAgB;AAAA,QAChB,eAAe;AAAA,QACf,aAAY;AAAA,QAEZ,UAAA;AAAA,UAAA,gBAAAE,EAACC,KAAU,SAASL,GAAa,OAAM,gBAAe,UAAU,CAACd,GAC/D,UAAA,gBAAAkB;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,QAAQ;AAAA,cACR,SAAS;AAAA,cACT,eAAe;AAAA,cACf,QAAQvB;AAAA,cACR,UAAUC,IAAsB,IAAI;AAAA,cACpC,KAAKI;AAAA,YAAA;AAAA,UAAA,GAET;AAAA,UACCS,KACC,gBAAAK;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,gBAAAzB;AAAA,cACA,aAAAC;AAAA,cACA,UAAAL;AAAA,YAAA;AAAA,UACF;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,EACF,EAAA,CAAA;AAEJ,CAAC,GAED8B,KAAehC;"}
1
+ {"version":3,"file":"toolbar.js","sources":["../../../../src/features/cue-canvas/toolbar/toolbar.tsx"],"sourcesContent":["import type { IToolbarProps } from '../types/toolbar';\n\nimport React, { memo, useEffect } from 'react';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport { CANVAS_COLORS } from '../constants/constants';\nimport { getUserTools } from '../cue-canvas-helpers';\nimport { useCueCanvasActions } from '../hooks/use-cue-canvas-actions';\nimport ColorPickerMenu from './color-picker-menu';\nimport Tool from './tool';\nimport WhiteboardToolbar from './whiteboard-toolbar';\n\nconst Toolbar: React.FC<IToolbarProps> = memo(({ userType, renderAs }) => {\n const tools = getUserTools(userType, renderAs);\n const { activeInstance: cueCanvas, activeTool, activeColor } = useCueCanvasActions();\n\n useEffect(() => {\n if (cueCanvas) {\n if (activeColor) {\n cueCanvas.setColor(CANVAS_COLORS[activeColor]);\n }\n\n if (activeTool) {\n cueCanvas?.setTool(activeTool);\n }\n }\n }, [activeColor, activeTool, cueCanvas, renderAs]);\n\n if (renderAs === 'whiteboard') {\n return <WhiteboardToolbar tools={tools} userType={userType} />;\n }\n\n return (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"center\" $flexGapX={0.5}>\n {tools.map(tool => (\n <Tool tool={tool} key={tool} shouldAnimate />\n ))}\n <ColorPickerMenu userType={userType} />\n </FlexView>\n );\n});\n\nexport default Toolbar;\n"],"names":["Toolbar","memo","userType","renderAs","tools","getUserTools","cueCanvas","activeTool","activeColor","useCueCanvasActions","useEffect","CANVAS_COLORS","jsx","WhiteboardToolbar","jsxs","FlexView","Tool","tool","ColorPickerMenu","Toolbar$1"],"mappings":";;;;;;;;;AAYA,MAAMA,IAAmCC,EAAK,CAAC,EAAE,UAAAC,GAAU,UAAAC,QAAe;AAClE,QAAAC,IAAQC,EAAaH,GAAUC,CAAQ,GACvC,EAAE,gBAAgBG,GAAW,YAAAC,GAAY,aAAAC,EAAA,IAAgBC;AAc/D,SAZAC,EAAU,MAAM;AACd,IAAIJ,MACEE,KACQF,EAAA,SAASK,EAAcH,CAAW,CAAC,GAG3CD,MACFD,KAAA,QAAAA,EAAW,QAAQC;AAAA,KAGtB,CAACC,GAAaD,GAAYD,GAAWH,CAAQ,CAAC,GAE7CA,MAAa,eACR,gBAAAS,EAACC,GAAkB,EAAA,OAAAT,GAAc,UAAAF,EAAoB,CAAA,IAI5D,gBAAAY,EAACC,KAAS,gBAAe,OAAM,aAAY,UAAS,iBAAgB,UAAS,WAAW,KACrF,UAAA;AAAA,IAAMX,EAAA,IAAI,OACR,gBAAAQ,EAAAI,GAAA,EAAK,MAAAC,GAAuB,eAAa,GAAA,GAAnBA,CAAoB,CAC5C;AAAA,IACD,gBAAAL,EAACM,KAAgB,UAAAhB,GAAoB;AAAA,EACvC,EAAA,CAAA;AAEJ,CAAC,GAEDiB,IAAenB;"}
@@ -0,0 +1,16 @@
1
+ import { jsxs as l, jsx as r } from "react/jsx-runtime";
2
+ import { memo as s } from "react";
3
+ import n from "../../ui/layout/flex-view.js";
4
+ import a from "./pen-tool-menu.js";
5
+ import f from "./tool.js";
6
+ const h = s(({ tools: o, userType: i }) => {
7
+ const t = o.slice(0, 4), m = o.slice(4);
8
+ return /* @__PURE__ */ l(n, { $flexDirection: "row", $alignItems: "center", $flexGapX: 0.25, $position: "relative", children: [
9
+ /* @__PURE__ */ r(a, { writingTools: t, userType: i }),
10
+ m.map((e) => /* @__PURE__ */ r(f, { tool: e, shouldAnimate: !1 }, e))
11
+ ] });
12
+ });
13
+ export {
14
+ h as default
15
+ };
16
+ //# sourceMappingURL=whiteboard-toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whiteboard-toolbar.js","sources":["../../../../src/features/cue-canvas/toolbar/whiteboard-toolbar.tsx"],"sourcesContent":["import type { IWhiteboardToolbar } from '../types/toolbar';\nimport type { FC } from 'react';\n\nimport { memo } from 'react';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport PenToolMenu from './pen-tool-menu';\nimport Tool from './tool';\n\nconst WhiteboardToolbar: FC<IWhiteboardToolbar> = memo(({ tools, userType }) => {\n const writingTools = tools.slice(0, 4);\n const otherTools = tools.slice(4);\n\n return (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGapX={0.25} $position=\"relative\">\n <PenToolMenu writingTools={writingTools} userType={userType} />\n {otherTools.map(tool => (\n <Tool tool={tool} key={tool} shouldAnimate={false} />\n ))}\n </FlexView>\n );\n});\n\nexport default WhiteboardToolbar;\n"],"names":["WhiteboardToolbar","memo","tools","userType","writingTools","otherTools","jsxs","FlexView","jsx","PenToolMenu","tool","Tool"],"mappings":";;;;;AASA,MAAMA,IAA4CC,EAAK,CAAC,EAAE,OAAAC,GAAO,UAAAC,QAAe;AAC9E,QAAMC,IAAeF,EAAM,MAAM,GAAG,CAAC,GAC/BG,IAAaH,EAAM,MAAM,CAAC;AAG9B,SAAA,gBAAAI,EAACC,KAAS,gBAAe,OAAM,aAAY,UAAS,WAAW,MAAM,WAAU,YAC7E,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAY,cAAAL,GAA4B,UAAAD,EAAoB,CAAA;AAAA,IAC5DE,EAAW,IAAI,CACdK,MAAA,gBAAAF,EAACG,KAAK,MAAAD,GAAuB,eAAe,GAArB,GAAAA,CAA4B,CACpD;AAAA,EACH,EAAA,CAAA;AAEJ,CAAC;"}
@@ -1,9 +1,10 @@
1
- import { createPatchAPI as t } from "@cuemath/rest-api";
2
- import { BASE_URL_V2 as r } from "../../../constants/api.js";
3
- const { usePatch: m } = t({
4
- getURL: (e) => `${r}/students/${e}/nodes/trial/resume`
1
+ import { createPatchAPI as r } from "@cuemath/rest-api";
2
+ import { BASE_URL_V2 as o } from "../../../constants/api.js";
3
+ import { stringify as s } from "../../../helpers/query-string.js";
4
+ const { usePatch: u } = r({
5
+ getURL: (e, t) => `${o}/students/${e}/nodes/trial/resume/?${s(t)}`
5
6
  });
6
7
  export {
7
- m as useResumeTrialWorksheet
8
+ u as useResumeTrialWorksheet
8
9
  };
9
10
  //# sourceMappingURL=trial-nodes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trial-nodes.js","sources":["../../../../src/features/trial-session/api/trial-nodes.ts"],"sourcesContent":["import type { IResumeWorksheetModel } from '../../../types/models/worksheet';\n\nimport { createPatchAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V2 } from '../../../constants/api';\n\nconst { usePatch: useResumeTrialWorksheet } = createPatchAPI<\n IResumeWorksheetModel,\n Record<string, unknown>\n>({\n getURL: studentId => `${BASE_URL_V2}/students/${studentId}/nodes/trial/resume`,\n});\n\nexport { useResumeTrialWorksheet };\n"],"names":["useResumeTrialWorksheet","createPatchAPI","studentId","BASE_URL_V2"],"mappings":";;AAMA,MAAM,EAAE,UAAUA,EAAwB,IAAIC,EAG5C;AAAA,EACA,QAAQ,CAAAC,MAAa,GAAGC,CAAW,aAAaD,CAAS;AAC3D,CAAC;"}
1
+ {"version":3,"file":"trial-nodes.js","sources":["../../../../src/features/trial-session/api/trial-nodes.ts"],"sourcesContent":["import type { IResumeWorksheetModel } from '../../../types/models/worksheet';\n\nimport { createPatchAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V2 } from '../../../constants/api';\nimport { stringify } from '../../../helpers/query-string';\n\nconst { usePatch: useResumeTrialWorksheet } = createPatchAPI<\n IResumeWorksheetModel,\n Record<string, unknown>\n>({\n getURL: (studentId, query) =>\n `${BASE_URL_V2}/students/${studentId}/nodes/trial/resume/?${stringify(query)}`,\n});\n\nexport { useResumeTrialWorksheet };\n"],"names":["useResumeTrialWorksheet","createPatchAPI","studentId","query","BASE_URL_V2","stringify"],"mappings":";;;AAOA,MAAM,EAAE,UAAUA,EAAwB,IAAIC,EAG5C;AAAA,EACA,QAAQ,CAACC,GAAWC,MAClB,GAAGC,CAAW,aAAaF,CAAS,wBAAwBG,EAAUF,CAAK,CAAC;AAChF,CAAC;"}
@@ -1,30 +1,27 @@
1
1
  import { GIF as n } from "../../../../assets/gif/gif.js";
2
2
  const o = [
3
3
  {
4
- title: `school
5
- success`,
4
+ title: "school success",
6
5
  description: ["Synced Curriculum", "Homework Help", "School Tests Prep"],
7
6
  infoBackground: "PURPLE_1",
8
7
  animationSource: n.SCHOOL_SUCCESS_MINI,
9
8
  dimension: ["100%", "100%"]
10
9
  },
11
10
  {
12
- title: `track
13
- progress`,
11
+ title: "test prep",
14
12
  description: ["Math Kangaroo", "NJSLA", "STAAR, etc"],
15
13
  infoBackground: "BLUE_1",
16
14
  animationSource: n.TEST_PREP_MINI,
17
15
  dimension: ["100%", "100%"]
18
16
  },
19
17
  {
20
- title: `easy
21
- rescheduling`,
18
+ title: "enrichment",
22
19
  description: ["Financial Literacy", "Data Science", "Decision Making, etc"],
23
20
  infoBackground: "ORANGE_1",
24
21
  animationSource: n.ENRICHMENT_MINI,
25
22
  dimension: ["100%", "100%"]
26
23
  }
27
- ], a = [
24
+ ], e = [
28
25
  {
29
26
  title: `stay
30
27
  connected`,
@@ -52,7 +49,7 @@ your class timings.`,
52
49
  animationSource: n.EASY_RESCHEDULING,
53
50
  dimension: ["100%", "100%"]
54
51
  }
55
- ], e = [
52
+ ], a = [
56
53
  {
57
54
  title: `mental
58
55
  math`,
@@ -88,8 +85,8 @@ and stay sharp.`,
88
85
  }
89
86
  ];
90
87
  export {
91
- e as circleDetails,
88
+ a as circleDetails,
92
89
  o as goalDetails,
93
- a as parentAppDetails
90
+ e as parentAppDetails
94
91
  };
95
92
  //# sourceMappingURL=offering-information-constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"offering-information-constants.js","sources":["../../../../../src/features/trial-session/comps/offering-information/offering-information-constants.ts"],"sourcesContent":["import type { TColorNames } from '../../../ui/types';\n\nimport { GIF } from '../../../../assets/gif/gif';\n\ntype TCircleDetails = {\n title: string;\n description: string | string[];\n animationBackground?: TColorNames;\n infoBackground: TColorNames;\n animationSource: string;\n animationPadding?: number;\n dimension?: (number | string | undefined)[];\n coverAnimation?: boolean;\n}[];\n\nconst goalDetails: TCircleDetails = [\n {\n title: 'school \\nsuccess',\n description: ['Synced Curriculum', 'Homework Help', 'School Tests Prep'],\n infoBackground: 'PURPLE_1',\n animationSource: GIF.SCHOOL_SUCCESS_MINI,\n dimension: ['100%', '100%'],\n },\n {\n title: 'track \\nprogress',\n description: ['Math Kangaroo', 'NJSLA', 'STAAR, etc'],\n infoBackground: 'BLUE_1',\n animationSource: GIF.TEST_PREP_MINI,\n dimension: ['100%', '100%'],\n },\n {\n title: 'easy \\nrescheduling',\n description: ['Financial Literacy', 'Data Science', 'Decision Making, etc'],\n infoBackground: 'ORANGE_1',\n animationSource: GIF.ENRICHMENT_MINI,\n dimension: ['100%', '100%'],\n },\n];\n\nconst parentAppDetails: TCircleDetails = [\n {\n title: 'stay \\nconnected',\n description: 'Chat with your tutor and \\nreceive real-time updates.',\n infoBackground: 'BLUE_1',\n animationSource: GIF.STAY_CONNECTED,\n dimension: ['100%', '100%'],\n },\n {\n title: 'track \\nprogress',\n description: 'Progress, strengths, and \\nareas of improvement.',\n infoBackground: 'PURPLE_1',\n animationSource: GIF.TRACK_PROGRESS,\n dimension: ['100%', '100%'],\n },\n {\n title: 'easy \\nrescheduling',\n description: 'Conveniently change \\nyour class timings.',\n infoBackground: 'GREEN_1',\n animationSource: GIF.EASY_RESCHEDULING,\n dimension: ['100%', '100%'],\n },\n];\n\nconst circleDetails: TCircleDetails = [\n {\n title: 'mental \\nmath',\n description: 'Get faster and stay \\nahead in school.',\n animationBackground: 'YELLOW_4',\n infoBackground: 'YELLOW_1',\n animationSource: GIF.SKILLS,\n animationPadding: 25,\n dimension: [200, 200],\n },\n {\n title: 'strategy \\ngames',\n description: 'Train to think deeper \\nand plan ahead',\n animationBackground: 'BLUE_4',\n infoBackground: 'BLUE_1',\n animationSource: GIF.GAMES,\n animationPadding: 25,\n dimension: [200, 200],\n },\n {\n title: 'logic \\npuzzles',\n description: 'Think in new ways, \\nand stay sharp.',\n animationBackground: 'ORANGE_4',\n infoBackground: 'ORANGE_1',\n animationSource: GIF.PUZZLES,\n animationPadding: 25,\n dimension: [200, 200],\n },\n];\n\nexport { goalDetails, parentAppDetails, circleDetails };\n"],"names":["goalDetails","GIF","parentAppDetails","circleDetails"],"mappings":";AAeA,MAAMA,IAA8B;AAAA,EAClC;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa,CAAC,qBAAqB,iBAAiB,mBAAmB;AAAA,IACvE,gBAAgB;AAAA,IAChB,iBAAiBC,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa,CAAC,iBAAiB,SAAS,YAAY;AAAA,IACpD,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa,CAAC,sBAAsB,gBAAgB,sBAAsB;AAAA,IAC1E,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AACF,GAEMC,IAAmC;AAAA,EACvC;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,gBAAgB;AAAA,IAChB,iBAAiBD,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AACF,GAEME,IAAgC;AAAA,EACpC;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,IAChB,iBAAiBF,EAAI;AAAA,IACrB,kBAAkB;AAAA,IAClB,WAAW,CAAC,KAAK,GAAG;AAAA,EACtB;AAAA,EACA;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,kBAAkB;AAAA,IAClB,WAAW,CAAC,KAAK,GAAG;AAAA,EACtB;AAAA,EACA;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,kBAAkB;AAAA,IAClB,WAAW,CAAC,KAAK,GAAG;AAAA,EACtB;AACF;"}
1
+ {"version":3,"file":"offering-information-constants.js","sources":["../../../../../src/features/trial-session/comps/offering-information/offering-information-constants.ts"],"sourcesContent":["import type { TColorNames } from '../../../ui/types';\n\nimport { GIF } from '../../../../assets/gif/gif';\n\ntype TCircleDetails = {\n title: string;\n description: string | string[];\n animationBackground?: TColorNames;\n infoBackground: TColorNames;\n animationSource: string;\n animationPadding?: number;\n dimension?: (number | string | undefined)[];\n coverAnimation?: boolean;\n}[];\n\nconst goalDetails: TCircleDetails = [\n {\n title: 'school success',\n description: ['Synced Curriculum', 'Homework Help', 'School Tests Prep'],\n infoBackground: 'PURPLE_1',\n animationSource: GIF.SCHOOL_SUCCESS_MINI,\n dimension: ['100%', '100%'],\n },\n {\n title: 'test prep',\n description: ['Math Kangaroo', 'NJSLA', 'STAAR, etc'],\n infoBackground: 'BLUE_1',\n animationSource: GIF.TEST_PREP_MINI,\n dimension: ['100%', '100%'],\n },\n {\n title: 'enrichment',\n description: ['Financial Literacy', 'Data Science', 'Decision Making, etc'],\n infoBackground: 'ORANGE_1',\n animationSource: GIF.ENRICHMENT_MINI,\n dimension: ['100%', '100%'],\n },\n];\n\nconst parentAppDetails: TCircleDetails = [\n {\n title: 'stay \\nconnected',\n description: 'Chat with your tutor and \\nreceive real-time updates.',\n infoBackground: 'BLUE_1',\n animationSource: GIF.STAY_CONNECTED,\n dimension: ['100%', '100%'],\n },\n {\n title: 'track \\nprogress',\n description: 'Progress, strengths, and \\nareas of improvement.',\n infoBackground: 'PURPLE_1',\n animationSource: GIF.TRACK_PROGRESS,\n dimension: ['100%', '100%'],\n },\n {\n title: 'easy \\nrescheduling',\n description: 'Conveniently change \\nyour class timings.',\n infoBackground: 'GREEN_1',\n animationSource: GIF.EASY_RESCHEDULING,\n dimension: ['100%', '100%'],\n },\n];\n\nconst circleDetails: TCircleDetails = [\n {\n title: 'mental \\nmath',\n description: 'Get faster and stay \\nahead in school.',\n animationBackground: 'YELLOW_4',\n infoBackground: 'YELLOW_1',\n animationSource: GIF.SKILLS,\n animationPadding: 25,\n dimension: [200, 200],\n },\n {\n title: 'strategy \\ngames',\n description: 'Train to think deeper \\nand plan ahead',\n animationBackground: 'BLUE_4',\n infoBackground: 'BLUE_1',\n animationSource: GIF.GAMES,\n animationPadding: 25,\n dimension: [200, 200],\n },\n {\n title: 'logic \\npuzzles',\n description: 'Think in new ways, \\nand stay sharp.',\n animationBackground: 'ORANGE_4',\n infoBackground: 'ORANGE_1',\n animationSource: GIF.PUZZLES,\n animationPadding: 25,\n dimension: [200, 200],\n },\n];\n\nexport { goalDetails, parentAppDetails, circleDetails };\n"],"names":["goalDetails","GIF","parentAppDetails","circleDetails"],"mappings":";AAeA,MAAMA,IAA8B;AAAA,EAClC;AAAA,IACE,OAAO;AAAA,IACP,aAAa,CAAC,qBAAqB,iBAAiB,mBAAmB;AAAA,IACvE,gBAAgB;AAAA,IAChB,iBAAiBC,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa,CAAC,iBAAiB,SAAS,YAAY;AAAA,IACpD,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa,CAAC,sBAAsB,gBAAgB,sBAAsB;AAAA,IAC1E,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AACF,GAEMC,IAAmC;AAAA,EACvC;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,gBAAgB;AAAA,IAChB,iBAAiBD,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AACF,GAEME,IAAgC;AAAA,EACpC;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,IAChB,iBAAiBF,EAAI;AAAA,IACrB,kBAAkB;AAAA,IAClB,WAAW,CAAC,KAAK,GAAG;AAAA,EACtB;AAAA,EACA;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,kBAAkB;AAAA,IAClB,WAAW,CAAC,KAAK,GAAG;AAAA,EACtB;AAAA,EACA;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,kBAAkB;AAAA,IAClB,WAAW,CAAC,KAAK,GAAG;AAAA,EACtB;AACF;"}
@@ -1,43 +1,43 @@
1
- import { jsx as F } from "react/jsx-runtime";
2
- import { memo as x, useMemo as g, useCallback as s, useEffect as C } from "react";
1
+ import { jsx as A } from "react/jsx-runtime";
2
+ import { memo as B, useMemo as C, useCallback as s, useEffect as S } from "react";
3
3
  import { GOAL_CATEGORY as m } from "../../../milestone/constants.js";
4
- import { getCategorizedCurriculumStandards as A } from "../../../milestone/create/comps/class-details-step/class-details-utils.js";
5
- import { getGradesFromConfig as B, getGoalsFromConfig as Y } from "../../../milestone/create/milestone-create-helpers.js";
6
- import { epochTimestampAfterOneYear as _ } from "../../../utils/utils.js";
7
- import { useTrialSessionContext as j } from "../../context/use-trial-session-context.js";
8
- import { updateGoalInFormData as G } from "../../helper.js";
9
- import q from "./school-goals-view.js";
10
- const Q = x(() => {
4
+ import { getCategorizedCurriculumStandards as Y } from "../../../milestone/create/comps/class-details-step/class-details-utils.js";
5
+ import { getGradesFromConfig as j, getGoalsFromConfig as q } from "../../../milestone/create/milestone-create-helpers.js";
6
+ import { epochTimestampAfterOneYear as G } from "../../../utils/utils.js";
7
+ import { useTrialSessionContext as v } from "../../context/use-trial-session-context.js";
8
+ import { updateGoalInFormData as O } from "../../helper.js";
9
+ import w from "./school-goals-view.js";
10
+ const X = B(() => {
11
11
  const {
12
12
  milestoneConfig: r,
13
- formData: O,
13
+ formData: L,
14
14
  updateSlideConfig: n,
15
- updateButtonState: S,
16
- onRemoveOptionalSlides: u,
17
- trialHomeData: L
18
- } = j(), { name: f, grade: e, goals: a, curriculum: c } = O || {}, { demo_info: E } = L, { stream: d } = E || {}, U = B(r), H = g(
19
- () => A(r, {
20
- countryCode: "US",
15
+ updateButtonState: f,
16
+ onRemoveOptionalSlides: g,
17
+ trialHomeData: E
18
+ } = v(), { name: p, grade: e, goals: a, curriculum: i } = L || {}, { demo_info: U } = E, { stream: c, region_data: y } = U || {}, { opportunity_country: u = "US" } = y || {}, H = j(r), N = C(
19
+ () => Y(r, {
20
+ countryCode: u,
21
21
  grade: e ?? "",
22
22
  goalCategory: m.SCHOOL_SUCCESS,
23
- courseStream: d,
23
+ courseStream: c,
24
24
  enrollmentType: "ONLINE"
25
25
  }),
26
- [r, e, d]
27
- ), i = g(
28
- () => Y(r, {
29
- countryCode: "US",
26
+ [r, u, e, c]
27
+ ), d = C(
28
+ () => q(r, {
29
+ countryCode: u,
30
30
  grade: e ?? "",
31
31
  goalCategory: m.SCHOOL_SUCCESS,
32
- courseStream: d,
33
- curriculumStandard: c,
32
+ courseStream: c,
33
+ curriculumStandard: i,
34
34
  enrollmentType: "ONLINE"
35
35
  }),
36
- [r, e, d, c]
37
- ), { goal_code: p } = g(
36
+ [r, u, e, c, i]
37
+ ), { goal_code: _ } = C(
38
38
  () => (a == null ? void 0 : a.find((o) => o.goal_category === m.SCHOOL_SUCCESS)) ?? {},
39
39
  [a]
40
- ), h = !!(f && e && c && p), t = s(
40
+ ), h = !!(p && e && i && _), t = s(
41
41
  (o, l) => {
42
42
  n({
43
43
  [o]: l,
@@ -45,57 +45,57 @@ const Q = x(() => {
45
45
  });
46
46
  },
47
47
  [n]
48
- ), N = s((o) => t("name", o.target.value), [t]), T = s(
48
+ ), T = s((o) => t("name", o.target.value), [t]), D = s(
49
49
  (o, l) => {
50
- const { label: b } = l, D = G(a, m.SCHOOL_SUCCESS, {
50
+ const { label: F } = l, x = O(a, m.SCHOOL_SUCCESS, {
51
51
  goal_code: o,
52
- milestone_name: b,
53
- milestone_date_ts: _()
52
+ milestone_name: F,
53
+ milestone_date_ts: G()
54
54
  });
55
- n({ goals: D });
55
+ n({ goals: x });
56
56
  },
57
57
  [a, n]
58
- ), y = s(
58
+ ), I = s(
59
59
  (o) => t("curriculum", o),
60
60
  [t]
61
- ), I = s(
61
+ ), b = s(
62
62
  (o) => {
63
63
  t("grade", o), t("curriculum", "");
64
64
  },
65
65
  [t]
66
66
  );
67
- return C(() => {
68
- S("right", { isDisabled: !h, isLoading: !1 });
69
- }, [h, S]), C(() => {
70
- e && (u == null || u(e));
71
- }, [e]), C(() => {
72
- const o = i.length === 1 ? i[0] : void 0;
67
+ return S(() => {
68
+ f("right", { isDisabled: !h, isLoading: !1 });
69
+ }, [h, f]), S(() => {
70
+ e && (g == null || g(e));
71
+ }, [e]), S(() => {
72
+ const o = d.length === 1 ? d[0] : void 0;
73
73
  if (o) {
74
- const l = G(a, m.SCHOOL_SUCCESS, {
74
+ const l = O(a, m.SCHOOL_SUCCESS, {
75
75
  goal_code: o.id ?? "",
76
76
  milestone_name: o.label ?? "",
77
- milestone_date_ts: _()
77
+ milestone_date_ts: G()
78
78
  });
79
79
  n({ goals: l });
80
80
  }
81
- }, [i]), /* @__PURE__ */ F(
82
- q,
81
+ }, [d]), /* @__PURE__ */ A(
82
+ w,
83
83
  {
84
- name: f,
84
+ name: p,
85
85
  grade: e,
86
- curriculum: c,
87
- grades: U,
88
- curriculumStandards: H,
89
- goalsList: i,
90
- selectedGoal: p,
91
- onNameChange: N,
92
- onGoalChange: T,
93
- onGradeChange: I,
94
- onCurriculumChange: y
86
+ curriculum: i,
87
+ grades: H,
88
+ curriculumStandards: N,
89
+ goalsList: d,
90
+ selectedGoal: _,
91
+ onNameChange: T,
92
+ onGoalChange: D,
93
+ onGradeChange: b,
94
+ onCurriculumChange: I
95
95
  }
96
96
  );
97
97
  });
98
98
  export {
99
- Q as default
99
+ X as default
100
100
  };
101
101
  //# sourceMappingURL=school-goals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"school-goals.js","sources":["../../../../../src/features/trial-session/comps/school-goals/school-goals.tsx"],"sourcesContent":["import type { ISelectOption } from '../../../ui/inputs/base-select-input/base-select-input-types';\n\nimport { memo, useCallback, useEffect, useMemo } from 'react';\n\nimport { GOAL_CATEGORY } from '../../../milestone/constants';\nimport { getCategorizedCurriculumStandards } from '../../../milestone/create/comps/class-details-step/class-details-utils';\nimport {\n getGoalsFromConfig,\n getGradesFromConfig,\n} from '../../../milestone/create/milestone-create-helpers';\nimport { epochTimestampAfterOneYear } from '../../../utils/utils';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { updateGoalInFormData } from '../../helper';\nimport SchoolGoalsView from './school-goals-view';\n\nconst SchoolGoals = memo(() => {\n const {\n milestoneConfig,\n formData,\n updateSlideConfig,\n updateButtonState,\n onRemoveOptionalSlides,\n trialHomeData,\n } = useTrialSessionContext();\n const { name, grade, goals, curriculum } = formData || {};\n\n const { demo_info: demoInfo } = trialHomeData;\n const { stream } = demoInfo || {};\n const grades = getGradesFromConfig(milestoneConfig);\n\n const curriculumStandards = useMemo(\n () =>\n getCategorizedCurriculumStandards(milestoneConfig, {\n countryCode: 'US',\n grade: grade ?? '',\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream: stream,\n enrollmentType: 'ONLINE',\n }),\n [milestoneConfig, grade, stream],\n );\n\n const goalsList = useMemo(\n () =>\n getGoalsFromConfig(milestoneConfig, {\n countryCode: 'US',\n grade: grade ?? '',\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream: stream,\n curriculumStandard: curriculum,\n enrollmentType: 'ONLINE',\n }),\n [milestoneConfig, grade, stream, curriculum],\n );\n\n const { goal_code: selectedGoal } = useMemo(\n () => goals?.find(goal => goal.goal_category === GOAL_CATEGORY.SCHOOL_SUCCESS) ?? {},\n [goals],\n );\n\n const hasRequiredFields = Boolean(name && grade && curriculum && selectedGoal);\n\n const updateStudentInformation = useCallback(\n (key: string, value: string) => {\n updateSlideConfig({\n [key]: value,\n ...(key === 'grade' || key === 'curriculum' ? { goals: [] } : {}),\n });\n },\n [updateSlideConfig],\n );\n\n const handleNameChange = useCallback<\n NonNullable<React.InputHTMLAttributes<HTMLInputElement>['onChange']>\n >(event => updateStudentInformation('name', event.target.value), [updateStudentInformation]);\n\n const handleGoalChange = useCallback(\n (value: string, option: ISelectOption<string | number>) => {\n const { label } = option;\n\n const updatedGoals = updateGoalInFormData(goals, GOAL_CATEGORY.SCHOOL_SUCCESS, {\n goal_code: value,\n milestone_name: label,\n milestone_date_ts: epochTimestampAfterOneYear(),\n });\n\n updateSlideConfig({ goals: updatedGoals });\n },\n [goals, updateSlideConfig],\n );\n\n const handleCurriculumChange = useCallback(\n (value: string) => updateStudentInformation('curriculum', value),\n [updateStudentInformation],\n );\n\n const handleGradeChange = useCallback(\n (value: string) => {\n updateStudentInformation('grade', value);\n updateStudentInformation('curriculum', '');\n },\n [updateStudentInformation],\n );\n\n useEffect(() => {\n updateButtonState('right', { isDisabled: !hasRequiredFields, isLoading: false });\n }, [hasRequiredFields, updateButtonState]);\n\n useEffect(() => {\n if (grade) {\n onRemoveOptionalSlides?.(grade);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [grade]);\n\n useEffect(() => {\n // If there is only one goal in the list, set it as the selected goal\n // and update the form data with the goal code, milestone name, and date\n const defaultGoal = goalsList.length === 1 ? goalsList[0] : undefined;\n\n if (defaultGoal) {\n const goalToUpdate = updateGoalInFormData(goals, GOAL_CATEGORY.SCHOOL_SUCCESS, {\n goal_code: defaultGoal.id ?? '',\n milestone_name: defaultGoal.label ?? '',\n milestone_date_ts: epochTimestampAfterOneYear(),\n });\n\n updateSlideConfig({ goals: goalToUpdate });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [goalsList]);\n\n return (\n <SchoolGoalsView\n name={name}\n grade={grade}\n curriculum={curriculum}\n grades={grades}\n curriculumStandards={curriculumStandards}\n goalsList={goalsList}\n selectedGoal={selectedGoal}\n onNameChange={handleNameChange}\n onGoalChange={handleGoalChange}\n onGradeChange={handleGradeChange}\n onCurriculumChange={handleCurriculumChange}\n />\n );\n});\n\nexport default SchoolGoals;\n"],"names":["SchoolGoals","memo","milestoneConfig","formData","updateSlideConfig","updateButtonState","onRemoveOptionalSlides","trialHomeData","useTrialSessionContext","name","grade","goals","curriculum","demoInfo","stream","grades","getGradesFromConfig","curriculumStandards","useMemo","getCategorizedCurriculumStandards","GOAL_CATEGORY","goalsList","getGoalsFromConfig","selectedGoal","goal","hasRequiredFields","updateStudentInformation","useCallback","key","value","handleNameChange","event","handleGoalChange","option","label","updatedGoals","updateGoalInFormData","epochTimestampAfterOneYear","handleCurriculumChange","handleGradeChange","useEffect","defaultGoal","goalToUpdate","jsx","SchoolGoalsView"],"mappings":"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"}
1
+ {"version":3,"file":"school-goals.js","sources":["../../../../../src/features/trial-session/comps/school-goals/school-goals.tsx"],"sourcesContent":["import type { ISelectOption } from '../../../ui/inputs/base-select-input/base-select-input-types';\n\nimport { memo, useCallback, useEffect, useMemo } from 'react';\n\nimport { GOAL_CATEGORY } from '../../../milestone/constants';\nimport { getCategorizedCurriculumStandards } from '../../../milestone/create/comps/class-details-step/class-details-utils';\nimport {\n getGoalsFromConfig,\n getGradesFromConfig,\n} from '../../../milestone/create/milestone-create-helpers';\nimport { epochTimestampAfterOneYear } from '../../../utils/utils';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { updateGoalInFormData } from '../../helper';\nimport SchoolGoalsView from './school-goals-view';\n\nconst SchoolGoals = memo(() => {\n const {\n milestoneConfig,\n formData,\n updateSlideConfig,\n updateButtonState,\n onRemoveOptionalSlides,\n trialHomeData,\n } = useTrialSessionContext();\n const { name, grade, goals, curriculum } = formData || {};\n\n const { demo_info: demoInfo } = trialHomeData;\n const { stream, region_data: regionData } = demoInfo || {};\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n const grades = getGradesFromConfig(milestoneConfig);\n\n const curriculumStandards = useMemo(\n () =>\n getCategorizedCurriculumStandards(milestoneConfig, {\n countryCode,\n grade: grade ?? '',\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream: stream,\n enrollmentType: 'ONLINE',\n }),\n [milestoneConfig, countryCode, grade, stream],\n );\n\n const goalsList = useMemo(\n () =>\n getGoalsFromConfig(milestoneConfig, {\n countryCode,\n grade: grade ?? '',\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream: stream,\n curriculumStandard: curriculum,\n enrollmentType: 'ONLINE',\n }),\n [milestoneConfig, countryCode, grade, stream, curriculum],\n );\n\n const { goal_code: selectedGoal } = useMemo(\n () => goals?.find(goal => goal.goal_category === GOAL_CATEGORY.SCHOOL_SUCCESS) ?? {},\n [goals],\n );\n\n const hasRequiredFields = Boolean(name && grade && curriculum && selectedGoal);\n\n const updateStudentInformation = useCallback(\n (key: string, value: string) => {\n updateSlideConfig({\n [key]: value,\n ...(key === 'grade' || key === 'curriculum' ? { goals: [] } : {}),\n });\n },\n [updateSlideConfig],\n );\n\n const handleNameChange = useCallback<\n NonNullable<React.InputHTMLAttributes<HTMLInputElement>['onChange']>\n >(event => updateStudentInformation('name', event.target.value), [updateStudentInformation]);\n\n const handleGoalChange = useCallback(\n (value: string, option: ISelectOption<string | number>) => {\n const { label } = option;\n\n const updatedGoals = updateGoalInFormData(goals, GOAL_CATEGORY.SCHOOL_SUCCESS, {\n goal_code: value,\n milestone_name: label,\n milestone_date_ts: epochTimestampAfterOneYear(),\n });\n\n updateSlideConfig({ goals: updatedGoals });\n },\n [goals, updateSlideConfig],\n );\n\n const handleCurriculumChange = useCallback(\n (value: string) => updateStudentInformation('curriculum', value),\n [updateStudentInformation],\n );\n\n const handleGradeChange = useCallback(\n (value: string) => {\n updateStudentInformation('grade', value);\n updateStudentInformation('curriculum', '');\n },\n [updateStudentInformation],\n );\n\n useEffect(() => {\n updateButtonState('right', { isDisabled: !hasRequiredFields, isLoading: false });\n }, [hasRequiredFields, updateButtonState]);\n\n useEffect(() => {\n if (grade) {\n onRemoveOptionalSlides?.(grade);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [grade]);\n\n useEffect(() => {\n // If there is only one goal in the list, set it as the selected goal\n // and update the form data with the goal code, milestone name, and date\n const defaultGoal = goalsList.length === 1 ? goalsList[0] : undefined;\n\n if (defaultGoal) {\n const goalToUpdate = updateGoalInFormData(goals, GOAL_CATEGORY.SCHOOL_SUCCESS, {\n goal_code: defaultGoal.id ?? '',\n milestone_name: defaultGoal.label ?? '',\n milestone_date_ts: epochTimestampAfterOneYear(),\n });\n\n updateSlideConfig({ goals: goalToUpdate });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [goalsList]);\n\n return (\n <SchoolGoalsView\n name={name}\n grade={grade}\n curriculum={curriculum}\n grades={grades}\n curriculumStandards={curriculumStandards}\n goalsList={goalsList}\n selectedGoal={selectedGoal}\n onNameChange={handleNameChange}\n onGoalChange={handleGoalChange}\n onGradeChange={handleGradeChange}\n onCurriculumChange={handleCurriculumChange}\n />\n );\n});\n\nexport default SchoolGoals;\n"],"names":["SchoolGoals","memo","milestoneConfig","formData","updateSlideConfig","updateButtonState","onRemoveOptionalSlides","trialHomeData","useTrialSessionContext","name","grade","goals","curriculum","demoInfo","stream","regionData","countryCode","grades","getGradesFromConfig","curriculumStandards","useMemo","getCategorizedCurriculumStandards","GOAL_CATEGORY","goalsList","getGoalsFromConfig","selectedGoal","goal","hasRequiredFields","updateStudentInformation","useCallback","key","value","handleNameChange","event","handleGoalChange","option","label","updatedGoals","updateGoalInFormData","epochTimestampAfterOneYear","handleCurriculumChange","handleGradeChange","useEffect","defaultGoal","goalToUpdate","jsx","SchoolGoalsView"],"mappings":"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"}