@cuemath/leap 3.0.21 → 3.0.22-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 (188) hide show
  1. package/dist/_virtual/___vite-browser-external.js +7 -0
  2. package/dist/_virtual/___vite-browser-external.js.map +1 -0
  3. package/dist/_virtual/__vite-browser-external.js +5 -0
  4. package/dist/_virtual/__vite-browser-external.js.map +1 -0
  5. package/dist/_virtual/_commonjsHelpers.js +24 -4
  6. package/dist/_virtual/_commonjsHelpers.js.map +1 -1
  7. package/dist/_virtual/index2.js +5 -0
  8. package/dist/_virtual/index2.js.map +1 -0
  9. package/dist/_virtual/picocolors.browser.js +5 -0
  10. package/dist/_virtual/picocolors.browser.js.map +1 -0
  11. package/dist/_virtual/symbols.js +5 -0
  12. package/dist/_virtual/symbols.js.map +1 -0
  13. package/dist/assets/line-icons/icons/check.js +3 -3
  14. package/dist/assets/line-icons/icons/check.js.map +1 -1
  15. package/dist/assets/line-icons/icons/hw.js +32 -0
  16. package/dist/assets/line-icons/icons/hw.js.map +1 -0
  17. package/dist/assets/line-icons/icons/puzzle-icon.js +51 -0
  18. package/dist/assets/line-icons/icons/puzzle-icon.js.map +1 -0
  19. package/dist/assets/line-icons/icons/share.js +48 -0
  20. package/dist/assets/line-icons/icons/share.js.map +1 -0
  21. package/dist/assets/line-icons/icons/tile.js +54 -0
  22. package/dist/assets/line-icons/icons/tile.js.map +1 -0
  23. package/dist/features/communication/pub-sub/constants.js +1 -0
  24. package/dist/features/communication/pub-sub/constants.js.map +1 -1
  25. package/dist/features/cue-canvas/bottombar/homework-controls.js +73 -0
  26. package/dist/features/cue-canvas/bottombar/homework-controls.js.map +1 -0
  27. package/dist/features/cue-canvas/cue-canvas-context.js +8 -5
  28. package/dist/features/cue-canvas/cue-canvas-context.js.map +1 -1
  29. package/dist/features/cue-canvas/cue-canvas-core.js +51 -47
  30. package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
  31. package/dist/features/cue-canvas/cue-canvas-helpers.js +31 -25
  32. package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
  33. package/dist/features/cue-canvas/cue-canvas-provider.js +14 -12
  34. package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
  35. package/dist/features/cue-canvas/cue-canvas.js +61 -59
  36. package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
  37. package/dist/features/cue-canvas/cue-cavas-styled.js +29 -29
  38. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +50 -46
  39. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
  40. package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js +18 -14
  41. package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js.map +1 -1
  42. package/dist/features/cue-canvas/hooks/use-upload-helper.js +23 -0
  43. package/dist/features/cue-canvas/hooks/use-upload-helper.js.map +1 -0
  44. package/dist/features/cue-canvas/sidebar/homework/helper.js +20 -0
  45. package/dist/features/cue-canvas/sidebar/homework/helper.js.map +1 -0
  46. package/dist/features/cue-canvas/sidebar/homework/homework-menu.js +33 -0
  47. package/dist/features/cue-canvas/sidebar/homework/homework-menu.js.map +1 -0
  48. package/dist/features/cue-canvas/sidebar/homework/homework-request.js +61 -0
  49. package/dist/features/cue-canvas/sidebar/homework/homework-request.js.map +1 -0
  50. package/dist/features/cue-canvas/sidebar/homework/homework-styled.js +25 -0
  51. package/dist/features/cue-canvas/sidebar/homework/homework-styled.js.map +1 -0
  52. package/dist/features/cue-canvas/sidebar/homework/homework.js +58 -0
  53. package/dist/features/cue-canvas/sidebar/homework/homework.js.map +1 -0
  54. package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js +13 -0
  55. package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js.map +1 -0
  56. package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js +60 -0
  57. package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js.map +1 -0
  58. package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js +44 -0
  59. package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js.map +1 -0
  60. package/dist/features/cue-canvas/sidebar/puzzles/filters.js +107 -0
  61. package/dist/features/cue-canvas/sidebar/puzzles/filters.js.map +1 -0
  62. package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js +42 -0
  63. package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js.map +1 -0
  64. package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js +84 -0
  65. package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js.map +1 -0
  66. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js +36 -0
  67. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js.map +1 -0
  68. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js +133 -0
  69. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js.map +1 -0
  70. package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js +96 -0
  71. package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js.map +1 -0
  72. package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js +29 -0
  73. package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js.map +1 -0
  74. package/dist/features/cue-canvas/sidebar/puzzles/utils.js +120 -0
  75. package/dist/features/cue-canvas/sidebar/puzzles/utils.js.map +1 -0
  76. package/dist/features/cue-canvas/sidebar/sidebar-styled.js +32 -0
  77. package/dist/features/cue-canvas/sidebar/sidebar-styled.js.map +1 -0
  78. package/dist/features/cue-canvas/sidebar/sidebar.js +29 -0
  79. package/dist/features/cue-canvas/sidebar/sidebar.js.map +1 -0
  80. package/dist/features/cue-canvas/sidebar/tiles/tile.js +16 -0
  81. package/dist/features/cue-canvas/sidebar/tiles/tile.js.map +1 -0
  82. package/dist/features/hooks/use-debounce.js +16 -0
  83. package/dist/features/hooks/use-debounce.js.map +1 -0
  84. package/dist/features/ui/stepper/stepper.js +7 -7
  85. package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js +22 -19
  86. package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js.map +1 -1
  87. package/dist/index.d.ts +46 -6
  88. package/dist/index.js +487 -481
  89. package/dist/index.js.map +1 -1
  90. package/dist/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js +53 -0
  91. package/dist/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js.map +1 -0
  92. package/dist/node_modules/camelize/index.js +44 -0
  93. package/dist/node_modules/camelize/index.js.map +1 -0
  94. package/dist/node_modules/css-color-keywords/colors.json.js +298 -0
  95. package/dist/node_modules/css-color-keywords/colors.json.js.map +1 -0
  96. package/dist/node_modules/css-color-keywords/index.js +6 -0
  97. package/dist/node_modules/css-color-keywords/index.js.map +1 -0
  98. package/dist/node_modules/css-to-react-native/index.js +397 -0
  99. package/dist/node_modules/css-to-react-native/index.js.map +1 -0
  100. package/dist/node_modules/nanoid/non-secure/index.js +16 -0
  101. package/dist/node_modules/nanoid/non-secure/index.js.map +1 -0
  102. package/dist/node_modules/picocolors/picocolors.browser.js +11 -0
  103. package/dist/node_modules/picocolors/picocolors.browser.js.map +1 -0
  104. package/dist/node_modules/postcss/lib/at-rule.js +20 -0
  105. package/dist/node_modules/postcss/lib/at-rule.js.map +1 -0
  106. package/dist/node_modules/postcss/lib/comment.js +13 -0
  107. package/dist/node_modules/postcss/lib/comment.js.map +1 -0
  108. package/dist/node_modules/postcss/lib/container.js +226 -0
  109. package/dist/node_modules/postcss/lib/container.js.map +1 -0
  110. package/dist/node_modules/postcss/lib/css-syntax-error.js +45 -0
  111. package/dist/node_modules/postcss/lib/css-syntax-error.js.map +1 -0
  112. package/dist/node_modules/postcss/lib/declaration.js +16 -0
  113. package/dist/node_modules/postcss/lib/declaration.js.map +1 -0
  114. package/dist/node_modules/postcss/lib/document.js +22 -0
  115. package/dist/node_modules/postcss/lib/document.js.map +1 -0
  116. package/dist/node_modules/postcss/lib/fromJSON.js +43 -0
  117. package/dist/node_modules/postcss/lib/fromJSON.js.map +1 -0
  118. package/dist/node_modules/postcss/lib/input.js +134 -0
  119. package/dist/node_modules/postcss/lib/input.js.map +1 -0
  120. package/dist/node_modules/postcss/lib/lazy-result.js +347 -0
  121. package/dist/node_modules/postcss/lib/lazy-result.js.map +1 -0
  122. package/dist/node_modules/postcss/lib/list.js +22 -0
  123. package/dist/node_modules/postcss/lib/list.js.map +1 -0
  124. package/dist/node_modules/postcss/lib/map-generator.js +167 -0
  125. package/dist/node_modules/postcss/lib/map-generator.js.map +1 -0
  126. package/dist/node_modules/postcss/lib/no-work-result.js +90 -0
  127. package/dist/node_modules/postcss/lib/no-work-result.js.map +1 -0
  128. package/dist/node_modules/postcss/lib/node.js +216 -0
  129. package/dist/node_modules/postcss/lib/node.js.map +1 -0
  130. package/dist/node_modules/postcss/lib/parse.js +23 -0
  131. package/dist/node_modules/postcss/lib/parse.js.map +1 -0
  132. package/dist/node_modules/postcss/lib/parser.js +318 -0
  133. package/dist/node_modules/postcss/lib/parser.js.map +1 -0
  134. package/dist/node_modules/postcss/lib/postcss.js +30 -0
  135. package/dist/node_modules/postcss/lib/postcss.js.map +1 -0
  136. package/dist/node_modules/postcss/lib/postcss2.js +76 -0
  137. package/dist/node_modules/postcss/lib/postcss2.js.map +1 -0
  138. package/dist/node_modules/postcss/lib/previous-map.js +89 -0
  139. package/dist/node_modules/postcss/lib/previous-map.js.map +1 -0
  140. package/dist/node_modules/postcss/lib/processor.js +42 -0
  141. package/dist/node_modules/postcss/lib/processor.js.map +1 -0
  142. package/dist/node_modules/postcss/lib/result.js +27 -0
  143. package/dist/node_modules/postcss/lib/result.js.map +1 -0
  144. package/dist/node_modules/postcss/lib/root.js +38 -0
  145. package/dist/node_modules/postcss/lib/root.js.map +1 -0
  146. package/dist/node_modules/postcss/lib/rule.js +22 -0
  147. package/dist/node_modules/postcss/lib/rule.js.map +1 -0
  148. package/dist/node_modules/postcss/lib/stringifier.js +193 -0
  149. package/dist/node_modules/postcss/lib/stringifier.js.map +1 -0
  150. package/dist/node_modules/postcss/lib/stringify.js +11 -0
  151. package/dist/node_modules/postcss/lib/stringify.js.map +1 -0
  152. package/dist/node_modules/postcss/lib/symbols.js +7 -0
  153. package/dist/node_modules/postcss/lib/symbols.js.map +1 -0
  154. package/dist/node_modules/postcss/lib/tokenize.js +110 -0
  155. package/dist/node_modules/postcss/lib/tokenize.js.map +1 -0
  156. package/dist/node_modules/postcss/lib/warn-once.js +8 -0
  157. package/dist/node_modules/postcss/lib/warn-once.js.map +1 -0
  158. package/dist/node_modules/postcss/lib/warning.js +22 -0
  159. package/dist/node_modules/postcss/lib/warning.js.map +1 -0
  160. package/dist/node_modules/postcss-value-parser/lib/index.js +22 -0
  161. package/dist/node_modules/postcss-value-parser/lib/index.js.map +1 -0
  162. package/dist/node_modules/postcss-value-parser/lib/parse.js +115 -0
  163. package/dist/node_modules/postcss-value-parser/lib/parse.js.map +1 -0
  164. package/dist/node_modules/postcss-value-parser/lib/stringify.js +18 -0
  165. package/dist/node_modules/postcss-value-parser/lib/stringify.js.map +1 -0
  166. package/dist/node_modules/postcss-value-parser/lib/unit.js +37 -0
  167. package/dist/node_modules/postcss-value-parser/lib/unit.js.map +1 -0
  168. package/dist/node_modules/postcss-value-parser/lib/walk.js +9 -0
  169. package/dist/node_modules/postcss-value-parser/lib/walk.js.map +1 -0
  170. package/dist/node_modules/styled-components/native/dist/styled-components.native.esm.js +473 -0
  171. package/dist/node_modules/styled-components/native/dist/styled-components.native.esm.js.map +1 -0
  172. package/dist/node_modules/stylis/src/Enum.js +13 -0
  173. package/dist/node_modules/stylis/src/Enum.js.map +1 -0
  174. package/dist/node_modules/stylis/src/Middleware.js +48 -0
  175. package/dist/node_modules/stylis/src/Middleware.js.map +1 -0
  176. package/dist/node_modules/stylis/src/Parser.js +115 -0
  177. package/dist/node_modules/stylis/src/Parser.js.map +1 -0
  178. package/dist/node_modules/stylis/src/Prefixer.js +151 -0
  179. package/dist/node_modules/stylis/src/Prefixer.js.map +1 -0
  180. package/dist/node_modules/stylis/src/Serializer.js +28 -0
  181. package/dist/node_modules/stylis/src/Serializer.js.map +1 -0
  182. package/dist/node_modules/stylis/src/Tokenizer.js +138 -0
  183. package/dist/node_modules/stylis/src/Tokenizer.js.map +1 -0
  184. package/dist/node_modules/stylis/src/Utility.js +57 -0
  185. package/dist/node_modules/stylis/src/Utility.js.map +1 -0
  186. package/dist/node_modules/tslib/tslib.es6.js +19 -0
  187. package/dist/node_modules/tslib/tslib.es6.js.map +1 -0
  188. package/package.json +1 -1
