@tipp/ui 2.3.11 → 2.3.12

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 (144) hide show
  1. package/dist/app/index.cjs +42 -39
  2. package/dist/app/index.cjs.map +1 -1
  3. package/dist/app/index.js +23 -23
  4. package/dist/app/platform/edit-coaching-time.cjs +15 -12
  5. package/dist/app/platform/edit-coaching-time.cjs.map +1 -1
  6. package/dist/app/platform/edit-coaching-time.js +19 -19
  7. package/dist/app/platform/edit-service-type.cjs +10 -7
  8. package/dist/app/platform/edit-service-type.cjs.map +1 -1
  9. package/dist/app/platform/edit-service-type.js +19 -19
  10. package/dist/app/platform/goal-manage-card-edit.cjs +12 -9
  11. package/dist/app/platform/goal-manage-card-edit.cjs.map +1 -1
  12. package/dist/app/platform/goal-manage-card-edit.js +19 -19
  13. package/dist/app/platform/on-offline-radio-card.cjs +34 -31
  14. package/dist/app/platform/on-offline-radio-card.cjs.map +1 -1
  15. package/dist/app/platform/on-offline-radio-card.js +19 -19
  16. package/dist/app/platform/reservation-card.cjs +17 -14
  17. package/dist/app/platform/reservation-card.cjs.map +1 -1
  18. package/dist/app/platform/reservation-card.js +19 -19
  19. package/dist/app/platform/session-card.cjs +21 -18
  20. package/dist/app/platform/session-card.cjs.map +1 -1
  21. package/dist/app/platform/session-card.js +19 -19
  22. package/dist/app/platform/userInfos/coaching-customer-info/index.js +4 -4
  23. package/dist/chunk-2QFLNAGL.js +100 -0
  24. package/dist/chunk-2QFLNAGL.js.map +1 -0
  25. package/dist/chunk-3FKAH2RB.js +105 -0
  26. package/dist/chunk-3FKAH2RB.js.map +1 -0
  27. package/dist/chunk-3OCAVV5Z.js +151 -0
  28. package/dist/chunk-3OCAVV5Z.js.map +1 -0
  29. package/dist/chunk-3PE6OFB3.js +70 -0
  30. package/dist/chunk-3PE6OFB3.js.map +1 -0
  31. package/dist/chunk-3QNIJCKK.js +98 -0
  32. package/dist/chunk-3QNIJCKK.js.map +1 -0
  33. package/dist/chunk-4OFVNWKB.js +100 -0
  34. package/dist/chunk-4OFVNWKB.js.map +1 -0
  35. package/dist/chunk-4SSWZQPC.js +89 -0
  36. package/dist/chunk-4SSWZQPC.js.map +1 -0
  37. package/dist/chunk-5JUYOJVM.js +77 -0
  38. package/dist/chunk-5JUYOJVM.js.map +1 -0
  39. package/dist/chunk-5SECMWKA.js +196 -0
  40. package/dist/chunk-5SECMWKA.js.map +1 -0
  41. package/dist/chunk-65FJZWXV.js +49 -0
  42. package/dist/chunk-65FJZWXV.js.map +1 -0
  43. package/dist/chunk-7UUHYDMJ.js +43 -0
  44. package/dist/chunk-7UUHYDMJ.js.map +1 -0
  45. package/dist/chunk-B5W5HY62.js +196 -0
  46. package/dist/chunk-B5W5HY62.js.map +1 -0
  47. package/dist/chunk-B63TOIOA.js +29 -0
  48. package/dist/chunk-B63TOIOA.js.map +1 -0
  49. package/dist/chunk-DTUYT5S2.js +98 -0
  50. package/dist/chunk-DTUYT5S2.js.map +1 -0
  51. package/dist/chunk-EI232M7E.js +196 -0
  52. package/dist/chunk-EI232M7E.js.map +1 -0
  53. package/dist/chunk-FDJPEXOU.js +222 -0
  54. package/dist/chunk-FDJPEXOU.js.map +1 -0
  55. package/dist/chunk-FGBFER5X.js +196 -0
  56. package/dist/chunk-FGBFER5X.js.map +1 -0
  57. package/dist/chunk-FNRYQLCC.js +64 -0
  58. package/dist/chunk-FNRYQLCC.js.map +1 -0
  59. package/dist/chunk-G7EN5QQR.js +64 -0
  60. package/dist/chunk-G7EN5QQR.js.map +1 -0
  61. package/dist/chunk-GDCDEPJO.js +64 -0
  62. package/dist/chunk-GDCDEPJO.js.map +1 -0
  63. package/dist/chunk-I4OEBZDH.js +64 -0
  64. package/dist/chunk-I4OEBZDH.js.map +1 -0
  65. package/dist/chunk-I5NKMQOT.js +64 -0
  66. package/dist/chunk-I5NKMQOT.js.map +1 -0
  67. package/dist/chunk-J5IKAPJM.js +69 -0
  68. package/dist/chunk-J5IKAPJM.js.map +1 -0
  69. package/dist/chunk-JJQM3MW3.js +98 -0
  70. package/dist/chunk-JJQM3MW3.js.map +1 -0
  71. package/dist/chunk-JKJUBJ65.js +70 -0
  72. package/dist/chunk-JKJUBJ65.js.map +1 -0
  73. package/dist/chunk-KLIEFXWN.js +100 -0
  74. package/dist/chunk-KLIEFXWN.js.map +1 -0
  75. package/dist/chunk-NDC72OWR.js +37 -0
  76. package/dist/chunk-NDC72OWR.js.map +1 -0
  77. package/dist/chunk-NMGLSEZ3.js +152 -0
  78. package/dist/chunk-NMGLSEZ3.js.map +1 -0
  79. package/dist/chunk-NMKIFFKE.js +63 -0
  80. package/dist/chunk-NMKIFFKE.js.map +1 -0
  81. package/dist/chunk-OX4OPOPI.js +82 -0
  82. package/dist/chunk-OX4OPOPI.js.map +1 -0
  83. package/dist/chunk-POFUBAXM.js +77 -0
  84. package/dist/chunk-POFUBAXM.js.map +1 -0
  85. package/dist/chunk-QBBF5V24.js +70 -0
  86. package/dist/chunk-QBBF5V24.js.map +1 -0
  87. package/dist/chunk-QPTWBPAQ.js +87 -0
  88. package/dist/chunk-QPTWBPAQ.js.map +1 -0
  89. package/dist/chunk-R7NTFLYB.js +98 -0
  90. package/dist/chunk-R7NTFLYB.js.map +1 -0
  91. package/dist/chunk-RAK5LEBO.js +70 -0
  92. package/dist/chunk-RAK5LEBO.js.map +1 -0
  93. package/dist/chunk-RWXNQPE7.js +151 -0
  94. package/dist/chunk-RWXNQPE7.js.map +1 -0
  95. package/dist/chunk-SGJFPJMV.js +100 -0
  96. package/dist/chunk-SGJFPJMV.js.map +1 -0
  97. package/dist/chunk-SYUWHIFX.js +98 -0
  98. package/dist/chunk-SYUWHIFX.js.map +1 -0
  99. package/dist/chunk-TDBCQSTJ.js +61 -0
  100. package/dist/chunk-TDBCQSTJ.js.map +1 -0
  101. package/dist/chunk-TGCLWLPY.js +51 -0
  102. package/dist/chunk-TGCLWLPY.js.map +1 -0
  103. package/dist/chunk-UFWZAT6E.js +89 -0
  104. package/dist/chunk-UFWZAT6E.js.map +1 -0
  105. package/dist/chunk-VN7IU4XW.js +64 -0
  106. package/dist/chunk-VN7IU4XW.js.map +1 -0
  107. package/dist/chunk-W3NTNHA4.js +196 -0
  108. package/dist/chunk-W3NTNHA4.js.map +1 -0
  109. package/dist/chunk-XDPRIBTV.js +101 -0
  110. package/dist/chunk-XDPRIBTV.js.map +1 -0
  111. package/dist/chunk-XU7H43IG.js +196 -0
  112. package/dist/chunk-XU7H43IG.js.map +1 -0
  113. package/dist/chunk-ZFWZAZPG.js +153 -0
  114. package/dist/chunk-ZFWZAZPG.js.map +1 -0
  115. package/dist/index.cjs +136 -89
  116. package/dist/index.cjs.map +1 -1
  117. package/dist/index.css +4 -2
  118. package/dist/index.js +40 -40
  119. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +2 -2
  120. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.cjs.map +1 -1
  121. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.js +2 -2
  122. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.cjs.map +1 -1
  123. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +4 -4
  124. package/dist/molecules/curriculumV2/CurriculumContents/index.cjs.map +1 -1
  125. package/dist/molecules/curriculumV2/CurriculumContents/index.js +7 -7
  126. package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs +54 -17
  127. package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs.map +1 -1
  128. package/dist/molecules/curriculumV2/CurriculumSidebar/index.js +2 -2
  129. package/dist/molecules/curriculumV2/curriculum-context.cjs +29 -21
  130. package/dist/molecules/curriculumV2/curriculum-context.cjs.map +1 -1
  131. package/dist/molecules/curriculumV2/curriculum-context.d.cts +7 -1
  132. package/dist/molecules/curriculumV2/curriculum-context.d.ts +7 -1
  133. package/dist/molecules/curriculumV2/curriculum-context.js +1 -1
  134. package/dist/molecules/curriculumV2/curriculum-sub-nav.cjs.map +1 -1
  135. package/dist/molecules/curriculumV2/curriculum-sub-nav.js +2 -2
  136. package/dist/molecules/curriculumV2/index.cjs +85 -38
  137. package/dist/molecules/curriculumV2/index.cjs.map +1 -1
  138. package/dist/molecules/curriculumV2/index.js +16 -16
  139. package/dist/molecules/index.cjs +115 -68
  140. package/dist/molecules/index.cjs.map +1 -1
  141. package/dist/molecules/index.js +33 -33
  142. package/package.json +3 -3
  143. package/src/molecules/curriculumV2/CurriculumSidebar/index.tsx +47 -13
  144. package/src/molecules/curriculumV2/curriculum-context.tsx +62 -39
