@cuemath/leap 3.0.32 → 3.1.0-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.
- package/dist/assets/illustrations/illustrations.js +0 -1
- package/dist/assets/illustrations/illustrations.js.map +1 -1
- 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/puzzle-icon.js +51 -0
- package/dist/assets/line-icons/icons/puzzle-icon.js.map +1 -0
- package/dist/assets/line-icons/icons/share.js +48 -0
- package/dist/assets/line-icons/icons/share.js.map +1 -0
- package/dist/assets/line-icons/icons/tile.js +54 -0
- package/dist/assets/line-icons/icons/tile.js.map +1 -0
- package/dist/features/cue-canvas/bottombar/homework-controls.js +73 -0
- package/dist/features/cue-canvas/bottombar/homework-controls.js.map +1 -0
- package/dist/features/cue-canvas/cue-canvas-context.js +8 -5
- package/dist/features/cue-canvas/cue-canvas-context.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-core.js +68 -70
- package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-helpers.js +31 -25
- package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-provider.js +14 -12
- package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas.js +86 -66
- package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
- package/dist/features/cue-canvas/cue-cavas-styled.js +45 -42
- package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
- package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +61 -54
- 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 +18 -14
- package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js.map +1 -1
- package/dist/features/cue-canvas/hooks/use-upload-helper.js +23 -0
- package/dist/features/cue-canvas/hooks/use-upload-helper.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/homework/helper.js +20 -0
- package/dist/features/cue-canvas/sidebar/homework/helper.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/homework/homework-menu.js +33 -0
- package/dist/features/cue-canvas/sidebar/homework/homework-menu.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/homework/homework-request.js +68 -0
- package/dist/features/cue-canvas/sidebar/homework/homework-request.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/homework/homework-styled.js +25 -0
- package/dist/features/cue-canvas/sidebar/homework/homework-styled.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/homework/homework.js +39 -0
- package/dist/features/cue-canvas/sidebar/homework/homework.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js +13 -0
- package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js +60 -0
- package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js +44 -0
- package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/filters.js +107 -0
- package/dist/features/cue-canvas/sidebar/puzzles/filters.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js +42 -0
- package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js +84 -0
- package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js +36 -0
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js +133 -0
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js +96 -0
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js +29 -0
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/utils.js +120 -0
- package/dist/features/cue-canvas/sidebar/puzzles/utils.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/sidebar-styled.js +32 -0
- package/dist/features/cue-canvas/sidebar/sidebar-styled.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/sidebar.js +29 -0
- package/dist/features/cue-canvas/sidebar/sidebar.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/tiles/tile.js +16 -0
- package/dist/features/cue-canvas/sidebar/tiles/tile.js.map +1 -0
- package/dist/features/cue-canvas/toolbar/grid-menu.js +13 -13
- package/dist/features/cue-canvas/toolbar/grid-menu.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/tool.js +22 -20
- package/dist/features/cue-canvas/toolbar/tool.js.map +1 -1
- package/dist/features/homework/styles.js +4 -5
- package/dist/features/homework/styles.js.map +1 -1
- package/dist/features/hooks/use-debounce.js +16 -0
- package/dist/features/hooks/use-debounce.js.map +1 -0
- package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +36 -38
- package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js +22 -24
- package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js +22 -23
- package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/utils.js +47 -49
- package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
- package/dist/features/milestone/create/comps/class-details-step/class-details-step.js +87 -94
- package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
- package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js +12 -13
- package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
- package/dist/features/milestone/create/comps/test-type-step/test-type-step.js +21 -23
- package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-helpers.js +162 -165
- package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
- package/dist/features/trial-session/comps/pricing/pricing.js +35 -36
- package/dist/features/trial-session/comps/pricing/pricing.js.map +1 -1
- package/dist/features/ui/stepper/stepper.js +7 -7
- package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js +22 -19
- package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js.map +1 -1
- package/dist/index.d.ts +48 -4
- package/dist/index.js +184 -180
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
- package/dist/features/trial-session/comps/pricing/india-pricing/index.js +0 -96
- package/dist/features/trial-session/comps/pricing/india-pricing/index.js.map +0 -1
- package/dist/features/trial-session/comps/pricing/india-pricing/india-pricing-styled.js +0 -59
- package/dist/features/trial-session/comps/pricing/india-pricing/india-pricing-styled.js.map +0 -1
- package/dist/static/ellipse-clip.dfb25608.svg +0 -1
@@ -1,38 +1,37 @@
|
|
1
1
|
import { jsx as r, jsxs as a } from "react/jsx-runtime";
|
2
|
-
import { memo as
|
2
|
+
import { memo as P, useCallback as x, useEffect as m } from "react";
|
3
3
|
import { ILLUSTRATIONS as T } from "../../../../assets/illustrations/illustrations.js";
|
4
|
-
import
|
5
|
-
import
|
4
|
+
import v from "../../../ui/error/error.js";
|
5
|
+
import y from "../../../ui/image/image.js";
|
6
6
|
import C from "../../../ui/layout/flex-view.js";
|
7
|
-
import
|
7
|
+
import I from "../../../ui/loader/app-loader/app-loader.js";
|
8
8
|
import d from "../../../ui/separator/separator.js";
|
9
|
-
import
|
10
|
-
import { useGetTrialPricing as
|
11
|
-
import { useTrialSessionContext as
|
12
|
-
import
|
13
|
-
import
|
14
|
-
import D from "./pricing-
|
15
|
-
|
16
|
-
const
|
17
|
-
const { isTeacher: f, studentId: i, updateButtonState: s } = w(), {
|
9
|
+
import L from "../../../ui/text/text.js";
|
10
|
+
import { useGetTrialPricing as S } from "../../api/trial-pricing.js";
|
11
|
+
import { useTrialSessionContext as $ } from "../../context/use-trial-session-context.js";
|
12
|
+
import w from "../slide-header/index.js";
|
13
|
+
import A from "./pricing-cards.js";
|
14
|
+
import { Container as b, PricingWrapper as D, PolicyWrapper as E, RefundImageWrapper as W } from "./pricing-styled.js";
|
15
|
+
const z = P(() => {
|
16
|
+
const { isTeacher: f, studentId: i, updateButtonState: s } = $(), {
|
18
17
|
data: g,
|
19
18
|
get: p,
|
20
|
-
isProcessed:
|
21
|
-
isProcessing:
|
19
|
+
isProcessed: e,
|
20
|
+
isProcessing: t,
|
22
21
|
isProcessingFailed: h
|
23
|
-
} =
|
22
|
+
} = S("trial-v3-pricing", {
|
24
23
|
student_id: i
|
25
|
-
}), { plans:
|
26
|
-
i && !
|
27
|
-
}, [p,
|
28
|
-
return
|
24
|
+
}), { plans: o, intent_level: c } = g || {}, n = x(() => {
|
25
|
+
i && !e && p("trial-v3-pricing", { student_id: i });
|
26
|
+
}, [p, e, i]);
|
27
|
+
return m(() => {
|
29
28
|
n();
|
30
|
-
}, [n]),
|
31
|
-
s("right", { isDisabled:
|
32
|
-
}, [
|
29
|
+
}, [n]), m(() => {
|
30
|
+
s("right", { isDisabled: t, isLoading: !1 });
|
31
|
+
}, [t, f, s]), t ? /* @__PURE__ */ r(I, { height: "100vh" }) : h ? /* @__PURE__ */ r(v, { height: "100vh", onTryAgain: n }) : e ? /* @__PURE__ */ a(b, { children: [
|
33
32
|
/* @__PURE__ */ r(d, { height: 60 }),
|
34
|
-
/* @__PURE__ */ r(
|
35
|
-
/* @__PURE__ */ a(
|
33
|
+
/* @__PURE__ */ r(w, { marginBottom: 38 }),
|
34
|
+
/* @__PURE__ */ a(D, { children: [
|
36
35
|
/* @__PURE__ */ r(
|
37
36
|
C,
|
38
37
|
{
|
@@ -41,22 +40,22 @@ const M = x(() => {
|
|
41
40
|
$justifyContent: "space-between",
|
42
41
|
$flexGap: 20,
|
43
42
|
$flexWrap: !0,
|
44
|
-
children:
|
45
|
-
|
43
|
+
children: c && o && Array.isArray(o) && o.map((u, l) => /* @__PURE__ */ r(
|
44
|
+
A,
|
46
45
|
{
|
47
|
-
colorIndex:
|
46
|
+
colorIndex: l,
|
48
47
|
intentType: c,
|
49
|
-
pricingConfig:
|
48
|
+
pricingConfig: u
|
50
49
|
},
|
51
|
-
|
52
|
-
))
|
50
|
+
l
|
51
|
+
))
|
53
52
|
}
|
54
53
|
),
|
55
54
|
/* @__PURE__ */ r(d, { height: 50 }),
|
56
|
-
/* @__PURE__ */ a(
|
57
|
-
/* @__PURE__ */ r(
|
58
|
-
/* @__PURE__ */ r(
|
59
|
-
|
55
|
+
/* @__PURE__ */ a(E, { children: [
|
56
|
+
/* @__PURE__ */ r(L, { $renderAs: "ab1-bold", $color: "GREEN_6", children: "We have a no-questions-asked refund policy" }),
|
57
|
+
/* @__PURE__ */ r(W, { children: /* @__PURE__ */ r(
|
58
|
+
y,
|
60
59
|
{
|
61
60
|
src: T.REFUND_POLICY,
|
62
61
|
width: 168,
|
@@ -69,6 +68,6 @@ const M = x(() => {
|
|
69
68
|
] }) : null;
|
70
69
|
});
|
71
70
|
export {
|
72
|
-
|
71
|
+
z as default
|
73
72
|
};
|
74
73
|
//# sourceMappingURL=pricing.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pricing.js","sources":["../../../../../src/features/trial-session/comps/pricing/pricing.tsx"],"sourcesContent":["import { memo, useCallback, useEffect } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport Error from '../../../ui/error/error';\nimport Image from '../../../ui/image/image';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { useGetTrialPricing } from '../../api/trial-pricing';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport SlideHeader from '../slide-header';\nimport
|
1
|
+
{"version":3,"file":"pricing.js","sources":["../../../../../src/features/trial-session/comps/pricing/pricing.tsx"],"sourcesContent":["import { memo, useCallback, useEffect } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport Error from '../../../ui/error/error';\nimport Image from '../../../ui/image/image';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { useGetTrialPricing } from '../../api/trial-pricing';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport SlideHeader from '../slide-header';\nimport PricingCards from './pricing-cards';\nimport * as Styled from './pricing-styled';\n\nconst SessionPricing = memo(() => {\n const { isTeacher, studentId, updateButtonState } = useTrialSessionContext();\n\n const {\n data: pricingData,\n get: getTrialPricing,\n isProcessed,\n isProcessing,\n isProcessingFailed,\n } = useGetTrialPricing('trial-v3-pricing', {\n student_id: studentId,\n });\n\n const { plans: pricingPlans, intent_level: intentLevel } = pricingData || {};\n const fetchData = useCallback(() => {\n if (studentId && !isProcessed) {\n getTrialPricing('trial-v3-pricing', { student_id: studentId });\n }\n }, [getTrialPricing, isProcessed, studentId]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n useEffect(() => {\n updateButtonState('right', { isDisabled: isProcessing, isLoading: false });\n }, [isProcessing, isTeacher, updateButtonState]);\n\n if (isProcessing) {\n return <AppLoader height=\"100vh\" />;\n }\n\n if (isProcessingFailed) {\n return <Error height=\"100vh\" onTryAgain={fetchData} />;\n }\n\n if (isProcessed) {\n return (\n <Styled.Container>\n <Separator height={60} />\n <SlideHeader marginBottom={38} />\n <Styled.PricingWrapper>\n <FlexView\n $width=\"100%\"\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $flexGap={20}\n $flexWrap\n >\n {intentLevel &&\n pricingPlans &&\n Array.isArray(pricingPlans) &&\n pricingPlans.map((pricing, index) => {\n return (\n <PricingCards\n key={index}\n colorIndex={index}\n intentType={intentLevel}\n pricingConfig={pricing}\n />\n );\n })}\n </FlexView>\n <Separator height={50} />\n <Styled.PolicyWrapper>\n <Text $renderAs=\"ab1-bold\" $color=\"GREEN_6\">\n We have a no-questions-asked refund policy\n </Text>\n <Styled.RefundImageWrapper>\n <Image\n src={ILLUSTRATIONS.REFUND_POLICY}\n width={168}\n height={100}\n withLoader={false}\n />\n </Styled.RefundImageWrapper>\n </Styled.PolicyWrapper>\n </Styled.PricingWrapper>\n </Styled.Container>\n );\n }\n\n return null;\n});\n\nexport default SessionPricing;\n"],"names":["SessionPricing","memo","isTeacher","studentId","updateButtonState","useTrialSessionContext","pricingData","getTrialPricing","isProcessed","isProcessing","isProcessingFailed","useGetTrialPricing","pricingPlans","intentLevel","fetchData","useCallback","useEffect","jsx","AppLoader","Error","jsxs","Styled.Container","Separator","SlideHeader","Styled.PricingWrapper","FlexView","pricing","index","PricingCards","Styled.PolicyWrapper","Text","Styled.RefundImageWrapper","Image","ILLUSTRATIONS"],"mappings":";;;;;;;;;;;;;;AAeM,MAAAA,IAAiBC,EAAK,MAAM;AAChC,QAAM,EAAE,WAAAC,GAAW,WAAAC,GAAW,mBAAAC,MAAsBC,EAAuB,GAErE;AAAA,IACJ,MAAMC;AAAA,IACN,KAAKC;AAAA,IACL,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,oBAAAC;AAAA,EAAA,IACEC,EAAmB,oBAAoB;AAAA,IACzC,YAAYR;AAAA,EAAA,CACb,GAEK,EAAE,OAAOS,GAAc,cAAcC,EAAY,IAAIP,KAAe,IACpEQ,IAAYC,EAAY,MAAM;AAC9B,IAAAZ,KAAa,CAACK,KAChBD,EAAgB,oBAAoB,EAAE,YAAYJ,EAAW,CAAA;AAAA,EAE9D,GAAA,CAACI,GAAiBC,GAAaL,CAAS,CAAC;AAU5C,SARAa,EAAU,MAAM;AACJ,IAAAF;EAAA,GACT,CAACA,CAAS,CAAC,GAEdE,EAAU,MAAM;AACd,IAAAZ,EAAkB,SAAS,EAAE,YAAYK,GAAc,WAAW,IAAO;AAAA,EACxE,GAAA,CAACA,GAAcP,GAAWE,CAAiB,CAAC,GAE3CK,IACK,gBAAAQ,EAACC,GAAU,EAAA,QAAO,QAAQ,CAAA,IAG/BR,IACM,gBAAAO,EAAAE,GAAA,EAAM,QAAO,SAAQ,YAAYL,EAAW,CAAA,IAGlDN,IAEA,gBAAAY,EAACC,GAAA,EACC,UAAA;AAAA,IAAC,gBAAAJ,EAAAK,GAAA,EAAU,QAAQ,GAAI,CAAA;AAAA,IACvB,gBAAAL,EAACM,GAAY,EAAA,cAAc,GAAI,CAAA;AAAA,IAC/B,gBAAAH,EAACI,GAAA,EACC,UAAA;AAAA,MAAA,gBAAAP;AAAA,QAACQ;AAAA,QAAA;AAAA,UACC,QAAO;AAAA,UACP,gBAAe;AAAA,UACf,iBAAgB;AAAA,UAChB,UAAU;AAAA,UACV,WAAS;AAAA,UAER,UAAAZ,KACCD,KACA,MAAM,QAAQA,CAAY,KAC1BA,EAAa,IAAI,CAACc,GAASC,MAEvB,gBAAAV;AAAA,YAACW;AAAA,YAAA;AAAA,cAEC,YAAYD;AAAA,cACZ,YAAYd;AAAA,cACZ,eAAea;AAAA,YAAA;AAAA,YAHVC;AAAA,UAAA,CAMV;AAAA,QAAA;AAAA,MACL;AAAA,MACA,gBAAAV,EAACK,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,MACvB,gBAAAF,EAACS,GAAA,EACC,UAAA;AAAA,QAAA,gBAAAZ,EAACa,GAAK,EAAA,WAAU,YAAW,QAAO,WAAU,UAE5C,8CAAA;AAAA,QACA,gBAAAb,EAACc,GAAA,EACC,UAAA,gBAAAd;AAAA,UAACe;AAAA,UAAA;AAAA,YACC,KAAKC,EAAc;AAAA,YACnB,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,YAAY;AAAA,UAAA;AAAA,QAAA,GAEhB;AAAA,MAAA,GACF;AAAA,IAAA,GACF;AAAA,EACF,EAAA,CAAA,IAIG;AACT,CAAC;"}
|
@@ -1,14 +1,14 @@
|
|
1
1
|
import { jsxs as o, jsx as t } from "react/jsx-runtime";
|
2
|
-
import
|
3
|
-
import
|
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
|
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:
|
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(
|
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:
|
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
|
-
|
39
|
+
W as default
|
40
40
|
};
|
41
41
|
//# sourceMappingURL=stepper.js.map
|
@@ -1,33 +1,36 @@
|
|
1
|
-
import { useEffect as
|
2
|
-
import { useAwsSignedKey as
|
3
|
-
import
|
4
|
-
const
|
5
|
-
const { studentId: t, query: o } =
|
6
|
-
return
|
7
|
-
s
|
8
|
-
}, [
|
9
|
-
|
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
|
14
|
+
const i = `https://${a.bucketName}.s3.amazonaws.com/`;
|
12
15
|
try {
|
13
|
-
const
|
14
|
-
const e = new FormData(),
|
15
|
-
if (e.append("key",
|
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 `${
|
21
|
-
}),
|
22
|
-
|
23
|
+
return `${i}${m}`;
|
24
|
+
}), u = await Promise.all(l);
|
25
|
+
return n == null || n(u), u;
|
23
26
|
} catch {
|
24
|
-
|
27
|
+
p == null || p();
|
25
28
|
}
|
26
29
|
},
|
27
|
-
[
|
30
|
+
[]
|
28
31
|
);
|
29
32
|
};
|
30
33
|
export {
|
31
|
-
|
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
|
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>>;
|
@@ -799,6 +803,11 @@ declare interface ICalloutProps {
|
|
799
803
|
marginBottomX: number;
|
800
804
|
}
|
801
805
|
|
806
|
+
declare interface ICanvasUpdateConfig {
|
807
|
+
dimesion?: IViewport;
|
808
|
+
gridName?: TCueCanvasGridName;
|
809
|
+
}
|
810
|
+
|
802
811
|
declare interface ICascadeSelectValue {
|
803
812
|
variant: string;
|
804
813
|
detail: string;
|
@@ -1204,6 +1213,8 @@ declare interface ICueCanvas {
|
|
1204
1213
|
onUpdateHeight?: TUpdateHeight;
|
1205
1214
|
onPublish?: TPublish;
|
1206
1215
|
onSubscribe?: TSubscribe;
|
1216
|
+
canvasConfig?: ICanvasUpdateConfig | null;
|
1217
|
+
updateCanvasConfig?: TUpdateCanvasConfig;
|
1207
1218
|
}
|
1208
1219
|
|
1209
1220
|
declare interface ICueCanvasCallbackProps {
|
@@ -1451,7 +1462,6 @@ declare interface IGoalCurriculumMap {
|
|
1451
1462
|
program_code: string;
|
1452
1463
|
program_name: string;
|
1453
1464
|
program_id: string;
|
1454
|
-
is_live: boolean;
|
1455
1465
|
}
|
1456
1466
|
|
1457
1467
|
declare interface IGooglePlaceOption extends google.maps.places.AutocompletePrediction, ISelectOption<string> {
|
@@ -1479,6 +1489,30 @@ export declare interface IHomepageStartJourneyProps {
|
|
1479
1489
|
userType: TUserTypes;
|
1480
1490
|
}
|
1481
1491
|
|
1492
|
+
declare interface IHomeWorkControllerProps {
|
1493
|
+
width: number;
|
1494
|
+
hwRequests?: IHomeWorkHelpRequestModel[];
|
1495
|
+
onMarkAsResolved?: (homeworkId: string, onSuccess: () => void) => void;
|
1496
|
+
onSendImageToChat?: (homeworkId: string, snapshot: Blob[], onSuccess: () => void) => void;
|
1497
|
+
}
|
1498
|
+
|
1499
|
+
export declare interface IHomeWorkHelpRequestModel {
|
1500
|
+
channel_id: string;
|
1501
|
+
created_on_ts: number;
|
1502
|
+
homework_id: string;
|
1503
|
+
id: string;
|
1504
|
+
message_timestamp: string;
|
1505
|
+
problem_description: string;
|
1506
|
+
problem_image_urls: string[];
|
1507
|
+
state: string;
|
1508
|
+
student_id: string;
|
1509
|
+
teacher_id: string;
|
1510
|
+
}
|
1511
|
+
|
1512
|
+
declare interface IHomeWorkHelpRequestModelWithStudentName extends IHomeWorkHelpRequestModel {
|
1513
|
+
student_name: string;
|
1514
|
+
}
|
1515
|
+
|
1482
1516
|
declare interface IIconButtonProps extends Omit<IButtonProps, 'label' | 'shape' | 'widthX' | 'width' | 'iconPosition' | 'alignSelf' | 'analyticsLabel' | 'renderAs'>, Required<Pick<IClickableAnalyticsProps, 'analyticsLabel'>> {
|
1483
1517
|
Icon: React.FC<React.SVGProps<SVGSVGElement>>;
|
1484
1518
|
customBgColor?: TColorNames;
|
@@ -1909,7 +1943,6 @@ export declare const ILLUSTRATIONS: {
|
|
1909
1943
|
DURATION_60MIN_GRAY: string;
|
1910
1944
|
DURATION_90MIN_GRAY: string;
|
1911
1945
|
EARTH_GREEN: string;
|
1912
|
-
ELLIPSE_CLIP: string;
|
1913
1946
|
FEMALE_AVATAR: string;
|
1914
1947
|
GAME_PLAY: string;
|
1915
1948
|
GLOBE_WITH_BLUE_FILL: string;
|
@@ -2973,6 +3006,11 @@ declare interface ISheetsListProps extends ISheetItemCallbackProps {
|
|
2973
3006
|
section?: TSheetsSection;
|
2974
3007
|
}
|
2975
3008
|
|
3009
|
+
declare interface ISidebar {
|
3010
|
+
grade?: string;
|
3011
|
+
hwRequests?: IHomeWorkHelpRequestModelWithStudentName[];
|
3012
|
+
}
|
3013
|
+
|
2976
3014
|
declare interface ISignupMethodsProps {
|
2977
3015
|
onEmailSignup: () => void;
|
2978
3016
|
onPhoneSignup: () => void;
|
@@ -3341,6 +3379,8 @@ declare interface ITile {
|
|
3341
3379
|
toPort?: string;
|
3342
3380
|
toTileId: string;
|
3343
3381
|
}[];
|
3382
|
+
html?: string;
|
3383
|
+
width?: number | string;
|
3344
3384
|
}
|
3345
3385
|
|
3346
3386
|
declare interface ITimeLeftTimelineProps {
|
@@ -5571,6 +5611,8 @@ export declare type TTrialSessionMessage = {
|
|
5571
5611
|
};
|
5572
5612
|
};
|
5573
5613
|
|
5614
|
+
declare type TUpdateCanvasConfig = (data: ICanvasUpdateConfig) => void;
|
5615
|
+
|
5574
5616
|
declare type TUpdateHeight = (height: number) => void;
|
5575
5617
|
|
5576
5618
|
declare type TUserAccount = {
|
@@ -5622,12 +5664,14 @@ export declare const UpIcon: React.FC<React.SVGProps<SVGSVGElement>>;
|
|
5622
5664
|
|
5623
5665
|
export declare const useAutoPlayPermission: () => IAutoPlayPermissionContextType;
|
5624
5666
|
|
5625
|
-
export declare const useCanvasSyncBroker: (channelId: string, logEvent: (type: string, payload?: Record<string, unknown>) => void, initialCanvasData?: Array<IChannelMessage
|
5626
|
-
publishStrokes: ((message:
|
5667
|
+
export declare const useCanvasSyncBroker: (channelId: string, logEvent: (type: string, payload?: Record<string, unknown>) => void, initialCanvasData?: Array<IChannelMessage>, type?: TRenderAs_2) => {
|
5668
|
+
publishStrokes: ((message: IPublishData) => boolean) | undefined;
|
5627
5669
|
channelStatus: ChannelStatus | undefined;
|
5628
5670
|
closeChannel: () => void;
|
5629
5671
|
initialStrokesData: Record<string, IActionData[]>;
|
5630
5672
|
registerCallback: (qrId: string, cb: (data: IActionData) => void) => void;
|
5673
|
+
setChannelMetadata: ((metadata: ICanvasUpdateConfig, merge?: boolean) => void) | undefined;
|
5674
|
+
channelMetadata: ICanvasUpdateConfig | null | undefined;
|
5631
5675
|
};
|
5632
5676
|
|
5633
5677
|
export declare const useChapterPageJourney: () => {
|