@cuemath/leap 3.1.2-beta-0.4 → 3.1.2-j1
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 +1 -2
- 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/features/auth/account-selector/account-selector-styled.js +9 -0
- package/dist/features/auth/account-selector/account-selector-styled.js.map +1 -0
- package/dist/features/auth/account-selector/account-selector.js +56 -36
- package/dist/features/auth/account-selector/account-selector.js.map +1 -1
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout-styled.js +21 -0
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout-styled.js.map +1 -0
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js +8 -9
- 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 +15 -3
- 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 +14 -18
- 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 +23 -24
- 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 +4 -2
- 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 +85 -75
- package/dist/features/auth/login/identifier-otp-form/identifier-otp-form.js.map +1 -1
- package/dist/features/auth/login/login-styled.js +13 -0
- package/dist/features/auth/login/login-styled.js.map +1 -0
- package/dist/features/auth/login/social-account-not-found/social-account-not-found.js +24 -22
- 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-styled.js +9 -0
- package/dist/features/auth/login/social-login-methods/social-login-methods-styled.js.map +1 -0
- package/dist/features/auth/login/social-login-methods/social-login-methods.js +43 -34
- 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 +22 -21
- 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 +25 -24
- package/dist/features/auth/user-list/user-item/user-item.js.map +1 -1
- package/dist/features/auth/user-list/user-list.js +60 -51
- package/dist/features/auth/user-list/user-list.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-context.js +5 -8
- package/dist/features/cue-canvas/cue-canvas-context.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-core.js +75 -80
- package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-helpers.js +25 -31
- package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-provider.js +12 -14
- package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas.js +65 -79
- package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
- package/dist/features/cue-canvas/cue-cavas-styled.js +42 -45
- package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
- package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +54 -61
- package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
- package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js +14 -18
- package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js.map +1 -1
- package/dist/features/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 +20 -22
- package/dist/features/cue-canvas/toolbar/tool.js.map +1 -1
- package/dist/features/homework/styles.js +4 -5
- package/dist/features/homework/styles.js.map +1 -1
- package/dist/features/hooks/use-device-type.js +25 -0
- package/dist/features/hooks/use-device-type.js.map +1 -0
- package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +36 -38
- package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js +22 -24
- package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js +22 -23
- package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/utils.js +47 -49
- package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
- package/dist/features/milestone/create/comps/class-details-step/class-details-step.js +87 -94
- package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
- package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js +12 -13
- package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
- package/dist/features/milestone/create/comps/test-type-step/test-type-step.js +21 -23
- package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-helpers.js +162 -165
- package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +124 -103
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js +14 -15
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js.map +1 -1
- package/dist/features/trial-session/comps/pricing/pricing.js +35 -36
- package/dist/features/trial-session/comps/pricing/pricing.js.map +1 -1
- package/dist/features/ui/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/utils/media.js +16 -0
- package/dist/features/utils/media.js.map +1 -0
- package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js +19 -22
- package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js.map +1 -1
- package/dist/index.d.ts +22 -78
- package/dist/index.js +265 -268
- package/dist/index.js.map +1 -1
- package/dist/static/cuemath-app-qr-code.7205ee79.svg +1 -0
- package/package.json +1 -1
- package/dist/assets/line-icons/icons/puzzle-icon.js +0 -51
- package/dist/assets/line-icons/icons/puzzle-icon.js.map +0 -1
- package/dist/assets/line-icons/icons/share.js +0 -48
- package/dist/assets/line-icons/icons/share.js.map +0 -1
- package/dist/assets/line-icons/icons/tile.js +0 -54
- package/dist/assets/line-icons/icons/tile.js.map +0 -1
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout-styles.js +0 -12
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout-styles.js.map +0 -1
- package/dist/features/cue-canvas/bottombar/homework-controls.js +0 -73
- package/dist/features/cue-canvas/bottombar/homework-controls.js.map +0 -1
- package/dist/features/cue-canvas/hooks/use-upload-helper.js +0 -23
- package/dist/features/cue-canvas/hooks/use-upload-helper.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/homework/helper.js +0 -20
- package/dist/features/cue-canvas/sidebar/homework/helper.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/homework/homework-menu.js +0 -33
- package/dist/features/cue-canvas/sidebar/homework/homework-menu.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/homework/homework-request.js +0 -68
- package/dist/features/cue-canvas/sidebar/homework/homework-request.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/homework/homework-styled.js +0 -25
- package/dist/features/cue-canvas/sidebar/homework/homework-styled.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/homework/homework.js +0 -39
- package/dist/features/cue-canvas/sidebar/homework/homework.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js +0 -13
- package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js +0 -60
- package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js +0 -44
- package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/filters.js +0 -107
- package/dist/features/cue-canvas/sidebar/puzzles/filters.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js +0 -42
- package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js +0 -84
- package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js +0 -36
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js +0 -133
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js +0 -96
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js +0 -29
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/puzzles/utils.js +0 -120
- package/dist/features/cue-canvas/sidebar/puzzles/utils.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/sidebar-styled.js +0 -32
- package/dist/features/cue-canvas/sidebar/sidebar-styled.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/sidebar.js +0 -29
- package/dist/features/cue-canvas/sidebar/sidebar.js.map +0 -1
- package/dist/features/cue-canvas/sidebar/tiles/tile.js +0 -16
- package/dist/features/cue-canvas/sidebar/tiles/tile.js.map +0 -1
- package/dist/features/hooks/use-debounce.js +0 -16
- package/dist/features/hooks/use-debounce.js.map +0 -1
- package/dist/features/milestone/milestone-list-container/api/get-past-milestone-count.js +0 -18
- package/dist/features/milestone/milestone-list-container/api/get-past-milestone-count.js.map +0 -1
- package/dist/features/trial-session/comps/pricing/india-pricing/index.js +0 -96
- package/dist/features/trial-session/comps/pricing/india-pricing/index.js.map +0 -1
- package/dist/features/trial-session/comps/pricing/india-pricing/india-pricing-styled.js +0 -59
- package/dist/features/trial-session/comps/pricing/india-pricing/india-pricing-styled.js.map +0 -1
- package/dist/static/ellipse-clip.dfb25608.svg +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-canvas-sync-broker.js","sources":["../../../../src/features/cue-canvas/hooks/use-canvas-sync-broker.ts"],"sourcesContent":["import type {
|
1
|
+
{"version":3,"file":"use-canvas-sync-broker.js","sources":["../../../../src/features/cue-canvas/hooks/use-canvas-sync-broker.ts"],"sourcesContent":["import type { IActionData, TCueCanvasChangeDataObject } from '../types/cue-canvas';\n\nimport { useMessageBrokerChannel, type IChannelMessage } from '@cuemath/cue-message-broker';\nimport { useMemo, useCallback, useState, useRef } from 'react';\n\ninterface IMessage {\n eventName: string;\n eventPayload: {\n responseId: string;\n data: TCueCanvasChangeDataObject;\n userId: string;\n height: number;\n };\n}\n\nconst extractStrokeData = (payload: IMessage['eventPayload']): IActionData => ({\n userId: payload.userId,\n data: payload.data,\n height: payload.height,\n responseId: payload.responseId,\n});\n\nconst useCanvasSyncBroker = (\n channelId: string,\n logEvent: (type: string, payload?: Record<string, unknown>) => void,\n initialCanvasData?: Array<IChannelMessage>,\n) => {\n const [initialStrokesData, setInitialStrokesData] = useState<Record<string, IActionData[]>>(\n () => {\n const map: Record<string, IActionData[]> = {};\n\n if (!initialCanvasData) return map;\n\n for (const { message } of initialCanvasData) {\n const payload = (message.payload as IMessage)?.eventPayload;\n const qrId = payload?.responseId;\n\n if (!payload?.responseId) continue;\n\n const strokeData = extractStrokeData(payload);\n\n if (qrId && map[qrId]) {\n map[qrId]?.push(strokeData);\n } else {\n map[qrId] = [strokeData];\n }\n }\n\n return map;\n },\n );\n const callbacksMapRef = useRef<Record<string, (data: IActionData) => void>>({});\n\n const channelOptions = useMemo(\n () => ({\n channelId,\n ttl: 0,\n logger: logEvent,\n }),\n [channelId, logEvent],\n );\n\n const registerCallback = useCallback((qrId: string, cb: (data: IActionData) => void) => {\n callbacksMapRef.current = { ...callbacksMapRef.current, [qrId]: cb };\n }, []);\n\n const onMessageReceive = useCallback(\n (messages: Array<IChannelMessage>, initialData?: boolean) => {\n const strokesPerWidgetMap: Record<string, Array<IActionData>> = {};\n\n messages.forEach(message => {\n const { payload } = message.message;\n const { eventPayload } = payload as IMessage;\n const qrId = eventPayload?.responseId as string;\n const strokes = eventPayload?.data;\n const userId = eventPayload?.userId;\n const canvasHeight = eventPayload?.height;\n const widgetOnReceiveCallback = callbacksMapRef.current[qrId];\n\n if (!initialData && widgetOnReceiveCallback) {\n widgetOnReceiveCallback({\n data: strokes,\n height: canvasHeight,\n userId,\n responseId: qrId,\n });\n } else {\n const strokeData = extractStrokeData(eventPayload);\n\n if (qrId && strokesPerWidgetMap[qrId]) {\n strokesPerWidgetMap[qrId]?.push(strokeData);\n } else {\n strokesPerWidgetMap[qrId] = [strokeData];\n }\n }\n });\n\n if (Object.keys(strokesPerWidgetMap).length > 0) {\n setInitialStrokesData(prevData => {\n const currentData = { ...prevData };\n\n Object.keys(strokesPerWidgetMap).forEach(key => {\n if (key && currentData[key]) {\n currentData[key]?.push(...(strokesPerWidgetMap[key] ?? []));\n } else {\n currentData[key] = strokesPerWidgetMap[key] ?? [];\n }\n });\n\n return currentData;\n });\n }\n },\n [],\n );\n\n const { publish, channelStatus, channel } = useMessageBrokerChannel({\n channelOptions,\n consumerFn: onMessageReceive,\n });\n\n const closeChannel = useCallback(() => {\n if (channel) {\n channel.destroyChannel();\n }\n }, [channel]);\n\n return {\n publishStrokes: publish,\n channelStatus,\n closeChannel,\n initialStrokesData,\n registerCallback,\n };\n};\n\nexport default useCanvasSyncBroker;\n"],"names":["extractStrokeData","payload","useCanvasSyncBroker","channelId","logEvent","initialCanvasData","initialStrokesData","setInitialStrokesData","useState","map","message","_a","qrId","strokeData","_b","callbacksMapRef","useRef","channelOptions","useMemo","registerCallback","useCallback","cb","onMessageReceive","messages","initialData","strokesPerWidgetMap","eventPayload","strokes","userId","canvasHeight","widgetOnReceiveCallback","prevData","currentData","key","publish","channelStatus","channel","useMessageBrokerChannel","closeChannel","useCanvasSyncBroker$1"],"mappings":"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"}
|
@@ -1,32 +1,28 @@
|
|
1
|
-
import { useContext as
|
2
|
-
import
|
3
|
-
const
|
1
|
+
import { useContext as c, useMemo as l } from "react";
|
2
|
+
import a from "../cue-canvas-context.js";
|
3
|
+
const m = () => {
|
4
4
|
const {
|
5
|
-
activeInstance:
|
6
|
-
setActiveTool:
|
5
|
+
activeInstance: t,
|
6
|
+
setActiveTool: o,
|
7
7
|
activeTool: e,
|
8
|
-
setActiveInstance:
|
8
|
+
setActiveInstance: i,
|
9
9
|
activeColor: s,
|
10
|
-
setActiveColor:
|
11
|
-
|
12
|
-
setHomeworkId: c
|
13
|
-
} = a(v), l = m(
|
10
|
+
setActiveColor: n
|
11
|
+
} = c(a), r = l(
|
14
12
|
() => e ? ["pen", "ruler", "highlighter", "marker"].includes(e) : !1,
|
15
13
|
[e]
|
16
14
|
);
|
17
15
|
return {
|
18
|
-
activeInstance:
|
19
|
-
setActiveTool:
|
16
|
+
activeInstance: t,
|
17
|
+
setActiveTool: o,
|
20
18
|
activeTool: e,
|
21
|
-
setActiveInstance:
|
19
|
+
setActiveInstance: i,
|
22
20
|
activeColor: s,
|
23
|
-
setActiveColor:
|
24
|
-
isWritingToolActive:
|
25
|
-
homeworkId: n,
|
26
|
-
setHomeworkId: c
|
21
|
+
setActiveColor: n,
|
22
|
+
isWritingToolActive: r
|
27
23
|
};
|
28
24
|
};
|
29
25
|
export {
|
30
|
-
|
26
|
+
m as useCueCanvasActions
|
31
27
|
};
|
32
28
|
//# sourceMappingURL=use-cue-canvas-actions.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-cue-canvas-actions.js","sources":["../../../../src/features/cue-canvas/hooks/use-cue-canvas-actions.ts"],"sourcesContent":["import { useContext, useMemo } from 'react';\n\nimport PolyContext from '../cue-canvas-context';\n\nexport const useCueCanvasActions = () => {\n const {\n activeInstance,\n setActiveTool,\n activeTool,\n setActiveInstance,\n activeColor,\n setActiveColor,\n
|
1
|
+
{"version":3,"file":"use-cue-canvas-actions.js","sources":["../../../../src/features/cue-canvas/hooks/use-cue-canvas-actions.ts"],"sourcesContent":["import { useContext, useMemo } from 'react';\n\nimport PolyContext from '../cue-canvas-context';\n\nexport const useCueCanvasActions = () => {\n const {\n activeInstance,\n setActiveTool,\n activeTool,\n setActiveInstance,\n activeColor,\n setActiveColor,\n } = useContext(PolyContext);\n\n const isWritingToolActive = useMemo(\n () => (activeTool ? ['pen', 'ruler', 'highlighter', 'marker'].includes(activeTool) : false),\n [activeTool],\n );\n\n return {\n activeInstance,\n setActiveTool,\n activeTool,\n setActiveInstance,\n activeColor,\n setActiveColor,\n isWritingToolActive,\n };\n};\n"],"names":["useCueCanvasActions","activeInstance","setActiveTool","activeTool","setActiveInstance","activeColor","setActiveColor","useContext","PolyContext","isWritingToolActive","useMemo"],"mappings":";;AAIO,MAAMA,IAAsB,MAAM;AACjC,QAAA;AAAA,IACJ,gBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,YAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,IACEC,EAAWC,CAAW,GAEpBC,IAAsBC;AAAA,IAC1B,MAAOP,IAAa,CAAC,OAAO,SAAS,eAAe,QAAQ,EAAE,SAASA,CAAU,IAAI;AAAA,IACrF,CAACA,CAAU;AAAA,EAAA;AAGN,SAAA;AAAA,IACL,gBAAAF;AAAA,IACA,eAAAC;AAAA,IACA,YAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,qBAAAG;AAAA,EAAA;AAEJ;"}
|
@@ -1,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 n from "../../ui/buttons/clickable/clickable.js";
|
4
4
|
import h from "../../ui/hooks/use-context-menu-click-handler.js";
|
5
|
-
import
|
5
|
+
import t 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 l } 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: c }) => {
|
11
|
+
const { activeInstance: e } = l(), i = C(null), { activeTool: d } = l(), { menuVisible: m, onMenuClick: u } = h(
|
12
|
+
i,
|
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);
|
19
19
|
},
|
20
|
-
[e
|
20
|
+
[e]
|
21
21
|
);
|
22
|
-
return /* @__PURE__ */ a(
|
23
|
-
/* @__PURE__ */ r(
|
24
|
-
|
22
|
+
return /* @__PURE__ */ a(t, { $gutterX: 0.25, ref: i, children: [
|
23
|
+
/* @__PURE__ */ r(n, { onClick: u, label: "grid", children: /* @__PURE__ */ r(k, { $active: d === "grid", children: /* @__PURE__ */ r(c, {}) }) }),
|
24
|
+
m && /* @__PURE__ */ r(
|
25
25
|
G,
|
26
26
|
{
|
27
27
|
$borderColor: "GREY_1",
|
@@ -33,12 +33,12 @@ const A = f(({ GridIcon: d }) => {
|
|
33
33
|
children: b.map((o) => {
|
34
34
|
const s = x[o];
|
35
35
|
return /* @__PURE__ */ r(
|
36
|
-
|
36
|
+
n,
|
37
37
|
{
|
38
38
|
onClick: () => p(o),
|
39
39
|
label: o,
|
40
40
|
children: /* @__PURE__ */ r(
|
41
|
-
|
41
|
+
t,
|
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
|
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;AAAA,IACxB;AAAA,IACA,CAACV,CAAS;AAAA,EAAA;AAGZ,SACG,gBAAAW,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,36 +1,34 @@
|
|
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 p, useCallback as T } from "react";
|
3
|
+
import f from "../../ui/buttons/clickable/clickable.js";
|
4
|
+
import d from "../../ui/layout/flex-view.js";
|
5
|
+
import { STATELESS_TOOLS as C, getIsWritingTool as u } from "../cue-canvas-helpers.js";
|
6
|
+
import { StyledWrapper as v } 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 h = ({ tool: o, withGutter: n, shouldAnimate: l }) => {
|
11
|
+
const e = $[o], {
|
12
|
+
activeInstance: i,
|
13
13
|
setActiveTool: m,
|
14
14
|
activeTool: c,
|
15
|
-
activeColor:
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
(i) => {
|
20
|
-
e == null || e.setTool(i), i === "clearAll" && l && n(void 0), v.has(i) || m(i);
|
15
|
+
activeColor: a
|
16
|
+
} = O(), s = T(
|
17
|
+
(t) => {
|
18
|
+
i == null || i.setTool(t), C.has(t) || m(t);
|
21
19
|
},
|
22
|
-
[
|
20
|
+
[i, m]
|
23
21
|
);
|
24
|
-
return o === "grid" ? /* @__PURE__ */ r(S, { GridIcon:
|
25
|
-
|
22
|
+
return o === "grid" ? /* @__PURE__ */ r(S, { GridIcon: e }) : /* @__PURE__ */ r(d, { $gutterX: n ? 0.25 : 0, children: /* @__PURE__ */ r(f, { onClick: () => s(o), label: o, children: u(o) ? /* @__PURE__ */ r(
|
23
|
+
e,
|
26
24
|
{
|
27
25
|
$active: c === o,
|
28
|
-
$activeColor:
|
29
|
-
$shouldAnimate:
|
26
|
+
$activeColor: a,
|
27
|
+
$shouldAnimate: l
|
30
28
|
}
|
31
|
-
) : /* @__PURE__ */ r(
|
32
|
-
},
|
29
|
+
) : /* @__PURE__ */ r(v, { $active: c === o, children: /* @__PURE__ */ r(e, {}) }) }) });
|
30
|
+
}, G = p(h);
|
33
31
|
export {
|
34
|
-
|
32
|
+
G as default
|
35
33
|
};
|
36
34
|
//# 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
|
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,CAAC,MAAsB;AACrB,MAAAN,KAAA,QAAAA,EAAW,QAAQ,IAEdO,EAAgB,IAAI,CAAC,KACxBN,EAAc,CAAC;AAAA,IAEnB;AAAA,IACA,CAACD,GAAWC,CAAa;AAAA,EAAA;AAG3B,SAAIN,MAAS,SACJ,gBAAAa,EAACC,GAAS,EAAA,UAAUX,EAAe,CAAA,sBAIzCY,GAAS,EAAA,UAAUd,IAAa,OAAO,GACtC,UAAC,gBAAAY,EAAAG,GAAA,EAAU,SAAS,MAAMN,EAAYV,CAAI,GAAG,OAAOA,GACjD,UAAAiB,EAAiBjB,CAAI,IACpB,gBAAAa;AAAA,IAACV;AAAA,IAAA;AAAA,MACC,SAASI,MAAeP;AAAA,MACxB,cAAcQ;AAAA,MACd,gBAAgBN;AAAA,IAAA;AAAA,EAClB,IAEC,gBAAAW,EAAAK,GAAA,EAAc,SAASX,MAAeP,GACrC,UAAC,gBAAAa,EAAAV,GAAA,CAAc,CAAA,EACjB,CAAA,EAEJ,CAAA,EACF,CAAA;AAEJ,GAEegB,IAAAC,EAAKrB,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
|
+
`, u = r(e)(({
|
22
22
|
$shouldopenonright: o,
|
23
23
|
$visible: t
|
24
24
|
}) => `
|
@@ -33,9 +33,8 @@ 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
|
+
`), x = r(e)`
|
37
37
|
border: 1px solid ${({ theme: o }) => o.colors.BLACK_T_15};
|
38
|
-
border-top-width: 2px;
|
39
38
|
&:hover {
|
40
39
|
border: 1px solid ${({ theme: o }) => o.colors.BLACK};
|
41
40
|
border-top-width: 2px;
|
@@ -118,9 +117,9 @@ export {
|
|
118
117
|
w as BannerImageWrapper,
|
119
118
|
v as BlurContainer,
|
120
119
|
$ as BlurFlexView,
|
121
|
-
|
120
|
+
x as CardContainer,
|
122
121
|
c as CardKebabMenuWrapper,
|
123
|
-
|
122
|
+
u as CardMenuOptionsWrapper,
|
124
123
|
b as CardWrapper,
|
125
124
|
m as HeaderText,
|
126
125
|
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
|
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,wBAEpC,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,25 @@
|
|
1
|
+
import { useState as n, useEffect as o } from "react";
|
2
|
+
import { getDeviceType as r } from "../utils/media.js";
|
3
|
+
const d = () => {
|
4
|
+
const [i, s] = n(() => window.innerWidth);
|
5
|
+
o(() => {
|
6
|
+
function t() {
|
7
|
+
s(window.innerWidth);
|
8
|
+
}
|
9
|
+
return window.addEventListener("resize", t), () => window.removeEventListener("resize", t);
|
10
|
+
}, []);
|
11
|
+
const e = r(i);
|
12
|
+
return {
|
13
|
+
width: i,
|
14
|
+
isMobile: e === "mobile",
|
15
|
+
isTablet: e === "tablet",
|
16
|
+
isDesktop: e === "desktop",
|
17
|
+
isLarge: e === "large",
|
18
|
+
isXL: e === "xl",
|
19
|
+
deviceType: e
|
20
|
+
};
|
21
|
+
}, p = d;
|
22
|
+
export {
|
23
|
+
p as default
|
24
|
+
};
|
25
|
+
//# sourceMappingURL=use-device-type.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"use-device-type.js","sources":["../../../src/features/hooks/use-device-type.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { getDeviceType } from '../utils/media';\n\ninterface IUseDeviceTypeReturn {\n width: number;\n isMobile: boolean;\n isTablet: boolean;\n isDesktop: boolean;\n isLarge: boolean;\n isXL: boolean;\n deviceType: 'mobile' | 'tablet' | 'desktop' | 'large' | 'xl';\n}\n\nconst useDeviceType = (): IUseDeviceTypeReturn => {\n const [width, setWidth] = useState(() => window.innerWidth);\n\n useEffect(() => {\n function handleResize() {\n setWidth(window.innerWidth);\n }\n\n window.addEventListener('resize', handleResize);\n\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n const deviceType = getDeviceType(width);\n\n return {\n width,\n isMobile: deviceType === 'mobile',\n isTablet: deviceType === 'tablet',\n isDesktop: deviceType === 'desktop',\n isLarge: deviceType === 'large',\n isXL: deviceType === 'xl',\n deviceType,\n };\n};\n\nexport default useDeviceType;\n"],"names":["useDeviceType","width","setWidth","useState","useEffect","handleResize","deviceType","getDeviceType","useDeviceType$1"],"mappings":";;AAcA,MAAMA,IAAgB,MAA4B;AAChD,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAS,MAAM,OAAO,UAAU;AAE1D,EAAAC,EAAU,MAAM;AACd,aAASC,IAAe;AACtB,MAAAH,EAAS,OAAO,UAAU;AAAA,IAC5B;AAEO,kBAAA,iBAAiB,UAAUG,CAAY,GAEvC,MAAM,OAAO,oBAAoB,UAAUA,CAAY;AAAA,EAChE,GAAG,CAAE,CAAA;AAEC,QAAAC,IAAaC,EAAcN,CAAK;AAE/B,SAAA;AAAA,IACL,OAAAA;AAAA,IACA,UAAUK,MAAe;AAAA,IACzB,UAAUA,MAAe;AAAA,IACzB,WAAWA,MAAe;AAAA,IAC1B,SAASA,MAAe;AAAA,IACxB,MAAMA,MAAe;AAAA,IACrB,YAAAA;AAAA,EAAA;AAEJ,GAEAE,IAAeR;"}
|
@@ -1,35 +1,34 @@
|
|
1
|
-
import { jsxs as
|
2
|
-
import { memo as
|
3
|
-
import
|
4
|
-
import { GOAL_CATEGORY as
|
1
|
+
import { jsxs as v, Fragment as S, jsx as f } from "react/jsx-runtime";
|
2
|
+
import { memo as w, useMemo as G, useCallback as O, useEffect as h } from "react";
|
3
|
+
import A from "../../../../ui/inputs/select-input/select-input.js";
|
4
|
+
import { GOAL_CATEGORY as E } 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 X } from "./hooks/use-catalog-helpers.js";
|
9
|
+
const Q = w(
|
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: j,
|
17
17
|
onFormDataChange: r,
|
18
18
|
enrollmentType: u
|
19
19
|
}) => {
|
20
|
-
const { mode:
|
20
|
+
const { mode: x } = z(), {
|
21
21
|
selectedCurriculum: a = "",
|
22
22
|
selectedGrade: m = "",
|
23
23
|
selectedCourse: n = ""
|
24
|
-
} = e, { grades:
|
24
|
+
} = e, { grades: M, boards: k, majors: p } = X({
|
25
25
|
config: s,
|
26
26
|
region: t,
|
27
27
|
searchChapterFields: e,
|
28
28
|
courseStream: o,
|
29
29
|
classRatio: C,
|
30
|
-
enrollmentType: u
|
31
|
-
|
32
|
-
}), c = A(() => p.length > 1, [p]), k = G(
|
30
|
+
enrollmentType: u
|
31
|
+
}), c = G(() => p.length > 1, [p]), y = O(
|
33
32
|
(d) => {
|
34
33
|
r({
|
35
34
|
searchChapterFields: {
|
@@ -39,23 +38,22 @@ const Q = L(
|
|
39
38
|
});
|
40
39
|
},
|
41
40
|
[e, r]
|
42
|
-
),
|
41
|
+
), B = O(
|
43
42
|
(d) => {
|
44
|
-
var
|
45
|
-
let
|
46
|
-
(d === "-1" || d === "0") && (
|
43
|
+
var b;
|
44
|
+
let _ = e.selectedCurriculum;
|
45
|
+
(d === "-1" || d === "0") && (_ = (b = H(s, {
|
47
46
|
countryCode: t ?? "",
|
48
47
|
grade: d,
|
49
|
-
goalCategory:
|
48
|
+
goalCategory: E.SCHOOL_SUCCESS,
|
50
49
|
courseStream: o,
|
51
50
|
enrollmentType: u,
|
52
|
-
classRatio: C
|
53
|
-
|
54
|
-
})[0]) == null ? void 0 : _.id), r({
|
51
|
+
classRatio: C
|
52
|
+
})[0]) == null ? void 0 : b.id), r({
|
55
53
|
searchChapterFields: {
|
56
54
|
...e,
|
57
55
|
selectedGrade: d,
|
58
|
-
selectedCurriculum:
|
56
|
+
selectedCurriculum: _
|
59
57
|
}
|
60
58
|
});
|
61
59
|
},
|
@@ -68,7 +66,7 @@ const Q = L(
|
|
68
66
|
u,
|
69
67
|
C
|
70
68
|
]
|
71
|
-
),
|
69
|
+
), L = O(
|
72
70
|
(d) => {
|
73
71
|
r({
|
74
72
|
searchChapterFields: {
|
@@ -78,14 +76,14 @@ const Q = L(
|
|
78
76
|
});
|
79
77
|
},
|
80
78
|
[r, e]
|
81
|
-
), i =
|
79
|
+
), i = G(
|
82
80
|
() => P(s, {
|
83
81
|
grade: m,
|
84
82
|
board: a,
|
85
83
|
major: n,
|
86
84
|
majorsPresent: c,
|
87
85
|
countryCode: t ?? "",
|
88
|
-
selectedCategory:
|
86
|
+
selectedCategory: E.SCHOOL_SUCCESS,
|
89
87
|
courseStream: o,
|
90
88
|
enrollmentType: u
|
91
89
|
}),
|
@@ -99,34 +97,34 @@ const Q = L(
|
|
99
97
|
a,
|
100
98
|
m
|
101
99
|
]
|
102
|
-
), l =
|
103
|
-
return
|
104
|
-
l &&
|
100
|
+
), l = G(() => (i == null ? void 0 : i.program_code) ?? "", [i]);
|
101
|
+
return h(() => {
|
102
|
+
l && x === "edit" && j({
|
105
103
|
filter_type: "PROGRAM_CODE",
|
106
104
|
program_code: l
|
107
105
|
});
|
108
|
-
}, [
|
106
|
+
}, [j, x, l, c]), h(() => {
|
109
107
|
l || r({
|
110
108
|
searchedChaptersList: []
|
111
109
|
});
|
112
|
-
}, [l, r]), /* @__PURE__ */
|
110
|
+
}, [l, r]), /* @__PURE__ */ v(S, { children: [
|
113
111
|
/* @__PURE__ */ f(
|
114
|
-
|
112
|
+
A,
|
115
113
|
{
|
116
114
|
renderAs: "primary",
|
117
115
|
label: "Grade",
|
118
116
|
value: m,
|
119
|
-
options:
|
120
|
-
onChange:
|
117
|
+
options: M,
|
118
|
+
onChange: B,
|
121
119
|
widthX: 9,
|
122
120
|
size: "xsmall",
|
123
121
|
theme: "dark",
|
124
122
|
shape: "curved"
|
125
123
|
}
|
126
124
|
),
|
127
|
-
m && /* @__PURE__ */
|
125
|
+
m && /* @__PURE__ */ v(S, { children: [
|
128
126
|
/* @__PURE__ */ f(
|
129
|
-
|
127
|
+
A,
|
130
128
|
{
|
131
129
|
widthX: 18,
|
132
130
|
renderAs: "primary",
|
@@ -134,20 +132,20 @@ const Q = L(
|
|
134
132
|
theme: "dark",
|
135
133
|
size: "xsmall",
|
136
134
|
label: "Curriculum",
|
137
|
-
options:
|
135
|
+
options: k,
|
138
136
|
renderOptionsAs: "section-list",
|
139
137
|
value: a,
|
140
|
-
onChange:
|
138
|
+
onChange: y
|
141
139
|
}
|
142
140
|
),
|
143
141
|
c && /* @__PURE__ */ f(
|
144
|
-
|
142
|
+
A,
|
145
143
|
{
|
146
144
|
renderAs: "primary",
|
147
145
|
label: "Course",
|
148
146
|
options: p,
|
149
147
|
value: n,
|
150
|
-
onChange:
|
148
|
+
onChange: L,
|
151
149
|
widthX: 9,
|
152
150
|
size: "xsmall",
|
153
151
|
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
|
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":"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"}
|