@@ -1,10 +1,24 @@
1
1
  import "../chunk-QDXZVPRR.js";
2
+ import {
3
+ ExpandTable,
4
+ createColumnHelper
5
+ } from "../chunk-ZBZ7IGBT.js";
6
+ import "../chunk-JCG2AUFJ.js";
2
7
  import "../chunk-AS7ID74X.js";
3
8
  import {
4
9
  CurriculumBody
5
- } from "../chunk-6V47NXW5.js";
6
- import "../chunk-GFBHPXDF.js";
7
- import "../chunk-OX3N37YY.js";
10
+ } from "../chunk-I5NKMQOT.js";
11
+ import "../chunk-XU7H43IG.js";
12
+ import "../chunk-QGKQ3IX7.js";
13
+ import {
14
+ CurriculumSidebar
15
+ } from "../chunk-R7NTFLYB.js";
16
+ import "../chunk-KTUCYAG7.js";
17
+ import "../chunk-4TST4UK5.js";
18
+ import "../chunk-WS7IOHVK.js";
19
+ import "../chunk-6L4OTKID.js";
20
+ import "../chunk-SDEDXT7A.js";
21
+ import "../chunk-4SSWZQPC.js";
8
22
  import "../chunk-W3TY3SYU.js";
9
23
  import "../chunk-QIRUYN3K.js";
