@cuemath/leap 3.1.44-beta-0.2 → 3.1.44-hg2
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/features/auth/forgot-password/forgot-password-styled.js +14 -14
- package/dist/features/auth/forgot-password/forgot-password-styled.js.map +1 -1
- package/dist/features/auth/login/identifier-otp-form/identifier-otp-form-styled.js +7 -7
- package/dist/features/auth/login/identifier-otp-form/identifier-otp-form-styled.js.map +1 -1
- package/dist/features/auth/login/login-styled.js +9 -9
- package/dist/features/auth/login/login-styled.js.map +1 -1
- package/dist/features/hooks/use-viewport/use-viewport.js +8 -16
- package/dist/features/hooks/use-viewport/use-viewport.js.map +1 -1
- package/dist/features/ui/theme/constants.js +11 -0
- package/dist/features/ui/theme/constants.js.map +1 -0
- package/dist/features/ui/theme/get-device.js +6 -0
- package/dist/features/ui/theme/get-device.js.map +1 -0
- package/dist/features/ui/theme/get-theme.js +23 -21
- package/dist/features/ui/theme/get-theme.js.map +1 -1
- package/dist/features/ui/theme/layout.js +5 -3
- package/dist/features/ui/theme/layout.js.map +1 -1
- package/dist/features/ui/theme/media-queries.js +11 -0
- package/dist/features/ui/theme/media-queries.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js +43 -45
- package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-helpers.js +84 -98
- package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +66 -66
- package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.js +75 -78
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js +202 -268
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js +20 -21
- package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet.js +354 -378
- package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js +18 -20
- package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +25 -33
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-styled.js +15 -22
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +66 -85
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +32 -51
- package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
- package/dist/index.d.ts +7 -26
- package/dist/index.js +32 -34
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/features/ui/theme/device.js +0 -5
- package/dist/features/ui/theme/device.js.map +0 -1
- package/dist/features/utils/media.js +0 -16
- package/dist/features/utils/media.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { styled as t } from "styled-components";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
const
|
|
2
|
+
import p from "../../ui/buttons/button/button.js";
|
|
3
|
+
import o from "../../ui/layout/flex-view.js";
|
|
4
|
+
import { mediaQueries as i } from "../../ui/theme/media-queries.js";
|
|
5
|
+
const h = t.form`
|
|
6
6
|
display: flex;
|
|
7
7
|
flex: 1;
|
|
8
8
|
margin-top: 0;
|
|
@@ -11,28 +11,28 @@ const x = t.form`
|
|
|
11
11
|
max-width: 336px;
|
|
12
12
|
width: 100%;
|
|
13
13
|
height: 308px;
|
|
14
|
-
${
|
|
14
|
+
${i.minWidthDesktop} {
|
|
15
15
|
margin-top: 8px;
|
|
16
16
|
}
|
|
17
|
-
`,
|
|
17
|
+
`, x = t(o)`
|
|
18
18
|
margin-top: 0;
|
|
19
19
|
max-width: 336px;
|
|
20
20
|
width: 100%;
|
|
21
|
-
${
|
|
21
|
+
${i.minWidthDesktop} {
|
|
22
22
|
margin-top: 8px;
|
|
23
23
|
}
|
|
24
|
-
`,
|
|
24
|
+
`, a = t(o)`
|
|
25
25
|
min-height: 300px;
|
|
26
|
-
${
|
|
26
|
+
${i.minWidthDesktop} {
|
|
27
27
|
height: 308px;
|
|
28
28
|
}
|
|
29
|
-
`,
|
|
29
|
+
`, d = t(p)`
|
|
30
30
|
width: 100%;
|
|
31
31
|
`;
|
|
32
32
|
export {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
d as ButtonWrapper,
|
|
34
|
+
a as Container,
|
|
35
|
+
h as FormWrapper,
|
|
36
|
+
x as OtpFormWrapper
|
|
37
37
|
};
|
|
38
38
|
//# sourceMappingURL=forgot-password-styled.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forgot-password-styled.js","sources":["../../../../src/features/auth/forgot-password/forgot-password-styled.tsx"],"sourcesContent":["import { styled } from 'styled-components';\n\nimport Button from '../../ui/buttons/button/button';\nimport FlexView from '../../ui/layout/flex-view';\nimport {
|
|
1
|
+
{"version":3,"file":"forgot-password-styled.js","sources":["../../../../src/features/auth/forgot-password/forgot-password-styled.tsx"],"sourcesContent":["import { styled } from 'styled-components';\n\nimport Button from '../../ui/buttons/button/button';\nimport FlexView from '../../ui/layout/flex-view';\nimport { mediaQueries } from '../../ui/theme/media-queries';\n\nexport const FormWrapper = styled.form`\n display: flex;\n flex: 1;\n margin-top: 0;\n flex-direction: column;\n justify-content: space-between;\n max-width: 336px;\n width: 100%;\n height: 308px;\n ${mediaQueries.minWidthDesktop} {\n margin-top: 8px;\n }\n`;\n\nexport const OtpFormWrapper = styled(FlexView)`\n margin-top: 0;\n max-width: 336px;\n width: 100%;\n ${mediaQueries.minWidthDesktop} {\n margin-top: 8px;\n }\n`;\n\nexport const Container = styled(FlexView)`\n min-height: 300px;\n ${mediaQueries.minWidthDesktop} {\n height: 308px;\n }\n`;\n\nexport const ButtonWrapper = styled(Button)`\n width: 100%;\n`;\n"],"names":["FormWrapper","styled","mediaQueries","OtpFormWrapper","FlexView","Container","ButtonWrapper","Button"],"mappings":";;;;AAMO,MAAMA,IAAcC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAS9BC,EAAa,eAAe;AAAA;AAAA;AAAA,GAKnBC,IAAiBF,EAAOG,CAAQ;AAAA;AAAA;AAAA;AAAA,IAIzCF,EAAa,eAAe;AAAA;AAAA;AAAA,GAKnBG,IAAYJ,EAAOG,CAAQ;AAAA;AAAA,IAEpCF,EAAa,eAAe;AAAA;AAAA;AAAA,GAKnBI,IAAgBL,EAAOM,CAAM;AAAA;AAAA;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import t from "styled-components";
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
const
|
|
2
|
+
import i from "../../../ui/layout/flex-view.js";
|
|
3
|
+
import { mediaQueries as e } from "../../../ui/theme/media-queries.js";
|
|
4
|
+
const m = t.form`
|
|
5
5
|
display: flex;
|
|
6
6
|
flex-direction: column;
|
|
7
7
|
justify-content: space-between;
|
|
@@ -9,17 +9,17 @@ const r = t.form`
|
|
|
9
9
|
flex: 1;
|
|
10
10
|
width: 100%;
|
|
11
11
|
max-width: 336px;
|
|
12
|
-
${e.
|
|
12
|
+
${e.minWidthDesktop} {
|
|
13
13
|
margin-top: 8px;
|
|
14
14
|
}
|
|
15
|
-
`, n = t(
|
|
15
|
+
`, n = t(i)`
|
|
16
16
|
height: 300px;
|
|
17
|
-
${e.
|
|
17
|
+
${e.minWidthDesktop} {
|
|
18
18
|
height: 308px;
|
|
19
19
|
}
|
|
20
20
|
`;
|
|
21
21
|
export {
|
|
22
22
|
n as Container,
|
|
23
|
-
|
|
23
|
+
m as FormWrapper
|
|
24
24
|
};
|
|
25
25
|
//# sourceMappingURL=identifier-otp-form-styled.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identifier-otp-form-styled.js","sources":["../../../../../src/features/auth/login/identifier-otp-form/identifier-otp-form-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport {
|
|
1
|
+
{"version":3,"file":"identifier-otp-form-styled.js","sources":["../../../../../src/features/auth/login/identifier-otp-form/identifier-otp-form-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport { mediaQueries } from '../../../ui/theme/media-queries';\n\nconst FormWrapper = styled.form`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n margin-top: 0;\n flex: 1;\n width: 100%;\n max-width: 336px;\n ${mediaQueries.minWidthDesktop} {\n margin-top: 8px;\n }\n`;\n\nconst Container = styled(FlexView)`\n height: 300px;\n ${mediaQueries.minWidthDesktop} {\n height: 308px;\n }\n`;\n\nexport { FormWrapper, Container };\n"],"names":["FormWrapper","styled","mediaQueries","Container","FlexView"],"mappings":";;;AAKA,MAAMA,IAAcC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQvBC,EAAa,eAAe;AAAA;AAAA;AAAA,GAK1BC,IAAYF,EAAOG,CAAQ;AAAA;AAAA,IAE7BF,EAAa,eAAe;AAAA;AAAA;AAAA;"}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import t from "styled-components";
|
|
2
|
-
import
|
|
2
|
+
import o from "../../ui/buttons/button/button.js";
|
|
3
3
|
import m from "../../ui/layout/flex-view.js";
|
|
4
|
-
import {
|
|
5
|
-
const
|
|
4
|
+
import { mediaQueries as i } from "../../ui/theme/media-queries.js";
|
|
5
|
+
const h = t.form`
|
|
6
6
|
max-width: 336px;
|
|
7
7
|
width: 100%;
|
|
8
8
|
margin-top: 0;
|
|
9
|
-
${
|
|
9
|
+
${i.minWidthDesktop} {
|
|
10
10
|
margin-top: 8px;
|
|
11
11
|
}
|
|
12
12
|
`;
|
|
13
|
-
t(
|
|
13
|
+
t(o)`
|
|
14
14
|
max-width: 160px;
|
|
15
15
|
`;
|
|
16
|
-
const
|
|
16
|
+
const x = t(m)`
|
|
17
17
|
min-height: 300px;
|
|
18
|
-
${
|
|
18
|
+
${i.minWidthDesktop} {
|
|
19
19
|
height: 308px;
|
|
20
20
|
}
|
|
21
21
|
`;
|
|
22
22
|
export {
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
x as Container,
|
|
24
|
+
h as FormContainer
|
|
25
25
|
};
|
|
26
26
|
//# sourceMappingURL=login-styled.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-styled.js","sources":["../../../../src/features/auth/login/login-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport Button from '../../ui/buttons/button/button';\nimport FlexView from '../../ui/layout/flex-view';\nimport {
|
|
1
|
+
{"version":3,"file":"login-styled.js","sources":["../../../../src/features/auth/login/login-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport Button from '../../ui/buttons/button/button';\nimport FlexView from '../../ui/layout/flex-view';\nimport { mediaQueries } from '../../ui/theme/media-queries';\n\nexport const FormContainer = styled.form`\n max-width: 336px;\n width: 100%;\n margin-top: 0;\n ${mediaQueries.minWidthDesktop} {\n margin-top: 8px;\n }\n`;\n\nconst ButtonWrapper = styled(Button)`\n max-width: 160px;\n`;\n\nconst Container = styled(FlexView)`\n min-height: 300px;\n ${mediaQueries.minWidthDesktop} {\n height: 308px;\n }\n`;\n\nexport { ButtonWrapper, Container };\n"],"names":["FormContainer","styled","mediaQueries","Button","Container","FlexView"],"mappings":";;;;AAMO,MAAMA,IAAgBC,EAAO;AAAA;AAAA;AAAA;AAAA,IAIhCC,EAAa,eAAe;AAAA;AAAA;AAAA;AAKVD,EAAOE,CAAM;AAAA;AAAA;AAI7B,MAAAC,IAAYH,EAAOI,CAAQ;AAAA;AAAA,IAE7BH,EAAa,eAAe;AAAA;AAAA;AAAA;"}
|
|
@@ -1,21 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
const [s, o] = n(() => window.innerWidth);
|
|
5
|
-
r(() => {
|
|
6
|
-
function i() {
|
|
7
|
-
o(window.innerWidth);
|
|
8
|
-
}
|
|
9
|
-
return window.addEventListener("resize", i), () => window.removeEventListener("resize", i);
|
|
10
|
-
}, []);
|
|
11
|
-
const e = c(s), t = e === "mobile";
|
|
1
|
+
import { getTheme as t } from "../../ui/theme/get-theme.js";
|
|
2
|
+
const i = () => {
|
|
3
|
+
const { device: e } = t(), s = e === "mobile";
|
|
12
4
|
return {
|
|
13
|
-
isMobile:
|
|
14
|
-
isCompact:
|
|
15
|
-
isDesktop: e === "desktop" || e === "large" || e === "
|
|
5
|
+
isMobile: s,
|
|
6
|
+
isCompact: s || e === "tablet",
|
|
7
|
+
isDesktop: e === "desktop" || e === "large-device" || e === "xlarge-device"
|
|
16
8
|
};
|
|
17
|
-
},
|
|
9
|
+
}, n = i;
|
|
18
10
|
export {
|
|
19
|
-
|
|
11
|
+
n as default
|
|
20
12
|
};
|
|
21
13
|
//# sourceMappingURL=use-viewport.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-viewport.js","sources":["../../../../src/features/hooks/use-viewport/use-viewport.ts"],"sourcesContent":["import type { IUseViewportReturn } from './use-viewport-types';\n\nimport {
|
|
1
|
+
{"version":3,"file":"use-viewport.js","sources":["../../../../src/features/hooks/use-viewport/use-viewport.ts"],"sourcesContent":["import type { IUseViewportReturn } from './use-viewport-types';\n\nimport { getTheme } from '../../ui/theme/get-theme';\n\nconst useViewport = (): IUseViewportReturn => {\n const { device: deviceType } = getTheme();\n\n const isMobile = deviceType === 'mobile';\n const isTablet = deviceType === 'tablet';\n const isDesktop = deviceType === 'desktop';\n const isLarge = deviceType === 'large-device';\n const isXL = deviceType === 'xlarge-device';\n\n return {\n isMobile: isMobile,\n isCompact: isMobile || isTablet,\n isDesktop: isDesktop || isLarge || isXL,\n };\n};\n\nexport default useViewport;\n"],"names":["useViewport","deviceType","getTheme","isMobile","useViewport$1"],"mappings":";AAIA,MAAMA,IAAc,MAA0B;AAC5C,QAAM,EAAE,QAAQC,EAAW,IAAIC,EAAS,GAElCC,IAAWF,MAAe;AAMzB,SAAA;AAAA,IACL,UAAAE;AAAA,IACA,WAAWA,KAPIF,MAAe;AAAA,IAQ9B,WAPgBA,MAAe,aACjBA,MAAe,kBAClBA,MAAe;AAAA,EAKS;AAEvC,GAEAG,IAAeJ;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../src/features/ui/theme/constants.ts"],"sourcesContent":["export const BREAKPOINTS = {\n tablet: 760,\n smallDesktop: 920,\n desktop: 1072,\n largeDevice: 1232,\n xlargeDevice: 1424,\n};\n"],"names":["BREAKPOINTS"],"mappings":"AAAO,MAAMA,IAAc;AAAA,EACzB,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,SAAS;AAAA,EACT,aAAa;AAAA,EACb,cAAc;AAChB;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { BREAKPOINTS as r } from "./constants.js";
|
|
2
|
+
const l = (e) => e >= r.xlargeDevice ? "xlarge-device" : e >= r.largeDevice ? "large-device" : e >= r.smallDesktop ? "small-desktop" : e >= r.desktop ? "desktop" : e >= r.tablet ? "tablet" : "mobile";
|
|
3
|
+
export {
|
|
4
|
+
l as getDevice
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=get-device.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-device.js","sources":["../../../../src/features/ui/theme/get-device.ts"],"sourcesContent":["import type { TDeviceType } from '../types';\n\nimport { BREAKPOINTS } from './constants';\n\nexport const getDevice = (width: number): TDeviceType => {\n if (width >= BREAKPOINTS.xlargeDevice) return 'xlarge-device';\n\n if (width >= BREAKPOINTS.largeDevice) return 'large-device';\n\n if (width >= BREAKPOINTS.smallDesktop) return 'small-desktop';\n\n if (width >= BREAKPOINTS.desktop) return 'desktop';\n\n if (width >= BREAKPOINTS.tablet) return 'tablet';\n\n return 'mobile';\n};\n"],"names":["getDevice","width","BREAKPOINTS"],"mappings":";AAIa,MAAAA,IAAY,CAACC,MACpBA,KAASC,EAAY,eAAqB,kBAE1CD,KAASC,EAAY,cAAoB,iBAEzCD,KAASC,EAAY,eAAqB,kBAE1CD,KAASC,EAAY,UAAgB,YAErCD,KAASC,EAAY,SAAe,WAEjC;"}
|
|
@@ -1,32 +1,34 @@
|
|
|
1
1
|
import r from "./arrow-tooltip.js";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
2
|
+
import i from "./button.js";
|
|
3
|
+
import m from "./checkbox.js";
|
|
4
|
+
import g, { hues as f } from "./clrs.js";
|
|
5
|
+
import { getDevice as n } from "./get-device.js";
|
|
6
|
+
import p from "./input.js";
|
|
7
|
+
import u from "./layout.js";
|
|
8
|
+
import { mediaQueries as c } from "./media-queries.js";
|
|
9
|
+
import x from "./tab.js";
|
|
9
10
|
import C from "./text.js";
|
|
10
|
-
import
|
|
11
|
-
import { getZIndexConfig as
|
|
12
|
-
const
|
|
13
|
-
const t =
|
|
11
|
+
import s from "./text-button.js";
|
|
12
|
+
import { getZIndexConfig as T } from "./z-index.js";
|
|
13
|
+
const A = () => {
|
|
14
|
+
const t = u(), { gutter: o, deviceWidth: e } = t;
|
|
14
15
|
return {
|
|
15
16
|
arrowTooltip: r(),
|
|
16
|
-
button:
|
|
17
|
-
colors:
|
|
18
|
-
hues:
|
|
19
|
-
input:
|
|
20
|
-
checkbox:
|
|
17
|
+
button: i(o),
|
|
18
|
+
colors: g(),
|
|
19
|
+
hues: f,
|
|
20
|
+
input: p(o),
|
|
21
|
+
checkbox: m(o),
|
|
21
22
|
layout: t,
|
|
22
|
-
tab:
|
|
23
|
+
tab: x(t.gutter),
|
|
23
24
|
text: C(),
|
|
24
|
-
textButton:
|
|
25
|
-
zIndex:
|
|
26
|
-
device: n()
|
|
25
|
+
textButton: s(),
|
|
26
|
+
zIndex: T(),
|
|
27
|
+
device: n(e),
|
|
28
|
+
mediaQueries: c
|
|
27
29
|
};
|
|
28
30
|
};
|
|
29
31
|
export {
|
|
30
|
-
|
|
32
|
+
A as getTheme
|
|
31
33
|
};
|
|
32
34
|
//# sourceMappingURL=get-theme.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-theme.js","sources":["../../../../src/features/ui/theme/get-theme.ts"],"sourcesContent":["import type { DefaultTheme } from 'styled-components';\n\nimport getArrowTooltipConfig from './arrow-tooltip';\nimport getButtonConfig from './button';\nimport getCheckboxConfig from './checkbox';\nimport getColors, { hues } from './clrs';\nimport {
|
|
1
|
+
{"version":3,"file":"get-theme.js","sources":["../../../../src/features/ui/theme/get-theme.ts"],"sourcesContent":["import type { DefaultTheme } from 'styled-components';\n\nimport getArrowTooltipConfig from './arrow-tooltip';\nimport getButtonConfig from './button';\nimport getCheckboxConfig from './checkbox';\nimport getColors, { hues } from './clrs';\nimport { getDevice } from './get-device';\nimport getInputConfig from './input';\nimport getLayout from './layout';\nimport { mediaQueries } from './media-queries';\nimport getTabConfig from './tab';\nimport getTextTypes from './text';\nimport getTextButtonConfig from './text-button';\nimport { getZIndexConfig } from './z-index';\n\nconst getTheme: () => DefaultTheme = () => {\n const layout = getLayout();\n const { gutter, deviceWidth } = layout;\n\n return {\n arrowTooltip: getArrowTooltipConfig(),\n button: getButtonConfig(gutter),\n colors: getColors(),\n hues: hues,\n input: getInputConfig(gutter),\n checkbox: getCheckboxConfig(gutter),\n layout,\n tab: getTabConfig(layout.gutter),\n text: getTextTypes(),\n textButton: getTextButtonConfig(),\n zIndex: getZIndexConfig(),\n device: getDevice(deviceWidth),\n mediaQueries,\n };\n};\n\nexport { getTheme };\n"],"names":["getTheme","layout","getLayout","gutter","deviceWidth","getArrowTooltipConfig","getButtonConfig","getColors","hues","getInputConfig","getCheckboxConfig","getTabConfig","getTextTypes","getTextButtonConfig","getZIndexConfig","getDevice","mediaQueries"],"mappings":";;;;;;;;;;;;AAeA,MAAMA,IAA+B,MAAM;AACzC,QAAMC,IAASC,KACT,EAAE,QAAAC,GAAQ,aAAAC,EAAgB,IAAAH;AAEzB,SAAA;AAAA,IACL,cAAcI,EAAsB;AAAA,IACpC,QAAQC,EAAgBH,CAAM;AAAA,IAC9B,QAAQI,EAAU;AAAA,IAClB,MAAAC;AAAA,IACA,OAAOC,EAAeN,CAAM;AAAA,IAC5B,UAAUO,EAAkBP,CAAM;AAAA,IAClC,QAAAF;AAAA,IACA,KAAKU,EAAaV,EAAO,MAAM;AAAA,IAC/B,MAAMW,EAAa;AAAA,IACnB,YAAYC,EAAoB;AAAA,IAChC,QAAQC,EAAgB;AAAA,IACxB,QAAQC,EAAUX,CAAW;AAAA,IAC7B,cAAAY;AAAA,EAAA;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sources":["../../../../src/features/ui/theme/layout.ts"],"sourcesContent":["import type { ILayout } from '../types';\n\nfunction getLayout(
|
|
1
|
+
{"version":3,"file":"layout.js","sources":["../../../../src/features/ui/theme/layout.ts"],"sourcesContent":["import type { ILayout } from '../types';\n\nfunction getLayout(): ILayout {\n const multiplier = 1;\n\n // TODO: handle multiplier logic based on the width and height\n\n return {\n gutter: 16 * multiplier,\n deviceWidth: window.innerWidth,\n deviceHeight: window.innerHeight,\n };\n}\n\nexport default getLayout;\n"],"names":["getLayout"],"mappings":"AAEA,SAASA,IAAqB;AAKrB,SAAA;AAAA,IACL,QAAQ,KAAK;AAAA,IACb,aAAa,OAAO;AAAA,IACpB,cAAc,OAAO;AAAA,EAAA;AAEzB;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BREAKPOINTS as i } from "./constants.js";
|
|
2
|
+
const t = {
|
|
3
|
+
minWidthTablet: `@media (min-width: ${i.tablet}px)`,
|
|
4
|
+
minWidthSmallDesktop: `@media (min-width: ${i.smallDesktop}px)`,
|
|
5
|
+
minWidthDesktop: `@media (min-width: ${i.desktop}px)`,
|
|
6
|
+
minWidthLargeDevice: `@media (min-width: ${i.largeDevice}px)`
|
|
7
|
+
};
|
|
8
|
+
export {
|
|
9
|
+
t as mediaQueries
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=media-queries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media-queries.js","sources":["../../../../src/features/ui/theme/media-queries.ts"],"sourcesContent":["import { BREAKPOINTS } from './constants';\n\nexport const mediaQueries = {\n minWidthTablet: `@media (min-width: ${BREAKPOINTS.tablet}px)`,\n minWidthSmallDesktop: `@media (min-width: ${BREAKPOINTS.smallDesktop}px)`,\n minWidthDesktop: `@media (min-width: ${BREAKPOINTS.desktop}px)`,\n minWidthLargeDevice: `@media (min-width: ${BREAKPOINTS.largeDevice}px)`,\n};\n"],"names":["mediaQueries","BREAKPOINTS"],"mappings":";AAEO,MAAMA,IAAe;AAAA,EAC1B,gBAAgB,sBAAsBC,EAAY,MAAM;AAAA,EACxD,sBAAsB,sBAAsBA,EAAY,YAAY;AAAA,EACpE,iBAAiB,sBAAsBA,EAAY,OAAO;AAAA,EAC1D,qBAAqB,sBAAsBA,EAAY,WAAW;AACpE;"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { jsx as e, jsxs as b, Fragment as B } from "react/jsx-runtime";
|
|
2
|
-
import { memo as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import { scrollToQuestion as
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import { IconContainer as
|
|
14
|
-
import
|
|
15
|
-
const
|
|
2
|
+
import { memo as L, useState as M, useCallback as i } from "react";
|
|
3
|
+
import Y from "../../../../assets/line-icons/icons/calculator.js";
|
|
4
|
+
import Z from "../../../../assets/line-icons/icons/down.js";
|
|
5
|
+
import ee from "../../../../assets/line-icons/icons/up.js";
|
|
6
|
+
import oe from "../../../cue-canvas/toolbar/toolbar.js";
|
|
7
|
+
import ne from "../../../ui/buttons/button/button.js";
|
|
8
|
+
import te from "../../../ui/layout/flex-view.js";
|
|
9
|
+
import { scrollToQuestion as se } from "../worksheet-helpers.js";
|
|
10
|
+
import ie from "../worksheet-questions-controller/scribble-switch.js";
|
|
11
|
+
import re from "../worksheet-questions-controller/worksheet-questions-controller.js";
|
|
12
|
+
import ae from "../worksheet-questions-summary/worksheet-questions-summary.js";
|
|
13
|
+
import { IconContainer as le, SummaryWrapper as me } from "../worksheet-styled.js";
|
|
14
|
+
import ce from "../worksheet-summary-controller/worksheet-summary-controller.js";
|
|
15
|
+
const ve = L(($) => {
|
|
16
16
|
const {
|
|
17
17
|
userType: m,
|
|
18
18
|
layout: f,
|
|
@@ -37,89 +37,88 @@ const xe = M(($) => {
|
|
|
37
37
|
onItemNumberClick: C,
|
|
38
38
|
onTeacherValidation: N,
|
|
39
39
|
onGoToReview: I,
|
|
40
|
-
onResponseChange:
|
|
41
|
-
onHelp:
|
|
40
|
+
onResponseChange: D,
|
|
41
|
+
onHelp: E,
|
|
42
42
|
onSubmit: a,
|
|
43
|
-
onCalculatorOpen:
|
|
43
|
+
onCalculatorOpen: U,
|
|
44
44
|
canSubmitWorksheet: g,
|
|
45
45
|
loggerRef: y,
|
|
46
46
|
onSkip: _,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
} = $, { navigationBar: P, questionsScrollable: w } = f, p = o[s], { response_id: l } = p ?? {}, [Q, d] = Y(!1), X = l ? W.includes(l) : !1, J = i(
|
|
47
|
+
canToggleScribbling: z
|
|
48
|
+
} = $, { navigationBar: H, questionsScrollable: w } = f, p = o[s], { response_id: l } = p ?? {}, [Q, d] = M(!1), P = l ? W.includes(l) : !1, X = i(
|
|
50
49
|
(n) => {
|
|
51
50
|
d(!1), C(n);
|
|
52
51
|
},
|
|
53
52
|
[C]
|
|
54
|
-
),
|
|
53
|
+
), J = i(() => {
|
|
55
54
|
d(!1), I();
|
|
56
55
|
}, [I]), v = i(() => {
|
|
57
56
|
d((n) => !n);
|
|
58
|
-
}, []),
|
|
57
|
+
}, []), K = i(() => {
|
|
59
58
|
var T;
|
|
60
59
|
u(!1);
|
|
61
60
|
const n = (T = o[o.length - 1]) == null ? void 0 : T.response_id;
|
|
62
|
-
n && (w ? requestAnimationFrame(() =>
|
|
61
|
+
n && (w ? requestAnimationFrame(() => se(n)) : c(n));
|
|
63
62
|
}, [o, w, c, u]), x = i(() => {
|
|
64
63
|
a == null || a(t);
|
|
65
64
|
}, [a, t]);
|
|
66
65
|
return k ? /* @__PURE__ */ e(
|
|
67
|
-
|
|
66
|
+
ce,
|
|
68
67
|
{
|
|
69
|
-
onBack:
|
|
68
|
+
onBack: K,
|
|
70
69
|
behavior: r,
|
|
71
70
|
onSubmit: x,
|
|
72
71
|
canSubmitWorksheet: !!g
|
|
73
72
|
}
|
|
74
73
|
) : /* @__PURE__ */ b(B, { children: [
|
|
75
|
-
/* @__PURE__ */ b(
|
|
74
|
+
/* @__PURE__ */ b(te, { $flexDirection: "row", $flexGap: 12, children: [
|
|
76
75
|
/* @__PURE__ */ e(
|
|
77
|
-
|
|
76
|
+
ie,
|
|
78
77
|
{
|
|
79
78
|
isScribblingEnabled: S,
|
|
80
79
|
setIsScribblingEnabled: O,
|
|
81
80
|
isCanvasEnabled: R,
|
|
82
81
|
loggerRef: y,
|
|
83
|
-
canToggleScribbling:
|
|
82
|
+
canToggleScribbling: z
|
|
84
83
|
}
|
|
85
84
|
),
|
|
86
85
|
r.canShowDesmosCalc && /* @__PURE__ */ e(
|
|
87
|
-
|
|
86
|
+
le,
|
|
88
87
|
{
|
|
89
88
|
$active: G,
|
|
90
89
|
$alignItems: "center",
|
|
91
90
|
$justifyContent: "space-between",
|
|
92
|
-
onClick:
|
|
93
|
-
children: /* @__PURE__ */ e(
|
|
91
|
+
onClick: U,
|
|
92
|
+
children: /* @__PURE__ */ e(Y, {})
|
|
94
93
|
}
|
|
95
94
|
)
|
|
96
95
|
] }),
|
|
97
|
-
S && /* @__PURE__ */ e(
|
|
98
|
-
|
|
99
|
-
Q && /* @__PURE__ */ e(
|
|
100
|
-
|
|
96
|
+
S && /* @__PURE__ */ e(oe, { userType: m, renderAs: "canvas" }),
|
|
97
|
+
H === "bottom" && /* @__PURE__ */ b(B, { children: [
|
|
98
|
+
Q && /* @__PURE__ */ e(me, { $alignItems: "center", children: /* @__PURE__ */ e(
|
|
99
|
+
ae,
|
|
101
100
|
{
|
|
102
101
|
activeQuestionIndex: s,
|
|
103
102
|
lastUnlockedQuestionIndex: h,
|
|
104
|
-
onItemNumberClick:
|
|
103
|
+
onItemNumberClick: X,
|
|
105
104
|
questions: o,
|
|
106
105
|
responses: t,
|
|
107
106
|
worksheetName: A,
|
|
108
107
|
behavior: r,
|
|
109
108
|
userType: m,
|
|
110
109
|
onClose: v,
|
|
111
|
-
onGoToReview:
|
|
110
|
+
onGoToReview: J,
|
|
112
111
|
summaryVisible: k
|
|
113
112
|
}
|
|
114
113
|
) }),
|
|
115
114
|
/* @__PURE__ */ e(
|
|
116
|
-
|
|
115
|
+
ne,
|
|
117
116
|
{
|
|
118
117
|
renderAs: "secondary",
|
|
119
118
|
widthX: 13.25,
|
|
120
119
|
label: `Question ${s + 1} of ${o.length}`,
|
|
121
120
|
size: "small",
|
|
122
|
-
Icon: Q ?
|
|
121
|
+
Icon: Q ? Z : ee,
|
|
123
122
|
iconPosition: "right",
|
|
124
123
|
justifyContent: "space-between",
|
|
125
124
|
onClick: v
|
|
@@ -127,7 +126,7 @@ const xe = M(($) => {
|
|
|
127
126
|
)
|
|
128
127
|
] }),
|
|
129
128
|
p && l && /* @__PURE__ */ e(
|
|
130
|
-
|
|
129
|
+
re,
|
|
131
130
|
{
|
|
132
131
|
learnosity: q,
|
|
133
132
|
question: p,
|
|
@@ -135,17 +134,16 @@ const xe = M(($) => {
|
|
|
135
134
|
responses: t,
|
|
136
135
|
canSubmitWorksheet: g,
|
|
137
136
|
questionIndex: s,
|
|
138
|
-
isQuestionAppended:
|
|
137
|
+
isQuestionAppended: P,
|
|
139
138
|
isQuestionUnlocked: s <= h,
|
|
140
139
|
response: t[l],
|
|
141
140
|
behavior: r,
|
|
142
141
|
userType: m,
|
|
143
142
|
layout: f,
|
|
144
|
-
onResponseChange:
|
|
143
|
+
onResponseChange: D,
|
|
145
144
|
onTeacherValidation: N,
|
|
146
|
-
onHelp:
|
|
145
|
+
onHelp: E,
|
|
147
146
|
onSubmit: x,
|
|
148
|
-
onUnassign: z,
|
|
149
147
|
setActiveQuestionId: c,
|
|
150
148
|
setBlocker: F,
|
|
151
149
|
setSummaryVisible: u,
|
|
@@ -158,6 +156,6 @@ const xe = M(($) => {
|
|
|
158
156
|
] });
|
|
159
157
|
});
|
|
160
158
|
export {
|
|
161
|
-
|
|
159
|
+
ve as default
|
|
162
160
|
};
|
|
163
161
|
//# sourceMappingURL=worksheet-action-bar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worksheet-action-bar.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.tsx"],"sourcesContent":["import type { IWorksheetActionBarProps } from './worksheet-action-bar-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport CalculatorIcon from '../../../../assets/line-icons/icons/calculator';\nimport DownIcon from '../../../../assets/line-icons/icons/down';\nimport UpIcon from '../../../../assets/line-icons/icons/up';\nimport Toolbar from '../../../cue-canvas/toolbar/toolbar';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport { scrollToQuestion } from '../worksheet-helpers';\nimport ScribbleSwitch from '../worksheet-questions-controller/scribble-switch';\nimport WorksheetQuestionsController from '../worksheet-questions-controller/worksheet-questions-controller';\nimport WorksheetQuestionsSummary from '../worksheet-questions-summary/worksheet-questions-summary';\nimport * as Styled from '../worksheet-styled';\nimport WorksheetSummaryController from '../worksheet-summary-controller/worksheet-summary-controller';\n\nconst WorksheetActionBar: FC<IWorksheetActionBarProps> = memo(props => {\n const {\n userType,\n layout,\n behavior,\n worksheetName,\n questions,\n responses,\n activeQuestionIndex,\n lastUnlockedQuestionIndex,\n appendedQuestionIds,\n learnosity,\n isCanvasEnabled,\n isScribblingEnabled,\n isSummaryVisible,\n setIsScribblingEnabled,\n setActiveQuestionId,\n setResponses,\n getTimeSpentOnQuestion,\n setBlocker,\n setSummaryVisible,\n showCalculator,\n onItemNumberClick,\n onTeacherValidation,\n onGoToReview,\n onResponseChange,\n onHelp,\n onSubmit,\n onCalculatorOpen,\n canSubmitWorksheet,\n loggerRef,\n onSkip,\n onUnassign,\n canToggleScribbling,\n } = props;\n const { navigationBar, questionsScrollable } = layout;\n const activeQuestion = questions[activeQuestionIndex];\n const { response_id: activeQuestionId } = activeQuestion ?? {};\n const [isSummaryOpened, setIsSummaryOpened] = useState(false);\n const isAppended = activeQuestionId ? appendedQuestionIds.includes(activeQuestionId) : false;\n\n const handleItemNumberClick = useCallback(\n (questionId: string) => {\n setIsSummaryOpened(false);\n onItemNumberClick(questionId);\n },\n [onItemNumberClick],\n );\n\n const handleOnGoToReview = useCallback(() => {\n setIsSummaryOpened(false);\n onGoToReview();\n }, [onGoToReview]);\n\n const handleSummaryButtonClick = useCallback(() => {\n setIsSummaryOpened(prev => !prev);\n }, []);\n\n const handleBackFromSummary = useCallback(() => {\n setSummaryVisible(false);\n\n const questionId = questions[questions.length - 1]?.response_id;\n\n if (questionId) {\n if (questionsScrollable) {\n requestAnimationFrame(() => scrollToQuestion(questionId));\n } else {\n setActiveQuestionId(questionId);\n }\n }\n }, [questions, questionsScrollable, setActiveQuestionId, setSummaryVisible]);\n\n const handleSheetSubmitButtonClick = useCallback(() => {\n onSubmit?.(responses);\n }, [onSubmit, responses]);\n\n if (isSummaryVisible) {\n return (\n <WorksheetSummaryController\n onBack={handleBackFromSummary}\n behavior={behavior}\n onSubmit={handleSheetSubmitButtonClick}\n canSubmitWorksheet={!!canSubmitWorksheet}\n />\n );\n }\n\n return (\n <>\n <FlexView $flexDirection=\"row\" $flexGap={12}>\n <ScribbleSwitch\n isScribblingEnabled={isScribblingEnabled}\n setIsScribblingEnabled={setIsScribblingEnabled}\n isCanvasEnabled={isCanvasEnabled}\n loggerRef={loggerRef}\n canToggleScribbling={canToggleScribbling}\n />\n {behavior.canShowDesmosCalc && (\n <Styled.IconContainer\n $active={showCalculator}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n onClick={onCalculatorOpen}\n >\n <CalculatorIcon />\n </Styled.IconContainer>\n )}\n </FlexView>\n {isScribblingEnabled && <Toolbar userType={userType} renderAs=\"canvas\" />}\n {navigationBar === 'bottom' && (\n <>\n {isSummaryOpened && (\n <Styled.SummaryWrapper $alignItems=\"center\">\n <WorksheetQuestionsSummary\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n onItemNumberClick={handleItemNumberClick}\n questions={questions}\n responses={responses}\n worksheetName={worksheetName}\n behavior={behavior}\n userType={userType}\n onClose={handleSummaryButtonClick}\n onGoToReview={handleOnGoToReview}\n summaryVisible={isSummaryVisible}\n />\n </Styled.SummaryWrapper>\n )}\n <Button\n renderAs=\"secondary\"\n widthX={13.25}\n label={`Question ${activeQuestionIndex + 1} of ${questions.length}`}\n size=\"small\"\n Icon={isSummaryOpened ? DownIcon : UpIcon}\n iconPosition=\"right\"\n justifyContent=\"space-between\"\n onClick={handleSummaryButtonClick}\n />\n </>\n )}\n {activeQuestion && activeQuestionId && (\n <WorksheetQuestionsController\n learnosity={learnosity}\n question={activeQuestion}\n questions={questions}\n responses={responses}\n canSubmitWorksheet={canSubmitWorksheet}\n questionIndex={activeQuestionIndex}\n isQuestionAppended={isAppended}\n isQuestionUnlocked={activeQuestionIndex <= lastUnlockedQuestionIndex}\n response={responses[activeQuestionId]}\n behavior={behavior}\n userType={userType}\n layout={layout}\n onResponseChange={onResponseChange}\n onTeacherValidation={onTeacherValidation}\n onHelp={onHelp}\n onSubmit={handleSheetSubmitButtonClick}\n onUnassign={onUnassign}\n setActiveQuestionId={setActiveQuestionId}\n setBlocker={setBlocker}\n setSummaryVisible={setSummaryVisible}\n setResponses={setResponses}\n getTimeSpentOnQuestion={getTimeSpentOnQuestion}\n loggerRef={loggerRef}\n onSkip={onSkip}\n />\n )}\n </>\n );\n});\n\nexport default WorksheetActionBar;\n"],"names":["WorksheetActionBar","memo","props","userType","layout","behavior","worksheetName","questions","responses","activeQuestionIndex","lastUnlockedQuestionIndex","appendedQuestionIds","learnosity","isCanvasEnabled","isScribblingEnabled","isSummaryVisible","setIsScribblingEnabled","setActiveQuestionId","setResponses","getTimeSpentOnQuestion","setBlocker","setSummaryVisible","showCalculator","onItemNumberClick","onTeacherValidation","onGoToReview","onResponseChange","onHelp","onSubmit","onCalculatorOpen","canSubmitWorksheet","loggerRef","onSkip","onUnassign","canToggleScribbling","navigationBar","questionsScrollable","activeQuestion","activeQuestionId","isSummaryOpened","setIsSummaryOpened","useState","isAppended","handleItemNumberClick","useCallback","questionId","handleOnGoToReview","handleSummaryButtonClick","prev","handleBackFromSummary","_a","scrollToQuestion","handleSheetSubmitButtonClick","jsx","WorksheetSummaryController","jsxs","Fragment","FlexView","ScribbleSwitch","Styled.IconContainer","CalculatorIcon","Toolbar","Styled.SummaryWrapper","WorksheetQuestionsSummary","Button","DownIcon","UpIcon","WorksheetQuestionsController"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worksheet-action-bar.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.tsx"],"sourcesContent":["import type { IWorksheetActionBarProps } from './worksheet-action-bar-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport CalculatorIcon from '../../../../assets/line-icons/icons/calculator';\nimport DownIcon from '../../../../assets/line-icons/icons/down';\nimport UpIcon from '../../../../assets/line-icons/icons/up';\nimport Toolbar from '../../../cue-canvas/toolbar/toolbar';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport { scrollToQuestion } from '../worksheet-helpers';\nimport ScribbleSwitch from '../worksheet-questions-controller/scribble-switch';\nimport WorksheetQuestionsController from '../worksheet-questions-controller/worksheet-questions-controller';\nimport WorksheetQuestionsSummary from '../worksheet-questions-summary/worksheet-questions-summary';\nimport * as Styled from '../worksheet-styled';\nimport WorksheetSummaryController from '../worksheet-summary-controller/worksheet-summary-controller';\n\nconst WorksheetActionBar: FC<IWorksheetActionBarProps> = memo(props => {\n const {\n userType,\n layout,\n behavior,\n worksheetName,\n questions,\n responses,\n activeQuestionIndex,\n lastUnlockedQuestionIndex,\n appendedQuestionIds,\n learnosity,\n isCanvasEnabled,\n isScribblingEnabled,\n isSummaryVisible,\n setIsScribblingEnabled,\n setActiveQuestionId,\n setResponses,\n getTimeSpentOnQuestion,\n setBlocker,\n setSummaryVisible,\n showCalculator,\n onItemNumberClick,\n onTeacherValidation,\n onGoToReview,\n onResponseChange,\n onHelp,\n onSubmit,\n onCalculatorOpen,\n canSubmitWorksheet,\n loggerRef,\n onSkip,\n canToggleScribbling,\n } = props;\n const { navigationBar, questionsScrollable } = layout;\n const activeQuestion = questions[activeQuestionIndex];\n const { response_id: activeQuestionId } = activeQuestion ?? {};\n const [isSummaryOpened, setIsSummaryOpened] = useState(false);\n const isAppended = activeQuestionId ? appendedQuestionIds.includes(activeQuestionId) : false;\n\n const handleItemNumberClick = useCallback(\n (questionId: string) => {\n setIsSummaryOpened(false);\n onItemNumberClick(questionId);\n },\n [onItemNumberClick],\n );\n\n const handleOnGoToReview = useCallback(() => {\n setIsSummaryOpened(false);\n onGoToReview();\n }, [onGoToReview]);\n\n const handleSummaryButtonClick = useCallback(() => {\n setIsSummaryOpened(prev => !prev);\n }, []);\n\n const handleBackFromSummary = useCallback(() => {\n setSummaryVisible(false);\n\n const questionId = questions[questions.length - 1]?.response_id;\n\n if (questionId) {\n if (questionsScrollable) {\n requestAnimationFrame(() => scrollToQuestion(questionId));\n } else {\n setActiveQuestionId(questionId);\n }\n }\n }, [questions, questionsScrollable, setActiveQuestionId, setSummaryVisible]);\n\n const handleSheetSubmitButtonClick = useCallback(() => {\n onSubmit?.(responses);\n }, [onSubmit, responses]);\n\n if (isSummaryVisible) {\n return (\n <WorksheetSummaryController\n onBack={handleBackFromSummary}\n behavior={behavior}\n onSubmit={handleSheetSubmitButtonClick}\n canSubmitWorksheet={!!canSubmitWorksheet}\n />\n );\n }\n\n return (\n <>\n <FlexView $flexDirection=\"row\" $flexGap={12}>\n <ScribbleSwitch\n isScribblingEnabled={isScribblingEnabled}\n setIsScribblingEnabled={setIsScribblingEnabled}\n isCanvasEnabled={isCanvasEnabled}\n loggerRef={loggerRef}\n canToggleScribbling={canToggleScribbling}\n />\n {behavior.canShowDesmosCalc && (\n <Styled.IconContainer\n $active={showCalculator}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n onClick={onCalculatorOpen}\n >\n <CalculatorIcon />\n </Styled.IconContainer>\n )}\n </FlexView>\n {isScribblingEnabled && <Toolbar userType={userType} renderAs=\"canvas\" />}\n {navigationBar === 'bottom' && (\n <>\n {isSummaryOpened && (\n <Styled.SummaryWrapper $alignItems=\"center\">\n <WorksheetQuestionsSummary\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n onItemNumberClick={handleItemNumberClick}\n questions={questions}\n responses={responses}\n worksheetName={worksheetName}\n behavior={behavior}\n userType={userType}\n onClose={handleSummaryButtonClick}\n onGoToReview={handleOnGoToReview}\n summaryVisible={isSummaryVisible}\n />\n </Styled.SummaryWrapper>\n )}\n <Button\n renderAs=\"secondary\"\n widthX={13.25}\n label={`Question ${activeQuestionIndex + 1} of ${questions.length}`}\n size=\"small\"\n Icon={isSummaryOpened ? DownIcon : UpIcon}\n iconPosition=\"right\"\n justifyContent=\"space-between\"\n onClick={handleSummaryButtonClick}\n />\n </>\n )}\n {activeQuestion && activeQuestionId && (\n <WorksheetQuestionsController\n learnosity={learnosity}\n question={activeQuestion}\n questions={questions}\n responses={responses}\n canSubmitWorksheet={canSubmitWorksheet}\n questionIndex={activeQuestionIndex}\n isQuestionAppended={isAppended}\n isQuestionUnlocked={activeQuestionIndex <= lastUnlockedQuestionIndex}\n response={responses[activeQuestionId]}\n behavior={behavior}\n userType={userType}\n layout={layout}\n onResponseChange={onResponseChange}\n onTeacherValidation={onTeacherValidation}\n onHelp={onHelp}\n onSubmit={handleSheetSubmitButtonClick}\n setActiveQuestionId={setActiveQuestionId}\n setBlocker={setBlocker}\n setSummaryVisible={setSummaryVisible}\n setResponses={setResponses}\n getTimeSpentOnQuestion={getTimeSpentOnQuestion}\n loggerRef={loggerRef}\n onSkip={onSkip}\n />\n )}\n </>\n );\n});\n\nexport default WorksheetActionBar;\n"],"names":["WorksheetActionBar","memo","props","userType","layout","behavior","worksheetName","questions","responses","activeQuestionIndex","lastUnlockedQuestionIndex","appendedQuestionIds","learnosity","isCanvasEnabled","isScribblingEnabled","isSummaryVisible","setIsScribblingEnabled","setActiveQuestionId","setResponses","getTimeSpentOnQuestion","setBlocker","setSummaryVisible","showCalculator","onItemNumberClick","onTeacherValidation","onGoToReview","onResponseChange","onHelp","onSubmit","onCalculatorOpen","canSubmitWorksheet","loggerRef","onSkip","canToggleScribbling","navigationBar","questionsScrollable","activeQuestion","activeQuestionId","isSummaryOpened","setIsSummaryOpened","useState","isAppended","handleItemNumberClick","useCallback","questionId","handleOnGoToReview","handleSummaryButtonClick","prev","handleBackFromSummary","_a","scrollToQuestion","handleSheetSubmitButtonClick","jsx","WorksheetSummaryController","jsxs","Fragment","FlexView","ScribbleSwitch","Styled.IconContainer","CalculatorIcon","Toolbar","Styled.SummaryWrapper","WorksheetQuestionsSummary","Button","DownIcon","UpIcon","WorksheetQuestionsController"],"mappings":"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"}
|