@cuemath/leap 3.0.9 → 3.0.10-aa1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/assets/line-icons/icons/check.js +3 -3
  2. package/dist/assets/line-icons/icons/check.js.map +1 -1
  3. package/dist/assets/line-icons/icons/hw.js +32 -0
  4. package/dist/assets/line-icons/icons/hw.js.map +1 -0
  5. package/dist/assets/line-icons/icons/puzzle-icon.js +51 -0
  6. package/dist/assets/line-icons/icons/puzzle-icon.js.map +1 -0
  7. package/dist/assets/line-icons/icons/share.js +48 -0
  8. package/dist/assets/line-icons/icons/share.js.map +1 -0
  9. package/dist/assets/line-icons/icons/tile.js +54 -0
  10. package/dist/assets/line-icons/icons/tile.js.map +1 -0
  11. package/dist/features/cue-canvas/bottombar/homework-controls.js +58 -0
  12. package/dist/features/cue-canvas/bottombar/homework-controls.js.map +1 -0
  13. package/dist/features/cue-canvas/cue-canvas-context.js +6 -6
  14. package/dist/features/cue-canvas/cue-canvas-context.js.map +1 -1
  15. package/dist/features/cue-canvas/cue-canvas-core.js +85 -54
  16. package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
  17. package/dist/features/cue-canvas/cue-canvas-helpers.js +31 -25
  18. package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
  19. package/dist/features/cue-canvas/cue-canvas-provider.js +10 -10
  20. package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
  21. package/dist/features/cue-canvas/cue-canvas.js +57 -57
  22. package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
  23. package/dist/features/cue-canvas/cue-cavas-styled.js +34 -33
  24. package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
  25. package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js +20 -20
  26. package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js.map +1 -1
  27. package/dist/features/cue-canvas/sidebar/homework/helper.js +20 -0
  28. package/dist/features/cue-canvas/sidebar/homework/helper.js.map +1 -0
  29. package/dist/features/cue-canvas/sidebar/homework/homework-menu.js +33 -0
  30. package/dist/features/cue-canvas/sidebar/homework/homework-menu.js.map +1 -0
  31. package/dist/features/cue-canvas/sidebar/homework/homework-request.js +60 -0
  32. package/dist/features/cue-canvas/sidebar/homework/homework-request.js.map +1 -0
  33. package/dist/features/cue-canvas/sidebar/homework/homework-styled.js +25 -0
  34. package/dist/features/cue-canvas/sidebar/homework/homework-styled.js.map +1 -0
  35. package/dist/features/cue-canvas/sidebar/homework/homework.js +32 -0
  36. package/dist/features/cue-canvas/sidebar/homework/homework.js.map +1 -0
  37. package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js +13 -0
  38. package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js.map +1 -0
  39. package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js +60 -0
  40. package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js.map +1 -0
  41. package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js +44 -0
  42. package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js.map +1 -0
  43. package/dist/features/cue-canvas/sidebar/puzzles/filters.js +107 -0
  44. package/dist/features/cue-canvas/sidebar/puzzles/filters.js.map +1 -0
  45. package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js +42 -0
  46. package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js.map +1 -0
  47. package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js +84 -0
  48. package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js.map +1 -0
  49. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js +36 -0
  50. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js.map +1 -0
  51. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js +133 -0
  52. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js.map +1 -0
  53. package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js +96 -0
  54. package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js.map +1 -0
  55. package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js +29 -0
  56. package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js.map +1 -0
  57. package/dist/features/cue-canvas/sidebar/puzzles/utils.js +120 -0
  58. package/dist/features/cue-canvas/sidebar/puzzles/utils.js.map +1 -0
  59. package/dist/features/cue-canvas/sidebar/sidebar-styled.js +32 -0
  60. package/dist/features/cue-canvas/sidebar/sidebar-styled.js.map +1 -0
  61. package/dist/features/cue-canvas/sidebar/sidebar.js +34 -0
  62. package/dist/features/cue-canvas/sidebar/sidebar.js.map +1 -0
  63. package/dist/features/cue-canvas/sidebar/tiles/tile.js +16 -0
  64. package/dist/features/cue-canvas/sidebar/tiles/tile.js.map +1 -0
  65. package/dist/features/hooks/use-debounce.js +16 -0
  66. package/dist/features/hooks/use-debounce.js.map +1 -0
  67. package/dist/features/post-game-stats/digital-meter/digital-meter.js +49 -40
  68. package/dist/features/post-game-stats/digital-meter/digital-meter.js.map +1 -1
  69. package/dist/features/ui/animated-arc/animated-arc.js +7 -7
  70. package/dist/features/ui/animated-arc/animated-arc.js.map +1 -1
  71. package/dist/features/ui/loader/circular-loader/circular-loader.js +8 -6
  72. package/dist/features/ui/loader/circular-loader/circular-loader.js.map +1 -1
  73. package/dist/features/ui/stepper/stepper.js +7 -7
  74. package/dist/features/ui/theme/tab.js +26 -0
  75. package/dist/features/ui/theme/tab.js.map +1 -1
  76. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +34 -34
  77. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  78. package/dist/index.d.ts +48 -11
  79. package/dist/index.js +441 -435
  80. package/dist/index.js.map +1 -1
  81. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import e, { css as l } from "styled-components";
1
+ import i, { css as l } from "styled-components";
2
2
  import a from "../../assets/line-icons/icons/check.js";
3
3
  import d from "../../assets/line-icons/icons/down.js";
4
4
  import h from "../../assets/line-icons/icons/highlighter.js";
@@ -10,45 +10,45 @@ import $ from "../../assets/line-icons/icons/undo.js";
10
10
  import m from "../../assets/line-icons/icons/unlock.js";
11
11
  import p from "../ui/layout/flex-view.js";
12
12
  import { CANVAS_COLORS as c } from "./constants/constants.js";
