@edu-tosel/design 1.0.266 → 1.0.268

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 (166) hide show
  1. package/asset/SVG.d.ts +4 -0
  2. package/asset/SVG.js +4 -0
  3. package/asset/SVG.tsx +4 -0
  4. package/asset/svg/MiniClose.d.ts +4 -0
  5. package/asset/svg/MiniClose.js +4 -0
  6. package/asset/svg/MiniClose.tsx +19 -0
  7. package/asset/svg/Search.d.ts +1 -0
  8. package/asset/svg/Search.js +4 -0
  9. package/asset/svg/Search.tsx +24 -0
  10. package/board/design/Board.design.js +2 -2
  11. package/board/design/Header.design.d.ts +1 -1
  12. package/board/design/Header.design.js +12 -3
  13. package/board/template/ManageBoard.js +1 -1
  14. package/globals.css +7 -2
  15. package/interface/Board.d.ts +11 -1
  16. package/layout/design/Shelf.design.js +2 -2
  17. package/layout/index.d.ts +0 -9
  18. package/layout/index.js +0 -9
  19. package/layout/template/DataField.js +1 -1
  20. package/layout/template/home/Promotion.js +1 -0
  21. package/layout/template/home/Service.js +1 -0
  22. package/layout/template/home/layout/Carousel.js +27 -8
  23. package/layout/template/home/layout/Navigation.js +86 -12
  24. package/package.json +2 -2
  25. package/util/createSearch.d.ts +4 -7
  26. package/util/createSearch.js +208 -24
  27. package/util/index.d.ts +1 -1
  28. package/util/index.js +1 -1
  29. package/version.txt +1 -1
  30. package/widget/template/Input/index.js +8 -0
  31. package/layout/template/About/SectionA.d.ts +0 -1
  32. package/layout/template/About/SectionA.js +0 -51
  33. package/layout/template/About/SectionB.d.ts +0 -2
  34. package/layout/template/About/SectionB.js +0 -55
  35. package/layout/template/About/SectionC.d.ts +0 -1
  36. package/layout/template/About/SectionC.js +0 -35
  37. package/layout/template/About/SectionCCards.d.ts +0 -13
  38. package/layout/template/About/SectionCCards.js +0 -13
  39. package/layout/template/About/SectionCD.d.ts +0 -1
  40. package/layout/template/About/SectionCD.js +0 -15
  41. package/layout/template/About/SectionCLeaf.d.ts +0 -15
  42. package/layout/template/About/SectionCLeaf.js +0 -104
  43. package/layout/template/About/SectionD.d.ts +0 -1
  44. package/layout/template/About/SectionD.js +0 -131
  45. package/layout/template/About/SectionE.d.ts +0 -1
  46. package/layout/template/About/SectionE.js +0 -7
  47. package/layout/template/About/SectionECards.d.ts +0 -1
  48. package/layout/template/About/SectionECards.js +0 -79
  49. package/layout/template/About/SectionF.d.ts +0 -1
  50. package/layout/template/About/SectionF.js +0 -4
  51. package/layout/template/About/SectionG.d.ts +0 -10
  52. package/layout/template/About/SectionG.js +0 -27
  53. package/layout/template/About/index.d.ts +0 -19
  54. package/layout/template/About/index.js +0 -19
  55. package/layout/template/Books/Books.layout.d.ts +0 -1
  56. package/layout/template/Books/Books.layout.js +0 -13
  57. package/layout/template/Books/SectionA.d.ts +0 -2
  58. package/layout/template/Books/SectionA.js +0 -430
  59. package/layout/template/Books/index.d.ts +0 -5
  60. package/layout/template/Books/index.js +0 -5
  61. package/layout/template/MonthlyProgressReport/Layout.d.ts +0 -4
  62. package/layout/template/MonthlyProgressReport/Layout.js +0 -52
  63. package/layout/template/MonthlyProgressReport/Report.d.ts +0 -46
  64. package/layout/template/MonthlyProgressReport/Report.js +0 -124
  65. package/layout/template/MonthlyProgressReport/index.d.ts +0 -8
  66. package/layout/template/MonthlyProgressReport/index.js +0 -7
  67. package/layout/template/Olympiad/Banner.d.ts +0 -1
  68. package/layout/template/Olympiad/Banner.js +0 -31
  69. package/layout/template/Olympiad/Conditions.d.ts +0 -1
  70. package/layout/template/Olympiad/Conditions.js +0 -168
  71. package/layout/template/Olympiad/Features.d.ts +0 -1
  72. package/layout/template/Olympiad/Features.js +0 -44
  73. package/layout/template/Olympiad/Olympiad.layout.d.ts +0 -1
  74. package/layout/template/Olympiad/Olympiad.layout.js +0 -19
  75. package/layout/template/Olympiad/Prizes.d.ts +0 -1
  76. package/layout/template/Olympiad/Prizes.js +0 -49
  77. package/layout/template/Olympiad/Sponsors.d.ts +0 -1
  78. package/layout/template/Olympiad/Sponsors.js +0 -31
  79. package/layout/template/Olympiad/Videoset.d.ts +0 -1
  80. package/layout/template/Olympiad/Videoset.js +0 -71
  81. package/layout/template/Olympiad/index.d.ts +0 -15
  82. package/layout/template/Olympiad/index.js +0 -15
  83. package/layout/template/Regexam/Banner.d.ts +0 -1
  84. package/layout/template/Regexam/Banner.js +0 -183
  85. package/layout/template/Regexam/Evaluation.d.ts +0 -3
  86. package/layout/template/Regexam/Evaluation.js +0 -132
  87. package/layout/template/Regexam/OfflineExam.d.ts +0 -4
  88. package/layout/template/Regexam/OfflineExam.js +0 -204
  89. package/layout/template/Regexam/Regexam.layout.d.ts +0 -1
  90. package/layout/template/Regexam/Regexam.layout.js +0 -13
  91. package/layout/template/Regexam/Types.d.ts +0 -1
  92. package/layout/template/Regexam/Types.js +0 -294
  93. package/layout/template/Regexam/index.d.ts +0 -11
  94. package/layout/template/Regexam/index.js +0 -11
  95. package/layout/template/Transcript/Layout.d.ts +0 -6
  96. package/layout/template/Transcript/Layout.js +0 -52
  97. package/layout/template/Transcript/design/Transcript.d.ts +0 -228
  98. package/layout/template/Transcript/design/Transcript.design.d.ts +0 -13
  99. package/layout/template/Transcript/design/Transcript.design.js +0 -58
  100. package/layout/template/Transcript/design/Transcript.js +0 -181
  101. package/layout/template/Transcript/design/TranscriptAdvanced.design.d.ts +0 -5
  102. package/layout/template/Transcript/design/TranscriptAdvanced.design.js +0 -55
  103. package/layout/template/Transcript/design/atom/CardTitle.d.ts +0 -5
  104. package/layout/template/Transcript/design/atom/CardTitle.js +0 -13
  105. package/layout/template/Transcript/design/atom/CardTitleDivided.d.ts +0 -0
  106. package/layout/template/Transcript/design/atom/CardTitleDivided.js +0 -1
  107. package/layout/template/Transcript/design/atom/GetPartDescriptionFromLevel.d.ts +0 -3
  108. package/layout/template/Transcript/design/atom/GetPartDescriptionFromLevel.js +0 -4
  109. package/layout/template/Transcript/design/atom/GetPartTitleFromLevel.d.ts +0 -3
  110. package/layout/template/Transcript/design/atom/GetPartTitleFromLevel.js +0 -4
  111. package/layout/template/Transcript/design/atom/GetStyleFromLevel.d.ts +0 -2
  112. package/layout/template/Transcript/design/atom/GetStyleFromLevel.js +0 -4
  113. package/layout/template/Transcript/design/atom/LevelToPartDescriptionMap.d.ts +0 -6
  114. package/layout/template/Transcript/design/atom/LevelToPartDescriptionMap.js +0 -95
  115. package/layout/template/Transcript/design/atom/LevelToPartTitleMap.d.ts +0 -6
  116. package/layout/template/Transcript/design/atom/LevelToPartTitleMap.js +0 -95
  117. package/layout/template/Transcript/design/atom/LevelToStyleMap.d.ts +0 -6
  118. package/layout/template/Transcript/design/atom/LevelToStyleMap.js +0 -42
  119. package/layout/template/Transcript/design/atom/PrintBoxStyles.d.ts +0 -4
  120. package/layout/template/Transcript/design/atom/PrintBoxStyles.js +0 -4
  121. package/layout/template/Transcript/design/molecule/BarGraph.d.ts +0 -11
  122. package/layout/template/Transcript/design/molecule/BarGraph.js +0 -81
  123. package/layout/template/Transcript/design/molecule/BarGraphDuo.d.ts +0 -10
  124. package/layout/template/Transcript/design/molecule/BarGraphDuo.js +0 -6
  125. package/layout/template/Transcript/design/molecule/BarGraphMulti.d.ts +0 -11
  126. package/layout/template/Transcript/design/molecule/BarGraphMulti.js +0 -9
  127. package/layout/template/Transcript/design/molecule/CircularGauge.d.ts +0 -10
  128. package/layout/template/Transcript/design/molecule/CircularGauge.js +0 -68
  129. package/layout/template/Transcript/design/molecule/LSWRChart.d.ts +0 -11
  130. package/layout/template/Transcript/design/molecule/LSWRChart.js +0 -44
  131. package/layout/template/Transcript/design/molecule/LevelIndex.d.ts +0 -3
  132. package/layout/template/Transcript/design/molecule/LevelIndex.js +0 -14
  133. package/layout/template/Transcript/design/molecule/MIChart.d.ts +0 -1
  134. package/layout/template/Transcript/design/molecule/MIChart.js +0 -51
  135. package/layout/template/Transcript/design/molecule/OCIChart.d.ts +0 -1
  136. package/layout/template/Transcript/design/molecule/OCIChart.js +0 -60
  137. package/layout/template/Transcript/design/molecule/RadarGraph.d.ts +0 -10
  138. package/layout/template/Transcript/design/molecule/RadarGraph.js +0 -5
  139. package/layout/template/Transcript/design/organism/BarCardCol.d.ts +0 -8
  140. package/layout/template/Transcript/design/organism/BarCardCol.js +0 -30
  141. package/layout/template/Transcript/design/organism/BarCardRow.d.ts +0 -8
  142. package/layout/template/Transcript/design/organism/BarCardRow.js +0 -30
  143. package/layout/template/Transcript/design/organism/HonorCard.d.ts +0 -4
  144. package/layout/template/Transcript/design/organism/HonorCard.js +0 -16
  145. package/layout/template/Transcript/design/organism/IdCard.d.ts +0 -8
  146. package/layout/template/Transcript/design/organism/IdCard.js +0 -64
  147. package/layout/template/Transcript/design/organism/IntelligenceCard.d.ts +0 -12
  148. package/layout/template/Transcript/design/organism/IntelligenceCard.js +0 -39
  149. package/layout/template/Transcript/design/organism/NationalPositionCard.d.ts +0 -4
  150. package/layout/template/Transcript/design/organism/NationalPositionCard.js +0 -14
  151. package/layout/template/Transcript/design/organism/OCICard.d.ts +0 -4
  152. package/layout/template/Transcript/design/organism/OCICard.js +0 -17
  153. package/layout/template/Transcript/design/organism/PerformanceCard.d.ts +0 -5
  154. package/layout/template/Transcript/design/organism/PerformanceCard.js +0 -25
  155. package/layout/template/Transcript/design/organism/RadarCard.d.ts +0 -7
  156. package/layout/template/Transcript/design/organism/RadarCard.js +0 -54
  157. package/layout/template/Transcript/design/organism/ResultGaugeCard.d.ts +0 -7
  158. package/layout/template/Transcript/design/organism/ResultGaugeCard.js +0 -19
  159. package/layout/template/Transcript/design/organism/ScoreCard.d.ts +0 -4
  160. package/layout/template/Transcript/design/organism/ScoreCard.js +0 -11
  161. package/layout/template/Transcript/design/organism/SectionRadarCard.d.ts +0 -8
  162. package/layout/template/Transcript/design/organism/SectionRadarCard.js +0 -42
  163. package/layout/template/Transcript/index.d.ts +0 -11
  164. package/layout/template/Transcript/index.js +0 -9
  165. package/layout/template/Transcript/interface.d.ts +0 -50
  166. package/layout/template/Transcript/interface.js +0 -1
