@tipp/ui 2.1.5 → 2.1.6
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/app/index.cjs.map +1 -1
- package/dist/app/index.js +14 -14
- package/dist/app/platform/coach-question-list.js +2 -2
- package/dist/app/platform/contents-card.js +2 -2
- package/dist/app/platform/curriculum-card.js +2 -2
- package/dist/app/platform/edit-coaching-time.cjs.map +1 -1
- package/dist/app/platform/edit-coaching-time.js +14 -14
- package/dist/app/platform/edit-service-type.cjs.map +1 -1
- package/dist/app/platform/edit-service-type.js +14 -14
- package/dist/app/platform/goal-manage-card-edit.cjs.map +1 -1
- package/dist/app/platform/goal-manage-card-edit.js +14 -14
- package/dist/app/platform/goal-manage-card-read.js +2 -2
- package/dist/app/platform/on-offline-radio-card.cjs.map +1 -1
- package/dist/app/platform/on-offline-radio-card.js +14 -14
- package/dist/app/platform/report-card.js +2 -2
- package/dist/app/platform/reservation-card.cjs.map +1 -1
- package/dist/app/platform/reservation-card.js +14 -14
- package/dist/app/platform/session-card.cjs.map +1 -1
- package/dist/app/platform/session-card.js +14 -14
- package/dist/app/platform/session-review-simple-read.js +2 -2
- package/dist/app/platform/userInfos/coaching-customer-info/index.js +2 -2
- package/dist/app/platform/userInfos/coaching-customer-info/large.js +2 -2
- package/dist/app/platform/userInfos/coaching-customer-info/medium.js +2 -2
- package/dist/app/platform/userInfos/coaching-customer-info/small.js +2 -2
- package/dist/app/platform/userInfos/session-user-info-detail.js +2 -2
- package/dist/app/platform/userInfos/utils.js +2 -2
- package/dist/atoms/index.js +2 -2
- package/dist/atoms/pagination.js +2 -2
- package/dist/chunk-4QIUPPBA.js +123 -0
- package/dist/chunk-4QIUPPBA.js.map +1 -0
- package/dist/chunk-J7CUTDKS.js +59 -0
- package/dist/chunk-J7CUTDKS.js.map +1 -0
- package/dist/chunk-OHA7BIRX.js +61 -0
- package/dist/chunk-OHA7BIRX.js.map +1 -0
- package/dist/chunk-YHT7DP6A.js +89 -0
- package/dist/chunk-YHT7DP6A.js.map +1 -0
- package/dist/chunk-YN4SHJ2O.js +143 -0
- package/dist/chunk-YN4SHJ2O.js.map +1 -0
- package/dist/icon.js +6 -6
- package/dist/icons/index.js +6 -6
- package/dist/index.cjs +9 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +32 -32
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-layout.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +4 -4
- package/dist/molecules/curriculumV2/CurriculumContents/curriculum-video.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumContents/index.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumContents/index.js +5 -5
- package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-sidebar-item-wrapper.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-title.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumSidebar/index.js +4 -4
- package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.js +2 -2
- package/dist/molecules/curriculumV2/curriculum-context.cjs +9 -2
- package/dist/molecules/curriculumV2/curriculum-context.cjs.map +1 -1
- package/dist/molecules/curriculumV2/curriculum-context.d.cts +2 -0
- package/dist/molecules/curriculumV2/curriculum-context.d.ts +2 -0
- package/dist/molecules/curriculumV2/curriculum-context.js +1 -1
- package/dist/molecules/curriculumV2/curriculum-sub-nav.cjs.map +1 -1
- package/dist/molecules/curriculumV2/curriculum-sub-nav.js +4 -4
- package/dist/molecules/curriculumV2/curriculum-v2-layout.js +2 -2
- package/dist/molecules/curriculumV2/index.cjs +9 -2
- package/dist/molecules/curriculumV2/index.cjs.map +1 -1
- package/dist/molecules/curriculumV2/index.js +7 -7
- package/dist/molecules/date-picker/date-picker-button.js +2 -2
- package/dist/molecules/date-picker/index.js +2 -2
- package/dist/molecules/expand-table/index.js +3 -3
- package/dist/molecules/expand-table/row.js +2 -2
- package/dist/molecules/index.cjs +9 -2
- package/dist/molecules/index.cjs.map +1 -1
- package/dist/molecules/index.js +27 -27
- package/dist/molecules/navigation.js +2 -2
- package/dist/molecules/radio-button-card.js +2 -2
- package/dist/molecules/stepper.js +2 -2
- package/dist/molecules/tag-selector.js +2 -2
- package/dist/molecules/time-select.js +2 -2
- package/dist/utils/curriculum.utils.js +2 -2
- package/package.json +1 -1
- package/src/molecules/curriculumV2/curriculum-context.tsx +16 -2
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
// src/molecules/curriculumV2/curriculum-context.tsx
|
|
2
|
+
import {
|
|
3
|
+
createContext,
|
|
4
|
+
useContext,
|
|
5
|
+
useState,
|
|
6
|
+
useMemo,
|
|
7
|
+
useCallback,
|
|
8
|
+
useRef,
|
|
9
|
+
useEffect
|
|
10
|
+
} from "react";
|
|
11
|
+
import { jsx } from "react/jsx-runtime";
|
|
12
|
+
var CurriculumContext = createContext(
|
|
13
|
+
void 0
|
|
14
|
+
);
|
|
15
|
+
function CurriculumProvider(props) {
|
|
16
|
+
var _a;
|
|
17
|
+
const {
|
|
18
|
+
children,
|
|
19
|
+
curriculum,
|
|
20
|
+
onReviewSubmit,
|
|
21
|
+
onReviewValueChange,
|
|
22
|
+
curriculumReviewAnswers,
|
|
23
|
+
tempCurriculumReviewAnswers,
|
|
24
|
+
curriculumCompleteMap,
|
|
25
|
+
onChangeSelectedContent
|
|
26
|
+
} = props;
|
|
27
|
+
const sidebarRef = useRef(null);
|
|
28
|
+
const scrollNavItem = useCallback((index) => {
|
|
29
|
+
var _a2;
|
|
30
|
+
const element = (_a2 = sidebarRef.current) == null ? void 0 : _a2.querySelector(
|
|
31
|
+
`[data-curriculum-item-index="${index}"]`
|
|
32
|
+
);
|
|
33
|
+
if (element) {
|
|
34
|
+
element.scrollIntoView({ behavior: "smooth", block: "start" });
|
|
35
|
+
}
|
|
36
|
+
}, []);
|
|
37
|
+
const list = curriculum.contents.list;
|
|
38
|
+
const selectableIndexes = useMemo(
|
|
39
|
+
() => list.map((item, i) => item.type !== "sectionTitle" ? i : null).filter((i) => i !== null),
|
|
40
|
+
[list]
|
|
41
|
+
);
|
|
42
|
+
const [selectedIndexState, setSelectedIndexState] = useState(
|
|
43
|
+
(_a = selectableIndexes[0]) != null ? _a : 0
|
|
44
|
+
);
|
|
45
|
+
const setSelectedIndex = useCallback(
|
|
46
|
+
(idx) => {
|
|
47
|
+
if (selectableIndexes.includes(idx)) {
|
|
48
|
+
setSelectedIndexState(idx);
|
|
49
|
+
} else {
|
|
50
|
+
const next = selectableIndexes.find((i) => i > idx);
|
|
51
|
+
const prev = [...selectableIndexes].reverse().find((i) => i < idx);
|
|
52
|
+
if (next !== void 0) setSelectedIndexState(next);
|
|
53
|
+
else if (prev !== void 0) setSelectedIndexState(prev);
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
[selectableIndexes]
|
|
57
|
+
);
|
|
58
|
+
const selectablePos = useMemo(
|
|
59
|
+
() => selectableIndexes.indexOf(selectedIndexState),
|
|
60
|
+
[selectableIndexes, selectedIndexState]
|
|
61
|
+
);
|
|
62
|
+
const hasPrev = selectablePos > 0;
|
|
63
|
+
const hasNext = selectablePos < selectableIndexes.length - 1;
|
|
64
|
+
const selectPrev = useCallback(
|
|
65
|
+
(cb) => {
|
|
66
|
+
setSelectedIndexState((cur) => {
|
|
67
|
+
let prevIndex = cur;
|
|
68
|
+
const pos = selectableIndexes.indexOf(cur);
|
|
69
|
+
if (pos > 0) {
|
|
70
|
+
prevIndex = selectableIndexes[pos - 1];
|
|
71
|
+
}
|
|
72
|
+
if (cb) cb(prevIndex);
|
|
73
|
+
return prevIndex;
|
|
74
|
+
});
|
|
75
|
+
},
|
|
76
|
+
[selectableIndexes]
|
|
77
|
+
);
|
|
78
|
+
const selectNext = useCallback(
|
|
79
|
+
(cb) => {
|
|
80
|
+
setSelectedIndexState((cur) => {
|
|
81
|
+
let nextIndex = cur;
|
|
82
|
+
const pos = selectableIndexes.indexOf(cur);
|
|
83
|
+
if (pos < selectableIndexes.length - 1) {
|
|
84
|
+
nextIndex = selectableIndexes[pos + 1];
|
|
85
|
+
}
|
|
86
|
+
if (cb) cb(nextIndex);
|
|
87
|
+
return nextIndex;
|
|
88
|
+
});
|
|
89
|
+
},
|
|
90
|
+
[selectableIndexes]
|
|
91
|
+
);
|
|
92
|
+
const selectedId = useMemo(
|
|
93
|
+
() => {
|
|
94
|
+
var _a2, _b;
|
|
95
|
+
return (_b = (_a2 = list[selectedIndexState]) == null ? void 0 : _a2.uuid) != null ? _b : "";
|
|
96
|
+
},
|
|
97
|
+
[list, selectedIndexState]
|
|
98
|
+
);
|
|
99
|
+
const selectedItem = useMemo(() => {
|
|
100
|
+
return list[selectedIndexState];
|
|
101
|
+
}, [list, selectedIndexState]);
|
|
102
|
+
const selectedSectionTitle = useMemo(() => {
|
|
103
|
+
var _a2;
|
|
104
|
+
const prevItems = list.slice(0, selectedIndexState).reverse();
|
|
105
|
+
return (_a2 = prevItems.find((item) => item.type === "sectionTitle")) != null ? _a2 : null;
|
|
106
|
+
}, [list, selectedIndexState]);
|
|
107
|
+
useEffect(() => {
|
|
108
|
+
onChangeSelectedContent == null ? void 0 : onChangeSelectedContent(selectedItem);
|
|
109
|
+
}, [selectedItem]);
|
|
110
|
+
return /* @__PURE__ */ jsx(CurriculumContext.Provider, { value: {
|
|
111
|
+
curriculum,
|
|
112
|
+
scrollNavItem,
|
|
113
|
+
selectedIndex: selectedIndexState,
|
|
114
|
+
setSelectedIndex,
|
|
115
|
+
selectedId,
|
|
116
|
+
hasPrev,
|
|
117
|
+
hasNext,
|
|
118
|
+
selectPrev,
|
|
119
|
+
selectNext,
|
|
120
|
+
selectedSectionTitle,
|
|
121
|
+
selectedItem,
|
|
122
|
+
scrollAreaRef: sidebarRef,
|
|
123
|
+
onReviewSubmit,
|
|
124
|
+
onReviewValueChange,
|
|
125
|
+
curriculumReviewAnswers,
|
|
126
|
+
tempCurriculumReviewAnswers,
|
|
127
|
+
curriculumCompleteMap
|
|
128
|
+
}, children });
|
|
129
|
+
}
|
|
130
|
+
function useCurriculumContext() {
|
|
131
|
+
const ctx = useContext(CurriculumContext);
|
|
132
|
+
if (!ctx)
|
|
133
|
+
throw new Error(
|
|
134
|
+
"useCurriculumContext must be used within CurriculumProvider"
|
|
135
|
+
);
|
|
136
|
+
return ctx;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export {
|
|
140
|
+
CurriculumProvider,
|
|
141
|
+
useCurriculumContext
|
|
142
|
+
};
|
|
143
|
+
//# sourceMappingURL=chunk-YN4SHJ2O.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/molecules/curriculumV2/curriculum-context.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useState,\n useMemo,\n useCallback,\n useRef,\n useEffect,\n} from 'react';\nimport { \n type CurriculumSectionTitleContents,\n} from '@/types/curriculumContents.type';\nimport type { Curriculum, CurriculumListContents } from '@/types/curriculum.type';\n\n\nexport interface CurriculumContextValue {\n curriculum: Curriculum;\n selectedIndex: number;\n setSelectedIndex: (idx: number) => void;\n selectedId: string;\n hasPrev: boolean;\n hasNext: boolean;\n selectPrev: (cb?: (moveIndex: number) => void) => void;\n selectNext: (cb?: (moveIndex: number) => void) => void;\n selectedItem: CurriculumListContents;\n /** 선택된 아이템의 이전 아이템 중 가장 가까운 섹션 타이틀 */\n selectedSectionTitle: CurriculumSectionTitleContents | null;\n /** 컨텐츠 목록 스크롤 이동 함수 */\n scrollNavItem: (uuid: string) => void;\n /** 스크롤 영역 참조 */\n scrollAreaRef: React.RefObject<HTMLDivElement | null>;\n /** 리뷰 제출 함수 */\n onReviewSubmit: ({\n reviewId,\n answer,\n }: {\n reviewId: string;\n answer: Record<string, string>;\n }) => Promise<boolean>;\n /** 리뷰 응답 값 변경 시 호출 */\n onReviewValueChange: ({\n reviewId,\n answer,\n }: {\n reviewId: string;\n answer: Record<string, string>;\n }) => void;\n /** 과제 완료 후 저장된 값 */\n curriculumReviewAnswers: Record<string, string>;\n /** 과제 완료 전 임시 저장된 값 */\n tempCurriculumReviewAnswers: Record<string, string>; \n /** 항목 수강 완료 여부 */\n curriculumCompleteMap: Record<string, boolean>;\n}\n\nconst CurriculumContext = createContext<CurriculumContextValue | undefined>(\n undefined\n);\n\nexport interface CurriculumProviderProps extends Pick<CurriculumContextValue, 'curriculum' | 'onReviewSubmit' | 'onReviewValueChange' | 'curriculumReviewAnswers' | 'tempCurriculumReviewAnswers' | 'curriculumCompleteMap'> {\n children: React.ReactNode; \n onReviewValueChange: ({\n reviewId,\n answer,\n }: {\n reviewId: string;\n answer: Record<string, string>;\n }) => void; \n\n /** 현재 화면에 표시 중인 컨텐츠 인덱스 변경 시 호출 */\n onChangeSelectedContent?: (item: CurriculumListContents) => void;\n}\n\nexport function CurriculumProvider(props: CurriculumProviderProps): React.ReactElement {\n const {\n children,\n curriculum,\n onReviewSubmit, \n onReviewValueChange,\n curriculumReviewAnswers,\n tempCurriculumReviewAnswers, \n curriculumCompleteMap,\n onChangeSelectedContent\n } = props;\n const sidebarRef = useRef<HTMLDivElement>(null);\n\n const scrollNavItem = useCallback((index: string) => {\n const element = sidebarRef.current?.querySelector(\n `[data-curriculum-item-index=\"${index}\"]`\n );\n if (element) {\n element.scrollIntoView({ behavior: 'smooth', block: 'start' });\n }\n }, []);\n\n const list = curriculum.contents.list;\n // 선택 가능한 인덱스만 추출\n const selectableIndexes = useMemo(\n () =>\n list\n .map((item, i) => (item.type !== 'sectionTitle' ? i : null))\n .filter((i): i is number => i !== null),\n [list]\n );\n // 최초 선택값: 첫 번째 선택 가능한 인덱스\n const [selectedIndexState, setSelectedIndexState] = useState<number>(\n selectableIndexes[0] ?? 0\n );\n\n // 선택 인덱스 보정 함수\n const setSelectedIndex = useCallback(\n (idx: number) => {\n if (selectableIndexes.includes(idx)) {\n setSelectedIndexState(idx);\n } else {\n // idx가 선택 불가면, selectableIndexes에서 가장 가까운 다음 인덱스 선택\n const next = selectableIndexes.find((i) => i > idx);\n const prev = [...selectableIndexes].reverse().find((i) => i < idx);\n if (next !== undefined) setSelectedIndexState(next);\n else if (prev !== undefined) setSelectedIndexState(prev);\n }\n },\n [selectableIndexes]\n );\n\n // 현재 선택 인덱스가 selectableIndexes 내 몇 번째인지\n const selectablePos = useMemo(\n () => selectableIndexes.indexOf(selectedIndexState),\n [selectableIndexes, selectedIndexState]\n );\n const hasPrev = selectablePos > 0;\n const hasNext = selectablePos < selectableIndexes.length - 1;\n\n const selectPrev = useCallback(\n (cb?: (moveIndex: number) => void) => {\n setSelectedIndexState((cur) => {\n let prevIndex = cur;\n const pos = selectableIndexes.indexOf(cur);\n if (pos > 0) {\n prevIndex = selectableIndexes[pos - 1];\n }\n if (cb) cb(prevIndex);\n return prevIndex;\n });\n },\n [selectableIndexes]\n );\n const selectNext = useCallback(\n (cb?: (moveIndex: number) => void) => {\n setSelectedIndexState((cur) => {\n let nextIndex = cur;\n const pos = selectableIndexes.indexOf(cur);\n if (pos < selectableIndexes.length - 1) {\n nextIndex = selectableIndexes[pos + 1];\n }\n if (cb) cb(nextIndex);\n return nextIndex;\n });\n },\n [selectableIndexes]\n );\n\n const selectedId = useMemo(\n () => list[selectedIndexState]?.uuid ?? '',\n [list, selectedIndexState]\n );\n\n const selectedItem = useMemo(()=>{\n return list[selectedIndexState];\n },[list,selectedIndexState])\n\n const selectedSectionTitle = useMemo(() => {\n // selectedIndexState 이전 인덱스 중 가장 가까운 섹션 타이틀 찾기\n const prevItems = list.slice(0, selectedIndexState).reverse();\n return prevItems.find((item) => item.type === 'sectionTitle') ?? null;\n }, [list, selectedIndexState]);\n \n\n useEffect(()=>{\n onChangeSelectedContent?.(selectedItem);\n // eslint-disable-next-line react-hooks/exhaustive-deps -- useEffect 호출 최적화\n },[selectedItem])\n\n return (\n <CurriculumContext.Provider value={{\n curriculum,\n scrollNavItem,\n selectedIndex: selectedIndexState,\n setSelectedIndex,\n selectedId,\n hasPrev,\n hasNext,\n selectPrev,\n selectNext,\n selectedSectionTitle,\n selectedItem,\n scrollAreaRef: sidebarRef,\n onReviewSubmit, \n onReviewValueChange,\n curriculumReviewAnswers,\n tempCurriculumReviewAnswers, \n curriculumCompleteMap\n }}>\n {children}\n </CurriculumContext.Provider>\n );\n}\n\nexport function useCurriculumContext(): CurriculumContextValue {\n const ctx = useContext(CurriculumContext);\n if (!ctx)\n throw new Error(\n 'useCurriculumContext must be used within CurriculumProvider'\n );\n return ctx;\n}\n"],"mappings":"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","names":["_a"]}
|
package/dist/icon.js
CHANGED
|
@@ -58,9 +58,6 @@ import {
|
|
|
58
58
|
VideoIcon
|
|
59
59
|
} from "./chunk-53ZVUOHV.js";
|
|
60
60
|
import "./chunk-VY56ZADJ.js";
|
|
61
|
-
import {
|
|
62
|
-
TriangleArrowDownIcon
|
|
63
|
-
} from "./chunk-2TPQQBUQ.js";
|
|
64
61
|
import {
|
|
65
62
|
EndCallIcon
|
|
66
63
|
} from "./chunk-HLFTU725.js";
|
|
@@ -73,9 +70,6 @@ import {
|
|
|
73
70
|
import {
|
|
74
71
|
TriangleArrowUpIcon
|
|
75
72
|
} from "./chunk-PVL7SJYR.js";
|
|
76
|
-
import {
|
|
77
|
-
CameraDisabledIcon
|
|
78
|
-
} from "./chunk-25Q6QLSN.js";
|
|
79
73
|
import {
|
|
80
74
|
CameraIcon
|
|
81
75
|
} from "./chunk-TPEIE4IP.js";
|
|
@@ -94,6 +88,12 @@ import {
|
|
|
94
88
|
import {
|
|
95
89
|
CircleSatisfactionIcon
|
|
96
90
|
} from "./chunk-D7EYDD4E.js";
|
|
91
|
+
import {
|
|
92
|
+
TriangleArrowDownIcon
|
|
93
|
+
} from "./chunk-2TPQQBUQ.js";
|
|
94
|
+
import {
|
|
95
|
+
CameraDisabledIcon
|
|
96
|
+
} from "./chunk-25Q6QLSN.js";
|
|
97
97
|
import "./chunk-2NMEKWO5.js";
|
|
98
98
|
export {
|
|
99
99
|
ArchiveIcon,
|
package/dist/icons/index.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import "../chunk-VY56ZADJ.js";
|
|
2
|
-
import {
|
|
3
|
-
TriangleArrowDownIcon
|
|
4
|
-
} from "../chunk-2TPQQBUQ.js";
|
|
5
2
|
import {
|
|
6
3
|
EndCallIcon
|
|
7
4
|
} from "../chunk-HLFTU725.js";
|
|
@@ -14,9 +11,6 @@ import {
|
|
|
14
11
|
import {
|
|
15
12
|
TriangleArrowUpIcon
|
|
16
13
|
} from "../chunk-PVL7SJYR.js";
|
|
17
|
-
import {
|
|
18
|
-
CameraDisabledIcon
|
|
19
|
-
} from "../chunk-25Q6QLSN.js";
|
|
20
14
|
import {
|
|
21
15
|
CameraIcon
|
|
22
16
|
} from "../chunk-TPEIE4IP.js";
|
|
@@ -35,6 +29,12 @@ import {
|
|
|
35
29
|
import {
|
|
36
30
|
CircleSatisfactionIcon
|
|
37
31
|
} from "../chunk-D7EYDD4E.js";
|
|
32
|
+
import {
|
|
33
|
+
TriangleArrowDownIcon
|
|
34
|
+
} from "../chunk-2TPQQBUQ.js";
|
|
35
|
+
import {
|
|
36
|
+
CameraDisabledIcon
|
|
37
|
+
} from "../chunk-25Q6QLSN.js";
|
|
38
38
|
import "../chunk-2NMEKWO5.js";
|
|
39
39
|
export {
|
|
40
40
|
CameraDisabledIcon,
|
package/dist/index.cjs
CHANGED
|
@@ -3226,7 +3226,8 @@ function CurriculumProvider(props) {
|
|
|
3226
3226
|
onReviewValueChange,
|
|
3227
3227
|
curriculumReviewAnswers,
|
|
3228
3228
|
tempCurriculumReviewAnswers,
|
|
3229
|
-
curriculumCompleteMap
|
|
3229
|
+
curriculumCompleteMap,
|
|
3230
|
+
onChangeSelectedContent
|
|
3230
3231
|
} = props;
|
|
3231
3232
|
const sidebarRef = (0, import_react29.useRef)(null);
|
|
3232
3233
|
const scrollNavItem = (0, import_react29.useCallback)((index) => {
|
|
@@ -3300,11 +3301,17 @@ function CurriculumProvider(props) {
|
|
|
3300
3301
|
},
|
|
3301
3302
|
[list, selectedIndexState]
|
|
3302
3303
|
);
|
|
3304
|
+
const selectedItem = (0, import_react29.useMemo)(() => {
|
|
3305
|
+
return list[selectedIndexState];
|
|
3306
|
+
}, [list, selectedIndexState]);
|
|
3303
3307
|
const selectedSectionTitle = (0, import_react29.useMemo)(() => {
|
|
3304
3308
|
var _a2;
|
|
3305
3309
|
const prevItems = list.slice(0, selectedIndexState).reverse();
|
|
3306
3310
|
return (_a2 = prevItems.find((item) => item.type === "sectionTitle")) != null ? _a2 : null;
|
|
3307
3311
|
}, [list, selectedIndexState]);
|
|
3312
|
+
(0, import_react29.useEffect)(() => {
|
|
3313
|
+
onChangeSelectedContent == null ? void 0 : onChangeSelectedContent(selectedItem);
|
|
3314
|
+
}, [selectedItem]);
|
|
3308
3315
|
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(CurriculumContext.Provider, { value: {
|
|
3309
3316
|
curriculum,
|
|
3310
3317
|
scrollNavItem,
|
|
@@ -3316,7 +3323,7 @@ function CurriculumProvider(props) {
|
|
|
3316
3323
|
selectPrev,
|
|
3317
3324
|
selectNext,
|
|
3318
3325
|
selectedSectionTitle,
|
|
3319
|
-
selectedItem
|
|
3326
|
+
selectedItem,
|
|
3320
3327
|
scrollAreaRef: sidebarRef,
|
|
3321
3328
|
onReviewSubmit,
|
|
3322
3329
|
onReviewValueChange,
|