13
- const S = e(u)(({
13
+ const S = i(u)(({
14
14
  theme: r,
15
15
  $active: o,
16
16
  $activeColor: t,
17
17
  $shouldAnimate: s
18
18
  }) => {
19
- const { colors: i } = r, n = o ? c[t] : i.REAL_BLACK_50;
19
+ const { colors: e } = r, n = o ? c[t] : e.REAL_BLACK_50;
20
20
  return l`
21
21
  position: relative;
22
22
  transition: top 0.3s ease-in-out;
23
23
  top: ${o && s ? "0px" : "8px"};
24
24
  cursor: ${o ? "auto" : "pointer"};
25
25
  .pencil-dark-shade {
26
- fill: ${o ? n : i.GREY_3};
26
+ fill: ${o ? n : e.GREY_3};
27
27
  }
28
28
 
29
29
  .pencil-light-shade {
30
- fill: ${o ? n : i.GREY_2};
30
+ fill: ${o ? n : e.GREY_2};
31
31
  opacity: ${o ? 0.3 : 1};
32
32
  }
33
33
 
34
34
  ${!o && l`
35
35
  &:hover {
36
36
  .pencil-dark-shade {
37
- fill: ${i.GREY_4};
37
+ fill: ${e.GREY_4};
38
38
  }
39
39
  .pencil-light-shade {
40
- fill: ${i.GREY_2};
40
+ fill: ${e.GREY_2};
41
41
  }
42
42
  }
43
43
  `}
44
44
  `;
45
- }), W = e(g)(({
45
+ }), G = i(g)(({
46
46
  theme: r,
47
47
  $active: o,
48
48
  $activeColor: t,
49
49
  $shouldAnimate: s
50
50
  }) => {
51
- const { colors: i } = r, n = o ? c[t] : i.REAL_BLACK_50;
51
+ const { colors: e } = r, n = o ? c[t] : e.REAL_BLACK_50;
52
52
  return l`
53
53
  cursor: ${o ? "auto" : "pointer"};
54
54
  position: relative;
@@ -56,36 +56,36 @@ const S = e(u)(({
56
56
  top: ${o && s ? "0px" : "8px"};
57
57
 
58
58
  .ruler-rect-color {
59
- fill: ${o ? n : i.GREY_3};
59
+ fill: ${o ? n : e.GREY_3};
60
60
  }
61
61
 
62
62
  .ruler-stripe-base {
63
- fill: ${o ? n : i.GREY_2};
63
+ fill: ${o ? n : e.GREY_2};
64
64
  opacity: ${o ? 0.2 : 1};
65
65
  }
66
66
 
67
67
  .ruler-small-stripe {
68
- fill: ${i.REAL_BLACK};
68
+ fill: ${e.REAL_BLACK};
69
69
  }
70
70
 
71
71
  ${!o && l`
72
72
  &:hover {
73
73
  .ruler-rect-color {
74
- fill: ${i.GREY_4};
74
+ fill: ${e.GREY_4};
75
75
  }
76
76
  .ruler-stripe-base {
77
- fill: ${i.GREY_3};
77
+ fill: ${e.GREY_3};
78
78
  }
79
79
  }
80
80
  `}
81
81
  `;
82
- }), w = e(h)(({
82
+ }), W = i(h)(({
83
83
  $active: r,
84
84
  theme: o,
85
85
  $activeColor: t,
86
86
  $shouldAnimate: s
87
87
  }) => {
88
- const { colors: i } = o, n = r ? c[t] : i.REAL_BLACK_50;
88
+ const { colors: e } = o, n = r ? c[t] : e.REAL_BLACK_50;
89
89
  return l`
90
90
  cursor: ${r ? "auto" : "pointer"};
91
91
  position: relative;
@@ -123,13 +123,13 @@ const S = e(u)(({
123
123
  }
124
124
  `}
125
125
  `;
126
- }), G = e(x)(({
126
+ }), Y = i(x)(({
127
127
  $active: r,
128
128
  theme: o,
129
129
  $activeColor: t,
130
130
  $shouldAnimate: s
131
131
  }) => {
132
- const { colors: i } = o, n = r ? c[t] : i.REAL_BLACK_50;
132
+ const { colors: e } = o, n = r ? c[t] : e.REAL_BLACK_50;
133
133
  return l`
134
134
  cursor: ${r ? "auto" : "pointer"};
135
135
  position: relative;
@@ -169,13 +169,13 @@ const S = e(u)(({
169
169
  }
170
170
  `}
171
171
  `;
172
- }), Y = e(f)`
172
+ }), w = i(f)`
173
173
  width: 20px;
174
174
  height: 20px;
175
- `, H = e(m)`
175
+ `, H = i(m)`
176
176
  width: 20px;
177
177
  height: 20px;
178
- `, P = e(p)(
178
+ `, P = i(p)(
179
179
  ({ theme: r, $active: o }) => {
180
180
  const { colors: t } = r;
181
181
  return l`
@@ -187,6 +187,7 @@ const S = e(u)(({
187
187
  border: 1px solid ${t.WHITE};
188
188
  border-radius: 50%;
189
189
  transition: all 100ms ease-in-out;
190
+ border: 1px solid ${t.GREY_1};
190
191
 
191
192
  ${!o && l`
192
193
  &:hover {
@@ -214,13 +215,13 @@ const S = e(u)(({
214
215
  `}
215
216
  `;
216
217
  }
217
- ), T = e(a)`
218
+ ), T = i(a)`
218
219
  path {
219
220
  stroke: ${"white"};
220
221
  }
221
- `, U = e($)`
222
+ `, U = i($)`
222
223
  transform: scaleX(-1);
223
- `, j = e(p)`
224
+ `, j = i(p)`
224
225
  position: absolute;
225
226
  display: flex;
226
227
  justify-content: center;
@@ -228,7 +229,7 @@ const S = e(u)(({
228
229
  transition:
229
230
  opacity 0.5s ease,
230
231
  transform 0.5s ease;
231
- `, D = e(p)(
232
+ `, D = i(p)(
232
233
  ({ $canScribble: r, $canRender: o, $renderAs: t }) => `
233
234
  display: ${o ? "block" : "none"};
234
235
  opacity: ${r ? 1 : 0.5};
@@ -241,18 +242,18 @@ const S = e(u)(({
241
242
  `}
242
243
 
243
244
  `
244
- ), O = e(p)(
245
+ ), O = i(p)(
245
246
  ({ $color: r }) => `
246
247
  background: ${c[r]};
247
248
  `
248
- ), V = e(d)`
249
+ ), V = i(d)`
249
250
  pointer-events: none;
250
251
  transition: transform 0.5s ease;
251
252
  transform: ${({ $isAnimating: r }) => r ? "rotate(180deg)" : "rotate(0deg)"};
252
- `, z = e(p)`
253
+ `, z = i(p)`
253
254
  overflow: hidden;
254
255
  border-right: 1px solid ${({ theme: r }) => r.colors.GREY_1};
255
- `, F = e(p)`
256
+ `, F = i(p)`
256
257
  position: absolute;
257
258
  padding: 8px 8px 0 8px;
258
259
  overflow: hidden;
@@ -276,11 +277,11 @@ export {
276
277
  U as RedoIcon,
277
278
  T as StyledCheckIcon,
278
279
  V as StyledDownIcon,
279
- w as StyledHighlighterWrapper,
280
- Y as StyledLockIcon,
280
+ W as StyledHighlighterWrapper,
281
+ w as StyledLockIcon,
281
282
  S as StyledPencilIcon,
282
- W as StyledRulerIcon,
283
- G as StyledSketchWrapper,
283
+ G as StyledRulerIcon,
284
+ Y as StyledSketchWrapper,
284
285
  H as StyledUnlockIcon,
285
286
  P as StyledWrapper
286
287
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cue-cavas-styled.js","sources":["../../../src/features/cue-canvas/cue-cavas-styled.tsx"],"sourcesContent":["import type { ICueCanvasWrapper, TCueCanvasColors } from './types/cue-canvas';\n\nimport styled, { css } from 'styled-components';\n\nimport TickIcon from '../../assets/line-icons/icons/check';\nimport DownIcon from '../../assets/line-icons/icons/down';\nimport HighlighterIcon from '../../assets/line-icons/icons/highlighter';\nimport LockIcon from '../../assets/line-icons/icons/lock';\nimport PencilIcon from '../../assets/line-icons/icons/pencil';\nimport RulerIcon from '../../assets/line-icons/icons/ruler';\nimport SketchIcon from '../../assets/line-icons/icons/sketch';\nimport UndoIcon from '../../assets/line-icons/icons/undo';\nimport UnlockIcon from '../../assets/line-icons/icons/unlock';\nimport FlexView from '../ui/layout/flex-view';\nimport { CANVAS_COLORS } from './constants/constants';\n\ninterface IToolProps {\n $active: boolean;\n $activeColor: TCueCanvasColors;\n $shouldAnimate: boolean;\n}\n\nexport const StyledPencilIcon = styled(PencilIcon)<IToolProps>(({\n theme,\n $active,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n cursor: ${$active ? 'auto' : 'pointer'};\n .pencil-dark-shade {\n fill: ${$active ? color : colors.GREY_3};\n }\n\n .pencil-light-shade {\n fill: ${$active ? color : colors.GREY_2};\n opacity: ${$active ? 0.3 : 1};\n }\n\n ${!$active &&\n css`\n &:hover {\n .pencil-dark-shade {\n fill: ${colors.GREY_4};\n }\n .pencil-light-shade {\n fill: ${colors.GREY_2};\n }\n }\n `}\n `;\n});\n\nexport const StyledRulerIcon = styled(RulerIcon)<IToolProps>(({\n theme,\n $active,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n\n .ruler-rect-color {\n fill: ${$active ? color : colors.GREY_3};\n }\n\n .ruler-stripe-base {\n fill: ${$active ? color : colors.GREY_2};\n opacity: ${$active ? 0.2 : 1};\n }\n\n .ruler-small-stripe {\n fill: ${colors.REAL_BLACK};\n }\n\n ${!$active &&\n css`\n &:hover {\n .ruler-rect-color {\n fill: ${colors.GREY_4};\n }\n .ruler-stripe-base {\n fill: ${colors.GREY_3};\n }\n }\n `}\n `;\n});\n\nexport const StyledHighlighterWrapper = styled(HighlighterIcon)<IToolProps>(({\n $active,\n theme,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n ${!$active &&\n css`\n &:hover {\n .highlighter-tip {\n fill: ${theme.colors.BLACK};\n }\n\n .highlighter-stripe {\n fill: ${theme.colors.BLACK_50};\n }\n\n .highlighter-light-body {\n fill: ${theme.colors.BLACK_10};\n }\n }\n `}\n\n ${$active &&\n css`\n .highlighter-tip {\n fill: ${color};\n }\n\n .highlighter-stripe {\n fill: ${color};\n opacity: 0.6;\n }\n\n .highlighter-light-body {\n fill: ${color};\n opacity: 0.2;\n }\n `}\n `;\n});\n\nexport const StyledSketchWrapper = styled(SketchIcon)<IToolProps>(({\n $active,\n theme,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n\n ${!$active &&\n css`\n &:hover {\n .pen-tip {\n fill: ${theme.colors.BLACK};\n }\n\n .pen-dark-shade {\n fill: ${theme.colors.BLACK_50};\n }\n\n .pen-light-shade {\n fill: ${theme.colors.BLACK_10};\n }\n }\n `}\n\n ${$active &&\n css`\n cursor: ${$active ? 'auto' : 'pointer'};\n .pen-tip {\n fill: ${color};\n }\n\n .pen-dark-shade {\n fill: ${color};\n opacity: 0.6;\n }\n\n .pen-light-shade {\n fill: ${color};\n opacity: 0.4;\n }\n `}\n `;\n});\n\nexport const StyledLockIcon = styled(LockIcon)`\n width: 20px;\n height: 20px;\n`;\n\nexport const StyledUnlockIcon = styled(UnlockIcon)`\n width: 20px;\n height: 20px;\n`;\n\nexport const StyledWrapper = styled(FlexView)<Omit<IToolProps, '$activeColor' | '$shouldAnimate'>>(\n ({ theme, $active }) => {\n const { colors } = theme;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n width: 32px;\n height: 32px;\n justify-content: center;\n align-items: center;\n border: 1px solid ${colors.WHITE};\n border-radius: 50%;\n transition: all 100ms ease-in-out;\n\n ${!$active &&\n css`\n &:hover {\n border: 1px solid ${colors.REAL_BLACK};\n }\n `}\n\n ${$active &&\n css`\n cursor: auto;\n background: ${colors.BLACK};\n .tile-icon {\n fill: ${colors.BLACK};\n }\n svg {\n path,\n rect,\n circle {\n stroke: ${colors.WHITE};\n }\n .hover-eraser {\n stroke: none;\n fill: ${colors.WHITE};\n }\n }\n `}\n `;\n },\n);\n\nexport const StyledCheckIcon = styled(TickIcon)`\n path {\n stroke: ${'white'};\n }\n`;\n\nexport const RedoIcon = styled(UndoIcon)`\n transform: scaleX(-1);\n`;\n\nexport const PaletteWrapper = styled(FlexView)`\n position: absolute;\n display: flex;\n justify-content: center;\n top: -24px; //-16 for icon, -8 for gap\n transition:\n opacity 0.5s ease,\n transform 0.5s ease;\n`;\n\nexport const CueCanvasWrapper = styled(FlexView)<ICueCanvasWrapper>(\n ({ $canScribble, $canRender, $renderAs }) => `\n display: ${$canRender ? 'block' : 'none'};\n opacity: ${$canScribble ? 1 : 0.5};\n pointer-events: ${$canScribble ? 'auto' : 'none'};\n\n ${\n $renderAs === 'canvas' &&\n $canScribble &&\n `\n background-image: radial-gradient(rgb(43 43 43 / 8%) 2px, transparent 10%);\n background-position:0 0,32px 32px;\n background-size: 30px 32px;\n `\n }\n \n`,\n);\n\nexport const ColorPicker = styled(FlexView)<{ $color: TCueCanvasColors }>(\n ({ $color }) => `\nbackground: ${CANVAS_COLORS[$color]};\n`,\n);\n\nexport const StyledDownIcon = styled(DownIcon)<{ $isAnimating: boolean }>`\n pointer-events: none;\n transition: transform 0.5s ease;\n transform: ${({ $isAnimating }) => ($isAnimating ? 'rotate(180deg)' : 'rotate(0deg)')};\n`;\n\nexport const PenIconWrapper = styled(FlexView)`\n overflow: hidden;\n border-right: 1px solid ${({ theme }) => theme.colors.GREY_1};\n`;\n\nexport const MenuWrapper = styled(FlexView)`\n position: absolute;\n padding: 8px 8px 0 8px;\n overflow: hidden;\n bottom: 58px;\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n transition:\n opacity 0.5s ease,\n transform 0.5s ease;\n\n :hover {\n cursor: pointer;\n }\n`;\n"],"names":["StyledPencilIcon","styled","PencilIcon","theme","$active","$activeColor","$shouldAnimate","colors","color","CANVAS_COLORS","css","StyledRulerIcon","RulerIcon","StyledHighlighterWrapper","HighlighterIcon","StyledSketchWrapper","SketchIcon","StyledLockIcon","LockIcon","StyledUnlockIcon","UnlockIcon","StyledWrapper","FlexView","StyledCheckIcon","TickIcon","RedoIcon","UndoIcon","PaletteWrapper","CueCanvasWrapper","$canScribble","$canRender","$renderAs","ColorPicker","$color","StyledDownIcon","DownIcon","$isAnimating","PenIconWrapper","MenuWrapper"],"mappings":";;;;;;;;;;;;AAsBO,MAAMA,IAAmBC,EAAOC,CAAU,EAAc,CAAC;AAAA,EAC9D,OAAAC;AAAA,EACA,SAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC;AACF,MAAM;AACE,QAAA,EAAE,QAAAC,EAAW,IAAAJ,GACbK,IAAQJ,IAAUK,EAAcJ,CAAY,IAAIE,EAAO;AAEtD,SAAAG;AAAA;AAAA;AAAA,WAGEN,KAAWE,IAAiB,QAAQ,KAAK;AAAA,cACtCF,IAAU,SAAS,SAAS;AAAA;AAAA,cAE5BA,IAAUI,IAAQD,EAAO,MAAM;AAAA;AAAA;AAAA;AAAA,cAI/BH,IAAUI,IAAQD,EAAO,MAAM;AAAA,iBAC5BH,IAAU,MAAM,CAAC;AAAA;AAAA;AAAA,MAG5B,CAACA,KACHM;AAAA;AAAA;AAAA,kBAGcH,EAAO,MAAM;AAAA;AAAA;AAAA,kBAGbA,EAAO,MAAM;AAAA;AAAA;AAAA,KAG1B;AAAA;AAEL,CAAC,GAEYI,IAAkBV,EAAOW,CAAS,EAAc,CAAC;AAAA,EAC5D,OAAAT;AAAA,EACA,SAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC;AACF,MAAM;AACE,QAAA,EAAE,QAAAC,EAAW,IAAAJ,GACbK,IAAQJ,IAAUK,EAAcJ,CAAY,IAAIE,EAAO;AAEtD,SAAAG;AAAA,cACKN,IAAU,SAAS,SAAS;AAAA;AAAA;AAAA,WAG/BA,KAAWE,IAAiB,QAAQ,KAAK;AAAA;AAAA;AAAA,cAGtCF,IAAUI,IAAQD,EAAO,MAAM;AAAA;AAAA;AAAA;AAAA,cAI/BH,IAAUI,IAAQD,EAAO,MAAM;AAAA,iBAC5BH,IAAU,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA,cAIpBG,EAAO,UAAU;AAAA;AAAA;AAAA,MAGzB,CAACH,KACHM;AAAA;AAAA;AAAA,kBAGcH,EAAO,MAAM;AAAA;AAAA;AAAA,kBAGbA,EAAO,MAAM;AAAA;AAAA;AAAA,KAG1B;AAAA;AAEL,CAAC,GAEYM,IAA2BZ,EAAOa,CAAe,EAAc,CAAC;AAAA,EAC3E,SAAAV;AAAA,EACA,OAAAD;AAAA,EACA,cAAAE;AAAA,EACA,gBAAAC;AACF,MAAM;AACE,QAAA,EAAE,QAAAC,EAAW,IAAAJ,GACbK,IAAQJ,IAAUK,EAAcJ,CAAY,IAAIE,EAAO;AAEtD,SAAAG;AAAA,cACKN,IAAU,SAAS,SAAS;AAAA;AAAA;AAAA,WAG/BA,KAAWE,IAAiB,QAAQ,KAAK;AAAA,MAC9C,CAACF,KACHM;AAAA;AAAA;AAAA,kBAGcP,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA,kBAIlBA,EAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA,kBAIrBA,EAAM,OAAO,QAAQ;AAAA;AAAA;AAAA,KAGlC;AAAA;AAAA,MAECC,KACFM;AAAA;AAAA,gBAEYF,CAAK;AAAA;AAAA;AAAA;AAAA,gBAILA,CAAK;AAAA;AAAA;AAAA;AAAA;AAAA,gBAKLA,CAAK;AAAA;AAAA;AAAA,KAGhB;AAAA;AAEL,CAAC,GAEYO,IAAsBd,EAAOe,CAAU,EAAc,CAAC;AAAA,EACjE,SAAAZ;AAAA,EACA,OAAAD;AAAA,EACA,cAAAE;AAAA,EACA,gBAAAC;AACF,MAAM;AACE,QAAA,EAAE,QAAAC,EAAW,IAAAJ,GACbK,IAAQJ,IAAUK,EAAcJ,CAAY,IAAIE,EAAO;AAEtD,SAAAG;AAAA,cACKN,IAAU,SAAS,SAAS;AAAA;AAAA;AAAA,WAG/BA,KAAWE,IAAiB,QAAQ,KAAK;AAAA;AAAA,MAE9C,CAACF,KACHM;AAAA;AAAA;AAAA,kBAGcP,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA,kBAIlBA,EAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA,kBAIrBA,EAAM,OAAO,QAAQ;AAAA;AAAA;AAAA,KAGlC;AAAA;AAAA,MAECC,KACFM;AAAA,gBACYN,IAAU,SAAS,SAAS;AAAA;AAAA,gBAE5BI,CAAK;AAAA;AAAA;AAAA;AAAA,gBAILA,CAAK;AAAA;AAAA;AAAA;AAAA;AAAA,gBAKLA,CAAK;AAAA;AAAA;AAAA,KAGhB;AAAA;AAEL,CAAC,GAEYS,IAAiBhB,EAAOiB,CAAQ;AAAA;AAAA;AAAA,GAKhCC,IAAmBlB,EAAOmB,CAAU;AAAA;AAAA;AAAA,GAKpCC,IAAgBpB,EAAOqB,CAAQ;AAAA,EAC1C,CAAC,EAAE,OAAAnB,GAAO,SAAAC,QAAc;AAChB,UAAA,EAAE,QAAAG,EAAW,IAAAJ;AAEZ,WAAAO;AAAA,gBACKN,IAAU,SAAS,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,0BAKlBG,EAAO,KAAK;AAAA;AAAA;AAAA;AAAA,QAI9B,CAACH,KACHM;AAAA;AAAA,8BAEwBH,EAAO,UAAU;AAAA;AAAA,OAExC;AAAA;AAAA,QAECH,KACFM;AAAA;AAAA,sBAEgBH,EAAO,KAAK;AAAA;AAAA,kBAEhBA,EAAO,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAMRA,EAAO,KAAK;AAAA;AAAA;AAAA;AAAA,oBAIdA,EAAO,KAAK;AAAA;AAAA;AAAA,OAGzB;AAAA;AAAA,EAEL;AACF,GAEagB,IAAkBtB,EAAOuB,CAAQ;AAAA;AAAA,cAEhC,OAAO;AAAA;AAAA,GAIRC,IAAWxB,EAAOyB,CAAQ;AAAA;AAAA,GAI1BC,IAAiB1B,EAAOqB,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAUhCM,IAAmB3B,EAAOqB,CAAQ;AAAA,EAC7C,CAAC,EAAE,cAAAO,GAAc,YAAAC,GAAY,WAAAC,EAAgB,MAAA;AAAA,aAClCD,IAAa,UAAU,MAAM;AAAA,aAC7BD,IAAe,IAAI,GAAG;AAAA,oBACfA,IAAe,SAAS,MAAM;AAAA;AAAA,IAG9CE,MAAc,YACdF,KACA;AAAA;AAAA;AAAA;AAAA,KAKF;AAAA;AAAA;AAGF,GAEaG,IAAc/B,EAAOqB,CAAQ;AAAA,EACxC,CAAC,EAAE,QAAAW,EAAA,MAAa;AAAA,cACJxB,EAAcwB,CAAM,CAAC;AAAA;AAEnC,GAEaC,IAAiBjC,EAAOkC,CAAQ;AAAA;AAAA;AAAA,eAG9B,CAAC,EAAE,cAAAC,EAAA,MAAoBA,IAAe,mBAAmB,cAAe;AAAA,GAG1EC,IAAiBpC,EAAOqB,CAAQ;AAAA;AAAA,4BAEjB,CAAC,EAAE,OAAAnB,EAAA,MAAYA,EAAM,OAAO,MAAM;AAAA,GAGjDmC,IAAcrC,EAAOqB,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
1
+ {"version":3,"file":"cue-cavas-styled.js","sources":["../../../src/features/cue-canvas/cue-cavas-styled.tsx"],"sourcesContent":["import type { ICueCanvasWrapper, TCueCanvasColors } from './types/cue-canvas';\n\nimport styled, { css } from 'styled-components';\n\nimport TickIcon from '../../assets/line-icons/icons/check';\nimport DownIcon from '../../assets/line-icons/icons/down';\nimport HighlighterIcon from '../../assets/line-icons/icons/highlighter';\nimport LockIcon from '../../assets/line-icons/icons/lock';\nimport PencilIcon from '../../assets/line-icons/icons/pencil';\nimport RulerIcon from '../../assets/line-icons/icons/ruler';\nimport SketchIcon from '../../assets/line-icons/icons/sketch';\nimport UndoIcon from '../../assets/line-icons/icons/undo';\nimport UnlockIcon from '../../assets/line-icons/icons/unlock';\nimport FlexView from '../ui/layout/flex-view';\nimport { CANVAS_COLORS } from './constants/constants';\n\ninterface IToolProps {\n $active: boolean;\n $activeColor: TCueCanvasColors;\n $shouldAnimate: boolean;\n}\n\nexport const StyledPencilIcon = styled(PencilIcon)<IToolProps>(({\n theme,\n $active,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n cursor: ${$active ? 'auto' : 'pointer'};\n .pencil-dark-shade {\n fill: ${$active ? color : colors.GREY_3};\n }\n\n .pencil-light-shade {\n fill: ${$active ? color : colors.GREY_2};\n opacity: ${$active ? 0.3 : 1};\n }\n\n ${!$active &&\n css`\n &:hover {\n .pencil-dark-shade {\n fill: ${colors.GREY_4};\n }\n .pencil-light-shade {\n fill: ${colors.GREY_2};\n }\n }\n `}\n `;\n});\n\nexport const StyledRulerIcon = styled(RulerIcon)<IToolProps>(({\n theme,\n $active,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n\n .ruler-rect-color {\n fill: ${$active ? color : colors.GREY_3};\n }\n\n .ruler-stripe-base {\n fill: ${$active ? color : colors.GREY_2};\n opacity: ${$active ? 0.2 : 1};\n }\n\n .ruler-small-stripe {\n fill: ${colors.REAL_BLACK};\n }\n\n ${!$active &&\n css`\n &:hover {\n .ruler-rect-color {\n fill: ${colors.GREY_4};\n }\n .ruler-stripe-base {\n fill: ${colors.GREY_3};\n }\n }\n `}\n `;\n});\n\nexport const StyledHighlighterWrapper = styled(HighlighterIcon)<IToolProps>(({\n $active,\n theme,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n ${!$active &&\n css`\n &:hover {\n .highlighter-tip {\n fill: ${theme.colors.BLACK};\n }\n\n .highlighter-stripe {\n fill: ${theme.colors.BLACK_50};\n }\n\n .highlighter-light-body {\n fill: ${theme.colors.BLACK_10};\n }\n }\n `}\n\n ${$active &&\n css`\n .highlighter-tip {\n fill: ${color};\n }\n\n .highlighter-stripe {\n fill: ${color};\n opacity: 0.6;\n }\n\n .highlighter-light-body {\n fill: ${color};\n opacity: 0.2;\n }\n `}\n `;\n});\n\nexport const StyledSketchWrapper = styled(SketchIcon)<IToolProps>(({\n $active,\n theme,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n\n ${!$active &&\n css`\n &:hover {\n .pen-tip {\n fill: ${theme.colors.BLACK};\n }\n\n .pen-dark-shade {\n fill: ${theme.colors.BLACK_50};\n }\n\n .pen-light-shade {\n fill: ${theme.colors.BLACK_10};\n }\n }\n `}\n\n ${$active &&\n css`\n cursor: ${$active ? 'auto' : 'pointer'};\n .pen-tip {\n fill: ${color};\n }\n\n .pen-dark-shade {\n fill: ${color};\n opacity: 0.6;\n }\n\n .pen-light-shade {\n fill: ${color};\n opacity: 0.4;\n }\n `}\n `;\n});\n\nexport const StyledLockIcon = styled(LockIcon)`\n width: 20px;\n height: 20px;\n`;\n\nexport const StyledUnlockIcon = styled(UnlockIcon)`\n width: 20px;\n height: 20px;\n`;\n\nexport const StyledWrapper = styled(FlexView)<Omit<IToolProps, '$activeColor' | '$shouldAnimate'>>(\n ({ theme, $active }) => {\n const { colors } = theme;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n width: 32px;\n height: 32px;\n justify-content: center;\n align-items: center;\n border: 1px solid ${colors.WHITE};\n border-radius: 50%;\n transition: all 100ms ease-in-out;\n border: 1px solid ${colors.GREY_1};\n\n ${!$active &&\n css`\n &:hover {\n border: 1px solid ${colors.REAL_BLACK};\n }\n `}\n\n ${$active &&\n css`\n cursor: auto;\n background: ${colors.BLACK};\n .tile-icon {\n fill: ${colors.BLACK};\n }\n svg {\n path,\n rect,\n circle {\n stroke: ${colors.WHITE};\n }\n .hover-eraser {\n stroke: none;\n fill: ${colors.WHITE};\n }\n }\n `}\n `;\n },\n);\n\nexport const StyledCheckIcon = styled(TickIcon)`\n path {\n stroke: ${'white'};\n }\n`;\n\nexport const RedoIcon = styled(UndoIcon)`\n transform: scaleX(-1);\n`;\n\nexport const PaletteWrapper = styled(FlexView)`\n position: absolute;\n display: flex;\n justify-content: center;\n top: -24px; //-16 for icon, -8 for gap\n transition:\n opacity 0.5s ease,\n transform 0.5s ease;\n`;\n\nexport const CueCanvasWrapper = styled(FlexView)<ICueCanvasWrapper>(\n ({ $canScribble, $canRender, $renderAs }) => `\n display: ${$canRender ? 'block' : 'none'};\n opacity: ${$canScribble ? 1 : 0.5};\n pointer-events: ${$canScribble ? 'auto' : 'none'};\n\n ${\n $renderAs === 'canvas' &&\n $canScribble &&\n `\n background-image: radial-gradient(rgb(43 43 43 / 8%) 2px, transparent 10%);\n background-position:0 0,32px 32px;\n background-size: 30px 32px;\n `\n }\n \n`,\n);\n\nexport const ColorPicker = styled(FlexView)<{ $color: TCueCanvasColors }>(\n ({ $color }) => `\nbackground: ${CANVAS_COLORS[$color]};\n`,\n);\n\nexport const StyledDownIcon = styled(DownIcon)<{ $isAnimating: boolean }>`\n pointer-events: none;\n transition: transform 0.5s ease;\n transform: ${({ $isAnimating }) => ($isAnimating ? 'rotate(180deg)' : 'rotate(0deg)')};\n`;\n\nexport const PenIconWrapper = styled(FlexView)`\n overflow: hidden;\n border-right: 1px solid ${({ theme }) => theme.colors.GREY_1};\n`;\n\nexport const MenuWrapper = styled(FlexView)`\n position: absolute;\n padding: 8px 8px 0 8px;\n overflow: hidden;\n bottom: 58px;\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n transition:\n opacity 0.5s ease,\n transform 0.5s ease;\n\n :hover {\n cursor: pointer;\n }\n`;\n"],"names":["StyledPencilIcon","styled","PencilIcon","theme","$active","$activeColor","$shouldAnimate","colors","color","CANVAS_COLORS","css","StyledRulerIcon","RulerIcon","StyledHighlighterWrapper","HighlighterIcon","StyledSketchWrapper","SketchIcon","StyledLockIcon","LockIcon","StyledUnlockIcon","UnlockIcon","StyledWrapper","FlexView","StyledCheckIcon","TickIcon","RedoIcon","UndoIcon","PaletteWrapper","CueCanvasWrapper","$canScribble","$canRender","$renderAs","ColorPicker","$color","StyledDownIcon","DownIcon","$isAnimating","PenIconWrapper","MenuWrapper"],"mappings":"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"}
@@ -1,32 +1,32 @@
1
- import { useContext as l, useMemo as v } from "react";
2
- import u from "../cue-canvas-context.js";
3
- const C = () => {
1
+ import { useContext as a, useMemo as m } from "react";
2
+ import v from "../cue-canvas-context.js";
3
+ const A = () => {
4
4
  const {
5
- activeInstance: t,
6
- setActiveTool: o,
5
+ activeInstance: o,
6
+ setActiveTool: t,
7
7
  activeTool: e,
8
- setActiveInstance: i,
9
- activeColor: r,
10
- setActiveColor: s,
11
- setActiveSidebar: c,
12
- activeSidebar: n
13
- } = l(u), a = v(
8
+ setActiveInstance: r,
9
+ activeColor: s,
10
+ setActiveColor: i,
11
+ homeworkId: n,
12
+ setHomeworkId: c
13
+ } = a(v), l = m(
14
14
  () => e ? ["pen", "ruler", "highlighter", "marker"].includes(e) : !1,
15
15
  [e]
16
16
  );
17
17
  return {
18
- activeInstance: t,
19
- setActiveTool: o,
18
+ activeInstance: o,
19
+ setActiveTool: t,
20
20
  activeTool: e,
21
- setActiveInstance: i,
22
- activeColor: r,
23
- setActiveColor: s,
24
- isWritingToolActive: a,
25
- setActiveSidebar: c,
26
- activeSidebar: n
21
+ setActiveInstance: r,
22
+ activeColor: s,
23
+ setActiveColor: i,
24
+ isWritingToolActive: l,
25
+ homeworkId: n,
26
+ setHomeworkId: c
27
27
  };
28
28
  };
29
29
  export {
30
- C as useCueCanvasActions
30
+ A as useCueCanvasActions
31
31
  };
32
32
  //# sourceMappingURL=use-cue-canvas-actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-cue-canvas-actions.js","sources":["../../../../src/features/cue-canvas/hooks/use-cue-canvas-actions.ts"],"sourcesContent":["import { useContext, useMemo } from 'react';\n\nimport PolyContext from '../cue-canvas-context';\n\nexport const useCueCanvasActions = () => {\n const {\n activeInstance,\n setActiveTool,\n activeTool,\n setActiveInstance,\n activeColor,\n setActiveColor,\n setActiveSidebar,\n activeSidebar,\n } = useContext(PolyContext);\n\n const isWritingToolActive = useMemo(\n () => (activeTool ? ['pen', 'ruler', 'highlighter', 'marker'].includes(activeTool) : false),\n [activeTool],\n );\n\n return {\n activeInstance,\n setActiveTool,\n activeTool,\n setActiveInstance,\n activeColor,\n setActiveColor,\n isWritingToolActive,\n setActiveSidebar,\n activeSidebar,\n };\n};\n"],"names":["useCueCanvasActions","activeInstance","setActiveTool","activeTool","setActiveInstance","activeColor","setActiveColor","setActiveSidebar","activeSidebar","useContext","PolyContext","isWritingToolActive","useMemo"],"mappings":";;AAIO,MAAMA,IAAsB,MAAM;AACjC,QAAA;AAAA,IACJ,gBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,YAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,eAAAC;AAAA,EAAA,IACEC,EAAWC,CAAW,GAEpBC,IAAsBC;AAAA,IAC1B,MAAOT,IAAa,CAAC,OAAO,SAAS,eAAe,QAAQ,EAAE,SAASA,CAAU,IAAI;AAAA,IACrF,CAACA,CAAU;AAAA,EAAA;AAGN,SAAA;AAAA,IACL,gBAAAF;AAAA,IACA,eAAAC;AAAA,IACA,YAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,qBAAAK;AAAA,IACA,kBAAAJ;AAAA,IACA,eAAAC;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"use-cue-canvas-actions.js","sources":["../../../../src/features/cue-canvas/hooks/use-cue-canvas-actions.ts"],"sourcesContent":["import { useContext, useMemo } from 'react';\n\nimport PolyContext from '../cue-canvas-context';\n\nexport const useCueCanvasActions = () => {\n const {\n activeInstance,\n setActiveTool,\n activeTool,\n setActiveInstance,\n activeColor,\n setActiveColor,\n homeworkId,\n setHomeworkId,\n } = useContext(PolyContext);\n\n const isWritingToolActive = useMemo(\n () => (activeTool ? ['pen', 'ruler', 'highlighter', 'marker'].includes(activeTool) : false),\n [activeTool],\n );\n\n return {\n activeInstance,\n setActiveTool,\n activeTool,\n setActiveInstance,\n activeColor,\n setActiveColor,\n isWritingToolActive,\n homeworkId,\n setHomeworkId,\n };\n};\n"],"names":["useCueCanvasActions","activeInstance","setActiveTool","activeTool","setActiveInstance","activeColor","setActiveColor","homeworkId","setHomeworkId","useContext","PolyContext","isWritingToolActive","useMemo"],"mappings":";;AAIO,MAAMA,IAAsB,MAAM;AACjC,QAAA;AAAA,IACJ,gBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,YAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,EAAA,IACEC,EAAWC,CAAW,GAEpBC,IAAsBC;AAAA,IAC1B,MAAOT,IAAa,CAAC,OAAO,SAAS,eAAe,QAAQ,EAAE,SAASA,CAAU,IAAI;AAAA,IACrF,CAACA,CAAU;AAAA,EAAA;AAGN,SAAA;AAAA,IACL,gBAAAF;AAAA,IACA,eAAAC;AAAA,IACA,YAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,qBAAAK;AAAA,IACA,YAAAJ;AAAA,IACA,eAAAC;AAAA,EAAA;AAEJ;"}
@@ -0,0 +1,20 @@
1
+ const m = (t) => {
2
+ const e = typeof t == "string" ? new Date(t) : new Date(t * 1e3), o = e.getDate(), r = e.getMonth() + 1;
3
+ return { year: e.getFullYear(), month: r, date: o };
4
+ };
5
+ function a(t) {
6
+ const n = /* @__PURE__ */ new Date();
7
+ return n.setMonth(t - 1), n.toLocaleString("en-US", {
8
+ month: "short"
9
+ });
10
+ }
11
+ const c = (t) => {
12
+ var e;
13
+ return (e = a(+t)) == null ? void 0 : e.toUpperCase();
14
+ };
15
+ export {
16
+ m as getDateInInputFormat,
17
+ c as getMonthNameforNumber,
18
+ a as toMonthName
19
+ };
20
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","sources":["../../../../../src/features/cue-canvas/sidebar/homework/helper.ts"],"sourcesContent":["export const getDateInInputFormat = (inputDate: number | string) => {\n const isDateInString = typeof inputDate === 'string';\n const dateToBeConverted = isDateInString ? new Date(inputDate) : new Date(inputDate * 1000);\n\n const dateNum = dateToBeConverted.getDate();\n const monthNum = dateToBeConverted.getMonth() + 1;\n const year = dateToBeConverted.getFullYear();\n\n return { year, month: monthNum, date: dateNum };\n};\n\nexport function toMonthName(monthNumber: number) {\n const date = new Date();\n\n date.setMonth(monthNumber - 1);\n\n return date.toLocaleString('en-US', {\n month: 'short',\n });\n}\nexport const getMonthNameforNumber = (num: number) => {\n const monthName = toMonthName(+num)?.toUpperCase();\n\n return monthName;\n};\n"],"names":["getDateInInputFormat","inputDate","dateToBeConverted","dateNum","monthNum","toMonthName","monthNumber","date","getMonthNameforNumber","num","_a"],"mappings":"AAAa,MAAAA,IAAuB,CAACC,MAA+B;AAE5D,QAAAC,IADiB,OAAOD,KAAc,WACD,IAAI,KAAKA,CAAS,IAAI,IAAI,KAAKA,IAAY,GAAI,GAEpFE,IAAUD,EAAkB,WAC5BE,IAAWF,EAAkB,SAAA,IAAa;AAGhD,SAAO,EAAE,MAFIA,EAAkB,eAEhB,OAAOE,GAAU,MAAMD,EAAQ;AAChD;AAEO,SAASE,EAAYC,GAAqB;AACzC,QAAAC,wBAAW;AAEZ,SAAAA,EAAA,SAASD,IAAc,CAAC,GAEtBC,EAAK,eAAe,SAAS;AAAA,IAClC,OAAO;AAAA,EAAA,CACR;AACH;AACa,MAAAC,IAAwB,CAACC,MAAgB;AApBzC,MAAAC;AAuBJ,UAFWA,IAAAL,EAAY,CAACI,CAAG,MAAhB,gBAAAC,EAAmB;AAGvC;"}
@@ -0,0 +1,33 @@
1
+ import { jsx as e, jsxs as o } from "react/jsx-runtime";
2
+ import { memo as m } from "react";
3
+ import s from "../../../../assets/line-icons/icons/cross.js";
4
+ import $ from "../../../ui/buttons/clickable/clickable.js";
5
+ import r from "../../../ui/layout/flex-view.js";
6
+ import n from "../../../ui/text/text.js";
7
+ import p from "./homework-request.js";
8
+ import { MenuContainer as d } from "./homework-styled.js";
9
+ const a = ({ onSelect: t, hwRequests: c, studentName: l }) => /* @__PURE__ */ e(d, { children: /* @__PURE__ */ e(r, { children: /* @__PURE__ */ o(
10
+ r,
11
+ {
12
+ $flexDirection: "row",
13
+ $alignItems: "center",
14
+ $justifyContent: "center",
15
+ $flexWrap: !0,
16
+ $gutterX: 0.5,
17
+ $gapX: 0.5,
18
+ children: [
19
+ /* @__PURE__ */ o(r, { $flexDirection: "row", $gapX: 0.5, children: [
20
+ /* @__PURE__ */ o(r, { $width: "184px", $gutterX: 1, children: [
21
+ /* @__PURE__ */ e(n, { $color: "WHITE", $renderAs: "eyebrow2", children: "HOMEWORK" }),
22
+ /* @__PURE__ */ e(n, { $color: "WHITE", $renderAs: "eyebrow2", children: "HELP REQUESTS" })
23
+ ] }),
24
+ /* @__PURE__ */ e($, { onClick: t, label: "close activities menu", children: /* @__PURE__ */ e(s, { color: "WHITE" }) })
25
+ ] }),
26
+ c.map((i) => /* @__PURE__ */ e(r, { $gutterX: 0.25, $gapX: 0.5, children: /* @__PURE__ */ e(p, { hwRequest: i, onSelect: t, studentName: l }) }, i.created_on_ts))
27
+ ]
28
+ }
29
+ ) }) }), E = m(a);
30
+ export {
31
+ E as default
32
+ };
33
+ //# sourceMappingURL=homework-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homework-menu.js","sources":["../../../../../src/features/cue-canvas/sidebar/homework/homework-menu.tsx"],"sourcesContent":["import type { IHomeWorkMenuProps } from './homework-types';\n\nimport { memo } from 'react';\n\nimport CrossIcon from '../../../../assets/line-icons/icons/cross';\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport HWRequest from './homework-request';\nimport * as Styled from './homework-styled';\n\nconst HomeWorkMenu: React.FC<IHomeWorkMenuProps> = ({ onSelect, hwRequests, studentName }) => {\n return (\n <Styled.MenuContainer>\n <FlexView>\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $flexWrap\n $gutterX={0.5}\n $gapX={0.5}\n >\n <FlexView $flexDirection=\"row\" $gapX={0.5}>\n <FlexView $width={'184px'} $gutterX={1}>\n <Text $color=\"WHITE\" $renderAs=\"eyebrow2\">\n HOMEWORK\n </Text>\n <Text $color=\"WHITE\" $renderAs=\"eyebrow2\">\n HELP REQUESTS\n </Text>\n </FlexView>\n <Clickable onClick={onSelect} label=\"close activities menu\">\n <CrossIcon color=\"WHITE\" />\n </Clickable>\n </FlexView>\n\n {hwRequests.map(item => (\n <FlexView $gutterX={0.25} $gapX={0.5} key={item.created_on_ts}>\n <HWRequest hwRequest={item} onSelect={onSelect} studentName={studentName} />\n </FlexView>\n ))}\n </FlexView>\n </FlexView>\n </Styled.MenuContainer>\n );\n};\n\nexport default memo(HomeWorkMenu);\n"],"names":["HomeWorkMenu","onSelect","hwRequests","studentName","jsx","Styled.MenuContainer","FlexView","jsxs","Text","Clickable","CrossIcon","item","HWRequest","HomeWorkMenu$1","memo"],"mappings":";;;;;;;;AAWA,MAAMA,IAA6C,CAAC,EAAE,UAAAC,GAAU,YAAAC,GAAY,aAAAC,QAEvE,gBAAAC,EAAAC,GAAA,EACC,4BAACC,GACC,EAAA,UAAA,gBAAAC;AAAA,EAACD;AAAA,EAAA;AAAA,IACC,gBAAe;AAAA,IACf,aAAY;AAAA,IACZ,iBAAgB;AAAA,IAChB,WAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IAEP,UAAA;AAAA,MAAA,gBAAAC,EAACD,GAAS,EAAA,gBAAe,OAAM,OAAO,KACpC,UAAA;AAAA,QAAA,gBAAAC,EAACD,GAAS,EAAA,QAAQ,SAAS,UAAU,GACnC,UAAA;AAAA,UAAA,gBAAAF,EAACI,GAAK,EAAA,QAAO,SAAQ,WAAU,YAAW,UAE1C,YAAA;AAAA,4BACCA,GAAK,EAAA,QAAO,SAAQ,WAAU,YAAW,UAE1C,iBAAA;AAAA,QAAA,GACF;AAAA,QACA,gBAAAJ,EAACK,GAAU,EAAA,SAASR,GAAU,OAAM,yBAClC,UAAC,gBAAAG,EAAAM,GAAA,EAAU,OAAM,QAAA,CAAQ,EAC3B,CAAA;AAAA,MAAA,GACF;AAAA,MAECR,EAAW,IAAI,CAAAS,wBACbL,GAAS,EAAA,UAAU,MAAM,OAAO,KAC/B,UAAC,gBAAAF,EAAAQ,GAAA,EAAU,WAAWD,GAAM,UAAAV,GAAoB,aAAAE,GAA0B,EADjC,GAAAQ,EAAK,aAEhD,CACD;AAAA,IAAA;AAAA,EAAA;AAAA,EAEL,CAAA,EACF,CAAA,GAIWE,IAAAC,EAAKd,CAAY;"}
@@ -0,0 +1,60 @@
1
+ import { jsx as o, jsxs as q } from "react/jsx-runtime";
2
+ import { h as c } from "../../../../node_modules/humanize-plus/dist/humanize.js";
3
+ import { memo as $, useCallback as k } from "react";
4
+ import W from "../../../ui/buttons/clickable/clickable.js";
5
+ import _ from "../../../ui/layout/flex-view.js";
6
+ import d from "../../../ui/text/text.js";
7
+ import { useCueCanvasActions as y } from "../../hooks/use-cue-canvas-actions.js";
8
+ import { getDateInInputFormat as E, getMonthNameforNumber as T } from "./helper.js";
9
+ import { HWImageContainer as v } from "./homework-styled.js";
10
+ import l from "../../../../node_modules/uuid/dist/esm-browser/v4.js";
11
+ const D = (u) => {
12
+ var a;
13
+ const { hwRequest: h, onSelect: r, studentName: p } = u, {
14
+ problem_description: n,
15
+ problem_image_urls: e,
16
+ created_on_ts: f,
17
+ homework_id: s
18
+ } = h, { setHomeworkId: m, activeInstance: t } = y(), g = k(() => {
19
+ const x = l();
20
+ if (e && e.length > 0) {
21
+ const i = {
22
+ data: {
23
+ [x]: [
24
+ void 0,
25
+ {
26
+ name: "text",
27
+ html: n,
28
+ x: 879.323630603094,
29
+ y: 75.07325572085722,
30
+ rot: 0
31
+ }
32
+ ]
33
+ }
34
+ };
35
+ e.forEach((C) => {
36
+ const H = l(), R = C + `?${Date.now()}`;
37
+ i.data[H] = [
38
+ void 0,
39
+ {
40
+ name: "image",
41
+ href: R,
42
+ x: 48.30546944572333,
43
+ y: 72.56813201988393,
44
+ rot: 0
45
+ }
46
+ ];
47
+ }), t == null || t.replaceCanvas(i);
48
+ }
49
+ r(), m(s);
50
+ }, [t, n, s, e, r, m]), { date: I, month: w } = E(f), b = `${c.ordinal(I)} ${c.titleCase((a = T(w)) == null ? void 0 : a.toLowerCase())}`;
51
+ return /* @__PURE__ */ o(W, { label: "HW Request Item", onClick: g, children: /* @__PURE__ */ q(_, { $alignItems: "center", $justifyContent: "center", $borderRadius: 8, $background: "WHITE", children: [
52
+ /* @__PURE__ */ o(v, { src: e[0], alt: "Homework Request" }),
53
+ /* @__PURE__ */ o(d, { $renderAs: "body3", color: "WHITE", children: p }),
54
+ /* @__PURE__ */ o(d, { $renderAs: "body3", color: "WHITE", children: b })
55
+ ] }) });
56
+ }, V = $(D);
57
+ export {
58
+ V as default
59
+ };
60
+ //# sourceMappingURL=homework-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homework-request.js","sources":["../../../../../src/features/cue-canvas/sidebar/homework/homework-request.tsx"],"sourcesContent":["import type { IReplaceCanvas } from '../../types/cue-canvas';\nimport type { IHomeWorkRequestProps } from './homework-types';\n\nimport { ordinal, titleCase } from 'humanize-plus';\nimport { memo, useCallback } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { useCueCanvasActions } from '../../hooks/use-cue-canvas-actions';\nimport { getDateInInputFormat, getMonthNameforNumber } from './helper';\nimport * as Styled from './homework-styled';\n\nconst HomeWorkRequest: React.FC<IHomeWorkRequestProps> = props => {\n const { hwRequest, onSelect, studentName } = props;\n const {\n problem_description: hwRequestDesc,\n problem_image_urls: hwRequestImages,\n created_on_ts: createdOnTs,\n homework_id: hwRequestId,\n } = hwRequest;\n const { setHomeworkId, activeInstance } = useCueCanvasActions();\n\n const onSelectHwRequest = useCallback(() => {\n const textId = uuidv4();\n\n if (hwRequestImages && hwRequestImages.length > 0) {\n const actionData: IReplaceCanvas = {\n data: {\n [textId]: [\n undefined,\n {\n name: 'text',\n html: hwRequestDesc,\n x: 879.323630603094,\n y: 75.07325572085722,\n rot: 0,\n },\n ],\n },\n };\n\n hwRequestImages.forEach(image => {\n const imgId = uuidv4();\n const imageUrl = image + `?${Date.now()}`;\n\n actionData.data[imgId] = [\n undefined,\n {\n name: 'image',\n href: imageUrl,\n x: 48.30546944572333,\n y: 72.56813201988393,\n rot: 0,\n },\n ];\n });\n\n activeInstance?.replaceCanvas(actionData);\n }\n // const url = new URL(window.location.href);\n // url.searchParams.set('homeworkId', hwRequestId);\n // console.log('url', url);\n // window.history.replaceState({}, '', url.toString());\n onSelect();\n setHomeworkId(hwRequestId);\n }, [activeInstance, hwRequestDesc, hwRequestId, hwRequestImages, onSelect, setHomeworkId]);\n\n const { date, month } = getDateInInputFormat(createdOnTs);\n\n const dateString = `${ordinal(date)} ${titleCase(getMonthNameforNumber(month)?.toLowerCase())}`;\n\n return (\n <Clickable label=\"HW Request Item\" onClick={onSelectHwRequest}>\n <FlexView $alignItems=\"center\" $justifyContent=\"center\" $borderRadius={8} $background=\"WHITE\">\n <Styled.HWImageContainer src={hwRequestImages[0]} alt=\"Homework Request\" />\n <Text $renderAs=\"body3\" color=\"WHITE\">\n {studentName}\n </Text>\n <Text $renderAs=\"body3\" color=\"WHITE\">\n {dateString}\n </Text>\n </FlexView>\n </Clickable>\n );\n};\n\nexport default memo(HomeWorkRequest);\n"],"names":["HomeWorkRequest","props","hwRequest","onSelect","studentName","hwRequestDesc","hwRequestImages","createdOnTs","hwRequestId","setHomeworkId","activeInstance","useCueCanvasActions","onSelectHwRequest","useCallback","textId","uuidv4","actionData","image","imgId","imageUrl","date","month","getDateInInputFormat","dateString","ordinal","titleCase","_a","getMonthNameforNumber","jsx","Clickable","jsxs","FlexView","Styled.HWImageContainer","Text","HWRequest","memo"],"mappings":";;;;;;;;;;AAcA,MAAMA,IAAmD,CAASC,MAAA;;AAChE,QAAM,EAAE,WAAAC,GAAW,UAAAC,GAAU,aAAAC,EAAA,IAAgBH,GACvC;AAAA,IACJ,qBAAqBI;AAAA,IACrB,oBAAoBC;AAAA,IACpB,eAAeC;AAAA,IACf,aAAaC;AAAA,EACX,IAAAN,GACE,EAAE,eAAAO,GAAe,gBAAAC,EAAe,IAAIC,EAAoB,GAExDC,IAAoBC,EAAY,MAAM;AAC1C,UAAMC,IAASC;AAEX,QAAAT,KAAmBA,EAAgB,SAAS,GAAG;AACjD,YAAMU,IAA6B;AAAA,QACjC,MAAM;AAAA,UACJ,CAACF,CAAM,GAAG;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,cACN,MAAMT;AAAA,cACN,GAAG;AAAA,cACH,GAAG;AAAA,cACH,KAAK;AAAA,YACP;AAAA,UACF;AAAA,QACF;AAAA,MAAA;AAGF,MAAAC,EAAgB,QAAQ,CAASW,MAAA;AAC/B,cAAMC,IAAQH,KACRI,IAAWF,IAAQ,IAAI,KAAK,IAAK,CAAA;AAE5B,QAAAD,EAAA,KAAKE,CAAK,IAAI;AAAA,UACvB;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,MAAMC;AAAA,YACN,GAAG;AAAA,YACH,GAAG;AAAA,YACH,KAAK;AAAA,UACP;AAAA,QAAA;AAAA,MACF,CACD,GAEDT,KAAA,QAAAA,EAAgB,cAAcM;AAAA,IAChC;AAKS,IAAAb,KACTM,EAAcD,CAAW;AAAA,EAAA,GACxB,CAACE,GAAgBL,GAAeG,GAAaF,GAAiBH,GAAUM,CAAa,CAAC,GAEnF,EAAE,MAAAW,GAAM,OAAAC,EAAM,IAAIC,EAAqBf,CAAW,GAElDgB,IAAa,GAAGC,UAAQJ,CAAI,CAAC,IAAIK,aAAUC,IAAAC,EAAsBN,CAAK,MAA3B,gBAAAK,EAA8B,aAAa,CAAC;AAE7F,SACG,gBAAAE,EAAAC,GAAA,EAAU,OAAM,mBAAkB,SAASjB,GAC1C,UAAA,gBAAAkB,EAACC,GAAS,EAAA,aAAY,UAAS,iBAAgB,UAAS,eAAe,GAAG,aAAY,SACpF,UAAA;AAAA,IAAC,gBAAAH,EAAAI,GAAA,EAAwB,KAAK1B,EAAgB,CAAC,GAAG,KAAI,oBAAmB;AAAA,sBACxE2B,GAAK,EAAA,WAAU,SAAQ,OAAM,SAC3B,UACH7B,GAAA;AAAA,sBACC6B,GAAK,EAAA,WAAU,SAAQ,OAAM,SAC3B,UACHV,GAAA;AAAA,EAAA,EACF,CAAA,EACF,CAAA;AAEJ,GAEeW,IAAAC,EAAKnC,CAAe;"}
@@ -0,0 +1,25 @@
1
+ import o from "styled-components";
2
+ import t from "../../../ui/layout/flex-view.js";
3
+ const i = o(t)`
4
+ position: absolute;
5
+ top: 38px;
6
+ left: -79px; //32px + 32 px for icon +4 + 4 gutter + 7 padding
7
+ width: 248px;
8
+ height: 438px;
9
+ border-radius: 6px;
10
+ background: #292734;
11
+ box-shadow: 0px 4px 8px ${({ theme: r }) => r.colors.BLACK_T_20};
12
+ overflow-y: auto;
13
+ `, d = o.img`
14
+ width: 184px;
15
+ height: 128px;
16
+ border-top-left-radius: 8px;
17
+ border-top-right-radius: 8px;
18
+ border-bottom-left-radius: 0;
19
+ border-bottom-right-radius: 0;
20
+ `;
21
+ export {
22
+ d as HWImageContainer,
23
+ i as MenuContainer
24
+ };
25
+ //# sourceMappingURL=homework-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homework-styled.js","sources":["../../../../../src/features/cue-canvas/sidebar/homework/homework-styled.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\n\nconst MenuContainer = styled(FlexView)`\n position: absolute;\n top: 38px;\n left: -79px; //32px + 32 px for icon +4 + 4 gutter + 7 padding\n width: 248px;\n height: 438px;\n border-radius: 6px;\n background: #292734;\n box-shadow: 0px 4px 8px ${({ theme }) => theme.colors.BLACK_T_20};\n overflow-y: auto;\n`;\nconst HWImageContainer = styled.img`\n width: 184px;\n height: 128px;\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n`;\n\nexport { MenuContainer, HWImageContainer };\n"],"names":["MenuContainer","styled","FlexView","theme","HWImageContainer"],"mappings":";;AAIM,MAAAA,IAAgBC,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAQT,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,UAAU;AAAA;AAAA,GAG5DC,IAAmBH,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,32 @@
1
+ import { jsxs as k, jsx as r } from "react/jsx-runtime";
2
+ import { memo as d, useRef as p, useCallback as c, useEffect as C } from "react";
3
+ import w from "../../../../assets/line-icons/icons/hw.js";
4
+ import v from "../../../ui/buttons/clickable/clickable.js";
5
+ import b from "../../../ui/hooks/use-context-menu-click-handler.js";
6
+ import H from "../../../ui/layout/flex-view.js";
7
+ import { StyledWrapper as W } from "../../cue-cavas-styled.js";
8
+ import { useCueCanvasActions as x } from "../../hooks/use-cue-canvas-actions.js";
9
+ import M from "./homework-menu.js";
10
+ const R = (a) => {
11
+ const { activeSidebar: e, setActiveSidebar: o, hwRequests: f, studentName: u } = a, { activeInstance: t } = x(), l = p(null), h = c(
12
+ () => o((s) => s === "homework" ? void 0 : s),
13
+ [o]
14
+ ), { menuVisible: n, onMenuClick: i } = b(
15
+ l,
16
+ void 0,
17
+ !0,
18
+ h
19
+ ), m = c(() => {
20
+ e === "tile" && (t == null || t.toggleTiles(!1)), o(e === "homework" ? void 0 : "homework"), i();
21
+ }, [e, t, i, o]);
22
+ return C(() => {
23
+ e === "tile" && n && i();
24
+ }, [e, n, i]), /* @__PURE__ */ k(H, { $position: "relative", ref: l, children: [
25
+ /* @__PURE__ */ r(v, { onClick: m, label: "homework help", children: /* @__PURE__ */ r(W, { $active: e === "homework", children: /* @__PURE__ */ r(w, { width: 20, height: 20, fill: e === "homework" ? "WHITE" : "BLACK" }) }) }),
26
+ n && /* @__PURE__ */ r(M, { onSelect: m, hwRequests: f, studentName: u })
27
+ ] });
28
+ }, $ = d(R);
29
+ export {
30
+ $ as default
31
+ };
32
+ //# sourceMappingURL=homework.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homework.js","sources":["../../../../../src/features/cue-canvas/sidebar/homework/homework.tsx"],"sourcesContent":["import type { IHomeWorkRequestsContainerProps } from './homework-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useRef } from 'react';\n\nimport HWIcon from '../../../../assets/line-icons/icons/hw';\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport useContextMenuClickHandler from '../../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../../ui/layout/flex-view';\nimport { StyledWrapper } from '../../cue-cavas-styled';\nimport { useCueCanvasActions } from '../../hooks/use-cue-canvas-actions';\nimport HomeWorkMenu from './homework-menu';\n\nconst HomeWorkRequestsContainer: FC<IHomeWorkRequestsContainerProps> = props => {\n const { activeSidebar, setActiveSidebar, hwRequests, studentName } = props;\n const { activeInstance: cueCanvas } = useCueCanvasActions();\n const homeWorkMenuRef = useRef(null);\n\n const handleMenuClose = useCallback(\n () => setActiveSidebar(prev => (prev === 'homework' ? undefined : prev)),\n [setActiveSidebar],\n );\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(\n homeWorkMenuRef,\n undefined,\n true,\n handleMenuClose,\n );\n\n const handleClick = useCallback(() => {\n if (activeSidebar === 'tile') {\n cueCanvas?.toggleTiles(false);\n }\n setActiveSidebar(activeSidebar === 'homework' ? undefined : 'homework');\n onMenuClick();\n }, [activeSidebar, cueCanvas, onMenuClick, setActiveSidebar]);\n\n useEffect(() => {\n if (activeSidebar === 'tile' && menuVisible) {\n onMenuClick();\n }\n }, [activeSidebar, menuVisible, onMenuClick]);\n\n return (\n <FlexView $position=\"relative\" ref={homeWorkMenuRef}>\n <Clickable onClick={handleClick} label=\"homework help\">\n <StyledWrapper $active={activeSidebar === 'homework'}>\n <HWIcon width={20} height={20} fill={activeSidebar === 'homework' ? 'WHITE' : 'BLACK'} />\n </StyledWrapper>\n </Clickable>\n {menuVisible && (\n <HomeWorkMenu onSelect={handleClick} hwRequests={hwRequests} studentName={studentName} />\n )}\n </FlexView>\n );\n};\n\nexport default memo(HomeWorkRequestsContainer);\n"],"names":["HomeWorkRequestsContainer","props","activeSidebar","setActiveSidebar","hwRequests","studentName","cueCanvas","useCueCanvasActions","homeWorkMenuRef","useRef","handleMenuClose","useCallback","prev","menuVisible","onMenuClick","useContextMenuClickHandler","handleClick","useEffect","jsxs","FlexView","jsx","Clickable","StyledWrapper","HWIcon","HomeWorkMenu","Homework","memo"],"mappings":";;;;;;;;;AAaA,MAAMA,IAAiE,CAASC,MAAA;AAC9E,QAAM,EAAE,eAAAC,GAAe,kBAAAC,GAAkB,YAAAC,GAAY,aAAAC,MAAgBJ,GAC/D,EAAE,gBAAgBK,EAAU,IAAIC,EAAoB,GACpDC,IAAkBC,EAAO,IAAI,GAE7BC,IAAkBC;AAAA,IACtB,MAAMR,EAAiB,CAAAS,MAASA,MAAS,aAAa,SAAYA,CAAK;AAAA,IACvE,CAACT,CAAgB;AAAA,EAAA,GAEb,EAAE,aAAAU,GAAa,aAAAC,EAAA,IAAgBC;AAAA,IACnCP;AAAA,IACA;AAAA,IACA;AAAA,IACAE;AAAA,EAAA,GAGIM,IAAcL,EAAY,MAAM;AACpC,IAAIT,MAAkB,WACpBI,KAAA,QAAAA,EAAW,YAAY,MAERH,EAAAD,MAAkB,aAAa,SAAY,UAAU,GAC1DY;KACX,CAACZ,GAAeI,GAAWQ,GAAaX,CAAgB,CAAC;AAE5D,SAAAc,EAAU,MAAM;AACV,IAAAf,MAAkB,UAAUW,KAClBC;EAEb,GAAA,CAACZ,GAAeW,GAAaC,CAAW,CAAC,GAGzC,gBAAAI,EAAAC,GAAA,EAAS,WAAU,YAAW,KAAKX,GAClC,UAAA;AAAA,IAAC,gBAAAY,EAAAC,GAAA,EAAU,SAASL,GAAa,OAAM,iBACrC,UAAC,gBAAAI,EAAAE,GAAA,EAAc,SAASpB,MAAkB,YACxC,UAAA,gBAAAkB,EAACG,KAAO,OAAO,IAAI,QAAQ,IAAI,MAAMrB,MAAkB,aAAa,UAAU,QAAS,CAAA,EAAA,CACzF,EACF,CAAA;AAAA,IACCW,KACE,gBAAAO,EAAAI,GAAA,EAAa,UAAUR,GAAa,YAAAZ,GAAwB,aAAAC,GAA0B;AAAA,EAE3F,EAAA,CAAA;AAEJ,GAEeoB,IAAAC,EAAK1B,CAAyB;"}
@@ -0,0 +1,13 @@
1
+ import { createGetAPI as e } from "@cuemath/rest-api";
2
+ import { BASE_URL_V3 as r, BASE_URL_V2 as c } from "../../../../../constants/api.js";
3
+ import { stringify as o } from "../../../../../helpers/query-string.js";
4
+ const { get: g } = e({
5
+ getURL: (t, i) => `${r}/curriculum/cueboard-activities/?${o(i)}`
6
+ }), { useGet: _ } = e({
7
+ getURL: (t) => `${c}/curriculum/wb-activities/${t}`
8
+ });
9
+ export {
10
+ g as getPuzzles,
11
+ _ as useGetActivity
12
+ };
13
+ //# sourceMappingURL=get-puzzles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-puzzles.js","sources":["../../../../../../src/features/cue-canvas/sidebar/puzzles/api/get-puzzles.ts"],"sourcesContent":["import { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V2, BASE_URL_V3 } from '../../../../../constants/api';\nimport { stringify } from '../../../../../helpers/query-string';\n\nexport interface IFilterOption {\n applied: boolean;\n code: string;\n name: string;\n}\n\nexport interface IFilterData {\n activity_tiles: IFilterOption[];\n activity_topics: IFilterOption[];\n activity_types: IFilterOption[];\n grades: IFilterOption[];\n search: string;\n}\n\nexport interface IPuzzlesResultData {\n activity_tiles: string[];\n activity_topics: string[];\n activity_types: string[];\n activity_url: string;\n created_on: string;\n created_on_ts: number;\n grades: string[];\n id: string;\n is_live: boolean;\n name: string;\n node_id: string;\n updated_on: string;\n updated_on_ts: number;\n}\nexport interface IPuzzlesResponses {\n filters: IFilterData;\n results: IPuzzlesResultData[];\n}\nexport interface IGetPuzzles {\n activity_tiles?: string[];\n activity_topics?: string[];\n activity_types?: string[];\n grades?: string[];\n search?: string;\n}\n\nexport interface ActivityMetadata {\n code: string;\n description: string | null;\n id: string;\n is_live: boolean;\n name: string;\n priority: number | null;\n type: 'ACTIVITY_TILE' | 'ACTIVITY_TOPIC' | 'ACTIVITY_TYPE' | string;\n}\n\nexport interface IActivityGrade {\n code: string;\n description: string;\n id: string;\n is_live: boolean;\n name: string;\n priority: number;\n type: 'GRADE';\n}\n\nexport interface ActivityData {\n activity_tiles: ActivityMetadata[];\n activity_topics: ActivityMetadata[];\n activity_types: ActivityMetadata[];\n grades: IActivityGrade[];\n worksheet: Worksheet;\n}\n\ninterface Worksheet {\n code: string;\n complete_in: number | null;\n course_type: string;\n description: string | null;\n desmos_calculator_enabled: boolean;\n id: string;\n instructions_ref: string | null;\n is_lesson_v3_enabled: boolean;\n is_live: boolean;\n is_subjective: boolean;\n is_turing: boolean;\n learnosity_activity_ref: string | null;\n name: string;\n points_available: number;\n project_name: string;\n sheet_time: number | null;\n student_instructions_ref: string | null;\n target_accuracy: number;\n thumbnail_url: string | null;\n total_questions: number | null;\n visible_in_mpr: boolean;\n worksheet_type: string;\n}\n\nconst { get: getPuzzles } = createGetAPI<IPuzzlesResponses, IGetPuzzles>({\n getURL: (_, query) => `${BASE_URL_V3}/curriculum/cueboard-activities/?${stringify(query)}`,\n});\n\nconst { useGet: useGetActivity } = createGetAPI<ActivityData>({\n getURL: nodeId => `${BASE_URL_V2}/curriculum/wb-activities/${nodeId}`,\n});\n\nexport { getPuzzles, useGetActivity };\n"],"names":["getPuzzles","createGetAPI","_","query","BASE_URL_V3","stringify","useGetActivity","nodeId","BASE_URL_V2"],"mappings":";;;AAmGA,MAAM,EAAE,KAAKA,EAAW,IAAIC,EAA6C;AAAA,EACvE,QAAQ,CAACC,GAAGC,MAAU,GAAGC,CAAW,oCAAoCC,EAAUF,CAAK,CAAC;AAC1F,CAAC,GAEK,EAAE,QAAQG,EAAe,IAAIL,EAA2B;AAAA,EAC5D,QAAQ,CAAAM,MAAU,GAAGC,CAAW,6BAA6BD,CAAM;AACrE,CAAC;"}
@@ -0,0 +1,60 @@
1
+ import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
+ import { memo as h, useState as u, useCallback as m } from "react";
3
+ import b from "../../../../assets/line-icons/icons/back.js";
4
+ import C from "../../../../assets/line-icons/icons/cross.js";
5
+ import s from "../../../ui/buttons/clickable/clickable.js";
6
+ import x from "../../../ui/buttons/text-button/text-button.js";
7
+ import k from "../../../ui/inputs/checkbox-input-list/checkbox-input-list.js";
8
+ import i from "../../../ui/layout/flex-view.js";
9
+ import d from "../../../ui/text/text.js";
10
+ import { MenuContainer as g, CheckboxWrapper as I } from "./puzzles-styled.js";
11
+ const T = ({
12
+ closeAllPopups: t,
13
+ menuItems: c,
14
+ onFiltersChange: a,
15
+ type: n
16
+ }) => {
17
+ const [o, p] = u(
18
+ c.filter((r) => r.applied).map((r) => r.name)
19
+ ), f = m((r) => {
20
+ p(r);
21
+ }, []), $ = m(() => {
22
+ a({
23
+ [n]: o
24
+ }), t();
25
+ }, [a, t, o, n]);
26
+ return /* @__PURE__ */ l(g, { children: [
27
+ /* @__PURE__ */ l(i, { $justifyContent: "space-between", $flexDirection: "row", $gutterX: 1, $gapX: 0.5, children: [
28
+ /* @__PURE__ */ l(i, { $flexDirection: "row", $alignItems: "center", $flexColumnGapX: 1, children: [
29
+ /* @__PURE__ */ e(s, { onClick: t, label: "back", children: /* @__PURE__ */ e(b, { color: "WHITE" }) }),
30
+ /* @__PURE__ */ l(d, { $color: "WHITE", $renderAs: "eyebrow2", children: [
31
+ "Select ",
32
+ n === "grades" ? n : n.split("_")[1],
33
+ o.length > 0 && /* @__PURE__ */ e("span", { children: ` (${o.length})` })
34
+ ] })
35
+ ] }),
36
+ /* @__PURE__ */ l(i, { $flexDirection: "row", $alignItems: "center", $flexColumnGapX: 1, children: [
37
+ /* @__PURE__ */ e(x, { color: "WHITE", label: "Apply", onClick: $ }),
38
+ /* @__PURE__ */ e(s, { onClick: t, label: "close filter menu", children: /* @__PURE__ */ e(C, { color: "WHITE" }) })
39
+ ] })
40
+ ] }),
41
+ /* @__PURE__ */ e(I, { $gutterX: 1, $gapX: 1, children: /* @__PURE__ */ e(
42
+ k,
43
+ {
44
+ size: "medium",
45
+ renderAs: "black-dark",
46
+ numColumns: 3,
47
+ options: c.map((r) => ({
48
+ id: r.name,
49
+ label: /* @__PURE__ */ e(d, { $renderAs: "ub3-bold", $color: "WHITE", $inline: !0, children: r.name })
50
+ })),
51
+ value: o,
52
+ onChange: f
53
+ }
54
+ ) })
55
+ ] });
56
+ }, A = h(T);
57
+ export {
58
+ A as default
59
+ };
60
+ //# sourceMappingURL=filter-selection-menu.js.map