@@ -1,104 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { animated, useTransition } from "react-spring";
3
- import { useEffect } from "react";
4
- import { cn } from "../../../util";
5
- import { HiXMark } from "react-icons/hi2";
6
- import { useResponsive } from "../../../hook";
7
- export default function SectionCLeaf({ selectedData, isOpenState: [isOpen, setIsOpen], }) {
8
- const transitions = useTransition(isOpen, {
9
- from: { opacity: 0, transform: "translateY(100%)" },
10
- enter: { opacity: 1, transform: "translateY(0%)" },
11
- leave: { opacity: 0, transform: "translateY(100%)" },
12
- });
13
- const [selectedCard, setSelectedCard] = selectedData;
14
- const { name, imgSource, position, description } = selectedCard;
15
- const container = {
16
- positions: "fixed top-0 left-0 z-50",
17
- displays: "flex flex-col items-center justify-start px-5 md:px-12",
18
- sizes: "h-screen w-full",
19
- background: "bg-white/90",
20
- scroll: "overflow-y-scroll scrollbar-hidden sm:overflow-y-hidden",
21
- };
22
- const maingBg = {
23
- positions: "relative",
24
- displays: "flex flex-col sm:flex-row gap-12 ",
25
- sizes: "max-w-[1200px]",
26
- fonts: "text-black",
27
- };
28
- const specificData = {
29
- 이기수: {
30
- details: [
31
- "고려대학교 법학 학사",
32
- "서울대학교 대학원 법학 석사",
33
- "고려대학교 대학원 법학 박사과정 수료",
34
- "상트페테르부르크대학교 법학 명예박사",
35
- "튀빙겐에베르하드카를대학교 법학 박사",
36
- "연세대학교 교육학 명예박사",
37
- "메이지대학교 법학 명예박사",
38
- "(前)고려대학교 법과대학 법학과 교수",
39
- "제17대 고려대학교 총장",
40
- "조지워싱턴대학교 로스쿨 객원석좌교수",
41
- "연변과학기술대학교 명예교수",
42
- "모스크바국립대학교 명예교수",
43
- ],
44
- introduce: [
45
- "고려대학교는 1905년 개교 이래 자유, 정의, 진리의 표상아래 역사의 변곡점마다 중요한 발자취를 내딛으며 세계 명문대학으로서 인류공영에 이바지 해왔습니다. 4차 산업혁명과 국제화 시대를 맞이하여 국제 경쟁력의 지표인 영어 구사능력을 제고하고, 이를 실현하기 위해 공신력 있는 영어능력평가제도가 필요한 바, 고려대학교는 초창기부터 TOSEL의 개발과 보급에 발 벗고 나섰고, 출제기관 및 인증기관으로서 TOSEL의 세계화에 기여해 왔습니다.",
46
- "TOSEL은 영어권국가에서 개발된 영어능력시험과 나란히 국내뿐만 아니라 해외국가에서도 공인영어인증시험으로서 자리를 잡아가고 있습니다. 이는 팝송이 영어권국가에서 시작되었으나, 우리의 노력으로 개발된 K-POP이 해외국가에서도 각광을 받는 것과 같이 TOSEL은 교육한류의 첨병역할을 수행하고 있다고 할 수 있습니다.",
47
- "TOSEL은 부모의 소득과 상관없이 누구나 저렴한 비용으로 영어교육과 평가서비스를 받을 수 있는 여건을 제공하고, 수백만 명의 TOSEL시험 응시 BIG DATA에 기반을 둔 AI 성적분석자료 제공과 효율적인 영어학습방향 제시를 통하여 영어학습에 들어가는 시간과 노력, 비용을 절감해줄 수 있다는 점에서 학생, 학부모, 교육자 모두에게 도움이 될 것으로 기대됩니다.",
48
- "TOSEL은 또한 우수한 문항으로 구성되어 국내외에서 오랜 기간 동안 검증을 거쳐 인정을 받은 영어능력평가제도로서, 영어능력 검증을 필요로 하는 일선학교, 대학교, 기업체, 국가기관 모두에게 도움이 되고자 합니다.",
49
- "TOSEL이 우리나라뿐만 아니라 세계 비 영어권 국가 학생들의 영어능력을 높여주는 훌륭한 제도로서 우뚝 설 수 있도록 여러분 모두의 많은 성원과 사랑을 부탁 드립니다.",
50
- ],
51
- },
52
- 이호열: {
53
- details: [
54
- "고려대학교 법과대학 졸업",
55
- "고려대학교 대학원 법학 석사, 법학 박사",
56
- "아카데미 TOEFL저자",
57
- "고려대학교 언론대학원 최고위과정 주임교수",
58
- "고려대학교 문과대학 연구교수",
59
- "대한법학교수회 부회장",
60
- "한국경영법률학회 부회장",
61
- "마르퀴즈 후즈 후 등재인물 선정",
62
- "마르퀴즈 평생 공로상 수상",
63
- ],
64
- introduce: [
65
- "국가경쟁력 강화의 취지에서 영어구사능력이 곧 국력인 상황에서 영어능력평가에 대한 수요는 끊임없이 증가하고 있습니다.그러나 우리의 현실은 어떻습니까?",
66
- "수백억원의 외화를 로열티로 지급하면서 울며 겨자 먹기 식으로 해외에서 개발한 시험에 의존할 수밖에 없었습니다. 이에, 연령별 인지단계를 고려하여 우리나라 수능출제교수진의 노력과 땀으로 개발된 TOSEL(Test Of the Skills in the English Language)시험제도를 주관함으로써 교육과정의 최종단계인 평가를 해외시험보다 더 진일보하고 과학적인 검증시스템을 갖춘 우리의 시험으로 대체시킴으로써 교육주권의 회복에 이바지하게 되었습니다.",
67
- "TOSEL시험제도는 읽기와 쓰기라는 문자언어뿐만 아니라 듣기와 말하기라는 음성언어에 대한 능력을 모두 평가하는 영어능력인증시험제도입니다. 대학입학수학능력시험 출제위원들로 구성된 전국대학의 영어전공교수진이 주축이 되어 개발된 TOSEL은 TOSEL 학습이 곧 수능대비로 이어지도록 설계되었으며, 각 레벨별로 학년별 교과과정과 연계하여 어휘와 문법사항을 고려하여 출제함으로써 TOSEL 대비는 곧 학교내신대비로 이어지도록 설계되었습니다. 이처럼 TOSEL은 우리나라 학생들을 위한 가장 바람직한 영어능력인증시험으로서의 체계를 갖추고 있기 때문에 대한민국 학생이라면 누구나 응시해야 하는 영어인증시험로서 자리를 잡아가고 있습니다.",
68
- "TOSEL시험제도는 초등학교 입학 이전의 연령별 인지단계에 있는 아동들의 영어학습결과를 측정하는 TOSEL COCOON은 물론, 초등학생들이 교과과정에 따라 응시할 수 있는 pre-STARTER 레벨, STARTER 레벨, BASIC 레벨, 중학생들이 응시할 수 있는 JUNIOR 레벨, 고등학생들이 응시할 수 있는 HIGH JUNIOR 레벨, 대학생들과 성인들이 응시할 수 있는 TOSEL ADVANCED 등 7개의 레벨을 나누어서 평가함으로써 그 동안 인지단계와 교과과정이 서로 다른 수험생들이 동일한 LEVEL로 평가를 받았던 해외 주도형 시험의 모순을 극복하고자 합니다.",
69
- "응시자들에게는 시험점수 외에도 빅데이터를 활용한 성적분석자료를 제공하면서 정확한 영어능력을 진단하여 개인별 강점과 약점을 알려주고 과학적인 영어적성분석을 토대로 개인별 진로를 제시함으로써 올바른 영어교육 및 학습 방향의 제시와 함께 학생들이 자신의 미래를 효과적으로 대비하는데 실질적인 도움을 드리고자 합니다. 향후 비영어권국가 학생들의 영어평가의 세계적 표준으로 정착화시킴으로써 전 세계 비영어권 국가들에서도 TOSEL 응시가 이루어짐으로써 외화 획득 및 국위 선양에도 일조할 것으로 기대됩니다. 우리의 순수한 힘과 노력으로 개발된 TOSEL에 대하여 국민 여러분의 많은 관심과 사랑 부탁드립니다.",
70
- ],
71
- },
72
- 김임득: {
73
- details: [
74
- "초대 수능 출제위원장 역임",
75
- "한국 영어 교육 학회장 역임",
76
- "한국 영어학회 회장 역임",
77
- "한양대학교 영어 교육학과 교수 및 교육대학원 원장",
78
- ],
79
- introduce: [
80
- "저는 국제 TOSEL 위원회 출제위원장으로서 TOSEL 출제 워원장을 맡아 한국의 영어 교육발전에 몸을 담고있습니다.",
81
- "지난 35년 여 동안 영어 교육의 연구와 실제에 바탕을 둔 경험을 토대로 영어 교육의 방향을 능동적으로 올바르게 제시하기 위하여, 다양한 교육 경험을 가진 영어교육학자들을 중심으로 TOSEL이라는 영어능력평가시험을 개발하게 되었습니다.",
82
- "기존의 TOEFL이나 TOEIC은 미국이라는 특수한 정치, 경제, 교육, 문화적 환경 등을 배경으로 문항을 일방적으로 제시하는 시험이었습니다. 그러나 TOSEL 시험은 우리나라에서 영어공부를 해야하는 한국인 학생들의 인지 발달 단계와 영어 교육 과정을 반영하고, 우리 사회가 요구하는 영어의 이해 표현 능력을 강조하는 평가모델로서의 타당성을 가지고 있습니다.",
83
- "또한, TOSEL시험은 대학입학수학능력 시험 문항을 개발하고, TEPS 시험 문항에 참여했던 경험이 풍부한 한국 영어교육학회, 한국영어학회 회원으로 있는 각 대학의 교수진과 고려대학교 국제어학원 소속 원어민 교수진 등이 중심이 되어 오랜 기간 동안 연구하고 검증을 거친 평가 문항을 개발함으로써 시험의 신뢰성도 이미 인증 받은 바 있습니다.",
84
- "더욱이, TOSEL 시험제도는 전국 초등학교 및 중학교에서부터 민족사관고등학교, 고려대학교를 비롯한 전국 특목고와 대학교, 기엄은행을 비롯한 기업체에서 수행평가, 입학전형, 졸업인증, 신입사원 선발등에 활용되고 있습니다. 이와 같이 초등학생부터 일반인까지 TOSEL의 활용도가 높아짐에 따라 시험의 객관성과 공정성에 많은 관심과 심혈을 기울이고 있습니다.",
85
- "국제 TOSEL위원회 소속 교수진 및 연구진은 국익에 보탬이 되고,대한민국 학생들과 국민들의 영어능력 향상에 실질적인 도움이 될 수 있도록 계속 최선의 노력을 다할 것을 다짐합니다.",
86
- ],
87
- },
88
- };
89
- const details = specificData[name]?.details;
90
- const introduces = specificData[name]?.introduce;
91
- useEffect(() => {
92
- isOpen
93
- ? document.body.classList.add("overflow-hidden")
94
- : document.body.classList.remove("overflow-hidden");
95
- return () => {
96
- document.body.classList.remove("overflow-hidden");
97
- };
98
- }, [isOpen]);
99
- const isSM = useResponsive("sm");
100
- return (_jsx(_Fragment, { children: transitions((style, item) => item && (_jsx(animated.div, { style: style, className: cn(container), onClick: () => setIsOpen(false), children: _jsxs("div", { className: cn(maingBg), children: [_jsx("div", { className: "absolute top-5 left-0 w-full z-20", children: _jsx(Cancel, { onClick: () => setIsOpen(false) }) }), _jsxs("div", { className: "flex flex-col gap-3 translate-y-[60px]", children: [_jsx("div", { className: "w-[270px] h-90 overflow-hidden rounded-3xl cursor-pointer", children: _jsx("img", { src: imgSource, alt: name, className: "w-full h-full object-cover hover:scale-105 transition-all duration-500" }) }), _jsxs("div", { children: [_jsxs("div", { className: "flex gap-3", children: [_jsx("div", { className: "text-gray-dark font-bold text-2xl", children: name }), _jsx("div", { className: "text-gray-medium font-semibold text-2xl", children: position })] }), _jsx("div", { className: "text-sm", children: description })] }), _jsx("div", { className: "text-sm text-gray-medium", children: details?.map((detail, index) => (_jsxs("div", { className: "flex", children: [_jsx("div", { className: "pr-2", children: "\u2022" }), detail] }, index))) })] }), _jsx("div", { className: "w-full h-screen overflow-y-scroll scrollbar-hidden", children: _jsxs("div", { className: "flex flex-col gap-12 translate-y-[60px]", children: [isSM && (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx("div", { className: "font-bold text-xl", children: position }), _jsx("div", { className: "font-bold text-[80px]", children: name }), _jsx("div", { className: "font-semibold text-xl", children: description })] })), _jsx("div", { children: introduces?.map((introduce, index) => (_jsx("div", { className: "flex mb-4 font-normal text-base", children: introduce }, index))) })] }) })] }) }))) }));
101
- }
102
- function Cancel({ onClick }) {
103
- return (_jsx(_Fragment, { children: _jsx("div", { className: "w-full flex justify-end", children: _jsxs("div", { className: "flex bg-gray-light px-[10px] py-1 gap-[10px] rounded-md text-md cursor-pointer items-center justify-center", onClick: onClick, children: [_jsx("div", { className: "text-black font-light", children: "close" }), _jsx(HiXMark, { className: "text-base" })] }) }) }));
104
- }
@@ -1 +0,0 @@
1
- export default function SectionD(): import("react/jsx-runtime").JSX.Element;
@@ -1,131 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useState, useRef } from "react";
3
- import { cn } from "../../../util";
4
- import { useResponsive } from "../../../hook";
5
- // History data
6
- const years = [
7
- "2024",
8
- "2023",
9
- "2022",
10
- "2021",
11
- "2020",
12
- "2019",
13
- "2018",
14
- "2017",
15
- "~2014",
16
- ];
17
- const histories = {
18
- "2024": {
19
- 4: { "2024.03": "고려대학교 미래교육원 TOSEL 전문과과정 개설" },
20
- 3: { "2024.02": "24년도 후기 고려대학교 대학원 입학전형 반영" },
21
- 2: { "2024.02": "경찰대학교 편입학전형 / 졸업인증 반영" },
22
- 1: { "2024.02": "정부 인사혁신처, 어학성적 등록 기관에 TOSEL 추가" },
23
- 0: { "2024.01": "제 1회 TOSEL VOCA 올림피아드 실시" },
24
- },
25
- "2023": {
26
- 0: {
27
- "2023.11": "고려대학교 경영대학 전국 고등학생 대상 정기캠퍼스 투어 프로그램 후원기관 참여",
28
- },
29
- },
30
- "2022": {
31
- 0: { "2022.05": "AI 영어학습 플랫폼 TOSEL Lab 공개" },
32
- },
33
- "2021": {
34
- 1: {
35
- "2021.07": "고려대학교 공과대학 기계학습-빅 데이터 연구원 AI 연구협약 체결",
36
- },
37
- 0: { "2021.07": "소방청 간부후보생 선발시험 반영" },
38
- },
39
- "2020": {
40
- 0: { "2020.06": "국토교통부 국가자격시험 반영" },
41
- },
42
- "2019": {
43
- 1: { "2019.11": "고려대학교 편입학 전형 반영" },
44
- 0: { "2019.06": "미얀마 / 베트남 TOSEL 시험 시행 계약" },
45
- },
46
- "2018": {
47
- 0: { "2018.11": "관공서, 대기업 등 100개 기관에 토셀 반영" },
48
- },
49
- "2017": {
50
- 0: { "2017.03": "중앙일보 주관기관 참여" },
51
- },
52
- "~2014": {
53
- 10: { "2014.04": "전국 200여개 초등학교 단체 응시 실시" },
54
- 9: { "2010.07": "경찰청 공무원 임용시 성적 가산점 부여" },
55
- 8: { "2010.03": "고려대학교, TOSEL 출제 및 인증기관으로 참여" },
56
- 7: {
57
- "2009.12": "한국외국어응용학회, 팬코리아영어교육학회, 한국음성학회, 한국응용언어학회 인증 획득",
58
- },
59
- 6: { "2009.12": "청심국제중/고 입학전형 반영" },
60
- 5: { "2009.01": "전국 15개 외고/자사고 입학전형 반영" },
61
- 4: { "2009.01": "서울시 공무원 근무평정에 TOSEL 점수 가산점 부여" },
62
- 3: { "2006.05": "민족사관고등학교 입학전형 반영" },
63
- 2: { "2006.04": "주관기관으로 EBS 참여" },
64
- 1: { "2004.09": "TOSEL-고려대학교 국제어학원 공동인증시험 실시" },
65
- 0: { "2002.02": "국제토셀위원회(ITC) 창설" },
66
- },
67
- };
68
- // SectionD Component
69
- export default function SectionD() {
70
- const [selectedYear, setSelectedYear] = useState("2024");
71
- const isMD = useResponsive("md");
72
- const handleYearClick = (year) => {
73
- setSelectedYear(year);
74
- };
75
- return (_jsx("div", { className: "w-full h-fit md:min-h-[1080px] bg-gray-light flex py-30 justify-center break-keep", children: _jsxs("div", { className: " h-full flex flex-col md:items-center text-left md:text-center gap-20 text-gray-dark", children: [_jsxs("div", { className: "font-semibold text-2xl p-5", children: ["20\uB144 \uC804\uBD80\uD130 \uC9C0\uAE08\uAE4C\uC9C0,", _jsx("br", {}), "\uD1A0\uC140\uC740 \uCD5C\uACE0\uC218\uC900\uC744 \uC704\uD55C \uAE38\uC744 \uAC78\uC5B4\uC654\uC2B5\uB2C8\uB2E4."] }), isMD ? (_jsx(PCYearBook, { years: years, selectedYear: selectedYear, handleYearClick: handleYearClick, histories: histories })) : (_jsx(MobileYearBook, { years: years, selectedYear: selectedYear, handleYearClick: handleYearClick, histories: histories }))] }) }));
76
- }
77
- // MobileYearBook Component
78
- function MobileYearBook({ years, selectedYear, handleYearClick, histories, }) {
79
- const yearListWrapper = {
80
- displays: "flex flex-row relative",
81
- position: "z-10",
82
- scrollOption: "overflow-x-scroll w-screen scrollbar-hidden overflow-y-visible",
83
- };
84
- const yearBox = {
85
- displays: "flex justify-center items-center flex-shrink-0",
86
- sizes: "w-22 h-10",
87
- textSytles: "text-center",
88
- cursor: "cursor-pointer",
89
- };
90
- const divider = {
91
- displays: "flex absolute -top-[1px]",
92
- sizes: "w-full h-0.5",
93
- backgrounds: "bg-green-dark",
94
- };
95
- const menuRef = useRef(null);
96
- const barRef = useRef(null);
97
- // 클릭된 연도 버튼을 가운데에 정렬
98
- const handleYearClickWithScroll = (year, index) => {
99
- handleYearClick(year); // 기존 클릭 핸들러 호출
100
- const menuElement = menuRef.current;
101
- const underBar = barRef.current;
102
- if (menuElement && underBar) {
103
- const button = menuElement.children[index]; // 클릭된 버튼
104
- const offsetLeft = button.offsetLeft +
105
- button.offsetWidth / 2 -
106
- menuElement.clientWidth / 2;
107
- menuElement.scrollTo({
108
- left: offsetLeft,
109
- behavior: "smooth",
110
- });
111
- if (button) {
112
- const { offsetLeft, offsetWidth } = button;
113
- const indicatorWidth = barRef.current.offsetWidth;
114
- // 가로선 위치 조정
115
- barRef.current.style.transform = `translateX(${offsetLeft + offsetWidth / 2 - indicatorWidth / 2}px)`;
116
- barRef.current.style.transition = "transform 0.4s ease-in-out";
117
- }
118
- }
119
- };
120
- return (_jsxs("div", { className: "flex flex-col", children: [_jsxs("div", { className: cn(yearListWrapper), ref: menuRef, children: [years.map((year, index) => (_jsx("div", { className: cn(yearBox), onClick: () => handleYearClickWithScroll(year, index), children: _jsx("div", { className: `font-bold text-lg duration-700 transition-all ${selectedYear === year ? "text-gray-dark" : "text-[#B9B9B9]"}`, children: year }) }, index))), _jsx("div", { ref: barRef, className: "absolute h-1 bg-green-dark bottom-0 w-22 z-20" // 가로선의 너비 조정
121
- })] }), _jsx("div", { className: "w-full relative overflow-visible", children: _jsx("div", { className: cn(divider) }) }), _jsx("div", { className: "w-full h-fit p-5 mt-10", children: selectedYear && histories[selectedYear] && (_jsx("div", { className: "flex flex-col gap-10 text-left", children: Object.entries(histories[selectedYear]).map(([_, event], idx) => (_jsx("div", { children: Object.entries(event).map(([date, detail]) => (_jsxs("div", { children: [_jsx("div", { className: "text-gray-medium text-base font-bold", children: date }), _jsx("div", { className: "text-gray-dark text-base font-medium", children: detail })] }, date))) }, idx))) })) })] }));
122
- }
123
- // PCYearBook Component
124
- function PCYearBook({ years, selectedYear, handleYearClick, histories, }) {
125
- return (_jsxs("div", { className: "relative flex gap-12", children: [_jsx("div", { className: "flex flex-col z-10", children: years.map((year, index) => (_jsxs("div", { className: "w-22 h-18 flex items-start justify-end text-center gap-3 cursor-pointer relative", onClick: () => handleYearClick(year), children: [_jsx("div", { className: "absolute right-[5px] top-[3px] w-0.5 bg-[#B9B9B9] h-full" }), _jsx("div", { className: `font-bold leading-none text-sm duration-500 transition-all ${selectedYear === year ? "text-gray-dark" : "text-[#B9B9B9]"}`, children: year }), _jsx("div", { className: `relative w-3 h-3 rounded-full transition-transform duration-300 ${selectedYear === year
126
- ? "transform scale-[1.3]"
127
- : "transform scale-100 bg-[#B9B9B9]"}`, children: selectedYear === year && (_jsxs(_Fragment, { children: [_jsx("div", { className: "absolute inset-0 rounded-full", style: {
128
- background: "linear-gradient(269deg, rgba(118, 0, 35) 0%, rgba(16, 86, 82) 100%)",
129
- padding: "2px",
130
- } }), _jsx("div", { className: "absolute inset-[2px] bg-white rounded-full" })] })) })] }, index))) }), _jsx("div", { className: "relative w-120 h-full", children: _jsx("div", { className: "absolute top-0 left-1/2 transform -translate-x-1/2 w-[480px] z-0", children: selectedYear && histories[selectedYear] && (_jsx("div", { className: "flex flex-col gap-6 text-left", children: Object.entries(histories[selectedYear]).map(([_, event], idx) => (_jsx("div", { children: Object.entries(event).map(([date, detail]) => (_jsxs("div", { children: [_jsx("div", { className: "text-gray-medium text-sm font-semibold", children: date }), _jsx("div", { className: "text-gray-dark text-sm", children: detail })] }, date))) }, idx))) })) }) })] }));
131
- }
@@ -1 +0,0 @@
1
- export default function SectionE(): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import SectionECards from "./SectionECards";
3
- import { useResponsive } from "../../../hook";
4
- export default function SectionE() {
5
- const isMD = useResponsive("md");
6
- return (_jsxs("div", { className: "w-full min-h-screen py-30 flex flex-col gap-30 items-center break-keep", children: [_jsx("div", { className: "flex flex-col items-center justify-center gap-[34px]", children: isMD ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "text-crimson-burgundy text-4xl font-bold text-center", children: "\uD1A0\uC140\uACFC \uD568\uAED8\uD558\uB294 \uB2F9\uC2E0\uC758 \uC131\uC7A5" }), _jsx("div", { className: "text-black text-semibold text-2xl", children: "\uC120\uC0DD\uB2D8\uACFC \uD559\uC0DD, \uBAA8\uB450\uB97C \uC704\uD55C \uC601\uC5B4\uAD50\uC721\uC758 \uC7A5\uC744 \uB9CC\uB4E4\uACE0\uC790 \uD569\uB2C8\uB2E4." })] })) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: "text-crimson-burgundy text-2xl font-bold text-center", children: ["\uD1A0\uC140\uACFC \uD568\uAED8\uD558\uB294 ", _jsx("br", {}), " \uB2F9\uC2E0\uC758 \uC131\uC7A5"] }), _jsxs("div", { className: "text-black text-semibold text-base text-center", children: ["\uC120\uC0DD\uB2D8\uACFC \uD559\uC0DD, \uBAA8\uB450\uB97C \uC704\uD55C ", _jsx("br", {}), "\uC601\uC5B4\uAD50\uC721\uC758 \uC7A5\uC744 \uB9CC\uB4E4\uACE0\uC790 \uD569\uB2C8\uB2E4."] })] })) }), _jsx("div", { className: "w-full flex flex-col md:flex-row md:flex-wrap px-5 gap-5 md:gap-[50px] justify-center max-w-[1200px]", children: _jsx(SectionECards, {}) })] }));
7
- }
@@ -1 +0,0 @@
1
- export default function SectionECards(): import("react/jsx-runtime").JSX.Element;
@@ -1,79 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useState } from "react";
3
- import { HiOutlinePlusCircle, HiChevronRight, HiOutlineXCircle, } from "react-icons/hi2";
4
- export default function SectionECards() {
5
- const [activeCardIndex, setActiveCardIndex] = useState(null);
6
- const onClicks = [
7
- () => (window.location.pathname = "/regexam"),
8
- () => (window.location.pathname = "/regexam"),
9
- () => (window.location.href = "https://smartstore.naver.com/tosel"),
10
- () => (window.location.pathname = "/olympiad"),
11
- () => (window.location.href = "https://labentry.tosel.co.kr/"),
12
- () => (window.location.pathname = "/events/20"),
13
- ];
14
- const cardComponents = (onClicks) => [
15
- {
16
- imgSource: "img-aboutus-sectione-exam-min.jpg",
17
- type: "시험 및 평가",
18
- title1: "언제나 믿을 수 있는",
19
- title2: "인증평가 제도를 만들어갑니다.",
20
- description: "비영어권 국가에 맞지 않는 영어인증평가, 이젠 바뀌어야 합니다. 토셀은 그동안 제 2외국어로서 영어학습에 접근하는 학생들이 어려움을 겪었던 평가제도를 혁신하고자 합니다. 학생과 교사에게는 교과과정과 연계하여 친숙한 주제로 학습을 이끌어 나가고, 교육기관 및 회사에게는 믿을 수 있는 영어 능력 평가 인증을 제공합니다.",
21
- onClick: onClicks[0],
22
- },
23
- {
24
- imgSource: "img-aboutus-sectione-reportcard-min.jpg",
25
- type: "고도화 성적표",
26
- title1: "점수, 그 이상의 의미를",
27
- title2: "헤아릴 수 있어야 합니다",
28
- description: "세심한 관심이 필요한 영어 교육에서 토셀은 단순 성적표를 받는 것으로 끝나지 않습니다. 빅데이터 기반의 AI 분석을 통해 부족한 부분에 대한 상세한 분석을 받아보세요.",
29
- onClick: onClicks[1],
30
- },
31
- {
32
- imgSource: "img-aboutus-sectione-toselbooks-min.jpg",
33
- type: "토셀 교재",
34
- title1: "영어학습에서 가장 중요한 것,",
35
- title2: "단계별 학습과 성장",
36
- description: "연령별 인지 단계를 고려한 학습은 토셀 교재에도 반영이 되어있습니다. 시험 대비 문제집과 더불어, 듣기, 쓰기, 읽기, 문법 등 언어 영역 전반에 대한 학습교재가 레벨에 맞추어 준비되어 있습니다.",
37
- onClick: onClicks[2],
38
- },
39
- {
40
- imgSource: "img-aboutus-sectione-olympiad-min.jpg",
41
- type: "올림피아드",
42
- title1: "올림피아드, 누구나 도전하고",
43
- title2: "성장하는 발판이 됩니다.",
44
- description: "노트북만 있다면, 누구든지 응시할 수 있는 영어 올림피아드. 토셀에서는 누구나 경험할 수 있습니다. 꾸준한 영어 학습에 대한 노력을 큰 결실로 맺을 수 있는 기회를 붙잡아보세요.",
45
- onClick: onClicks[3],
46
- },
47
- {
48
- imgSource: "img-aboutus-sectione-tosellab-min.jpg",
49
- type: "TOSEL Lab",
50
- title1: "영어 교육 시스템의 새로운 미래를",
51
- title2: "제시합니다",
52
- description: "토셀의 프리미엄 콘텐츠를 한데 모았습니다. 간편한 정산 시스템으로, 이제는 매달 학생수에 비례하여 금액이 청구됩니다. 지금 바로 다양한 혜택을 만나보세요.",
53
- onClick: onClicks[4],
54
- },
55
- {
56
- imgSource: "img-aboutus-sectione-expert-min.jpg",
57
- type: "전문가 과정",
58
- title1: "좋은 선생님이 토셀과 함께",
59
- title2: "성장할 수 있도록",
60
- description: "고려대학교 미래교육원과 함께하는 TOSEL 전문가 과정은 영어 선생님들의 성장을 위해 운영되고 있습니다. 토셀의 교육방침과 커리큘럼, 학습자료를 더욱 전문적으로 활용할 수 있도록 오픈된 이 강좌는 영어 선생님이라면 누구나 지원하실 수 있습니다.",
61
- onClick: onClicks[5],
62
- },
63
- ];
64
- const handleCardClick = (index) => {
65
- setActiveCardIndex(activeCardIndex === index ? null : index);
66
- };
67
- const handleCloseClick = () => {
68
- setActiveCardIndex(null);
69
- };
70
- return (_jsx(_Fragment, { children: cardComponents(onClicks).map((card, index) => (_jsxs("div", { className: "w-full md:w-[555px] p-8 bg-cover bg-center md:h-[666px] h-[400px] rounded-2xl overflow-hidden text-white gap-5 flex flex-col relative break-keep", style: {
71
- backgroundImage: `url("/images/aboutus/section-f/${card.imgSource}")`,
72
- }, children: [_jsx("div", { className: "md:text-lg font-normal " +
73
- `${activeCardIndex === index ? "opacity-0" : "opacity-100"}`, children: card.type }), _jsxs("div", { className: "text-xl md:text-3xl absolute left-[32px] transition-all duration-100 " +
74
- `${activeCardIndex === index
75
- ? " top-[32px] z-10 text-[24px] font-bold"
76
- : "top-[76px] font-bold"}`, children: [_jsx("div", { children: card.title1 }), _jsx("div", { children: card.title2 })] }), _jsx("div", { className: `text-xl cursor-pointer z-20 absolute left-[32px] top-[180px] ${activeCardIndex === index ? "opacity-0" : "opacity-100"}`, onClick: () => handleCardClick(index), children: _jsx(HiOutlinePlusCircle, {}) }), _jsxs("div", { className: "w-[calc(100vw-104px)] md:w-[490px] text-sm md:text-xl font-normal absolute left-[32px] top-[114px] md:top-[130px] z-10 transition-all duration-700 " +
77
- `${activeCardIndex === index ? "opacity-100" : "opacity-0"}`, children: [card.description, _jsxs("div", { onClick: card.onClick, className: "mt-10 text-sm font-light flex items-center gap-1 cursor-pointer" +
78
- `${activeCardIndex === index ? "opacity-100" : "opacity-0 hidden"}`, children: ["\uB354 \uC54C\uC544\uBCF4\uAE30 ", _jsx(HiChevronRight, {})] })] }), _jsx("div", { className: `w-full h-full bg-black/50 absolute top-0 left-0 transition-opacity duration-500 ${activeCardIndex === index ? "opacity-100" : "opacity-0"}`, style: { backdropFilter: "blur(5px)" } }), _jsx("div", { className: `text-xl cursor-pointer z-20 absolute left-[32px] bottom-[32px] ${activeCardIndex === index ? "opacity-100" : "opacity-0"}`, onClick: handleCloseClick, children: _jsx(HiOutlineXCircle, {}) })] }, index))) }));
79
- }
@@ -1 +0,0 @@
1
- export default function SectionF(): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- export default function SectionF() {
3
- return (_jsxs("div", { className: "w-full bg-gray-light h-auto py-16 flex flex-col gap-16 justify-center text-gray-dark", children: [_jsxs("div", { className: "text-lg md:text-2xl font-bold flex justify-center items-center text-center", children: ["\uAD6D\uB0B4 \uC8FC\uC694 \uC5B8\uC5B4/\uAD50\uC721 \uAE30\uAD00\uB4E4\uC774", _jsx("br", {}), "\uD1A0\uC140\uACFC \uD568\uAED8\uD569\uB2C8\uB2E4."] }), _jsxs("div", { className: "flex justify-center items-center text-center flex-col gap-2 font-semibold", children: [_jsx("div", { className: "text-sm", children: "\uCD9C\uC81C \uBC0F \uC778\uC99D:" }), _jsx("img", { src: "/images/aboutus/section-f/logo-KU-min.png", className: "w-[230px]", alt: "" })] }), _jsxs("div", { className: "flex justify-center items-center text-center flex-col font-semibold gap-2", children: [_jsx("div", { className: "text-sm", children: "\uD559\uD68C \uC778\uC99D \uD68D\uB4DD:" }), _jsxs("div", { className: "flex flex-wrap max-w-[1200px] items-start justify-center", children: [_jsxs("div", { className: "flex max-w-[490px] justify-center align-center gap-2.5 flex-1 flex-wrap", children: [_jsx("img", { src: "/images/aboutus/section-e/logo-\uD55C\uAD6D\uC74C\uC131\uD559\uD68C@4x.png", className: "w-60", alt: "" }), _jsx("img", { src: "/images/aboutus/section-e/logo-ALAK@4x-min.png", className: "w-60", alt: "" })] }), _jsxs("div", { className: "flex max-w-[490px] justify-center align-center gap-2.5 flex-1 flex-wrap", children: [_jsx("img", { src: "/images/aboutus/section-e/logo-KAFLE@4x-min.png", className: "w-60", alt: "" }), _jsx("img", { src: "/images/aboutus/section-e/logo-PKETA@4x-min.png", className: "w-60", alt: "" })] })] })] })] }));
4
- }
@@ -1,10 +0,0 @@
1
- interface newsProps {
2
- media: string;
3
- date: string;
4
- title: string;
5
- link?: string;
6
- }
7
- export default function SectionG({ news }: {
8
- news: newsProps[];
9
- }): import("react/jsx-runtime").JSX.Element;
10
- export {};
@@ -1,27 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState } from "react";
3
- import SelectLG from "../../../widget/template/Select/Select.LG";
4
- export default function SectionG({ news }) {
5
- const [selectedYear, setSelectedYear] = useState(0);
6
- const [visibleCount, setVisibleCount] = useState(4); // 초기 표시 개수
7
- const filteredDatas = selectedYear === 0
8
- ? news
9
- : news.filter((data) => parseInt(data.date.split(".")[0], 10) === selectedYear);
10
- // '더 보기' 버튼 클릭 시 4개씩 추가로 표시
11
- const handleLoadMore = () => {
12
- setVisibleCount((prevCount) => prevCount + 4);
13
- };
14
- return (_jsx("div", { className: "w-full h-auto min-h-[800px] py-10 md:py-30 flex flex-col gap-20 text-green-dark items-center break-keep", children: _jsxs("div", { className: "flex flex-col max-w-[1200px] w-full p-5", children: [_jsxs("div", { className: "text-6xl font-bold flex flex-col sm:flex-row justify-between items-start sm:items-center text-center mb-5", children: [_jsx("div", { className: "text-[36px] md:text-5xl", children: "\uC5B8\uB860 \uC18D\uC758 \uD1A0\uC140" }), _jsx("div", { className: "text-sm mt-2 rounded-lg", children: _jsx(SelectLG, { state: [selectedYear, setSelectedYear], placeholder: "\uBAA8\uB450\uBCF4\uAE30", selectOptions: [
15
- [0, "모두보기"],
16
- [2023, "2023"],
17
- [2022, "2022"],
18
- [2021, "2021"],
19
- [2020, "2020"],
20
- [2019, "2019"],
21
- [2018, "2018"],
22
- [2017, "2017"],
23
- [2016, "2016"],
24
- [2015, "2015"],
25
- [2014, "2014"],
26
- ] }) })] }), filteredDatas.slice(0, visibleCount).map((data, index) => (_jsx("a", { href: data.link, className: "w-full flex text-center flex-col border-b-1 border-gray-light/50 hover:bg-gray-light/20", children: _jsxs("div", { className: "w-full h-fit py-4 md:py-8 flex flex-col gap-3 pl-2", children: [_jsxs("div", { className: "flex gap-3 items-center", children: [_jsx("div", { className: "text-green-dark font-bold md:text-base text-xs", children: data.media }), _jsx("div", { className: "md:text-base text-xs text-gray-medium", children: data.date })] }), _jsx("div", { className: "md:text-xl text-base text-left text-black font-light", children: data.title })] }) }, index))), visibleCount < filteredDatas.length && (_jsx("div", { className: "flex justify-center items-center", children: _jsx("button", { onClick: handleLoadMore, className: "mt-4 p-2 bg-green-light text-green-dark rounded w-full sm:w-20 hover:bg-green-dark hover:text-white duration-300", children: "\uB354 \uBCF4\uAE30" }) }))] }) }));
27
- }
@@ -1,19 +0,0 @@
1
- import SectionA from "./SectionA";
2
- import SectionB from "./SectionB";
3
- import SectionC from "./SectionC";
4
- import SectionCD from "./SectionCD";
5
- import SectionD from "./SectionD";
6
- import SectionE from "./SectionE";
7
- import SectionF from "./SectionF";
8
- import SectionG from "./SectionG";
9
- declare const About: {
10
- SectionA: typeof SectionA;
11
- SectionB: typeof SectionB;
12
- SectionC: typeof SectionC;
13
- SectionD: typeof SectionD;
14
- SectionCD: typeof SectionCD;
15
- SectionE: typeof SectionE;
16
- SectionF: typeof SectionF;
17
- SectionG: typeof SectionG;
18
- };
19
- export default About;
@@ -1,19 +0,0 @@
1
- import SectionA from "./SectionA";
2
- import SectionB from "./SectionB";
3
- import SectionC from "./SectionC";
4
- import SectionCD from "./SectionCD";
5
- import SectionD from "./SectionD";
6
- import SectionE from "./SectionE";
7
- import SectionF from "./SectionF";
8
- import SectionG from "./SectionG";
9
- const About = {
10
- SectionA,
11
- SectionB,
12
- SectionC,
13
- SectionD,
14
- SectionCD,
15
- SectionE,
16
- SectionF,
17
- SectionG,
18
- };
19
- export default About;
@@ -1 +0,0 @@
1
- export default function BooksLayout(): import("react/jsx-runtime").JSX.Element;
@@ -1,13 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useRef } from "react";
3
- import { cn } from "../../../util";
4
- import { Books } from "../../../layout";
5
- export default function BooksLayout() {
6
- const ref = useRef(null);
7
- const container = {
8
- sizes: "min-h-screen w-full",
9
- textoptions: "break-keep antialiased",
10
- cursor: "cursor-default",
11
- };
12
- return (_jsx("div", { className: cn(container), children: _jsx(Books.SectionA, {}) }));
13
- }
@@ -1,2 +0,0 @@
1
- export default function SectionA(): import("react/jsx-runtime").JSX.Element;
2
- export declare function ScrollBookComponent(): import("react/jsx-runtime").JSX.Element;