@cuemath/leap 3.1.2-j2 → 3.1.2
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 +2 -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/auth/account-selector/account-selector.js +36 -56
- package/dist/features/auth/account-selector/account-selector.js.map +1 -1
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout-styles.js +12 -0
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout-styles.js.map +1 -0
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js +9 -8
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js.map +1 -1
- package/dist/features/auth/comps/auth-static-panel/auth-static-panel.js +1 -1
- package/dist/features/auth/comps/auth-static-panel/auth-static-panel.js.map +1 -1
- package/dist/features/auth/forgot-password/forgot-password-styled.js +3 -15
- package/dist/features/auth/forgot-password/forgot-password-styled.js.map +1 -1
- package/dist/features/auth/forgot-password/otp-form/otp-form.js +29 -29
- package/dist/features/auth/forgot-password/otp-form/otp-form.js.map +1 -1
- package/dist/features/auth/forgot-password/reset-password-form/reset-password-form.js +18 -14
- package/dist/features/auth/forgot-password/reset-password-form/reset-password-form.js.map +1 -1
- package/dist/features/auth/forgot-password/user-identifier-form/user-identifier-form.js +24 -23
- package/dist/features/auth/forgot-password/user-identifier-form/user-identifier-form.js.map +1 -1
- package/dist/features/auth/login/identifier-otp-form/identifier-otp-form-styled.js +2 -4
- package/dist/features/auth/login/identifier-otp-form/identifier-otp-form-styled.js.map +1 -1
- package/dist/features/auth/login/identifier-otp-form/identifier-otp-form.js +75 -85
- package/dist/features/auth/login/identifier-otp-form/identifier-otp-form.js.map +1 -1
- package/dist/features/auth/login/social-account-not-found/social-account-not-found.js +20 -26
- package/dist/features/auth/login/social-account-not-found/social-account-not-found.js.map +1 -1
- package/dist/features/auth/login/social-login-methods/social-login-methods.js +34 -43
- package/dist/features/auth/login/social-login-methods/social-login-methods.js.map +1 -1
- package/dist/features/auth/login/username-password-form/username-password-form.js +21 -22
- package/dist/features/auth/login/username-password-form/username-password-form.js.map +1 -1
- package/dist/features/auth/user-list/user-item/user-item.js +24 -25
- package/dist/features/auth/user-list/user-item/user-item.js.map +1 -1
- package/dist/features/auth/user-list/user-list.js +51 -60
- package/dist/features/auth/user-list/user-list.js.map +1 -1
- package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js +74 -74
- package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js.map +1 -1
- 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 +84 -74
- 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 +66 -59
- 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-config-updater.js +12 -0
- package/dist/features/cue-canvas/hooks/use-config-updater.js.map +1 -0
- 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 +5 -4
- 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 +38 -36
- 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 +24 -22
- 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 +23 -22
- 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 +49 -47
- 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 +94 -87
- 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 +13 -12
- 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 +23 -21
- 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 +165 -162
- package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
- package/dist/features/trial-session/comps/pricing/india-pricing/index.js +96 -0
- package/dist/features/trial-session/comps/pricing/india-pricing/index.js.map +1 -0
- package/dist/features/trial-session/comps/pricing/india-pricing/india-pricing-styled.js +59 -0
- package/dist/features/trial-session/comps/pricing/india-pricing/india-pricing-styled.js.map +1 -0
- package/dist/features/trial-session/comps/pricing/pricing.js +36 -35
- package/dist/features/trial-session/comps/pricing/pricing.js.map +1 -1
- package/dist/features/ui/buttons/button/button-styled.js +29 -29
- package/dist/features/ui/buttons/button/button-styled.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 +54 -24
- package/dist/index.js +202 -202
- package/dist/static/ellipse-clip.dfb25608.svg +1 -0
- package/package.json +1 -1
- package/dist/features/auth/account-selector/account-selector-styled.js +0 -9
- package/dist/features/auth/account-selector/account-selector-styled.js.map +0 -1
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout-styled.js +0 -21
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout-styled.js.map +0 -1
- package/dist/features/auth/login/login-styled.js +0 -13
- package/dist/features/auth/login/login-styled.js.map +0 -1
- package/dist/features/auth/login/social-login-methods/social-login-methods-styled.js +0 -9
- package/dist/features/auth/login/social-login-methods/social-login-methods-styled.js.map +0 -1
- package/dist/features/hooks/use-device-type.js +0 -25
- package/dist/features/hooks/use-device-type.js.map +0 -1
- package/dist/features/utils/media.js +0 -16
- package/dist/features/utils/media.js.map +0 -1
- package/dist/static/cuemath-app-qr-code.7205ee79.svg +0 -1
@@ -1,27 +1,27 @@
|
|
1
1
|
import { jsxs as a, jsx as r } from "react/jsx-runtime";
|
2
2
|
import { memo as f, useRef as C, useCallback as $ } from "react";
|
3
|
-
import
|
3
|
+
import t from "../../ui/buttons/clickable/clickable.js";
|
4
4
|
import h from "../../ui/hooks/use-context-menu-click-handler.js";
|
5
|
-
import
|
5
|
+
import l from "../../ui/layout/flex-view.js";
|
6
6
|
import { GRID_NAMES as b } from "../cue-canvas-helpers.js";
|
7
7
|
import { StyledWrapper as k, MenuWrapper as G } from "../cue-cavas-styled.js";
|
8
|
-
import { useCueCanvasActions as
|
8
|
+
import { useCueCanvasActions as c } from "../hooks/use-cue-canvas-actions.js";
|
9
9
|
import { GRID_TO_COMP as x } from "./icon-map.js";
|
10
|
-
const A = f(({ GridIcon:
|
11
|
-
const { activeInstance: e } =
|
12
|
-
|
10
|
+
const A = f(({ GridIcon: d }) => {
|
11
|
+
const { activeInstance: e } = c(), n = C(null), { activeTool: m } = c(), { menuVisible: u, onMenuClick: i } = h(
|
12
|
+
n,
|
13
13
|
void 0,
|
14
14
|
!0,
|
15
15
|
void 0
|
16
16
|
), p = $(
|
17
17
|
(o) => {
|
18
|
-
e == null || e.changeGrid(o);
|
18
|
+
e == null || e.changeGrid(o), i();
|
19
19
|
},
|
20
|
-
[e]
|
20
|
+
[e, i]
|
21
21
|
);
|
22
|
-
return /* @__PURE__ */ a(
|
23
|
-
/* @__PURE__ */ r(
|
24
|
-
|
22
|
+
return /* @__PURE__ */ a(l, { $gutterX: 0.25, ref: n, children: [
|
23
|
+
/* @__PURE__ */ r(t, { onClick: i, label: "grid", children: /* @__PURE__ */ r(k, { $active: m === "grid", children: /* @__PURE__ */ r(d, {}) }) }),
|
24
|
+
u && /* @__PURE__ */ r(
|
25
25
|
G,
|
26
26
|
{
|
27
27
|
$borderColor: "GREY_1",
|
@@ -33,12 +33,12 @@ const A = f(({ GridIcon: c }) => {
|
|
33
33
|
children: b.map((o) => {
|
34
34
|
const s = x[o];
|
35
35
|
return /* @__PURE__ */ r(
|
36
|
-
|
36
|
+
t,
|
37
37
|
{
|
38
38
|
onClick: () => p(o),
|
39
39
|
label: o,
|
40
40
|
children: /* @__PURE__ */ r(
|
41
|
-
|
41
|
+
l,
|
42
42
|
{
|
43
43
|
$width: 48,
|
44
44
|
$height: 48,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"grid-menu.js","sources":["../../../../src/features/cue-canvas/toolbar/grid-menu.tsx"],"sourcesContent":["import type { TCueCanvasGridName } from '../types/cue-canvas';\nimport type { IGridMenu, TToolComponentType } from '../types/toolbar';\n\nimport React, { memo, useCallback, useRef } from 'react';\n\nimport Clickable from '../../ui/buttons/clickable/clickable';\nimport useContextMenuClickHandler from '../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../ui/layout/flex-view';\nimport { GRID_NAMES } from '../cue-canvas-helpers';\nimport { MenuWrapper, StyledWrapper } from '../cue-cavas-styled';\nimport { useCueCanvasActions } from '../hooks/use-cue-canvas-actions';\nimport { GRID_TO_COMP } from './icon-map';\n\nconst GridMenu: React.FC<IGridMenu> = memo(({ GridIcon }) => {\n const { activeInstance: cueCanvas } = useCueCanvasActions();\n const gridMenuRef = useRef(null);\n const { activeTool } = useCueCanvasActions();\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(\n gridMenuRef,\n undefined,\n true,\n undefined,\n );\n const onGridOptionClick = useCallback(\n (gridOption: TCueCanvasGridName) => {\n cueCanvas?.changeGrid(gridOption);\n },\n [cueCanvas],\n );\n\n return (\n <FlexView $gutterX={0.25} ref={gridMenuRef}>\n <Clickable onClick={onMenuClick} label=\"grid\">\n <StyledWrapper $active={activeTool === 'grid'}>\n <GridIcon />\n </StyledWrapper>\n </Clickable>\n {menuVisible && (\n <MenuWrapper\n $borderColor=\"GREY_1\"\n $background=\"GREY_1\"\n $flexDirection=\"row\"\n $widthX={11.15}\n $flexWrap={true}\n $flexGapX={0.5}\n >\n {GRID_NAMES.map(gridName => {\n const GridComponent = GRID_TO_COMP[gridName] as TToolComponentType;\n\n return (\n <Clickable\n key={gridName}\n onClick={() => onGridOptionClick(gridName)}\n label={gridName}\n >\n <FlexView\n $width={48}\n $height={48}\n $borderColor=\"BLACK\"\n $borderRadius={4}\n $background=\"WHITE\"\n >\n <GridComponent />\n </FlexView>\n </Clickable>\n );\n })}\n </MenuWrapper>\n )}\n </FlexView>\n );\n});\n\nexport default GridMenu;\n"],"names":["GridMenu","memo","GridIcon","cueCanvas","useCueCanvasActions","gridMenuRef","useRef","activeTool","menuVisible","onMenuClick","useContextMenuClickHandler","onGridOptionClick","useCallback","gridOption","jsxs","FlexView","jsx","Clickable","StyledWrapper","MenuWrapper","GRID_NAMES","gridName","GridComponent","GRID_TO_COMP"],"mappings":";;;;;;;;;AAaA,MAAMA,IAAgCC,EAAK,CAAC,EAAE,UAAAC,QAAe;AAC3D,QAAM,EAAE,gBAAgBC,EAAU,IAAIC,EAAoB,GACpDC,IAAcC,EAAO,IAAI,GACzB,EAAE,YAAAC,MAAeH,KACjB,EAAE,aAAAI,GAAa,aAAAC,EAAA,IAAgBC;AAAA,IACnCL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,GAEIM,IAAoBC;AAAA,IACxB,CAACC,MAAmC;AAClC,MAAAV,KAAA,QAAAA,EAAW,WAAWU
|
1
|
+
{"version":3,"file":"grid-menu.js","sources":["../../../../src/features/cue-canvas/toolbar/grid-menu.tsx"],"sourcesContent":["import type { TCueCanvasGridName } from '../types/cue-canvas';\nimport type { IGridMenu, TToolComponentType } from '../types/toolbar';\n\nimport React, { memo, useCallback, useRef } from 'react';\n\nimport Clickable from '../../ui/buttons/clickable/clickable';\nimport useContextMenuClickHandler from '../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../ui/layout/flex-view';\nimport { GRID_NAMES } from '../cue-canvas-helpers';\nimport { MenuWrapper, StyledWrapper } from '../cue-cavas-styled';\nimport { useCueCanvasActions } from '../hooks/use-cue-canvas-actions';\nimport { GRID_TO_COMP } from './icon-map';\n\nconst GridMenu: React.FC<IGridMenu> = memo(({ GridIcon }) => {\n const { activeInstance: cueCanvas } = useCueCanvasActions();\n const gridMenuRef = useRef(null);\n const { activeTool } = useCueCanvasActions();\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(\n gridMenuRef,\n undefined,\n true,\n undefined,\n );\n const onGridOptionClick = useCallback(\n (gridOption: TCueCanvasGridName) => {\n cueCanvas?.changeGrid(gridOption);\n onMenuClick();\n },\n [cueCanvas, onMenuClick],\n );\n\n return (\n <FlexView $gutterX={0.25} ref={gridMenuRef}>\n <Clickable onClick={onMenuClick} label=\"grid\">\n <StyledWrapper $active={activeTool === 'grid'}>\n <GridIcon />\n </StyledWrapper>\n </Clickable>\n {menuVisible && (\n <MenuWrapper\n $borderColor=\"GREY_1\"\n $background=\"GREY_1\"\n $flexDirection=\"row\"\n $widthX={11.15}\n $flexWrap={true}\n $flexGapX={0.5}\n >\n {GRID_NAMES.map(gridName => {\n const GridComponent = GRID_TO_COMP[gridName] as TToolComponentType;\n\n return (\n <Clickable\n key={gridName}\n onClick={() => onGridOptionClick(gridName)}\n label={gridName}\n >\n <FlexView\n $width={48}\n $height={48}\n $borderColor=\"BLACK\"\n $borderRadius={4}\n $background=\"WHITE\"\n >\n <GridComponent />\n </FlexView>\n </Clickable>\n );\n })}\n </MenuWrapper>\n )}\n </FlexView>\n );\n});\n\nexport default GridMenu;\n"],"names":["GridMenu","memo","GridIcon","cueCanvas","useCueCanvasActions","gridMenuRef","useRef","activeTool","menuVisible","onMenuClick","useContextMenuClickHandler","onGridOptionClick","useCallback","gridOption","jsxs","FlexView","jsx","Clickable","StyledWrapper","MenuWrapper","GRID_NAMES","gridName","GridComponent","GRID_TO_COMP"],"mappings":";;;;;;;;;AAaA,MAAMA,IAAgCC,EAAK,CAAC,EAAE,UAAAC,QAAe;AAC3D,QAAM,EAAE,gBAAgBC,EAAU,IAAIC,EAAoB,GACpDC,IAAcC,EAAO,IAAI,GACzB,EAAE,YAAAC,MAAeH,KACjB,EAAE,aAAAI,GAAa,aAAAC,EAAA,IAAgBC;AAAA,IACnCL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,GAEIM,IAAoBC;AAAA,IACxB,CAACC,MAAmC;AAClC,MAAAV,KAAA,QAAAA,EAAW,WAAWU,IACVJ;IACd;AAAA,IACA,CAACN,GAAWM,CAAW;AAAA,EAAA;AAGzB,SACG,gBAAAK,EAAAC,GAAA,EAAS,UAAU,MAAM,KAAKV,GAC7B,UAAA;AAAA,IAAA,gBAAAW,EAACC,GAAU,EAAA,SAASR,GAAa,OAAM,QACrC,UAAA,gBAAAO,EAACE,GAAc,EAAA,SAASX,MAAe,QACrC,UAAC,gBAAAS,EAAAd,GAAA,CAAA,CAAS,EACZ,CAAA,GACF;AAAA,IACCM,KACC,gBAAAQ;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,cAAa;AAAA,QACb,aAAY;AAAA,QACZ,gBAAe;AAAA,QACf,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,QAEV,UAAAC,EAAW,IAAI,CAAYC,MAAA;AACpB,gBAAAC,IAAgBC,EAAaF,CAAQ;AAGzC,iBAAA,gBAAAL;AAAA,YAACC;AAAA,YAAA;AAAA,cAEC,SAAS,MAAMN,EAAkBU,CAAQ;AAAA,cACzC,OAAOA;AAAA,cAEP,UAAA,gBAAAL;AAAA,gBAACD;AAAA,gBAAA;AAAA,kBACC,QAAQ;AAAA,kBACR,SAAS;AAAA,kBACT,cAAa;AAAA,kBACb,eAAe;AAAA,kBACf,aAAY;AAAA,kBAEZ,4BAACO,GAAc,EAAA;AAAA,gBAAA;AAAA,cACjB;AAAA,YAAA;AAAA,YAZKD;AAAA,UAAA;AAAA,QAaP,CAEH;AAAA,MAAA;AAAA,IACH;AAAA,EAEJ,EAAA,CAAA;AAEJ,CAAC;"}
|
@@ -1,34 +1,36 @@
|
|
1
1
|
import { jsx as r } from "react/jsx-runtime";
|
2
|
-
import { memo as
|
3
|
-
import
|
4
|
-
import
|
5
|
-
import { STATELESS_TOOLS as
|
6
|
-
import { StyledWrapper as
|
2
|
+
import { memo as T, useCallback as d } from "react";
|
3
|
+
import C from "../../ui/buttons/clickable/clickable.js";
|
4
|
+
import u from "../../ui/layout/flex-view.js";
|
5
|
+
import { STATELESS_TOOLS as v, getIsWritingTool as h } from "../cue-canvas-helpers.js";
|
6
|
+
import { StyledWrapper as k } from "../cue-cavas-styled.js";
|
7
7
|
import { useCueCanvasActions as O } from "../hooks/use-cue-canvas-actions.js";
|
8
8
|
import S from "./grid-menu.js";
|
9
9
|
import { TOOLS_TO_COMP as $ } from "./icon-map.js";
|
10
|
-
const
|
11
|
-
const
|
12
|
-
activeInstance:
|
10
|
+
const A = ({ tool: o, withGutter: a, shouldAnimate: s }) => {
|
11
|
+
const t = $[o], {
|
12
|
+
activeInstance: e,
|
13
13
|
setActiveTool: m,
|
14
14
|
activeTool: c,
|
15
|
-
activeColor:
|
16
|
-
|
17
|
-
|
18
|
-
|
15
|
+
activeColor: f,
|
16
|
+
homeworkId: l,
|
17
|
+
setHomeworkId: n
|
18
|
+
} = O(), p = d(
|
19
|
+
(i) => {
|
20
|
+
e == null || e.setTool(i), i === "clearAll" && l && n(void 0), v.has(i) || m(i);
|
19
21
|
},
|
20
|
-
[
|
22
|
+
[e, l, m, n]
|
21
23
|
);
|
22
|
-
return o === "grid" ? /* @__PURE__ */ r(S, { GridIcon:
|
23
|
-
|
24
|
+
return o === "grid" ? /* @__PURE__ */ r(S, { GridIcon: t }) : /* @__PURE__ */ r(u, { $gutterX: a ? 0.25 : 0, children: /* @__PURE__ */ r(C, { onClick: () => p(o), label: o, children: h(o) ? /* @__PURE__ */ r(
|
25
|
+
t,
|
24
26
|
{
|
25
27
|
$active: c === o,
|
26
|
-
$activeColor:
|
27
|
-
$shouldAnimate:
|
28
|
+
$activeColor: f,
|
29
|
+
$shouldAnimate: s
|
28
30
|
}
|
29
|
-
) : /* @__PURE__ */ r(
|
30
|
-
},
|
31
|
+
) : /* @__PURE__ */ r(k, { $active: c === o, children: /* @__PURE__ */ r(t, {}) }) }) });
|
32
|
+
}, M = T(A);
|
31
33
|
export {
|
32
|
-
|
34
|
+
M as default
|
33
35
|
};
|
34
36
|
//# sourceMappingURL=tool.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tool.js","sources":["../../../../src/features/cue-canvas/toolbar/tool.tsx"],"sourcesContent":["import type { TCueCanvasTool } from '../types/cue-canvas';\nimport type { TToolComponentType } from '../types/toolbar';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport Clickable from '../../ui/buttons/clickable/clickable';\nimport FlexView from '../../ui/layout/flex-view';\nimport { getIsWritingTool, STATELESS_TOOLS } from '../cue-canvas-helpers';\nimport { StyledWrapper } from '../cue-cavas-styled';\nimport { useCueCanvasActions } from '../hooks/use-cue-canvas-actions';\nimport GridMenu from './grid-menu';\nimport { TOOLS_TO_COMP } from './icon-map';\n\ninterface IToolProps {\n tool: TCueCanvasTool;\n withGutter?: boolean;\n shouldAnimate?: boolean;\n}\n\nconst Tool: FC<IToolProps> = ({ tool, withGutter, shouldAnimate }) => {\n const ToolComponent = TOOLS_TO_COMP[tool] as TToolComponentType;\n const {\n activeInstance: cueCanvas,\n setActiveTool,\n activeTool,\n activeColor,\n } = useCueCanvasActions();\n\n const onToolClick = useCallback(\n (t: TCueCanvasTool) => {\n cueCanvas?.setTool(t);\n\n if (!STATELESS_TOOLS.has(t)) {\n setActiveTool(t);\n }\n },\n [cueCanvas, setActiveTool],\n );\n\n if (tool === 'grid') {\n return <GridMenu GridIcon={ToolComponent} />;\n }\n\n return (\n <FlexView $gutterX={withGutter ? 0.25 : 0}>\n <Clickable onClick={() => onToolClick(tool)} label={tool}>\n {getIsWritingTool(tool) ? (\n <ToolComponent\n $active={activeTool === tool}\n $activeColor={activeColor}\n $shouldAnimate={shouldAnimate}\n />\n ) : (\n <StyledWrapper $active={activeTool === tool}>\n <ToolComponent />\n </StyledWrapper>\n )}\n </Clickable>\n </FlexView>\n );\n};\n\nexport default memo(Tool);\n"],"names":["Tool","tool","withGutter","shouldAnimate","ToolComponent","TOOLS_TO_COMP","cueCanvas","setActiveTool","activeTool","activeColor","useCueCanvasActions","onToolClick","useCallback","STATELESS_TOOLS","jsx","GridMenu","FlexView","Clickable","getIsWritingTool","StyledWrapper","Tool$1","memo"],"mappings":";;;;;;;;;AAoBA,MAAMA,IAAuB,CAAC,EAAE,MAAAC,GAAM,YAAAC,GAAY,eAAAC,QAAoB;AAC9D,QAAAC,IAAgBC,EAAcJ,CAAI,GAClC;AAAA,IACJ,gBAAgBK;AAAA,IAChB,eAAAC;AAAA,IACA,YAAAC;AAAA,IACA,aAAAC;AAAA,MACEC,EAAoB,GAElBC,IAAcC;AAAA,IAClB,
|
1
|
+
{"version":3,"file":"tool.js","sources":["../../../../src/features/cue-canvas/toolbar/tool.tsx"],"sourcesContent":["import type { TCueCanvasTool } from '../types/cue-canvas';\nimport type { TToolComponentType } from '../types/toolbar';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport Clickable from '../../ui/buttons/clickable/clickable';\nimport FlexView from '../../ui/layout/flex-view';\nimport { getIsWritingTool, STATELESS_TOOLS } from '../cue-canvas-helpers';\nimport { StyledWrapper } from '../cue-cavas-styled';\nimport { useCueCanvasActions } from '../hooks/use-cue-canvas-actions';\nimport GridMenu from './grid-menu';\nimport { TOOLS_TO_COMP } from './icon-map';\n\ninterface IToolProps {\n tool: TCueCanvasTool;\n withGutter?: boolean;\n shouldAnimate?: boolean;\n}\n\nconst Tool: FC<IToolProps> = ({ tool, withGutter, shouldAnimate }) => {\n const ToolComponent = TOOLS_TO_COMP[tool] as TToolComponentType;\n const {\n activeInstance: cueCanvas,\n setActiveTool,\n activeTool,\n activeColor,\n homeworkId,\n setHomeworkId,\n } = useCueCanvasActions();\n\n const onToolClick = useCallback(\n (t: TCueCanvasTool) => {\n cueCanvas?.setTool(t);\n if (t === 'clearAll' && homeworkId) {\n setHomeworkId(undefined);\n }\n\n if (!STATELESS_TOOLS.has(t)) {\n setActiveTool(t);\n }\n },\n [cueCanvas, homeworkId, setActiveTool, setHomeworkId],\n );\n\n if (tool === 'grid') {\n return <GridMenu GridIcon={ToolComponent} />;\n }\n\n return (\n <FlexView $gutterX={withGutter ? 0.25 : 0}>\n <Clickable onClick={() => onToolClick(tool)} label={tool}>\n {getIsWritingTool(tool) ? (\n <ToolComponent\n $active={activeTool === tool}\n $activeColor={activeColor}\n $shouldAnimate={shouldAnimate}\n />\n ) : (\n <StyledWrapper $active={activeTool === tool}>\n <ToolComponent />\n </StyledWrapper>\n )}\n </Clickable>\n </FlexView>\n );\n};\n\nexport default memo(Tool);\n"],"names":["Tool","tool","withGutter","shouldAnimate","ToolComponent","TOOLS_TO_COMP","cueCanvas","setActiveTool","activeTool","activeColor","homeworkId","setHomeworkId","useCueCanvasActions","onToolClick","useCallback","t","STATELESS_TOOLS","jsx","GridMenu","FlexView","Clickable","getIsWritingTool","StyledWrapper","Tool$1","memo"],"mappings":";;;;;;;;;AAoBA,MAAMA,IAAuB,CAAC,EAAE,MAAAC,GAAM,YAAAC,GAAY,eAAAC,QAAoB;AAC9D,QAAAC,IAAgBC,EAAcJ,CAAI,GAClC;AAAA,IACJ,gBAAgBK;AAAA,IAChB,eAAAC;AAAA,IACA,YAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,MACEC,EAAoB,GAElBC,IAAcC;AAAA,IAClB,CAACC,MAAsB;AACrB,MAAAT,KAAA,QAAAA,EAAW,QAAQS,IACfA,MAAM,cAAcL,KACtBC,EAAc,MAAS,GAGpBK,EAAgB,IAAID,CAAC,KACxBR,EAAcQ,CAAC;AAAA,IAEnB;AAAA,IACA,CAACT,GAAWI,GAAYH,GAAeI,CAAa;AAAA,EAAA;AAGtD,SAAIV,MAAS,SACJ,gBAAAgB,EAACC,GAAS,EAAA,UAAUd,EAAe,CAAA,sBAIzCe,GAAS,EAAA,UAAUjB,IAAa,OAAO,GACtC,UAAC,gBAAAe,EAAAG,GAAA,EAAU,SAAS,MAAMP,EAAYZ,CAAI,GAAG,OAAOA,GACjD,UAAAoB,EAAiBpB,CAAI,IACpB,gBAAAgB;AAAA,IAACb;AAAA,IAAA;AAAA,MACC,SAASI,MAAeP;AAAA,MACxB,cAAcQ;AAAA,MACd,gBAAgBN;AAAA,IAAA;AAAA,EAClB,IAEC,gBAAAc,EAAAK,GAAA,EAAc,SAASd,MAAeP,GACrC,UAAC,gBAAAgB,EAAAb,GAAA,CAAc,CAAA,EACjB,CAAA,EAEJ,CAAA,EACF,CAAA;AAEJ,GAEemB,IAAAC,EAAKxB,CAAI;"}
|
@@ -18,7 +18,7 @@ const c = r(e)(({ theme: o }) => `
|
|
18
18
|
-webkit-box-orient: vertical;
|
19
19
|
overflow: hidden;
|
20
20
|
text-overflow: ellipsis;
|
21
|
-
`,
|
21
|
+
`, x = r(e)(({
|
22
22
|
$shouldopenonright: o,
|
23
23
|
$visible: t
|
24
24
|
}) => `
|
@@ -33,8 +33,9 @@ const c = r(e)(({ theme: o }) => `
|
|
33
33
|
transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
|
34
34
|
box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.4);
|
35
35
|
z-index: 10;
|
36
|
-
`),
|
36
|
+
`), u = r(e)`
|
37
37
|
border: 1px solid ${({ theme: o }) => o.colors.BLACK_T_15};
|
38
|
+
border-top-width: 2px;
|
38
39
|
&:hover {
|
39
40
|
border: 1px solid ${({ theme: o }) => o.colors.BLACK};
|
40
41
|
border-top-width: 2px;
|
@@ -117,9 +118,9 @@ export {
|
|
117
118
|
w as BannerImageWrapper,
|
118
119
|
v as BlurContainer,
|
119
120
|
$ as BlurFlexView,
|
120
|
-
|
121
|
+
u as CardContainer,
|
121
122
|
c as CardKebabMenuWrapper,
|
122
|
-
|
123
|
+
x as CardMenuOptionsWrapper,
|
123
124
|
b as CardWrapper,
|
124
125
|
m as HeaderText,
|
125
126
|
h as IconWrapper,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../src/features/homework/styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport Minus2Icon from '../../assets/line-icons/icons/minus2';\nimport FlexView from '../ui/layout/flex-view';\nimport Text from '../ui/text/text';\n\ninterface ICardWrapperProps {\n $bgImage: string;\n}\ninterface ICardOptionsMenuWrapperProps {\n $visible: boolean;\n $shouldopenonright: boolean;\n}\n\nexport const CardKebabMenuWrapper = styled(FlexView)(({ theme }) => {\n return `\n cursor: pointer;\n width: 24px;\n height: 24px;\n \n \n &:hover {\n border-radius: 50%;\n background: ${theme.colors.WHITE_5}; \n }\n `;\n});\n\nexport const SubHeaderText = styled(Text)`\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const CardMenuOptionsWrapper = styled(FlexView)<ICardOptionsMenuWrapperProps>(({\n $shouldopenonright,\n $visible,\n}) => {\n return `\n cursor: pointer;\n position: absolute;\n z-index: 6;\n top: calc(100% + 4px);\n right: ${$shouldopenonright ? 0 : 'auto'};\n transform-origin: top;\n transform: scaleY(${$visible ? 1 : 0});\n opacity: ${$visible ? 1 : 0};\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.4);\n z-index: 10;\n `;\n});\n\nexport const CardContainer = styled(FlexView)`\n border: 1px solid ${({ theme }) => theme.colors.BLACK_T_15};\n &:hover {\n border: 1px solid ${({ theme }) => theme.colors.BLACK};\n border-top-width: 2px;\n }\n`;\n\nexport const CardWrapper = styled(FlexView)<ICardWrapperProps>(({ $bgImage }) => {\n if ($bgImage) {\n return `\n background-image: url(${$bgImage});\n background-repeat: no-repeat;\n background-size: cover;\n background-position: center;\n overflow: hidden;\n `;\n }\n\n return 'overflow: hidden;';\n});\n\nexport const IconWrapper = styled(FlexView)`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const BannerImageWrapper = styled(FlexView)`\n position: absolute;\n right: -18px;\n top: -4px;\n`;\n\nexport const BannerImage = styled.img(({ theme }) => {\n const { gutter } = theme.layout;\n\n return `\n border: 1px solid ${theme.colors.BLACK_T_15};\n width: ${gutter * 4}px;\n height: ${gutter * 4}px;\n border-radius: 50%;\n `;\n});\n\nexport const StyledMinus2Icon = styled(Minus2Icon)`\n path {\n stroke: ${({ theme }) => theme.colors.WHITE};\n }\n`;\n\nexport const HeaderText = styled(Text)`\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: break-spaces;\n`;\n\ninterface ICardOptionWrapperProps {\n $disabled?: boolean;\n}\ninterface ICardOptionsProps {\n $top: number;\n $left: number;\n}\n\nexport const CardOptions = styled(FlexView)<ICardOptionsProps>``;\n\nexport const CardOptionWrapper = styled(FlexView)<ICardOptionWrapperProps>(({\n theme,\n $disabled,\n}) => {\n return `\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n \n &:hover {\n background: ${$disabled ? 'transparent' : theme.colors.BLACK};\n };\n \n path {\n fill: ${theme.colors.WHITE_1};\n }\n `;\n});\n\nexport const OptionText = styled(Text)`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const MenuWrapper = styled(FlexView)`\n position: absolute;\n z-index: 6;\n top: calc(100% - 36px);\n right: 12px;\n transform-origin: top;\n transform: scaleY(1);\n`;\n\nexport const BlurContainer = styled(FlexView)`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0.5;\n`;\n\nexport const BlurFlexView = styled(FlexView)`\n position: absolute;\n right: 42px;\n top: 24px;\n`;\n"],"names":["CardKebabMenuWrapper","styled","FlexView","theme","SubHeaderText","Text","CardMenuOptionsWrapper","$shouldopenonright","$visible","CardContainer","CardWrapper","$bgImage","IconWrapper","BannerImageWrapper","BannerImage","gutter","StyledMinus2Icon","Minus2Icon","HeaderText","$disabled","MenuWrapper","BlurContainer","BlurFlexView"],"mappings":";;;;AAcO,MAAMA,IAAuBC,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAC/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAQWA,EAAM,OAAO,OAAO;AAAA;AAAA,GAGvC,GAEYC,IAAgBH,EAAOI,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQ3BC,IAAyBL,EAAOC,CAAQ,EAAgC,CAAC;AAAA,EACpF,oBAAAK;AAAA,EACA,UAAAC;AACF,MACS;AAAA;AAAA;AAAA;AAAA;AAAA,aAKID,IAAqB,IAAI,MAAM;AAAA;AAAA,wBAEpBC,IAAW,IAAI,CAAC;AAAA,eACzBA,IAAW,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA,GAK9B,GAEYC,IAAgBR,EAAOC,CAAQ;AAAA,sBACtB,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,UAAU;AAAA;AAAA,
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../src/features/homework/styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport Minus2Icon from '../../assets/line-icons/icons/minus2';\nimport FlexView from '../ui/layout/flex-view';\nimport Text from '../ui/text/text';\n\ninterface ICardWrapperProps {\n $bgImage: string;\n}\ninterface ICardOptionsMenuWrapperProps {\n $visible: boolean;\n $shouldopenonright: boolean;\n}\n\nexport const CardKebabMenuWrapper = styled(FlexView)(({ theme }) => {\n return `\n cursor: pointer;\n width: 24px;\n height: 24px;\n \n \n &:hover {\n border-radius: 50%;\n background: ${theme.colors.WHITE_5}; \n }\n `;\n});\n\nexport const SubHeaderText = styled(Text)`\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const CardMenuOptionsWrapper = styled(FlexView)<ICardOptionsMenuWrapperProps>(({\n $shouldopenonright,\n $visible,\n}) => {\n return `\n cursor: pointer;\n position: absolute;\n z-index: 6;\n top: calc(100% + 4px);\n right: ${$shouldopenonright ? 0 : 'auto'};\n transform-origin: top;\n transform: scaleY(${$visible ? 1 : 0});\n opacity: ${$visible ? 1 : 0};\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.4);\n z-index: 10;\n `;\n});\n\nexport const CardContainer = styled(FlexView)`\n border: 1px solid ${({ theme }) => theme.colors.BLACK_T_15};\n border-top-width: 2px;\n &:hover {\n border: 1px solid ${({ theme }) => theme.colors.BLACK};\n border-top-width: 2px;\n }\n`;\n\nexport const CardWrapper = styled(FlexView)<ICardWrapperProps>(({ $bgImage }) => {\n if ($bgImage) {\n return `\n background-image: url(${$bgImage});\n background-repeat: no-repeat;\n background-size: cover;\n background-position: center;\n overflow: hidden;\n `;\n }\n\n return 'overflow: hidden;';\n});\n\nexport const IconWrapper = styled(FlexView)`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const BannerImageWrapper = styled(FlexView)`\n position: absolute;\n right: -18px;\n top: -4px;\n`;\n\nexport const BannerImage = styled.img(({ theme }) => {\n const { gutter } = theme.layout;\n\n return `\n border: 1px solid ${theme.colors.BLACK_T_15};\n width: ${gutter * 4}px;\n height: ${gutter * 4}px;\n border-radius: 50%;\n `;\n});\n\nexport const StyledMinus2Icon = styled(Minus2Icon)`\n path {\n stroke: ${({ theme }) => theme.colors.WHITE};\n }\n`;\n\nexport const HeaderText = styled(Text)`\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: break-spaces;\n`;\n\ninterface ICardOptionWrapperProps {\n $disabled?: boolean;\n}\ninterface ICardOptionsProps {\n $top: number;\n $left: number;\n}\n\nexport const CardOptions = styled(FlexView)<ICardOptionsProps>``;\n\nexport const CardOptionWrapper = styled(FlexView)<ICardOptionWrapperProps>(({\n theme,\n $disabled,\n}) => {\n return `\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n \n &:hover {\n background: ${$disabled ? 'transparent' : theme.colors.BLACK};\n };\n \n path {\n fill: ${theme.colors.WHITE_1};\n }\n `;\n});\n\nexport const OptionText = styled(Text)`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const MenuWrapper = styled(FlexView)`\n position: absolute;\n z-index: 6;\n top: calc(100% - 36px);\n right: 12px;\n transform-origin: top;\n transform: scaleY(1);\n`;\n\nexport const BlurContainer = styled(FlexView)`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0.5;\n`;\n\nexport const BlurFlexView = styled(FlexView)`\n position: absolute;\n right: 42px;\n top: 24px;\n`;\n"],"names":["CardKebabMenuWrapper","styled","FlexView","theme","SubHeaderText","Text","CardMenuOptionsWrapper","$shouldopenonright","$visible","CardContainer","CardWrapper","$bgImage","IconWrapper","BannerImageWrapper","BannerImage","gutter","StyledMinus2Icon","Minus2Icon","HeaderText","$disabled","MenuWrapper","BlurContainer","BlurFlexView"],"mappings":";;;;AAcO,MAAMA,IAAuBC,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAC/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAQWA,EAAM,OAAO,OAAO;AAAA;AAAA,GAGvC,GAEYC,IAAgBH,EAAOI,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQ3BC,IAAyBL,EAAOC,CAAQ,EAAgC,CAAC;AAAA,EACpF,oBAAAK;AAAA,EACA,UAAAC;AACF,MACS;AAAA;AAAA;AAAA;AAAA;AAAA,aAKID,IAAqB,IAAI,MAAM;AAAA;AAAA,wBAEpBC,IAAW,IAAI,CAAC;AAAA,eACzBA,IAAW,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA,GAK9B,GAEYC,IAAgBR,EAAOC,CAAQ;AAAA,sBACtB,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,UAAU;AAAA;AAAA;AAAA,wBAGpC,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA,GAK5CO,IAAcT,EAAOC,CAAQ,EAAqB,CAAC,EAAE,UAAAS,QAC5DA,IACK;AAAA,8BACmBA,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,QAQ7B,mBACR,GAEYC,IAAcX,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,GAM7BW,IAAqBZ,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,GAMpCY,IAAcb,EAAO,IAAI,CAAC,EAAE,OAAAE,QAAY;AAC7C,QAAA,EAAE,QAAAY,EAAO,IAAIZ,EAAM;AAElB,SAAA;AAAA,wBACeA,EAAM,OAAO,UAAU;AAAA,aAClCY,IAAS,CAAC;AAAA,cACTA,IAAS,CAAC;AAAA;AAAA;AAGxB,CAAC,GAEYC,IAAmBf,EAAOgB,CAAU;AAAA;AAAA,cAEnC,CAAC,EAAE,OAAAd,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA,GAIlCe,IAAajB,EAAOI,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBVJ,EAAOC,CAAQ;AAETD,EAAOC,CAAQ,EAA2B,CAAC;AAAA,EAC1E,OAAAC;AAAA,EACA,WAAAgB;AACF,MACS;AAAA,cACKA,IAAY,gBAAgB,SAAS;AAAA;AAAA;AAAA,oBAG/BA,IAAY,gBAAgBhB,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA,cAIpDA,EAAM,OAAO,OAAO;AAAA;AAAA,GAGjC;AAEyBF,EAAOI,CAAI;AAAA;AAAA;AAAA;AAAA;AAMxB,MAAAe,IAAcnB,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAS7BmB,IAAgBpB,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAS/BoB,IAAerB,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { useRef as n, useCallback as c } from "react";
|
2
|
+
function a(u, r) {
|
3
|
+
const e = n(null);
|
4
|
+
return c(
|
5
|
+
(t) => (e.current && clearTimeout(e.current), e.current = setTimeout(() => {
|
6
|
+
u(t);
|
7
|
+
}, r), () => {
|
8
|
+
e.current && clearTimeout(e.current);
|
9
|
+
}),
|
10
|
+
[u, r]
|
11
|
+
);
|
12
|
+
}
|
13
|
+
export {
|
14
|
+
a as default
|
15
|
+
};
|
16
|
+
//# sourceMappingURL=use-debounce.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"use-debounce.js","sources":["../../../src/features/hooks/use-debounce.tsx"],"sourcesContent":["import { useCallback, useRef } from 'react';\n\nfunction useDebounce<T>(callback: (arg: T) => void, wait: number) {\n const timeoutIdRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const debouncedCallback = useCallback(\n (val: T) => {\n if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);\n timeoutIdRef.current = setTimeout(() => {\n callback(val);\n }, wait);\n\n return () => {\n if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);\n };\n },\n [callback, wait],\n );\n\n return debouncedCallback;\n}\n\nexport default useDebounce;\n"],"names":["useDebounce","callback","wait","timeoutIdRef","useRef","useCallback","val"],"mappings":";AAEA,SAASA,EAAeC,GAA4BC,GAAc;AAC1D,QAAAC,IAAeC,EAA6C,IAAI;AAgB/D,SAdmBC;AAAA,IACxB,CAACC,OACKH,EAAa,WAAsB,aAAAA,EAAa,OAAO,GAC9CA,EAAA,UAAU,WAAW,MAAM;AACtC,MAAAF,EAASK,CAAG;AAAA,OACXJ,CAAI,GAEA,MAAM;AACX,MAAIC,EAAa,WAAsB,aAAAA,EAAa,OAAO;AAAA,IAAA;AAAA,IAG/D,CAACF,GAAUC,CAAI;AAAA,EAAA;AAInB;"}
|
@@ -1,34 +1,35 @@
|
|
1
|
-
import { jsxs as
|
2
|
-
import { memo as
|
3
|
-
import
|
4
|
-
import { GOAL_CATEGORY as
|
1
|
+
import { jsxs as b, Fragment as v, jsx as f } from "react/jsx-runtime";
|
2
|
+
import { memo as L, useMemo as A, useCallback as G, useEffect as S } from "react";
|
3
|
+
import E from "../../../../ui/inputs/select-input/select-input.js";
|
4
|
+
import { GOAL_CATEGORY as h } from "../../../constants.js";
|
5
5
|
import { useMilestoneContext as z } from "../../milestone-create-context.js";
|
6
6
|
import { getCurriculumStandardsFromConfig as H } from "../../milestone-create-helpers.js";
|
7
7
|
import { getGradeBoardAndMajorBasedProgramCode as P } from "../chapters-selection-step/utils.js";
|
8
|
-
import { useCatalogHelpers as
|
9
|
-
const Q =
|
8
|
+
import { useCatalogHelpers as R } from "./hooks/use-catalog-helpers.js";
|
9
|
+
const Q = L(
|
10
10
|
({
|
11
11
|
config: s,
|
12
12
|
region: t = "",
|
13
13
|
courseStream: o,
|
14
14
|
classRatio: C,
|
15
15
|
searchChapterFields: e,
|
16
|
-
getCatalogChapters:
|
16
|
+
getCatalogChapters: O,
|
17
17
|
onFormDataChange: r,
|
18
18
|
enrollmentType: u
|
19
19
|
}) => {
|
20
|
-
const { mode:
|
20
|
+
const { mode: j } = z(), {
|
21
21
|
selectedCurriculum: a = "",
|
22
22
|
selectedGrade: m = "",
|
23
23
|
selectedCourse: n = ""
|
24
|
-
} = e, { grades:
|
24
|
+
} = e, { grades: w, boards: M, majors: p } = R({
|
25
25
|
config: s,
|
26
26
|
region: t,
|
27
27
|
searchChapterFields: e,
|
28
28
|
courseStream: o,
|
29
29
|
classRatio: C,
|
30
|
-
enrollmentType: u
|
31
|
-
|
30
|
+
enrollmentType: u,
|
31
|
+
flow: "CREATE"
|
32
|
+
}), c = A(() => p.length > 1, [p]), k = G(
|
32
33
|
(d) => {
|
33
34
|
r({
|
34
35
|
searchChapterFields: {
|
@@ -38,22 +39,23 @@ const Q = w(
|
|
38
39
|
});
|
39
40
|
},
|
40
41
|
[e, r]
|
41
|
-
),
|
42
|
+
), y = G(
|
42
43
|
(d) => {
|
43
|
-
var
|
44
|
-
let
|
45
|
-
(d === "-1" || d === "0") && (
|
44
|
+
var _;
|
45
|
+
let x = e.selectedCurriculum;
|
46
|
+
(d === "-1" || d === "0") && (x = (_ = H(s, {
|
46
47
|
countryCode: t ?? "",
|
47
48
|
grade: d,
|
48
|
-
goalCategory:
|
49
|
+
goalCategory: h.SCHOOL_SUCCESS,
|
49
50
|
courseStream: o,
|
50
51
|
enrollmentType: u,
|
51
|
-
classRatio: C
|
52
|
-
|
52
|
+
classRatio: C,
|
53
|
+
flow: "CREATE"
|
54
|
+
})[0]) == null ? void 0 : _.id), r({
|
53
55
|
searchChapterFields: {
|
54
56
|
...e,
|
55
57
|
selectedGrade: d,
|
56
|
-
selectedCurriculum:
|
58
|
+
selectedCurriculum: x
|
57
59
|
}
|
58
60
|
});
|
59
61
|
},
|
@@ -66,7 +68,7 @@ const Q = w(
|
|
66
68
|
u,
|
67
69
|
C
|
68
70
|
]
|
69
|
-
),
|
71
|
+
), B = G(
|
70
72
|
(d) => {
|
71
73
|
r({
|
72
74
|
searchChapterFields: {
|
@@ -76,14 +78,14 @@ const Q = w(
|
|
76
78
|
});
|
77
79
|
},
|
78
80
|
[r, e]
|
79
|
-
), i =
|
81
|
+
), i = A(
|
80
82
|
() => P(s, {
|
81
83
|
grade: m,
|
82
84
|
board: a,
|
83
85
|
major: n,
|
84
86
|
majorsPresent: c,
|
85
87
|
countryCode: t ?? "",
|
86
|
-
selectedCategory:
|
88
|
+
selectedCategory: h.SCHOOL_SUCCESS,
|
87
89
|
courseStream: o,
|
88
90
|
enrollmentType: u
|
89
91
|
}),
|
@@ -97,34 +99,34 @@ const Q = w(
|
|
97
99
|
a,
|
98
100
|
m
|
99
101
|
]
|
100
|
-
), l =
|
101
|
-
return
|
102
|
-
l &&
|
102
|
+
), l = A(() => (i == null ? void 0 : i.program_code) ?? "", [i]);
|
103
|
+
return S(() => {
|
104
|
+
l && j === "edit" && O({
|
103
105
|
filter_type: "PROGRAM_CODE",
|
104
106
|
program_code: l
|
105
107
|
});
|
106
|
-
}, [
|
108
|
+
}, [O, j, l, c]), S(() => {
|
107
109
|
l || r({
|
108
110
|
searchedChaptersList: []
|
109
111
|
});
|
110
|
-
}, [l, r]), /* @__PURE__ */ v
|
112
|
+
}, [l, r]), /* @__PURE__ */ b(v, { children: [
|
111
113
|
/* @__PURE__ */ f(
|
112
|
-
|
114
|
+
E,
|
113
115
|
{
|
114
116
|
renderAs: "primary",
|
115
117
|
label: "Grade",
|
116
118
|
value: m,
|
117
|
-
options:
|
118
|
-
onChange:
|
119
|
+
options: w,
|
120
|
+
onChange: y,
|
119
121
|
widthX: 9,
|
120
122
|
size: "xsmall",
|
121
123
|
theme: "dark",
|
122
124
|
shape: "curved"
|
123
125
|
}
|
124
126
|
),
|
125
|
-
m && /* @__PURE__ */ v
|
127
|
+
m && /* @__PURE__ */ b(v, { children: [
|
126
128
|
/* @__PURE__ */ f(
|
127
|
-
|
129
|
+
E,
|
128
130
|
{
|
129
131
|
widthX: 18,
|
130
132
|
renderAs: "primary",
|
@@ -132,20 +134,20 @@ const Q = w(
|
|
132
134
|
theme: "dark",
|
133
135
|
size: "xsmall",
|
134
136
|
label: "Curriculum",
|
135
|
-
options:
|
137
|
+
options: M,
|
136
138
|
renderOptionsAs: "section-list",
|
137
139
|
value: a,
|
138
|
-
onChange:
|
140
|
+
onChange: k
|
139
141
|
}
|
140
142
|
),
|
141
143
|
c && /* @__PURE__ */ f(
|
142
|
-
|
144
|
+
E,
|
143
145
|
{
|
144
146
|
renderAs: "primary",
|
145
147
|
label: "Course",
|
146
148
|
options: p,
|
147
149
|
value: n,
|
148
|
-
onChange:
|
150
|
+
onChange: B,
|
149
151
|
widthX: 9,
|
150
152
|
size: "xsmall",
|
151
153
|
theme: "dark",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"course-catalog.js","sources":["../../../../../../src/features/milestone/create/comps/add-custom-chapter/course-catalog.tsx"],"sourcesContent":["import type { ICourseCatalog } from './add-custom-chapters';\nimport type { FC } from 'react';\n\nimport { useEffect, useMemo, useCallback, memo } from 'react';\n\nimport SelectInput from '../../../../ui/inputs/select-input/select-input';\nimport { GOAL_CATEGORY } from '../../../constants';\nimport { useMilestoneContext } from '../../milestone-create-context';\nimport { getCurriculumStandardsFromConfig } from '../../milestone-create-helpers';\nimport { getGradeBoardAndMajorBasedProgramCode } from '../chapters-selection-step/utils';\nimport { useCatalogHelpers } from './hooks/use-catalog-helpers';\n\nconst CourseCatalog: FC<ICourseCatalog> = memo(\n ({\n config,\n region = '',\n courseStream,\n classRatio,\n searchChapterFields,\n getCatalogChapters,\n onFormDataChange,\n enrollmentType,\n }) => {\n const { mode } = useMilestoneContext();\n\n const {\n selectedCurriculum = '',\n selectedGrade = '',\n selectedCourse = '',\n } = searchChapterFields;\n\n const { grades, boards, majors } = useCatalogHelpers({\n config,\n region,\n searchChapterFields,\n courseStream,\n classRatio,\n enrollmentType,\n });\n\n const majorsPresent = useMemo(() => majors.length > 1, [majors]);\n\n const handleCurriculumChange = useCallback(\n (curriculumValue: string) => {\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedCurriculum: curriculumValue,\n },\n });\n },\n [searchChapterFields, onFormDataChange],\n );\n\n const handleGradeChange = useCallback(\n (gradeValue: string) => {\n let updatedCurriculum = searchChapterFields.selectedCurriculum;\n\n if (gradeValue === '-1' || gradeValue === '0') {\n const currentGradeBoards = getCurriculumStandardsFromConfig(config, {\n countryCode: region ?? '',\n grade: gradeValue,\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream,\n enrollmentType,\n classRatio,\n });\n\n updatedCurriculum = currentGradeBoards[0]?.id;\n }\n\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedGrade: gradeValue,\n selectedCurriculum: updatedCurriculum,\n },\n });\n },\n [\n searchChapterFields,\n onFormDataChange,\n config,\n region,\n courseStream,\n enrollmentType,\n classRatio,\n ],\n );\n\n const handleMajorChange = useCallback(\n (majorValue: string) => {\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedCourse: majorValue,\n },\n });\n },\n [onFormDataChange, searchChapterFields],\n );\n\n const programInfo = useMemo(\n () =>\n getGradeBoardAndMajorBasedProgramCode(config, {\n grade: selectedGrade,\n board: selectedCurriculum,\n major: selectedCourse,\n majorsPresent,\n countryCode: region ?? '',\n selectedCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream,\n enrollmentType,\n }),\n [\n config,\n courseStream,\n enrollmentType,\n majorsPresent,\n region,\n selectedCourse,\n selectedCurriculum,\n selectedGrade,\n ],\n );\n\n const programCode = useMemo(() => programInfo?.program_code ?? '', [programInfo]);\n\n useEffect(() => {\n if (programCode && mode === 'edit') {\n getCatalogChapters({\n filter_type: 'PROGRAM_CODE',\n program_code: programCode,\n });\n }\n }, [getCatalogChapters, mode, programCode, majorsPresent]);\n\n useEffect(() => {\n if (!programCode) {\n onFormDataChange({\n searchedChaptersList: [],\n });\n }\n }, [programCode, onFormDataChange]);\n\n return (\n <>\n <SelectInput\n renderAs=\"primary\"\n label=\"Grade\"\n value={selectedGrade}\n options={grades}\n onChange={handleGradeChange}\n widthX={9}\n size=\"xsmall\"\n theme=\"dark\"\n shape=\"curved\"\n />\n\n {selectedGrade && (\n <>\n <SelectInput\n widthX={18}\n renderAs=\"primary\"\n shape=\"curved\"\n theme=\"dark\"\n size=\"xsmall\"\n label=\"Curriculum\"\n options={boards}\n renderOptionsAs=\"section-list\"\n value={selectedCurriculum}\n onChange={handleCurriculumChange}\n />\n\n {majorsPresent && (\n <SelectInput\n renderAs=\"primary\"\n label=\"Course\"\n options={majors}\n value={selectedCourse}\n onChange={handleMajorChange}\n widthX={9}\n size=\"xsmall\"\n theme=\"dark\"\n shape=\"curved\"\n />\n )}\n </>\n )}\n </>\n );\n },\n);\n\nexport default CourseCatalog;\n"],"names":["CourseCatalog","memo","config","region","courseStream","classRatio","searchChapterFields","getCatalogChapters","onFormDataChange","enrollmentType","mode","useMilestoneContext","selectedCurriculum","selectedGrade","selectedCourse","grades","boards","majors","useCatalogHelpers","majorsPresent","useMemo","handleCurriculumChange","useCallback","curriculumValue","handleGradeChange","gradeValue","updatedCurriculum","_a","getCurriculumStandardsFromConfig","GOAL_CATEGORY","handleMajorChange","majorValue","programInfo","getGradeBoardAndMajorBasedProgramCode","programCode","useEffect","jsxs","Fragment","jsx","SelectInput"],"mappings":";;;;;;;;AAYA,MAAMA,IAAoCC;AAAA,EACxC,CAAC;AAAA,IACC,QAAAC;AAAA,IACA,QAAAC,IAAS;AAAA,IACT,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,MACI;AACE,UAAA,EAAE,MAAAC,MAASC,KAEX;AAAA,MACJ,oBAAAC,IAAqB;AAAA,MACrB,eAAAC,IAAgB;AAAA,MAChB,gBAAAC,IAAiB;AAAA,IACf,IAAAR,GAEE,EAAE,QAAAS,GAAQ,QAAAC,GAAQ,QAAAC,EAAA,IAAWC,EAAkB;AAAA,MACnD,QAAAhB;AAAA,MACA,QAAAC;AAAA,MACA,qBAAAG;AAAA,MACA,cAAAF;AAAA,MACA,YAAAC;AAAA,MACA,gBAAAI;AAAA,IAAA,
|
1
|
+
{"version":3,"file":"course-catalog.js","sources":["../../../../../../src/features/milestone/create/comps/add-custom-chapter/course-catalog.tsx"],"sourcesContent":["import type { ICourseCatalog } from './add-custom-chapters';\nimport type { FC } from 'react';\n\nimport { useEffect, useMemo, useCallback, memo } from 'react';\n\nimport SelectInput from '../../../../ui/inputs/select-input/select-input';\nimport { GOAL_CATEGORY } from '../../../constants';\nimport { useMilestoneContext } from '../../milestone-create-context';\nimport { getCurriculumStandardsFromConfig } from '../../milestone-create-helpers';\nimport { getGradeBoardAndMajorBasedProgramCode } from '../chapters-selection-step/utils';\nimport { useCatalogHelpers } from './hooks/use-catalog-helpers';\n\nconst CourseCatalog: FC<ICourseCatalog> = memo(\n ({\n config,\n region = '',\n courseStream,\n classRatio,\n searchChapterFields,\n getCatalogChapters,\n onFormDataChange,\n enrollmentType,\n }) => {\n const { mode } = useMilestoneContext();\n\n const {\n selectedCurriculum = '',\n selectedGrade = '',\n selectedCourse = '',\n } = searchChapterFields;\n\n const { grades, boards, majors } = useCatalogHelpers({\n config,\n region,\n searchChapterFields,\n courseStream,\n classRatio,\n enrollmentType,\n flow: 'CREATE',\n });\n\n const majorsPresent = useMemo(() => majors.length > 1, [majors]);\n\n const handleCurriculumChange = useCallback(\n (curriculumValue: string) => {\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedCurriculum: curriculumValue,\n },\n });\n },\n [searchChapterFields, onFormDataChange],\n );\n\n const handleGradeChange = useCallback(\n (gradeValue: string) => {\n let updatedCurriculum = searchChapterFields.selectedCurriculum;\n\n if (gradeValue === '-1' || gradeValue === '0') {\n const currentGradeBoards = getCurriculumStandardsFromConfig(config, {\n countryCode: region ?? '',\n grade: gradeValue,\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream,\n enrollmentType,\n classRatio,\n flow: 'CREATE',\n });\n\n updatedCurriculum = currentGradeBoards[0]?.id;\n }\n\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedGrade: gradeValue,\n selectedCurriculum: updatedCurriculum,\n },\n });\n },\n [\n searchChapterFields,\n onFormDataChange,\n config,\n region,\n courseStream,\n enrollmentType,\n classRatio,\n ],\n );\n\n const handleMajorChange = useCallback(\n (majorValue: string) => {\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedCourse: majorValue,\n },\n });\n },\n [onFormDataChange, searchChapterFields],\n );\n\n const programInfo = useMemo(\n () =>\n getGradeBoardAndMajorBasedProgramCode(config, {\n grade: selectedGrade,\n board: selectedCurriculum,\n major: selectedCourse,\n majorsPresent,\n countryCode: region ?? '',\n selectedCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream,\n enrollmentType,\n }),\n [\n config,\n courseStream,\n enrollmentType,\n majorsPresent,\n region,\n selectedCourse,\n selectedCurriculum,\n selectedGrade,\n ],\n );\n\n const programCode = useMemo(() => programInfo?.program_code ?? '', [programInfo]);\n\n useEffect(() => {\n if (programCode && mode === 'edit') {\n getCatalogChapters({\n filter_type: 'PROGRAM_CODE',\n program_code: programCode,\n });\n }\n }, [getCatalogChapters, mode, programCode, majorsPresent]);\n\n useEffect(() => {\n if (!programCode) {\n onFormDataChange({\n searchedChaptersList: [],\n });\n }\n }, [programCode, onFormDataChange]);\n\n return (\n <>\n <SelectInput\n renderAs=\"primary\"\n label=\"Grade\"\n value={selectedGrade}\n options={grades}\n onChange={handleGradeChange}\n widthX={9}\n size=\"xsmall\"\n theme=\"dark\"\n shape=\"curved\"\n />\n\n {selectedGrade && (\n <>\n <SelectInput\n widthX={18}\n renderAs=\"primary\"\n shape=\"curved\"\n theme=\"dark\"\n size=\"xsmall\"\n label=\"Curriculum\"\n options={boards}\n renderOptionsAs=\"section-list\"\n value={selectedCurriculum}\n onChange={handleCurriculumChange}\n />\n\n {majorsPresent && (\n <SelectInput\n renderAs=\"primary\"\n label=\"Course\"\n options={majors}\n value={selectedCourse}\n onChange={handleMajorChange}\n widthX={9}\n size=\"xsmall\"\n theme=\"dark\"\n shape=\"curved\"\n />\n )}\n </>\n )}\n </>\n );\n },\n);\n\nexport default CourseCatalog;\n"],"names":["CourseCatalog","memo","config","region","courseStream","classRatio","searchChapterFields","getCatalogChapters","onFormDataChange","enrollmentType","mode","useMilestoneContext","selectedCurriculum","selectedGrade","selectedCourse","grades","boards","majors","useCatalogHelpers","majorsPresent","useMemo","handleCurriculumChange","useCallback","curriculumValue","handleGradeChange","gradeValue","updatedCurriculum","_a","getCurriculumStandardsFromConfig","GOAL_CATEGORY","handleMajorChange","majorValue","programInfo","getGradeBoardAndMajorBasedProgramCode","programCode","useEffect","jsxs","Fragment","jsx","SelectInput"],"mappings":"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"}
|
package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js
CHANGED
@@ -1,39 +1,41 @@
|
|
1
1
|
import { useMemo as t } from "react";
|
2
|
-
import { GOAL_CATEGORY as
|
3
|
-
import { getGradesBasedOnGoalAvailability as
|
4
|
-
import { getCategorizedCurriculumStandards as
|
5
|
-
const
|
2
|
+
import { GOAL_CATEGORY as S } from "../../../../constants.js";
|
3
|
+
import { getGradesBasedOnGoalAvailability as e, getMajorsFromConfigBasedOnBoardAndGrade as m } from "../../../milestone-create-helpers.js";
|
4
|
+
import { getCategorizedCurriculumStandards as B } from "../../class-details-step/class-details-utils.js";
|
5
|
+
const b = ({
|
6
6
|
config: r,
|
7
|
-
searchChapterFields:
|
8
|
-
region:
|
7
|
+
searchChapterFields: G,
|
8
|
+
region: s,
|
9
9
|
courseStream: d,
|
10
|
-
classRatio:
|
11
|
-
enrollmentType: a
|
10
|
+
classRatio: o,
|
11
|
+
enrollmentType: a,
|
12
|
+
flow: O
|
12
13
|
}) => {
|
13
|
-
const { selectedCurriculum:
|
14
|
-
() =>
|
15
|
-
countryCode:
|
14
|
+
const { selectedCurriculum: u = "", selectedGrade: C = "" } = G, g = t(() => e(r, "SCHOOL_SUCCESS", d, a), [r, d, a]), i = t(
|
15
|
+
() => B(r, {
|
16
|
+
countryCode: s ?? "",
|
16
17
|
grade: C,
|
17
|
-
goalCategory:
|
18
|
+
goalCategory: S.SCHOOL_SUCCESS,
|
18
19
|
courseStream: d,
|
19
|
-
classRatio:
|
20
|
-
enrollmentType: a
|
20
|
+
classRatio: o,
|
21
|
+
enrollmentType: a,
|
22
|
+
flow: O
|
21
23
|
}),
|
22
|
-
[r,
|
23
|
-
),
|
24
|
+
[r, s, C, d, o, a, O]
|
25
|
+
), A = t(() => m(
|
24
26
|
r,
|
25
|
-
|
27
|
+
u,
|
26
28
|
C,
|
27
29
|
d,
|
28
30
|
a
|
29
|
-
), [C, a,
|
31
|
+
), [C, a, u, r, d]);
|
30
32
|
return {
|
31
|
-
grades:
|
32
|
-
boards:
|
33
|
-
majors:
|
33
|
+
grades: g,
|
34
|
+
boards: i,
|
35
|
+
majors: A
|
34
36
|
};
|
35
37
|
};
|
36
38
|
export {
|
37
|
-
|
39
|
+
b as useCatalogHelpers
|
38
40
|
};
|
39
41
|
//# sourceMappingURL=use-catalog-helpers.js.map
|
package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-catalog-helpers.js","sources":["../../../../../../../src/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.ts"],"sourcesContent":["import type { ISectionOption } from '../../../../../ui/section-list/section-list-types';\nimport type {\n IMilestoneConfig,\n ISearchChapterFields,\n TCourseStream,\n TCurriculumStandardOption,\n TEnrollmentTypes,\n} from '../../../milestone-create-types';\n\nimport { useMemo } from 'react';\n\nimport { GOAL_CATEGORY } from '../../../../constants';\nimport {\n getGradesBasedOnGoalAvailability,\n getMajorsFromConfigBasedOnBoardAndGrade,\n} from '../../../milestone-create-helpers';\nimport { getCategorizedCurriculumStandards } from '../../class-details-step/class-details-utils';\n\ntype TOptions = { id: string; label: string };\n\ninterface IUseCatalogHelpers {\n (args: {\n config: IMilestoneConfig;\n searchChapterFields: Partial<ISearchChapterFields>;\n region: string;\n courseStream: TCourseStream;\n classRatio: number;\n enrollmentType: TEnrollmentTypes;\n }): {\n grades: TOptions[];\n boards: ISectionOption<TCurriculumStandardOption>[];\n majors: TOptions[];\n };\n}\n\nconst useCatalogHelpers: IUseCatalogHelpers = ({\n config,\n searchChapterFields,\n region,\n courseStream,\n classRatio,\n enrollmentType,\n}) => {\n const { selectedCurriculum = '', selectedGrade = '' } = searchChapterFields;\n\n const grades = useMemo(() => {\n //* We don't allow to add custom chapters to TEST_PREP & ENRICHMENT\n return getGradesBasedOnGoalAvailability(config, 'SCHOOL_SUCCESS', courseStream, enrollmentType);\n }, [config, courseStream, enrollmentType]);\n\n const boards = useMemo(\n () =>\n getCategorizedCurriculumStandards(config, {\n countryCode: region ?? '',\n grade: selectedGrade,\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream,\n classRatio,\n enrollmentType,\n }),\n [config, region, selectedGrade, courseStream, classRatio, enrollmentType],\n );\n\n const majors = useMemo(() => {\n return getMajorsFromConfigBasedOnBoardAndGrade(\n config,\n selectedCurriculum,\n selectedGrade,\n courseStream,\n enrollmentType,\n );\n }, [selectedGrade, enrollmentType, selectedCurriculum, config, courseStream]);\n\n return {\n grades,\n boards,\n majors,\n };\n};\n\nexport { useCatalogHelpers };\n"],"names":["useCatalogHelpers","config","searchChapterFields","region","courseStream","classRatio","enrollmentType","selectedCurriculum","selectedGrade","grades","useMemo","getGradesBasedOnGoalAvailability","boards","getCategorizedCurriculumStandards","GOAL_CATEGORY","majors","getMajorsFromConfigBasedOnBoardAndGrade"],"mappings":";;;;
|
1
|
+
{"version":3,"file":"use-catalog-helpers.js","sources":["../../../../../../../src/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.ts"],"sourcesContent":["import type { ISectionOption } from '../../../../../ui/section-list/section-list-types';\nimport type {\n IMilestoneConfig,\n ISearchChapterFields,\n TCourseStream,\n TCurriculumStandardOption,\n TEnrollmentTypes,\n TMilestoneFormFlow,\n} from '../../../milestone-create-types';\n\nimport { useMemo } from 'react';\n\nimport { GOAL_CATEGORY } from '../../../../constants';\nimport {\n getGradesBasedOnGoalAvailability,\n getMajorsFromConfigBasedOnBoardAndGrade,\n} from '../../../milestone-create-helpers';\nimport { getCategorizedCurriculumStandards } from '../../class-details-step/class-details-utils';\n\ntype TOptions = { id: string; label: string };\n\ninterface IUseCatalogHelpers {\n (args: {\n config: IMilestoneConfig;\n searchChapterFields: Partial<ISearchChapterFields>;\n region: string;\n courseStream: TCourseStream;\n classRatio: number;\n enrollmentType: TEnrollmentTypes;\n flow?: TMilestoneFormFlow | null;\n }): {\n grades: TOptions[];\n boards: ISectionOption<TCurriculumStandardOption>[];\n majors: TOptions[];\n };\n}\n\nconst useCatalogHelpers: IUseCatalogHelpers = ({\n config,\n searchChapterFields,\n region,\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n}) => {\n const { selectedCurriculum = '', selectedGrade = '' } = searchChapterFields;\n\n const grades = useMemo(() => {\n //* We don't allow to add custom chapters to TEST_PREP & ENRICHMENT\n return getGradesBasedOnGoalAvailability(config, 'SCHOOL_SUCCESS', courseStream, enrollmentType);\n }, [config, courseStream, enrollmentType]);\n\n const boards = useMemo(\n () =>\n getCategorizedCurriculumStandards(config, {\n countryCode: region ?? '',\n grade: selectedGrade,\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n }),\n [config, region, selectedGrade, courseStream, classRatio, enrollmentType, flow],\n );\n\n const majors = useMemo(() => {\n return getMajorsFromConfigBasedOnBoardAndGrade(\n config,\n selectedCurriculum,\n selectedGrade,\n courseStream,\n enrollmentType,\n );\n }, [selectedGrade, enrollmentType, selectedCurriculum, config, courseStream]);\n\n return {\n grades,\n boards,\n majors,\n };\n};\n\nexport { useCatalogHelpers };\n"],"names":["useCatalogHelpers","config","searchChapterFields","region","courseStream","classRatio","enrollmentType","flow","selectedCurriculum","selectedGrade","grades","useMemo","getGradesBasedOnGoalAvailability","boards","getCategorizedCurriculumStandards","GOAL_CATEGORY","majors","getMajorsFromConfigBasedOnBoardAndGrade"],"mappings":";;;;AAqCA,MAAMA,IAAwC,CAAC;AAAA,EAC7C,QAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,QAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,MAAAC;AACF,MAAM;AACJ,QAAM,EAAE,oBAAAC,IAAqB,IAAI,eAAAC,IAAgB,OAAOP,GAElDQ,IAASC,EAAQ,MAEdC,EAAiCX,GAAQ,kBAAkBG,GAAcE,CAAc,GAC7F,CAACL,GAAQG,GAAcE,CAAc,CAAC,GAEnCO,IAASF;AAAA,IACb,MACEG,EAAkCb,GAAQ;AAAA,MACxC,aAAaE,KAAU;AAAA,MACvB,OAAOM;AAAA,MACP,cAAcM,EAAc;AAAA,MAC5B,cAAAX;AAAA,MACA,YAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,MAAAC;AAAA,IAAA,CACD;AAAA,IACH,CAACN,GAAQE,GAAQM,GAAeL,GAAcC,GAAYC,GAAgBC,CAAI;AAAA,EAAA,GAG1ES,IAASL,EAAQ,MACdM;AAAA,IACLhB;AAAA,IACAO;AAAA,IACAC;AAAA,IACAL;AAAA,IACAE;AAAA,EAAA,GAED,CAACG,GAAeH,GAAgBE,GAAoBP,GAAQG,CAAY,CAAC;AAErE,SAAA;AAAA,IACL,QAAAM;AAAA,IACA,QAAAG;AAAA,IACA,QAAAG;AAAA,EAAA;AAEJ;"}
|