10
24
  import "../chunk-BUZDDAS6.js";
@@ -15,44 +29,27 @@ import "../chunk-VREM33BW.js";
15
29
  import "../chunk-AQVIQODP.js";
16
30
  import "../chunk-WHZZKXOD.js";
17
31
  import "../chunk-YT4LGWIY.js";
18
- import "../chunk-PYGTM7ML.js";
19
32
  import "../chunk-JNYTH4BZ.js";
33
+ import "../chunk-PYGTM7ML.js";
20
34
  import "../chunk-GMKRNFH5.js";
21
- import "../chunk-QGKQ3IX7.js";
22
- import {
23
- CurriculumSidebar
24
- } from "../chunk-Y724ZBAT.js";
25
- import "../chunk-KTUCYAG7.js";
26
- import "../chunk-4TST4UK5.js";
27
- import "../chunk-WS7IOHVK.js";
28
- import "../chunk-6L4OTKID.js";
29
- import "../chunk-SDEDXT7A.js";
30
- import {
31
- ExpandTable,
32
- createColumnHelper
33
- } from "../chunk-ZBZ7IGBT.js";
34
- import "../chunk-JCG2AUFJ.js";
35
- import "../chunk-LHKGSKKG.js";
36
- import {
37
- DatePickerButton
38
- } from "../chunk-I46J2XHG.js";
39
- import {
40
- DatePicker
41
- } from "../chunk-FVTBDVT4.js";
35
+ import "../chunk-RAK5LEBO.js";
42
36
  import {
43
37
  CurriculumSubNav
44
- } from "../chunk-OUJ7TDIH.js";
38
+ } from "../chunk-2QFLNAGL.js";
45
39
  import {
46
40
  CurriculumProvider,
47
41
  useCurriculumContext
48
- } from "../chunk-IYQJIEVM.js";
42
+ } from "../chunk-ZFWZAZPG.js";
49
43
  import {
50
44
  CurriculumV2Layout
51
45
  } from "../chunk-CQSM6JCO.js";