@@ -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,29 @@
1
+ import { jsx as e, jsxs as n } from "react/jsx-runtime";
2
+ import { memo as p, useState as d, useMemo as f } from "react";
3
+ import s from "../../ui/layout/flex-view.js";
4
+ import o from "../../ui/separator/separator.js";
5
+ import c from "./homework/homework.js";
6
+ import u from "./puzzles/puzzles.js";
7
+ import { SideBarContainer as l } from "./sidebar-styled.js";
8
+ import x from "./tiles/tile.js";
9
+ const w = ({ grade: m, hwRequests: i }) => {
10
+ const [r, t] = d(), a = f(() => r === "tile" ? "300px" : r === "homework" ? "248px" : r === "puzzle" ? "650px" : "auto", [r]);
11
+ return /* @__PURE__ */ e(l, { $activeSidebar: r, $width: a, children: /* @__PURE__ */ n(s, { $flexDirection: "row", children: [
12
+ /* @__PURE__ */ e(x, { activeSidebar: r, setActiveSidebar: t }),
13
+ /* @__PURE__ */ e(o, { width: 8 }),
14
+ /* @__PURE__ */ e(u, { grade: m, activeSidebar: r, setActiveSidebar: t }),
15
+ /* @__PURE__ */ e(o, { width: 8 }),
16
+ i && /* @__PURE__ */ e(
17
+ c,
18
+ {
19
+ activeSidebar: r,
20
+ setActiveSidebar: t,
21
+ hwRequests: i
22
+ }
23
+ )
24
+ ] }) });
25
+ }, B = p(w);
26
+ export {
27
+ B as default
28
+ };
29
+ //# sourceMappingURL=sidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar.js","sources":["../../../../src/features/cue-canvas/sidebar/sidebar.tsx"],"sourcesContent":["import type { IHomeWorkHelpRequestModelWithStudentName } from './homework/homework-types';\nimport type { TActiveSidebar } from './puzzles/puzzles-type';\nimport type { FC } from 'react';\n\nimport { memo, useMemo, useState } from 'react';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport Separator from '../../ui/separator/separator';\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?: IHomeWorkHelpRequestModelWithStudentName[];\n}\n\nconst Sidebar: FC<ISidebar> = ({ grade, hwRequests }) => {\n const [activeSidebar, setActiveSidebar] = useState<TActiveSidebar | undefined>();\n\n const width = useMemo(() => {\n if (activeSidebar === 'tile') {\n return '300px';\n }\n\n if (activeSidebar === 'homework') {\n return '248px';\n }\n\n if (activeSidebar === 'puzzle') {\n return '650px';\n }\n\n return 'auto';\n }, [activeSidebar]);\n\n return (\n <SideBarContainer $activeSidebar={activeSidebar} $width={width}>\n <FlexView $flexDirection=\"row\">\n <TileBar activeSidebar={activeSidebar} setActiveSidebar={setActiveSidebar} />\n <Separator width={8} />\n <Puzzles grade={grade} activeSidebar={activeSidebar} setActiveSidebar={setActiveSidebar} />\n <Separator width={8} />\n\n {hwRequests && (\n <Homework\n activeSidebar={activeSidebar}\n setActiveSidebar={setActiveSidebar}\n hwRequests={hwRequests}\n />\n )}\n </FlexView>\n </SideBarContainer>\n );\n};\n\nexport default memo(Sidebar);\n"],"names":["Sidebar","grade","hwRequests","activeSidebar","setActiveSidebar","useState","width","useMemo","jsx","SideBarContainer","jsxs","FlexView","TileBar","Separator","Puzzles","Homework","sidebar","memo"],"mappings":";;;;;;;;AAkBA,MAAMA,IAAwB,CAAC,EAAE,OAAAC,GAAO,YAAAC,QAAiB;AACvD,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAqC,GAEzEC,IAAQC,EAAQ,MAChBJ,MAAkB,SACb,UAGLA,MAAkB,aACb,UAGLA,MAAkB,WACb,UAGF,QACN,CAACA,CAAa,CAAC;AAGhB,SAAA,gBAAAK,EAACC,KAAiB,gBAAgBN,GAAe,QAAQG,GACvD,UAAA,gBAAAI,EAACC,GAAS,EAAA,gBAAe,OACvB,UAAA;AAAA,IAAC,gBAAAH,EAAAI,GAAA,EAAQ,eAAAT,GAA8B,kBAAAC,EAAoC,CAAA;AAAA,IAC3E,gBAAAI,EAACK,GAAU,EAAA,OAAO,EAAG,CAAA;AAAA,IACpB,gBAAAL,EAAAM,GAAA,EAAQ,OAAAb,GAAc,eAAAE,GAA8B,kBAAAC,EAAoC,CAAA;AAAA,IACzF,gBAAAI,EAACK,GAAU,EAAA,OAAO,EAAG,CAAA;AAAA,IAEpBX,KACC,gBAAAM;AAAA,MAACO;AAAA,MAAA;AAAA,QACC,eAAAZ;AAAA,QACA,kBAAAC;AAAA,QACA,YAAAF;AAAA,MAAA;AAAA,IACF;AAAA,EAAA,EAEJ,CAAA,EACF,CAAA;AAEJ,GAEec,IAAAC,EAAKjB,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,14 +1,14 @@
1
1
  import { jsxs as o, jsx as t } from "react/jsx-runtime";
