@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.
Files changed (94) hide show
  1. package/dist/app/index.cjs.map +1 -1
  2. package/dist/app/index.js +14 -14
  3. package/dist/app/platform/coach-question-list.js +2 -2
  4. package/dist/app/platform/contents-card.js +2 -2
  5. package/dist/app/platform/curriculum-card.js +2 -2
  6. package/dist/app/platform/edit-coaching-time.cjs.map +1 -1
  7. package/dist/app/platform/edit-coaching-time.js +14 -14
  8. package/dist/app/platform/edit-service-type.cjs.map +1 -1
  9. package/dist/app/platform/edit-service-type.js +14 -14
  10. package/dist/app/platform/goal-manage-card-edit.cjs.map +1 -1
  11. package/dist/app/platform/goal-manage-card-edit.js +14 -14
  12. package/dist/app/platform/goal-manage-card-read.js +2 -2
  13. package/dist/app/platform/on-offline-radio-card.cjs.map +1 -1
  14. package/dist/app/platform/on-offline-radio-card.js +14 -14
  15. package/dist/app/platform/report-card.js +2 -2
  16. package/dist/app/platform/reservation-card.cjs.map +1 -1
  17. package/dist/app/platform/reservation-card.js +14 -14
  18. package/dist/app/platform/session-card.cjs.map +1 -1
  19. package/dist/app/platform/session-card.js +14 -14
  20. package/dist/app/platform/session-review-simple-read.js +2 -2
  21. package/dist/app/platform/userInfos/coaching-customer-info/index.js +2 -2
  22. package/dist/app/platform/userInfos/coaching-customer-info/large.js +2 -2
  23. package/dist/app/platform/userInfos/coaching-customer-info/medium.js +2 -2
  24. package/dist/app/platform/userInfos/coaching-customer-info/small.js +2 -2
  25. package/dist/app/platform/userInfos/session-user-info-detail.js +2 -2
  26. package/dist/app/platform/userInfos/utils.js +2 -2
  27. package/dist/atoms/index.js +2 -2
  28. package/dist/atoms/pagination.js +2 -2
  29. package/dist/chunk-4QIUPPBA.js +123 -0
  30. package/dist/chunk-4QIUPPBA.js.map +1 -0
  31. package/dist/chunk-J7CUTDKS.js +59 -0
  32. package/dist/chunk-J7CUTDKS.js.map +1 -0
  33. package/dist/chunk-OHA7BIRX.js +61 -0
  34. package/dist/chunk-OHA7BIRX.js.map +1 -0
  35. package/dist/chunk-YHT7DP6A.js +89 -0
  36. package/dist/chunk-YHT7DP6A.js.map +1 -0
  37. package/dist/chunk-YN4SHJ2O.js +143 -0
  38. package/dist/chunk-YN4SHJ2O.js.map +1 -0
  39. package/dist/icon.js +6 -6
  40. package/dist/icons/index.js +6 -6
  41. package/dist/index.cjs +9 -2
  42. package/dist/index.cjs.map +1 -1
  43. package/dist/index.js +32 -32
  44. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +2 -2
  45. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.js +2 -2
  46. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +2 -2
  47. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.js +2 -2
  48. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.js +2 -2
  49. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-layout.js +2 -2
  50. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.js +2 -2
  51. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.js +2 -2
  52. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.js +2 -2
  53. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.js +2 -2
  54. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.js +2 -2
  55. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +2 -2
  56. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.js +2 -2
  57. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.cjs.map +1 -1
  58. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +4 -4
  59. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-video.js +2 -2
  60. package/dist/molecules/curriculumV2/CurriculumContents/index.cjs.map +1 -1
  61. package/dist/molecules/curriculumV2/CurriculumContents/index.js +5 -5
  62. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.js +2 -2
  63. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-sidebar-item-wrapper.js +2 -2
  64. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.js +2 -2
  65. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-title.js +2 -2
  66. package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs.map +1 -1
  67. package/dist/molecules/curriculumV2/CurriculumSidebar/index.js +4 -4
  68. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.js +2 -2
  69. package/dist/molecules/curriculumV2/curriculum-context.cjs +9 -2
  70. package/dist/molecules/curriculumV2/curriculum-context.cjs.map +1 -1
  71. package/dist/molecules/curriculumV2/curriculum-context.d.cts +2 -0
  72. package/dist/molecules/curriculumV2/curriculum-context.d.ts +2 -0
  73. package/dist/molecules/curriculumV2/curriculum-context.js +1 -1
  74. package/dist/molecules/curriculumV2/curriculum-sub-nav.cjs.map +1 -1
  75. package/dist/molecules/curriculumV2/curriculum-sub-nav.js +4 -4
  76. package/dist/molecules/curriculumV2/curriculum-v2-layout.js +2 -2
  77. package/dist/molecules/curriculumV2/index.cjs +9 -2
  78. package/dist/molecules/curriculumV2/index.cjs.map +1 -1
  79. package/dist/molecules/curriculumV2/index.js +7 -7
  80. package/dist/molecules/date-picker/date-picker-button.js +2 -2
  81. package/dist/molecules/date-picker/index.js +2 -2
  82. package/dist/molecules/expand-table/index.js +3 -3
  83. package/dist/molecules/expand-table/row.js +2 -2
  84. package/dist/molecules/index.cjs +9 -2
  85. package/dist/molecules/index.cjs.map +1 -1
  86. package/dist/molecules/index.js +27 -27
  87. package/dist/molecules/navigation.js +2 -2
  88. package/dist/molecules/radio-button-card.js +2 -2
  89. package/dist/molecules/stepper.js +2 -2
  90. package/dist/molecules/tag-selector.js +2 -2
  91. package/dist/molecules/time-select.js +2 -2
  92. package/dist/utils/curriculum.utils.js +2 -2
  93. package/package.json +1 -1
  94. 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":";AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAgLH;AAjIJ,IAAM,oBAAoB;AAAA,EACxB;AACF;AAgBO,SAAS,mBAAmB,OAAoD;AAzEvF;AA0EE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,aAAa,OAAuB,IAAI;AAE9C,QAAM,gBAAgB,YAAY,CAAC,UAAkB;AAtFvD,QAAAA;AAuFI,UAAM,WAAUA,MAAA,WAAW,YAAX,gBAAAA,IAAoB;AAAA,MAClC,gCAAgC,KAAK;AAAA;AAEvC,QAAI,SAAS;AACX,cAAQ,eAAe,EAAE,UAAU,UAAU,OAAO,QAAQ,CAAC;AAAA,IAC/D;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,OAAO,WAAW,SAAS;AAEjC,QAAM,oBAAoB;AAAA,IACxB,MACE,KACG,IAAI,CAAC,MAAM,MAAO,KAAK,SAAS,iBAAiB,IAAI,IAAK,EAC1D,OAAO,CAAC,MAAmB,MAAM,IAAI;AAAA,IAC1C,CAAC,IAAI;AAAA,EACP;AAEA,QAAM,CAAC,oBAAoB,qBAAqB,IAAI;AAAA,KAClD,uBAAkB,CAAC,MAAnB,YAAwB;AAAA,EAC1B;AAGA,QAAM,mBAAmB;AAAA,IACvB,CAAC,QAAgB;AACf,UAAI,kBAAkB,SAAS,GAAG,GAAG;AACnC,8BAAsB,GAAG;AAAA,MAC3B,OAAO;AAEL,cAAM,OAAO,kBAAkB,KAAK,CAAC,MAAM,IAAI,GAAG;AAClD,cAAM,OAAO,CAAC,GAAG,iBAAiB,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,IAAI,GAAG;AACjE,YAAI,SAAS,OAAW,uBAAsB,IAAI;AAAA,iBACzC,SAAS,OAAW,uBAAsB,IAAI;AAAA,MACzD;AAAA,IACF;AAAA,IACA,CAAC,iBAAiB;AAAA,EACpB;AAGA,QAAM,gBAAgB;AAAA,IACpB,MAAM,kBAAkB,QAAQ,kBAAkB;AAAA,IAClD,CAAC,mBAAmB,kBAAkB;AAAA,EACxC;AACA,QAAM,UAAU,gBAAgB;AAChC,QAAM,UAAU,gBAAgB,kBAAkB,SAAS;AAE3D,QAAM,aAAa;AAAA,IACjB,CAAC,OAAqC;AACpC,4BAAsB,CAAC,QAAQ;AAC7B,YAAI,YAAY;AAChB,cAAM,MAAM,kBAAkB,QAAQ,GAAG;AACzC,YAAI,MAAM,GAAG;AACX,sBAAY,kBAAkB,MAAM,CAAC;AAAA,QACvC;AACA,YAAI,GAAI,IAAG,SAAS;AACpB,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,IACA,CAAC,iBAAiB;AAAA,EACpB;AACA,QAAM,aAAa;AAAA,IACjB,CAAC,OAAqC;AACpC,4BAAsB,CAAC,QAAQ;AAC7B,YAAI,YAAY;AAChB,cAAM,MAAM,kBAAkB,QAAQ,GAAG;AACzC,YAAI,MAAM,kBAAkB,SAAS,GAAG;AACtC,sBAAY,kBAAkB,MAAM,CAAC;AAAA,QACvC;AACA,YAAI,GAAI,IAAG,SAAS;AACpB,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,IACA,CAAC,iBAAiB;AAAA,EACpB;AAEA,QAAM,aAAa;AAAA,IACjB,MAAG;AAnKP,UAAAA,KAAA;AAmKU,oBAAAA,MAAA,KAAK,kBAAkB,MAAvB,gBAAAA,IAA0B,SAA1B,YAAkC;AAAA;AAAA,IACxC,CAAC,MAAM,kBAAkB;AAAA,EAC3B;AAEA,QAAM,eAAe,QAAQ,MAAI;AAC/B,WAAO,KAAK,kBAAkB;AAAA,EAChC,GAAE,CAAC,MAAK,kBAAkB,CAAC;AAE3B,QAAM,uBAAuB,QAAQ,MAAM;AA3K7C,QAAAA;AA6KI,UAAM,YAAY,KAAK,MAAM,GAAG,kBAAkB,EAAE,QAAQ;AAC5D,YAAOA,MAAA,UAAU,KAAK,CAAC,SAAS,KAAK,SAAS,cAAc,MAArD,OAAAA,MAA0D;AAAA,EACnE,GAAG,CAAC,MAAM,kBAAkB,CAAC;AAG7B,YAAU,MAAI;AACZ,uEAA0B;AAAA,EAE5B,GAAE,CAAC,YAAY,CAAC;AAEhB,SACE,oBAAC,kBAAkB,UAAlB,EAA2B,OAAO;AAAA,IACjC;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GACG,UACH;AAEJ;AAEO,SAAS,uBAA+C;AAC7D,QAAM,MAAM,WAAW,iBAAiB;AACxC,MAAI,CAAC;AACH,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AACF,SAAO;AACT;","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,
@@ -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: list[selectedIndexState],
3326
+ selectedItem,
3320
3327
  scrollAreaRef: sidebarRef,
3321
3328
  onReviewSubmit,
3322
3329
  onReviewValueChange,