52
- import "../chunk-JF7JAMOQ.js";
53
46
  import {
54
- RadioButtonCard
55
- } from "../chunk-CSKNBWPB.js";
47
+ DatePickerButton
48
+ } from "../chunk-I46J2XHG.js";
49
+ import {
50
+ DatePicker
51
+ } from "../chunk-FVTBDVT4.js";
52
+ import "../chunk-JF7JAMOQ.js";
56
53
  import {
57
54
  Stepper
58
55
  } from "../chunk-IPEAJLS3.js";
@@ -67,9 +64,6 @@ import "../chunk-NRPDVI76.js";
67
64
  import "../chunk-2BPFXK4L.js";
68
65
  import "../chunk-NWJSLIQ3.js";
69
66
  import "../chunk-BXX3B3E4.js";
70
- import {
71
- DynamicFormResponseItem
72
- } from "../chunk-QTQKJ4A2.js";
73
67
  import {
74
68
  DynamicForm,
75
69
  createYupValidation
@@ -91,6 +85,9 @@ import {
91
85
  OneOnOneGuideList,
92
86
  oneOnOneNoteTextReplacer
93
87
  } from "../chunk-O5MYSBA3.js";
88
+ import {
89
+ RadioButtonCard
90
+ } from "../chunk-CSKNBWPB.js";
94
91
  import {
95
92
  DotNavigation
96
93
  } from "../chunk-IJOOKMKQ.js";
@@ -100,6 +97,9 @@ import {
100
97
  import {
101
98
  DynamicFormField
102
99
  } from "../chunk-T4HTYL5M.js";
100
+ import {
101
+ DynamicFormResponseItem
102
+ } from "../chunk-QTQKJ4A2.js";
103
103
  import "../chunk-FR2GDOU2.js";
104
104
  import "../chunk-5ZITU5L7.js";
105
105
  import "../chunk-5XYPLDI5.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tipp/ui",
3
- "version": "2.3.11",
3
+ "version": "2.3.12",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "exports": {
@@ -58,8 +58,8 @@
58
58
  "ts-node": "^10.9.2",
59
59
  "tsup": "^8.0.2",
60
60
  "typescript": "^5.0.0",
61
- "@tipp/eslint-config": "1.1.2",
62
- "@tipp/typescript-config": "1.0.1"
61
+ "@tipp/typescript-config": "1.0.1",
62
+ "@tipp/eslint-config": "1.1.2"
63
63
  },
64
64
  "peerDependencies": {
65
65
  "@types/react": "*",
@@ -1,8 +1,8 @@
1
- import React from 'react';
1
+ import React, { useMemo } from 'react';
2
2
  import { Box } from '@/atoms/box';
3
3
  import { Grid } from '@/atoms/grid';
4
4
  import { Tabs } from '@/atoms/tabs';
5
- import { useCurriculumContext } from '../curriculum-context';
5
+ import { useCurriculumContext } from '../curriculum-context';
6
6
  import SidebarItem from './sidebar-item';
7
7
 
8
8
  const TAB_LIST = [
@@ -11,17 +11,38 @@ const TAB_LIST = [
11
11
  value: 'curriculum',
12
12
  },
13
13
  ];
14
+
15
+ const TABS_LIST_STYLE: React.CSSProperties = {
16
+ padding: '0 var(--space-3)',
17
+ };
18
+
19
+ const TABS_CONTENT_STYLE: React.CSSProperties = {
20
+ position: 'absolute',
21
+ height: '100%',
22
+ width: '100%',
23
+ };
24
+
25
+
14
26
  export function CurriculumSidebar(): React.ReactNode {
15
- const { curriculum, selectedIndex, setSelectedIndex, scrollAreaRef, curriculumCompleteMap } =
16
- useCurriculumContext();
27
+ const {
28
+ curriculum,
29
+ selectedIndex,
30
+ setSelectedIndex,
31
+ scrollAreaRef,
32
+ curriculumCompleteMap,
33
+ customTabs,
34
+ } = useCurriculumContext();
17
35
  const list = curriculum.contents.list;
18
-
36
+
37
+ const tabList = useMemo(() => {
38
+ return [...TAB_LIST, ...(customTabs ?? [])];
39
+ }, [customTabs]);
19
40
 
20
41
  return (
21
42
  <Tabs.Root asChild defaultValue={TAB_LIST[0].value}>
22
43
  <Grid height="100%" overflowY="auto" rows="auto 1fr " width="100%">
23
- <Tabs.List style={{ padding: '0 var(--space-3)' }}>
24
- {TAB_LIST.map((tab) => (
44
+ <Tabs.List style={TABS_LIST_STYLE}>
45
+ {tabList.map((tab) => (
25
46
  <Tabs.Trigger key={tab.value} value={tab.value}>
26
47
  {tab.label}
27
48
  </Tabs.Trigger>
@@ -35,18 +56,31 @@ export function CurriculumSidebar(): React.ReactNode {
35
56
  width="100%"
36
57
  >
37
58
  <Tabs.Content
38
- style={{
39
- position: 'absolute',
40
- height: '100%',
41
- width: '100%',
42
- }}
59
+ key={TAB_LIST[0].value}
60
+ style={TABS_CONTENT_STYLE}
43
61
  value={TAB_LIST[0].value}
44
62
  >
45
63
  {list.map((item, index) => (
46
- <SidebarItem done={curriculumCompleteMap[item.uuid]} index={index} item={item} key={item.uuid} selectedIndex={selectedIndex} setSelectedIndex={setSelectedIndex} />
64
+ <SidebarItem
65
+ done={curriculumCompleteMap[item.uuid]}
66
+ index={index}
67
+ item={item}
68
+ key={item.uuid}
69
+ selectedIndex={selectedIndex}
70
+ setSelectedIndex={setSelectedIndex}
71
+ />
47
72
  ))}
48
73
  <Box height="150px" />
49
74
  </Tabs.Content>
75
+ {customTabs?.map((tab) => (
76
+ <Tabs.Content
77
+ key={tab.value}
78
+ style={TABS_CONTENT_STYLE}
79
+ value={tab.value}
80
+ >
81
+ {tab.content}
82
+ </Tabs.Content>
83
+ ))}
50
84
  </Box>
51
85
  </Grid>
52
86
  </Tabs.Root>
@@ -7,11 +7,11 @@ import React, {
7
7
  useRef,
8
8
  useEffect,
9
9
  } from 'react';
10
- import {
11
- type CurriculumSectionTitleContents,
12
- } from '@/types/curriculumContents.type';
13
- import type { Curriculum, CurriculumListContents } from '@/types/curriculum.type';
14
-
10
+ import { type CurriculumSectionTitleContents } from '@/types/curriculumContents.type';
11
+ import type {
12
+ Curriculum,
13
+ CurriculumListContents,
14
+ } from '@/types/curriculum.type';
15
15
 
16
16
  export interface CurriculumContextValue {
17
17
  curriculum: Curriculum;
@@ -48,45 +48,66 @@ export interface CurriculumContextValue {
48
48
  /** 과제 완료 후 저장된 값 */
49
49
  curriculumReviewAnswers: Record<string, string>;
50
50
  /** 과제 완료 전 임시 저장된 값 */
51
- tempCurriculumReviewAnswers: Record<string, string>;
51
+ tempCurriculumReviewAnswers: Record<string, string>;
52
52
  /** 항목 수강 완료 여부 */
53
53
  curriculumCompleteMap: Record<string, boolean>;
54
54
  /** action Button 클릭시 호출 */
55
55
  onActionButtonClick: (item: CurriculumListContents) => void;
56
56
  /** 초기 선택 인덱스 */
57
57
  initialSelectedIndex?: number;
58
+ /** 커스텀 탭 주입값 */
59
+ customTabs?: {
60
+ content: React.ReactElement;
61
+ label: string;
62
+ value: string;
63
+ }[];
58
64
  }
59
65
 
60
66
  const CurriculumContext = createContext<CurriculumContextValue | undefined>(
61
67
  undefined
62
68
  );
63
69
 
64
- export interface CurriculumProviderProps extends Pick<CurriculumContextValue, 'curriculum' | 'onReviewSubmit' | 'onReviewValueChange' | 'curriculumReviewAnswers' | 'tempCurriculumReviewAnswers' | 'curriculumCompleteMap' | 'onActionButtonClick' | 'initialSelectedIndex'> {
65
- children: React.ReactNode;
70
+ export interface CurriculumProviderProps
71
+ extends Pick<
72
+ CurriculumContextValue,
73
+ | 'customTabs'
74
+ | 'curriculum'
75
+ | 'onReviewSubmit'
76
+ | 'onReviewValueChange'
77
+ | 'curriculumReviewAnswers'
78
+ | 'tempCurriculumReviewAnswers'
79
+ | 'curriculumCompleteMap'
80
+ | 'onActionButtonClick'
81
+ | 'initialSelectedIndex'
82
+ > {
83
+ children: React.ReactNode;
66
84
  onReviewValueChange: ({
67
85
  reviewId,
68
86
  answer,
69
87
  }: {
70
88
  reviewId: string;
71
89
  answer: Record<string, string>;
72
- }) => void;
90
+ }) => void;
73
91
 
74
92
  /** 현재 화면에 표시 중인 컨텐츠 인덱스 변경 시 호출 */
75
93
  onChangeSelectedContent?: (item: CurriculumListContents) => void;
76
94
  }
77
95
 
78
- export function CurriculumProvider(props: CurriculumProviderProps): React.ReactElement {
96
+ export function CurriculumProvider(
97
+ props: CurriculumProviderProps
98
+ ): React.ReactElement {
79
99
  const {
80
100
  children,
81
101
  curriculum,
82
- onReviewSubmit,
102
+ onReviewSubmit,
83
103
  onReviewValueChange,
84
104
  curriculumReviewAnswers,
85
- tempCurriculumReviewAnswers,
105
+ tempCurriculumReviewAnswers,
86
106
  curriculumCompleteMap,
87
107
  onChangeSelectedContent,
88
108
  onActionButtonClick,
89
- initialSelectedIndex
109
+ initialSelectedIndex,
110
+ customTabs,
90
111
  } = props;
91
112
  const sidebarRef = useRef<HTMLDivElement>(null);
92
113
 
@@ -171,43 +192,45 @@ export function CurriculumProvider(props: CurriculumProviderProps): React.ReactE
171
192
  [list, selectedIndexState]
172
193
  );
173
194
 
174
- const selectedItem = useMemo(()=>{
195
+ const selectedItem = useMemo(() => {
175
196
  return list[selectedIndexState];
176
- },[list,selectedIndexState])
197
+ }, [list, selectedIndexState]);
177
198
 
178
199
  const selectedSectionTitle = useMemo(() => {
179
200
  // selectedIndexState 이전 인덱스 중 가장 가까운 섹션 타이틀 찾기
180
201
  const prevItems = list.slice(0, selectedIndexState).reverse();
181
202
  return prevItems.find((item) => item.type === 'sectionTitle') ?? null;
182
203
  }, [list, selectedIndexState]);
183
-
184
204
 
185
- useEffect(()=>{
205
+ useEffect(() => {
186
206
  onChangeSelectedContent?.(selectedItem);
187
- // eslint-disable-next-line react-hooks/exhaustive-deps -- 트리거 최소화
188
- },[selectedItem])
207
+ // eslint-disable-next-line react-hooks/exhaustive-deps -- 트리거 최소화
208
+ }, [selectedItem]);
189
209
 
190
210
  return (
191
- <CurriculumContext.Provider value={{
192
- curriculum,
193
- scrollNavItem,
194
- selectedIndex: selectedIndexState,
195
- setSelectedIndex,
196
- selectedId,
197
- hasPrev,
198
- hasNext,
199
- selectPrev,
200
- selectNext,
201
- selectedSectionTitle,
202
- selectedItem,
203
- scrollAreaRef: sidebarRef,
204
- onReviewSubmit,
205
- onReviewValueChange,
206
- curriculumReviewAnswers,
207
- tempCurriculumReviewAnswers,
208
- curriculumCompleteMap,
209
- onActionButtonClick
210
- }}>
211
+ <CurriculumContext.Provider
212
+ value={{
213
+ curriculum,
214
+ scrollNavItem,
215
+ selectedIndex: selectedIndexState,
216
+ setSelectedIndex,
217
+ selectedId,
218
+ hasPrev,
219
+ hasNext,
220
+ selectPrev,
221
+ selectNext,
222
+ selectedSectionTitle,
223
+ selectedItem,
224
+ scrollAreaRef: sidebarRef,
225
+ onReviewSubmit,
226
+ onReviewValueChange,
227
+ curriculumReviewAnswers,
228
+ tempCurriculumReviewAnswers,
229
+ curriculumCompleteMap,
230
+ onActionButtonClick,
231
+ customTabs,
232
+ }}
233
+ >
211
234
  {children}
212
235
  </CurriculumContext.Provider>
213
236
  );