2
- import m from "../../../assets/line-icons/icons/check.js";
3
- import h from "../text/text.js";
2
+ import l from "../../../assets/line-icons/icons/check.js";
3
+ import m from "../text/text.js";
4
4
  import { getTheme as p } from "../theme/get-theme.js";
5
5
  import { MainWrapper as a, HorizontalLine as d, Wrapper as g, NumberWrapper as f, StyledText as s } from "./stepper-styled.js";
6
6
  const { layout: u } = p(), { gutter: i } = u;
7
- function j({ stepsInfo: n = [], currentStep: e = 2 }) {
7
+ function W({ stepsInfo: n = [], currentStep: e = 2 }) {
8
8
  const c = n.length && e >= 1 ? (e - 1) / n.length * 100 : 0;
9
9
  return /* @__PURE__ */ o(a, { $flexDirection: "row", $width: "fit-content", $gutterX: 0.625, $gapX: 0.625, children: [
10
10
  /* @__PURE__ */ t(d, { $percentageCompleted: c, $height: 1 }),
11
- n.map(({ id: $, label: l }, r) => /* @__PURE__ */ o(
11
+ n.map(({ id: $, label: h }, r) => /* @__PURE__ */ o(
12
12
  g,
13
13
  {
14
14
  $flexDirection: "row",
@@ -25,10 +25,10 @@ function j({ stepsInfo: n = [], currentStep: e = 2 }) {
25
25
  $justifyContent: "center",
26
26
  $heightX: 1.25,
27
27
  $widthX: 1.25,
28
- children: r + 1 < e ? /* @__PURE__ */ t(m, { height: i, width: i }) : /* @__PURE__ */ t(h, { $renderAs: "body3", $color: "WHITE", children: $ })
28
+ children: r + 1 < e ? /* @__PURE__ */ t(l, { height: i, width: i }) : /* @__PURE__ */ t(m, { $renderAs: "body3", $color: "WHITE", children: $ })
29
29
  }
30
30
  ),
31
- r + 1 === e && /* @__PURE__ */ t(s, { $renderAs: "body2", children: l })
31
+ r + 1 === e && /* @__PURE__ */ t(s, { $renderAs: "body2", children: h })
32
32
  ]
33
33
  },
34
34
  r
@@ -36,6 +36,6 @@ function j({ stepsInfo: n = [], currentStep: e = 2 }) {
36
36
  ] });
37
37
  }
38
38
  export {
39
- j as default
39
+ W as default
40
40
  };
41
41
  //# sourceMappingURL=stepper.js.map
@@ -1,33 +1,36 @@
1
- import { useEffect as g, useCallback as w } from "react";
2
- import { useAwsSignedKey as S } from "../api/subjective-review.js";
3
- import h from "../../../../node_modules/uuid/dist/esm-browser/v4.js";
4
- const A = (c) => {
5
- const { studentId: t, query: o } = c, { data: a, get: s } = S();
6
- return g(() => {
7
- s(t, o);
8
- }, [o, s, t]), w(
9
- async ({ images: d, onSuccess: i, onError: l, fileKey: u, fileName: m }) => {
1
+ import { useRef as h, useEffect as f, useCallback as k } from "react";
2
+ import { useAwsSignedKey as I } from "../api/subjective-review.js";
3
+ import S from "../../../../node_modules/uuid/dist/esm-browser/v4.js";
4
+ const C = (y) => {
5
+ const { studentId: t, query: o, enabled: r = !0 } = y, { data: s, get: d } = I(), c = h(s);
6
+ return f(() => {
7
+ c.current = s;
8
+ }, [s]), f(() => {
9
+ r && t && d(t, o);
10
+ }, [o, d, t, r]), k(
11
+ async ({ images: g, onSuccess: n, onError: p, fileKey: w, fileName: K }) => {
12
+ const a = c.current;
10
13
  if (!a) return;
11
- const r = `https://${a.bucketName}.s3.amazonaws.com/`;
14
+ const i = `https://${a.bucketName}.s3.amazonaws.com/`;
12
15
  try {
13
- const n = d.map(async (f) => {
14
- const e = new FormData(), p = `${u}${m ?? h()}`;
15
- if (e.append("key", p), e.append("AWSAccessKeyId", a.awsKey), e.append("acl", "public-read"), e.append("success_action_redirect", ""), e.append("policy", a.policy), e.append("signature", a.signature), e.append("Content-Type", "image/jpeg"), e.append("file", f.file), !(await fetch(r, {
16
+ const l = g.map(async (b) => {
17
+ const e = new FormData(), m = `${w}${K ?? S()}`;
18
+ if (e.append("key", m), e.append("AWSAccessKeyId", a.awsKey), e.append("acl", "public-read"), e.append("success_action_redirect", ""), e.append("policy", a.policy), e.append("signature", a.signature), e.append("Content-Type", "image/jpeg"), e.append("file", b.file), !(await fetch(i, {
16
19
  method: "POST",
17
20
  body: e
18
21
  })).ok)
19
22
  throw new Error("Upload failed");
20
- return `${r}${p}`;
21
- }), y = await Promise.all(n);
22
- i(y);
23
+ return `${i}${m}`;
24
+ }), u = await Promise.all(l);
25
+ return n == null || n(u), u;
23
26
  } catch {
24
- l();
27
+ p == null || p();
25
28
  }
26
29
  },
27
- [a]
30
+ []
28
31
  );
29
32
  };
30
33
  export {
31
- A as default
34
+ C as default
32
35
  };
33
36
  //# sourceMappingURL=use-s3-helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-s3-helper.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-s3-helper.ts"],"sourcesContent":["import type { IFile } from '../worksheet-question/subjective-review';\n\nimport { useCallback, useEffect } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { useAwsSignedKey } from '../api/subjective-review';\n\ninterface IUseS3helper {\n (params: {\n studentId: string;\n query: {\n type: string;\n };\n }): (props: IUploadImageProps) => void;\n}\n\ninterface IUploadImageProps {\n images: IFile[];\n onSuccess: (urls: string[]) => void;\n onError: () => void;\n fileKey: string;\n fileName?: string;\n}\n\nconst useS3ImageUploadHelper: IUseS3helper = props => {\n const { studentId, query } = props;\n const { data: awsSignedKey, get: getAwsSignedKey } = useAwsSignedKey();\n\n useEffect(() => {\n getAwsSignedKey(studentId, query);\n }, [query, getAwsSignedKey, studentId]);\n\n const uploadImagesToS3 = useCallback(\n async ({ images, onSuccess, onError, fileKey, fileName }: IUploadImageProps) => {\n if (!awsSignedKey) return;\n\n const url = `https://${awsSignedKey.bucketName}.s3.amazonaws.com/`;\n\n try {\n const uploadPromises = images.map(async (item: { file: string | Blob }) => {\n const formData = new FormData();\n const key = `${fileKey}${fileName ?? uuidv4()}`;\n\n formData.append('key', key);\n formData.append('AWSAccessKeyId', awsSignedKey.awsKey);\n formData.append('acl', 'public-read');\n formData.append('success_action_redirect', '');\n formData.append('policy', awsSignedKey.policy);\n formData.append('signature', awsSignedKey.signature);\n formData.append('Content-Type', 'image/jpeg');\n formData.append('file', item.file);\n\n const res = await fetch(url, {\n method: 'POST',\n body: formData,\n });\n\n if (!res.ok) {\n throw new Error('Upload failed');\n }\n\n return `${url}${key}`;\n });\n\n const uploadedUrls = await Promise.all(uploadPromises);\n\n onSuccess(uploadedUrls);\n } catch (error) {\n onError();\n }\n },\n [awsSignedKey],\n );\n\n return uploadImagesToS3;\n};\n\nexport default useS3ImageUploadHelper;\n"],"names":["useS3ImageUploadHelper","props","studentId","query","awsSignedKey","getAwsSignedKey","useAwsSignedKey","useEffect","useCallback","images","onSuccess","onError","fileKey","fileName","url","uploadPromises","item","formData","key","uuidv4","uploadedUrls"],"mappings":";;;AAwBA,MAAMA,IAAuC,CAASC,MAAA;AAC9C,QAAA,EAAE,WAAAC,GAAW,OAAAC,EAAU,IAAAF,GACvB,EAAE,MAAMG,GAAc,KAAKC,EAAA,IAAoBC;AAErD,SAAAC,EAAU,MAAM;AACd,IAAAF,EAAgBH,GAAWC,CAAK;AAAA,EAC/B,GAAA,CAACA,GAAOE,GAAiBH,CAAS,CAAC,GAEbM;AAAA,IACvB,OAAO,EAAE,QAAAC,GAAQ,WAAAC,GAAW,SAAAC,GAAS,SAAAC,GAAS,UAAAC,QAAkC;AAC9E,UAAI,CAACT,EAAc;AAEb,YAAAU,IAAM,WAAWV,EAAa,UAAU;AAE1C,UAAA;AACF,cAAMW,IAAiBN,EAAO,IAAI,OAAOO,MAAkC;AACnE,gBAAAC,IAAW,IAAI,YACfC,IAAM,GAAGN,CAAO,GAAGC,KAAYM,EAAQ,CAAA;AAgBzC,cAdKF,EAAA,OAAO,OAAOC,CAAG,GACjBD,EAAA,OAAO,kBAAkBb,EAAa,MAAM,GAC5Ca,EAAA,OAAO,OAAO,aAAa,GAC3BA,EAAA,OAAO,2BAA2B,EAAE,GACpCA,EAAA,OAAO,UAAUb,EAAa,MAAM,GACpCa,EAAA,OAAO,aAAab,EAAa,SAAS,GAC1Ca,EAAA,OAAO,gBAAgB,YAAY,GACnCA,EAAA,OAAO,QAAQD,EAAK,IAAI,GAO7B,EALQ,MAAM,MAAMF,GAAK;AAAA,YAC3B,QAAQ;AAAA,YACR,MAAMG;AAAA,UAAA,CACP,GAEQ;AACD,kBAAA,IAAI,MAAM,eAAe;AAG1B,iBAAA,GAAGH,CAAG,GAAGI,CAAG;AAAA,QAAA,CACpB,GAEKE,IAAe,MAAM,QAAQ,IAAIL,CAAc;AAErD,QAAAL,EAAUU,CAAY;AAAA,cACR;AACN,QAAAT;MACV;AAAA,IACF;AAAA,IACA,CAACP,CAAY;AAAA,EAAA;AAIjB;"}
1
+ {"version":3,"file":"use-s3-helper.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-s3-helper.ts"],"sourcesContent":["import type { IFile } from '../worksheet-question/subjective-review';\n\nimport { useCallback, useEffect, useRef } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { useAwsSignedKey } from '../api/subjective-review';\n\ninterface IUseS3helperProps {\n studentId: string;\n query: {\n type: string;\n };\n enabled?: boolean;\n}\n\ninterface IUploadImageProps {\n images: IFile[];\n onSuccess?: (urls: string[]) => void;\n onError?: () => void;\n fileKey: string;\n fileName?: string;\n}\n\nconst useS3ImageUploadHelper = (props: IUseS3helperProps) => {\n const { studentId, query, enabled = true } = props;\n const { data, get: getAwsSignedKey } = useAwsSignedKey();\n const awsSignedKeyRef = useRef(data);\n\n useEffect(() => {\n awsSignedKeyRef.current = data;\n }, [data]);\n\n useEffect(() => {\n if (enabled && studentId) {\n getAwsSignedKey(studentId, query);\n }\n }, [query, getAwsSignedKey, studentId, enabled]);\n\n const uploadImagesToS3 = useCallback(\n async ({ images, onSuccess, onError, fileKey, fileName }: IUploadImageProps) => {\n const awsSignedKey = awsSignedKeyRef.current;\n\n if (!awsSignedKey) return;\n\n const url = `https://${awsSignedKey.bucketName}.s3.amazonaws.com/`;\n\n try {\n const uploadPromises = images.map(async (item: { file: string | Blob }) => {\n const formData = new FormData();\n const key = `${fileKey}${fileName ?? uuidv4()}`;\n\n formData.append('key', key);\n formData.append('AWSAccessKeyId', awsSignedKey.awsKey);\n formData.append('acl', 'public-read');\n formData.append('success_action_redirect', '');\n formData.append('policy', awsSignedKey.policy);\n formData.append('signature', awsSignedKey.signature);\n formData.append('Content-Type', 'image/jpeg');\n formData.append('file', item.file);\n\n const res = await fetch(url, {\n method: 'POST',\n body: formData,\n });\n\n if (!res.ok) {\n throw new Error('Upload failed');\n }\n\n return `${url}${key}`;\n });\n\n const uploadedUrls = await Promise.all(uploadPromises);\n\n onSuccess?.(uploadedUrls);\n\n return uploadedUrls;\n } catch (error) {\n onError?.();\n }\n },\n [],\n );\n\n return uploadImagesToS3;\n};\n\nexport default useS3ImageUploadHelper;\n"],"names":["useS3ImageUploadHelper","props","studentId","query","enabled","data","getAwsSignedKey","useAwsSignedKey","awsSignedKeyRef","useRef","useEffect","useCallback","images","onSuccess","onError","fileKey","fileName","awsSignedKey","url","uploadPromises","item","formData","key","uuidv4","uploadedUrls"],"mappings":";;;AAuBM,MAAAA,IAAyB,CAACC,MAA6B;AAC3D,QAAM,EAAE,WAAAC,GAAW,OAAAC,GAAO,SAAAC,IAAU,OAASH,GACvC,EAAE,MAAAI,GAAM,KAAKC,MAAoBC,EAAgB,GACjDC,IAAkBC,EAAOJ,CAAI;AAEnC,SAAAK,EAAU,MAAM;AACd,IAAAF,EAAgB,UAAUH;AAAA,EAAA,GACzB,CAACA,CAAI,CAAC,GAETK,EAAU,MAAM;AACd,IAAIN,KAAWF,KACbI,EAAgBJ,GAAWC,CAAK;AAAA,KAEjC,CAACA,GAAOG,GAAiBJ,GAAWE,CAAO,CAAC,GAEtBO;AAAA,IACvB,OAAO,EAAE,QAAAC,GAAQ,WAAAC,GAAW,SAAAC,GAAS,SAAAC,GAAS,UAAAC,QAAkC;AAC9E,YAAMC,IAAeT,EAAgB;AAErC,UAAI,CAACS,EAAc;AAEb,YAAAC,IAAM,WAAWD,EAAa,UAAU;AAE1C,UAAA;AACF,cAAME,IAAiBP,EAAO,IAAI,OAAOQ,MAAkC;AACnE,gBAAAC,IAAW,IAAI,YACfC,IAAM,GAAGP,CAAO,GAAGC,KAAYO,EAAQ,CAAA;AAgBzC,cAdKF,EAAA,OAAO,OAAOC,CAAG,GACjBD,EAAA,OAAO,kBAAkBJ,EAAa,MAAM,GAC5CI,EAAA,OAAO,OAAO,aAAa,GAC3BA,EAAA,OAAO,2BAA2B,EAAE,GACpCA,EAAA,OAAO,UAAUJ,EAAa,MAAM,GACpCI,EAAA,OAAO,aAAaJ,EAAa,SAAS,GAC1CI,EAAA,OAAO,gBAAgB,YAAY,GACnCA,EAAA,OAAO,QAAQD,EAAK,IAAI,GAO7B,EALQ,MAAM,MAAMF,GAAK;AAAA,YAC3B,QAAQ;AAAA,YACR,MAAMG;AAAA,UAAA,CACP,GAEQ;AACD,kBAAA,IAAI,MAAM,eAAe;AAG1B,iBAAA,GAAGH,CAAG,GAAGI,CAAG;AAAA,QAAA,CACpB,GAEKE,IAAe,MAAM,QAAQ,IAAIL,CAAc;AAErD,eAAAN,KAAA,QAAAA,EAAYW,IAELA;AAAA,cACO;AACJ,QAAAV,KAAA,QAAAA;AAAA,MACZ;AAAA,IACF;AAAA,IACA,CAAC;AAAA,EAAA;AAIL;"}
package/dist/index.d.ts CHANGED
@@ -295,10 +295,14 @@ export declare const CueCanvas: React.FC<ICueCanvas>;
295
295
 
296
296
  export declare const CueCanvasController: React_2.FC<IToolbarProps>;
297
297
 
298
+ export declare const CueCanvasHomeworkController: NamedExoticComponent<IHomeWorkControllerProps>;
299
+
298
300
  export declare const CueCanvasProvider: FC<PropsWithChildren<{
299
301
  userType: TUserTypes;
300
302
  }>>;
301
303
 
304
+ export declare const CueCanvasSideBar: NamedExoticComponent<ISidebar>;
305
+
302
306
  export declare const CuemathLogo: React_2.FC<React_2.SVGProps<SVGSVGElement>>;
303
307
 
304
308
  export declare const CueRocket: React.FC<React.SVGProps<SVGSVGElement>>;
@@ -403,6 +407,7 @@ export declare const EVENTS: {
403
407
  CHANGE_LOCATION: "CHANGE_LOCATION";
404
408
  SHEET_MARKED_AS_REVIEWED: "SHEET_MARKED_AS_REVIEWED";
405
409
  SHEET_STARTED: "SHEET_STARTED";
410
+ SHEET_SUBMITTED: "SHEET_SUBMITTED";
406
411
  SHEET_UNASSIGNED: "SHEET_UNASSIGNED";
407
412
  SHEET_REATTEMPTED: "SHEET_REATTEMPTED";
408
413
  INVALIDATE_CHAPTER_ON_CHANGE_ATTEMPT_LOCATION: "INVALIDATE_CHAPTER_ON_CHANGE_ATTEMPT_LOCATION";
@@ -544,6 +549,8 @@ declare interface HWCardListProps extends INodeCardCallbacks {
544
549
  canStartJourney?: boolean;
545
550
  }
546
551
 
552
+ export declare const HWIcon: React_2.FC<React_2.SVGProps<SVGSVGElement>>;
553
+
547
554
  declare interface IAccordionSectionProps {
548
555
  headerElement: React.ReactElement;
549
556
  bodyElement: React.ReactElement;
@@ -1477,6 +1484,30 @@ export declare interface IHomepageStartJourneyProps {
1477
1484
  userType: TUserTypes;
1478
1485
  }
1479
1486
 
1487
+ declare interface IHomeWorkControllerProps {
1488
+ width: number;
1489
+ hwRequests?: IHomeWorkHelpRequestModel[];
1490
+ onMarkAsResolved?: (homeworkId: string, onSuccess: () => void) => void;
1491
+ onSendImageToChat?: (homeworkId: string, snapshot: Blob[], onSuccess: () => void) => void;
1492
+ }
1493
+
1494
+ export declare interface IHomeWorkHelpRequestModel {
1495
+ channel_id: string;
1496
+ created_on_ts: number;
1497
+ homework_id: string;
1498
+ id: string;
1499
+ message_timestamp: string;
1500
+ problem_description: string;
1501
+ problem_image_urls: string[];
1502
+ state: string;
1503
+ student_id: string;
1504
+ teacher_id: string;
1505
+ }
1506
+
1507
+ declare interface IHomeWorkHelpRequestModelWithStudentName extends IHomeWorkHelpRequestModel {
1508
+ student_name: string;
1509
+ }
1510
+
1480
1511
  declare interface IIconButtonProps extends Omit<IButtonProps, 'label' | 'shape' | 'widthX' | 'width' | 'iconPosition' | 'alignSelf' | 'analyticsLabel' | 'renderAs'>, Required<Pick<IClickableAnalyticsProps, 'analyticsLabel'>> {
1481
1512
  Icon: React.FC<React.SVGProps<SVGSVGElement>>;
1482
1513
  customBgColor?: TColorNames;
@@ -2965,6 +2996,11 @@ declare interface ISheetsListProps extends ISheetItemCallbackProps {
2965
2996
  section?: TSheetsSection;
2966
2997
  }
2967
2998
 
2999
+ declare interface ISidebar {
3000
+ grade?: string;
3001
+ hwRequests?: IHomeWorkHelpRequestModelWithStudentName[];
3002
+ }
3003
+
2968
3004
  declare interface ISignupMethodsProps {
2969
3005
  onEmailSignup: () => void;
2970
3006
  onPhoneSignup: () => void;
@@ -3333,6 +3369,8 @@ declare interface ITile {
3333
3369
  toPort?: string;
3334
3370
  toTileId: string;
3335
3371
  }[];
3372
+ html?: string;
3373
+ width?: number | string;
3336
3374
  }
3337
3375
 
3338
3376
  declare interface ITimeLeftTimelineProps {
@@ -4868,11 +4906,6 @@ export declare type TInclassMessage = {
4868
4906
  mediaType: TWORKSHHET_QUESTION_MEDIA_TYPE;
4869
4907
  mediaState: Record<string, unknown>;
4870
4908
  };
4871
- } | {
4872
- eventName: 'STUDENT_LEARNING_WORKSHEET_COMPLETED';
4873
- eventPayload: {
4874
- worksheetId: string;
4875
- };
4876
4909
  } | {
4877
4910
  eventName: typeof EVENTS.SHEET_MARKED_AS_REVIEWED;
4878
4911
  eventPayload: {
@@ -4947,6 +4980,13 @@ export declare type TInclassMessage = {
4947
4980
  sheetIds: string[];
4948
4981
  milestoneId?: string;
4949
4982
  };
4983
+ } | {
4984
+ eventName: typeof EVENTS.SHEET_SUBMITTED;
4985
+ eventPayload: {
4986
+ milestoneId?: string;
4987
+ worksheetId?: string;
4988
+ nodeType: TNodeTypes;
4989
+ };
4950
4990
  } | {
4951
4991
  eventName: typeof EVENTS.MILESTONE_NAME_UPDATED;
4952
4992
  eventPayload: {
@@ -5607,7 +5647,7 @@ export declare const UpIcon: React.FC<React.SVGProps<SVGSVGElement>>;
5607
5647
 
5608
5648
  export declare const useAutoPlayPermission: () => IAutoPlayPermissionContextType;
5609
5649
 
5610
- export declare const useCanvasSyncBroker: (channelId: string, logEvent: (type: string, payload?: Record<string, unknown>) => void, initialCanvasData?: Array<IChannelMessage>) => {
5650
+ export declare const useCanvasSyncBroker: (channelId: string, logEvent: (type: string, payload?: Record<string, unknown>) => void, initialCanvasData?: Array<IChannelMessage>, type?: TRenderAs_2) => {
5611
5651
  publishStrokes: ((message: unknown) => boolean) | undefined;
5612
5652
  channelStatus: ChannelStatus | undefined;
5613
5653
  closeChannel: () => void;