@cuemath/leap 3.0.22-aa3 → 3.0.23-guru.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/line-icons/icons/check.js +3 -3
- package/dist/assets/line-icons/icons/check.js.map +1 -1
- package/dist/assets/line-icons/icons/lock3.js +34 -0
- package/dist/assets/line-icons/icons/lock3.js.map +1 -0
- package/dist/assets/line-icons/icons/unlock2.js +34 -0
- package/dist/assets/line-icons/icons/unlock2.js.map +1 -0
- package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +26 -22
- package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +31 -55
- package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js +1 -1
- package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/chapter-details.js +58 -54
- package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
- package/dist/features/chapters-v2/comps/node-card/node-card-styled.js +1 -0
- package/dist/features/chapters-v2/comps/node-card/node-card-styled.js.map +1 -1
- package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +128 -107
- package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -1
- package/dist/features/chapters-v2/constants/node-constants.js +3 -1
- package/dist/features/chapters-v2/constants/node-constants.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-context.js +5 -8
- package/dist/features/cue-canvas/cue-canvas-context.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-core.js +47 -51
- package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-helpers.js +25 -31
- package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-provider.js +12 -14
- package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas.js +59 -61
- package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
- package/dist/features/cue-canvas/cue-cavas-styled.js +42 -45
- package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
- package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +46 -50
- package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
- package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js +14 -18
- package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js.map +1 -1
- package/dist/features/ui/stepper/stepper.js +7 -7
- package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js +19 -22
- package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js.map +1 -1
- package/dist/index.d.ts +7 -36
- package/dist/index.js +357 -357
- package/package.json +1 -1
- package/dist/assets/line-icons/icons/puzzle-icon.js +0 -51
- package/dist/assets/line-icons/icons/puzzle-icon.js.map +0 -1
- package/dist/assets/line-icons/icons/share.js +0 -48
- package/dist/assets/line-icons/icons/share.js.map +0 -1
- package/dist/assets/line-icons/icons/tile.js +0 -54
- package/dist/assets/line-icons/icons/tile.js.map +0 -1
- package/dist/features/cue-canvas/bottombar/homework-controls.js +0 -73
- package/dist/features/cue-canvas/bottombar/homework-controls.js.map +0 -1
- package/dist/features/cue-canvas/hooks/use-upload-helper.js +0 -23
- package/dist/features/cue-canvas/hooks/use-upload-helper.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/homework/helper.js +0 -20
- package/dist/features/cue-canvas/sidebar/homework/helper.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/homework/homework-menu.js +0 -33
- package/dist/features/cue-canvas/sidebar/homework/homework-menu.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/homework/homework-request.js +0 -61
- package/dist/features/cue-canvas/sidebar/homework/homework-request.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/homework/homework-styled.js +0 -25
- package/dist/features/cue-canvas/sidebar/homework/homework-styled.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/homework/homework.js +0 -39
- package/dist/features/cue-canvas/sidebar/homework/homework.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js +0 -13
- package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js +0 -60
- package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js +0 -44
- package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/filters.js +0 -107
- package/dist/features/cue-canvas/sidebar/puzzles/filters.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js +0 -42
- package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js +0 -84
- package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js +0 -36
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js +0 -133
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js +0 -96
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js +0 -29
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/utils.js +0 -120
- package/dist/features/cue-canvas/sidebar/puzzles/utils.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/sidebar-styled.js +0 -32
- package/dist/features/cue-canvas/sidebar/sidebar-styled.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/sidebar.js +0 -29
- package/dist/features/cue-canvas/sidebar/sidebar.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/tiles/tile.js +0 -16
- package/dist/features/cue-canvas/sidebar/tiles/tile.js.map +0 -1
- package/dist/features/hooks/use-debounce.js +0 -16
- package/dist/features/hooks/use-debounce.js.map +0 -1
@@ -1,75 +1,71 @@
|
|
1
1
|
import { useMessageBrokerChannel as q } from "@cuemath/cue-message-broker";
|
2
2
|
import { useState as x, useRef as w, useMemo as E, useCallback as h } from "react";
|
3
|
-
const
|
4
|
-
userId:
|
5
|
-
data:
|
6
|
-
height:
|
7
|
-
responseId:
|
8
|
-
|
9
|
-
|
10
|
-
}), F = (r, g, f, m = "canvas") => {
|
11
|
-
const [b, l] = x(
|
3
|
+
const I = (c) => ({
|
4
|
+
userId: c.userId,
|
5
|
+
data: c.data,
|
6
|
+
height: c.height,
|
7
|
+
responseId: c.responseId
|
8
|
+
}), F = (c, f, g) => {
|
9
|
+
const [d, m] = x(
|
12
10
|
() => {
|
13
|
-
var o,
|
14
|
-
const
|
15
|
-
if (!
|
16
|
-
for (const { message:
|
17
|
-
const e = (o =
|
11
|
+
var o, r;
|
12
|
+
const n = {};
|
13
|
+
if (!g) return n;
|
14
|
+
for (const { message: a } of g) {
|
15
|
+
const e = (o = a.payload) == null ? void 0 : o.eventPayload, s = e == null ? void 0 : e.responseId;
|
18
16
|
if (!(e != null && e.responseId)) continue;
|
19
|
-
const t =
|
20
|
-
s &&
|
17
|
+
const t = I(e);
|
18
|
+
s && n[s] ? (r = n[s]) == null || r.push(t) : n[s] = [t];
|
21
19
|
}
|
22
|
-
return
|
20
|
+
return n;
|
23
21
|
}
|
24
|
-
), u = w({}),
|
22
|
+
), u = w({}), b = E(
|
25
23
|
() => ({
|
26
|
-
channelId:
|
27
|
-
ttl:
|
28
|
-
logger:
|
24
|
+
channelId: c,
|
25
|
+
ttl: 0,
|
26
|
+
logger: f
|
29
27
|
}),
|
30
|
-
[
|
31
|
-
),
|
32
|
-
u.current = { ...u.current, [
|
33
|
-
}, []),
|
34
|
-
(
|
35
|
-
const
|
36
|
-
|
37
|
-
var
|
38
|
-
const { payload: e } =
|
39
|
-
if (!o &&
|
40
|
-
|
28
|
+
[c, f]
|
29
|
+
), S = h((n, o) => {
|
30
|
+
u.current = { ...u.current, [n]: o };
|
31
|
+
}, []), C = h(
|
32
|
+
(n, o) => {
|
33
|
+
const r = {};
|
34
|
+
n.forEach((a) => {
|
35
|
+
var p;
|
36
|
+
const { payload: e } = a.message, { eventPayload: s } = e, t = s == null ? void 0 : s.responseId, R = s == null ? void 0 : s.data, B = s == null ? void 0 : s.userId, j = s == null ? void 0 : s.height, l = u.current[t];
|
37
|
+
if (!o && l)
|
38
|
+
l({
|
41
39
|
data: R,
|
42
40
|
height: j,
|
43
41
|
userId: B,
|
44
|
-
responseId: t
|
45
|
-
gridName: s == null ? void 0 : s.gridName,
|
46
|
-
dimension: s == null ? void 0 : s.dimension
|
42
|
+
responseId: t
|
47
43
|
});
|
48
44
|
else {
|
49
|
-
const
|
50
|
-
t &&
|
45
|
+
const k = I(s);
|
46
|
+
t && r[t] ? (p = r[t]) == null || p.push(k) : r[t] = [k];
|
51
47
|
}
|
52
|
-
}), Object.keys(
|
53
|
-
const e = { ...
|
54
|
-
return Object.keys(
|
48
|
+
}), Object.keys(r).length > 0 && m((a) => {
|
49
|
+
const e = { ...a };
|
50
|
+
return Object.keys(r).forEach((s) => {
|
55
51
|
var t;
|
56
|
-
s && e[s] ? (t = e[s]) == null || t.push(...
|
52
|
+
s && e[s] ? (t = e[s]) == null || t.push(...r[s] ?? []) : e[s] = r[s] ?? [];
|
57
53
|
}), e;
|
58
54
|
});
|
59
55
|
},
|
60
56
|
[]
|
61
|
-
), { publish:
|
62
|
-
channelOptions:
|
63
|
-
consumerFn:
|
57
|
+
), { publish: D, channelStatus: M, channel: i } = q({
|
58
|
+
channelOptions: b,
|
59
|
+
consumerFn: C
|
64
60
|
}), O = h(() => {
|
65
|
-
|
66
|
-
}, [
|
61
|
+
i && i.destroyChannel();
|
62
|
+
}, [i]);
|
67
63
|
return {
|
68
|
-
publishStrokes:
|
69
|
-
channelStatus:
|
64
|
+
publishStrokes: D,
|
65
|
+
channelStatus: M,
|
70
66
|
closeChannel: O,
|
71
|
-
initialStrokesData:
|
72
|
-
registerCallback:
|
67
|
+
initialStrokesData: d,
|
68
|
+
registerCallback: S
|
73
69
|
};
|
74
70
|
}, $ = F;
|
75
71
|
export {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-canvas-sync-broker.js","sources":["../../../../src/features/cue-canvas/hooks/use-canvas-sync-broker.ts"],"sourcesContent":["import type {
|
1
|
+
{"version":3,"file":"use-canvas-sync-broker.js","sources":["../../../../src/features/cue-canvas/hooks/use-canvas-sync-broker.ts"],"sourcesContent":["import type { IActionData, TCueCanvasChangeDataObject } from '../types/cue-canvas';\n\nimport { useMessageBrokerChannel, type IChannelMessage } from '@cuemath/cue-message-broker';\nimport { useMemo, useCallback, useState, useRef } from 'react';\n\ninterface IMessage {\n eventName: string;\n eventPayload: {\n responseId: string;\n data: TCueCanvasChangeDataObject;\n userId: string;\n height: number;\n };\n}\n\nconst extractStrokeData = (payload: IMessage['eventPayload']): IActionData => ({\n userId: payload.userId,\n data: payload.data,\n height: payload.height,\n responseId: payload.responseId,\n});\n\nconst useCanvasSyncBroker = (\n channelId: string,\n logEvent: (type: string, payload?: Record<string, unknown>) => void,\n initialCanvasData?: Array<IChannelMessage>,\n) => {\n const [initialStrokesData, setInitialStrokesData] = useState<Record<string, IActionData[]>>(\n () => {\n const map: Record<string, IActionData[]> = {};\n\n if (!initialCanvasData) return map;\n\n for (const { message } of initialCanvasData) {\n const payload = (message.payload as IMessage)?.eventPayload;\n const qrId = payload?.responseId;\n\n if (!payload?.responseId) continue;\n\n const strokeData = extractStrokeData(payload);\n\n if (qrId && map[qrId]) {\n map[qrId]?.push(strokeData);\n } else {\n map[qrId] = [strokeData];\n }\n }\n\n return map;\n },\n );\n const callbacksMapRef = useRef<Record<string, (data: IActionData) => void>>({});\n\n const channelOptions = useMemo(\n () => ({\n channelId,\n ttl: 0,\n logger: logEvent,\n }),\n [channelId, logEvent],\n );\n\n const registerCallback = useCallback((qrId: string, cb: (data: IActionData) => void) => {\n callbacksMapRef.current = { ...callbacksMapRef.current, [qrId]: cb };\n }, []);\n\n const onMessageReceive = useCallback(\n (messages: Array<IChannelMessage>, initialData?: boolean) => {\n const strokesPerWidgetMap: Record<string, Array<IActionData>> = {};\n\n messages.forEach(message => {\n const { payload } = message.message;\n const { eventPayload } = payload as IMessage;\n const qrId = eventPayload?.responseId as string;\n const strokes = eventPayload?.data;\n const userId = eventPayload?.userId;\n const canvasHeight = eventPayload?.height;\n const widgetOnReceiveCallback = callbacksMapRef.current[qrId];\n\n if (!initialData && widgetOnReceiveCallback) {\n widgetOnReceiveCallback({\n data: strokes,\n height: canvasHeight,\n userId,\n responseId: qrId,\n });\n } else {\n const strokeData = extractStrokeData(eventPayload);\n\n if (qrId && strokesPerWidgetMap[qrId]) {\n strokesPerWidgetMap[qrId]?.push(strokeData);\n } else {\n strokesPerWidgetMap[qrId] = [strokeData];\n }\n }\n });\n\n if (Object.keys(strokesPerWidgetMap).length > 0) {\n setInitialStrokesData(prevData => {\n const currentData = { ...prevData };\n\n Object.keys(strokesPerWidgetMap).forEach(key => {\n if (key && currentData[key]) {\n currentData[key]?.push(...(strokesPerWidgetMap[key] ?? []));\n } else {\n currentData[key] = strokesPerWidgetMap[key] ?? [];\n }\n });\n\n return currentData;\n });\n }\n },\n [],\n );\n\n const { publish, channelStatus, channel } = useMessageBrokerChannel({\n channelOptions,\n consumerFn: onMessageReceive,\n });\n\n const closeChannel = useCallback(() => {\n if (channel) {\n channel.destroyChannel();\n }\n }, [channel]);\n\n return {\n publishStrokes: publish,\n channelStatus,\n closeChannel,\n initialStrokesData,\n registerCallback,\n };\n};\n\nexport default useCanvasSyncBroker;\n"],"names":["extractStrokeData","payload","useCanvasSyncBroker","channelId","logEvent","initialCanvasData","initialStrokesData","setInitialStrokesData","useState","map","message","_a","qrId","strokeData","_b","callbacksMapRef","useRef","channelOptions","useMemo","registerCallback","useCallback","cb","onMessageReceive","messages","initialData","strokesPerWidgetMap","eventPayload","strokes","userId","canvasHeight","widgetOnReceiveCallback","prevData","currentData","key","publish","channelStatus","channel","useMessageBrokerChannel","closeChannel","useCanvasSyncBroker$1"],"mappings":"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"}
|
@@ -1,32 +1,28 @@
|
|
1
|
-
import { useContext as
|
2
|
-
import
|
3
|
-
const
|
1
|
+
import { useContext as c, useMemo as l } from "react";
|
2
|
+
import a from "../cue-canvas-context.js";
|
3
|
+
const m = () => {
|
4
4
|
const {
|
5
|
-
activeInstance:
|
6
|
-
setActiveTool:
|
5
|
+
activeInstance: t,
|
6
|
+
setActiveTool: o,
|
7
7
|
activeTool: e,
|
8
|
-
setActiveInstance:
|
8
|
+
setActiveInstance: i,
|
9
9
|
activeColor: s,
|
10
|
-
setActiveColor:
|
11
|
-
|
12
|
-
setHomeworkId: c
|
13
|
-
} = a(v), l = m(
|
10
|
+
setActiveColor: n
|
11
|
+
} = c(a), r = l(
|
14
12
|
() => e ? ["pen", "ruler", "highlighter", "marker"].includes(e) : !1,
|
15
13
|
[e]
|
16
14
|
);
|
17
15
|
return {
|
18
|
-
activeInstance:
|
19
|
-
setActiveTool:
|
16
|
+
activeInstance: t,
|
17
|
+
setActiveTool: o,
|
20
18
|
activeTool: e,
|
21
|
-
setActiveInstance:
|
19
|
+
setActiveInstance: i,
|
22
20
|
activeColor: s,
|
23
|
-
setActiveColor:
|
24
|
-
isWritingToolActive:
|
25
|
-
homeworkId: n,
|
26
|
-
setHomeworkId: c
|
21
|
+
setActiveColor: n,
|
22
|
+
isWritingToolActive: r
|
27
23
|
};
|
28
24
|
};
|
29
25
|
export {
|
30
|
-
|
26
|
+
m as useCueCanvasActions
|
31
27
|
};
|
32
28
|
//# 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
|
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 } = 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 };\n};\n"],"names":["useCueCanvasActions","activeInstance","setActiveTool","activeTool","setActiveInstance","activeColor","setActiveColor","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,EAAA,IACEC,EAAWC,CAAW,GAEpBC,IAAsBC;AAAA,IAC1B,MAAOP,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,qBAAAG;AAAA,EAAA;AAEJ;"}
|
@@ -1,14 +1,14 @@
|
|
1
1
|
import { jsxs as o, jsx as t } from "react/jsx-runtime";
|
2
|
-
import
|
3
|
-
import
|
2
|
+
import m from "../../../assets/line-icons/icons/check.js";
|
3
|
+
import h 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
|
7
|
+
function j({ 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:
|
11
|
+
n.map(({ id: $, label: l }, r) => /* @__PURE__ */ o(
|
12
12
|
g,
|
13
13
|
{
|
14
14
|
$flexDirection: "row",
|
@@ -25,10 +25,10 @@ function W({ 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(
|
28
|
+
children: r + 1 < e ? /* @__PURE__ */ t(m, { height: i, width: i }) : /* @__PURE__ */ t(h, { $renderAs: "body3", $color: "WHITE", children: $ })
|
29
29
|
}
|
30
30
|
),
|
31
|
-
r + 1 === e && /* @__PURE__ */ t(s, { $renderAs: "body2", children:
|
31
|
+
r + 1 === e && /* @__PURE__ */ t(s, { $renderAs: "body2", children: l })
|
32
32
|
]
|
33
33
|
},
|
34
34
|
r
|
@@ -36,6 +36,6 @@ function W({ stepsInfo: n = [], currentStep: e = 2 }) {
|
|
36
36
|
] });
|
37
37
|
}
|
38
38
|
export {
|
39
|
-
|
39
|
+
j as default
|
40
40
|
};
|
41
41
|
//# sourceMappingURL=stepper.js.map
|
@@ -1,36 +1,33 @@
|
|
1
|
-
import {
|
2
|
-
import { useAwsSignedKey as
|
3
|
-
import
|
4
|
-
const
|
5
|
-
const { studentId: t, query: o
|
6
|
-
return
|
7
|
-
|
8
|
-
}, [s]),
|
9
|
-
|
10
|
-
}, [o, d, t, r]), k(
|
11
|
-
async ({ images: g, onSuccess: n, onError: p, fileKey: w, fileName: K }) => {
|
12
|
-
const a = c.current;
|
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 }) => {
|
13
10
|
if (!a) return;
|
14
|
-
const
|
11
|
+
const r = `https://${a.bucketName}.s3.amazonaws.com/`;
|
15
12
|
try {
|
16
|
-
const
|
17
|
-
const e = new FormData(),
|
18
|
-
if (e.append("key",
|
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, {
|
19
16
|
method: "POST",
|
20
17
|
body: e
|
21
18
|
})).ok)
|
22
19
|
throw new Error("Upload failed");
|
23
|
-
return `${
|
24
|
-
}),
|
25
|
-
|
20
|
+
return `${r}${p}`;
|
21
|
+
}), y = await Promise.all(n);
|
22
|
+
i(y);
|
26
23
|
} catch {
|
27
|
-
|
24
|
+
l();
|
28
25
|
}
|
29
26
|
},
|
30
|
-
[]
|
27
|
+
[a]
|
31
28
|
);
|
32
29
|
};
|
33
30
|
export {
|
34
|
-
|
31
|
+
A as default
|
35
32
|
};
|
36
33
|
//# 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
|
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;"}
|
package/dist/index.d.ts
CHANGED
@@ -295,14 +295,10 @@ 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
|
-
|
300
298
|
export declare const CueCanvasProvider: FC<PropsWithChildren<{
|
301
299
|
userType: TUserTypes;
|
302
300
|
}>>;
|
303
301
|
|
304
|
-
export declare const CueCanvasSideBar: NamedExoticComponent<ISidebar>;
|
305
|
-
|
306
302
|
export declare const CuemathLogo: React_2.FC<React_2.SVGProps<SVGSVGElement>>;
|
307
303
|
|
308
304
|
export declare const CueRocket: React.FC<React.SVGProps<SVGSVGElement>>;
|
@@ -1482,30 +1478,6 @@ export declare interface IHomepageStartJourneyProps {
|
|
1482
1478
|
userType: TUserTypes;
|
1483
1479
|
}
|
1484
1480
|
|
1485
|
-
declare interface IHomeWorkControllerProps {
|
1486
|
-
width: number;
|
1487
|
-
hwRequests?: IHomeWorkHelpRequestModel[];
|
1488
|
-
onMarkAsResolved?: (homeworkId: string, onSuccess: () => void) => void;
|
1489
|
-
onSendImageToChat?: (homeworkId: string, snapshot: Blob[], onSuccess: () => void) => void;
|
1490
|
-
}
|
1491
|
-
|
1492
|
-
export declare interface IHomeWorkHelpRequestModel {
|
1493
|
-
channel_id: string;
|
1494
|
-
created_on_ts: number;
|
1495
|
-
homework_id: string;
|
1496
|
-
id: string;
|
1497
|
-
message_timestamp: string;
|
1498
|
-
problem_description: string;
|
1499
|
-
problem_image_urls: string[];
|
1500
|
-
state: string;
|
1501
|
-
student_id: string;
|
1502
|
-
teacher_id: string;
|
1503
|
-
}
|
1504
|
-
|
1505
|
-
declare interface IHomeWorkHelpRequestModelWithStudentName extends IHomeWorkHelpRequestModel {
|
1506
|
-
student_name: string;
|
1507
|
-
}
|
1508
|
-
|
1509
1481
|
declare interface IIconButtonProps extends Omit<IButtonProps, 'label' | 'shape' | 'widthX' | 'width' | 'iconPosition' | 'alignSelf' | 'analyticsLabel' | 'renderAs'>, Required<Pick<IClickableAnalyticsProps, 'analyticsLabel'>> {
|
1510
1482
|
Icon: React.FC<React.SVGProps<SVGSVGElement>>;
|
1511
1483
|
customBgColor?: TColorNames;
|
@@ -2391,6 +2363,7 @@ declare interface INodeCardCallbacks {
|
|
2391
2363
|
onNodeMarkAsDone?: (nodeData: INodeDataProps) => void;
|
2392
2364
|
onNodeReset?: (nodeData: INodeDataProps, milestoneId?: string) => void;
|
2393
2365
|
onNodeUnassign?: (nodeData: INodeDataProps, milestoneId?: string) => void;
|
2366
|
+
onNodeUnlock?: (nodeData: INodeDataProps, milestoneId?: string) => void;
|
2394
2367
|
}
|
2395
2368
|
|
2396
2369
|
export declare interface INodeDataProps {
|
@@ -2443,6 +2416,7 @@ declare interface INodePermissions {
|
|
2443
2416
|
can_start: boolean;
|
2444
2417
|
can_teacher_review: boolean;
|
2445
2418
|
can_unassign: boolean;
|
2419
|
+
can_unlock: boolean;
|
2446
2420
|
}
|
2447
2421
|
|
2448
2422
|
export declare const InputStatusIcon: NamedExoticComponent<IInputStatusIconProps>;
|
@@ -2994,11 +2968,6 @@ declare interface ISheetsListProps extends ISheetItemCallbackProps {
|
|
2994
2968
|
section?: TSheetsSection;
|
2995
2969
|
}
|
2996
2970
|
|
2997
|
-
declare interface ISidebar {
|
2998
|
-
grade?: string;
|
2999
|
-
hwRequests?: IHomeWorkHelpRequestModelWithStudentName[];
|
3000
|
-
}
|
3001
|
-
|
3002
2971
|
declare interface ISignupMethodsProps {
|
3003
2972
|
onEmailSignup: () => void;
|
3004
2973
|
onPhoneSignup: () => void;
|
@@ -3367,8 +3336,6 @@ declare interface ITile {
|
|
3367
3336
|
toPort?: string;
|
3368
3337
|
toTileId: string;
|
3369
3338
|
}[];
|
3370
|
-
html?: string;
|
3371
|
-
width?: number | string;
|
3372
3339
|
}
|
3373
3340
|
|
3374
3341
|
declare interface ITimeLeftTimelineProps {
|
@@ -3979,6 +3946,8 @@ export declare const loadScript: ILoadScript;
|
|
3979
3946
|
|
3980
3947
|
export declare const Lock2Icon: React_2.FC<React_2.SVGProps<SVGSVGElement>>;
|
3981
3948
|
|
3949
|
+
export declare const Lock3Icon: React.FC<React.SVGProps<SVGSVGElement>>;
|
3950
|
+
|
3982
3951
|
export declare const LockIcon: React.FC<React.SVGProps<SVGSVGElement>>;
|
3983
3952
|
|
3984
3953
|
export declare const LOTTIE: {
|
@@ -5639,13 +5608,15 @@ declare interface UIContextProps {
|
|
5639
5608
|
|
5640
5609
|
export declare const UndoIcon: React.FC<React.SVGProps<SVGSVGElement>>;
|
5641
5610
|
|
5611
|
+
export declare const Unlock2Icon: React.FC<React.SVGProps<SVGSVGElement>>;
|
5612
|
+
|
5642
5613
|
export declare const UnlockIcon: React.FC<React.SVGProps<SVGSVGElement>>;
|
5643
5614
|
|
5644
5615
|
export declare const UpIcon: React.FC<React.SVGProps<SVGSVGElement>>;
|
5645
5616
|
|
5646
5617
|
export declare const useAutoPlayPermission: () => IAutoPlayPermissionContextType;
|
5647
5618
|
|
5648
|
-
export declare const useCanvasSyncBroker: (channelId: string, logEvent: (type: string, payload?: Record<string, unknown>) => void, initialCanvasData?: Array<IChannelMessage
|
5619
|
+
export declare const useCanvasSyncBroker: (channelId: string, logEvent: (type: string, payload?: Record<string, unknown>) => void, initialCanvasData?: Array<IChannelMessage>) => {
|
5649
5620
|
publishStrokes: ((message: unknown) => boolean) | undefined;
|
5650
5621
|
channelStatus: ChannelStatus | undefined;
|
5651
5622
|
closeChannel: () => void;
|