@edu-tosel/design 1.0.159 → 1.0.161

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 (46) hide show
  1. package/README.md +42 -42
  2. package/asset/SVG.d.ts +3 -3
  3. package/asset/SVG.tsx +29 -29
  4. package/asset/html/gomito-promotion.html +116 -116
  5. package/asset/html/speaking-series-promotion.html +58 -58
  6. package/asset/sizes.d.ts +1 -1
  7. package/asset/sizes.ts +202 -202
  8. package/asset/svg/Close.tsx +32 -32
  9. package/asset/svg/Direction.tsx +76 -76
  10. package/asset/svg/Email.tsx +20 -20
  11. package/asset/svg/Eye.tsx +48 -48
  12. package/asset/svg/Icon.tsx +195 -195
  13. package/asset/svg/Image.tsx +24 -24
  14. package/asset/svg/Notification.tsx +34 -34
  15. package/asset/svg/Operation.tsx +130 -130
  16. package/asset/svg/Phone.tsx +20 -20
  17. package/asset/svg/Profile.tsx +27 -27
  18. package/asset/svg/Symbol.tsx +60 -60
  19. package/asset/svg/TOSEL.tsx +63 -63
  20. package/card/design/InfoCard.design.js +4 -4
  21. package/globals.css +269 -269
  22. package/interface/Card.d.ts +1 -0
  23. package/layout/index.d.ts +1 -0
  24. package/layout/index.js +1 -0
  25. package/layout/template/Legacy/Table.js +1 -0
  26. package/layout/template/MonthlyProgressReport/Layout.d.ts +4 -0
  27. package/layout/template/MonthlyProgressReport/Layout.js +52 -0
  28. package/layout/template/MonthlyProgressReport/Report.d.ts +11 -4
  29. package/layout/template/MonthlyProgressReport/Report.js +50 -33
  30. package/layout/template/MonthlyProgressReport/index.d.ts +5 -2
  31. package/layout/template/MonthlyProgressReport/index.js +2 -0
  32. package/layout/template/Row.d.ts +3 -3
  33. package/layout/template/Ticket/Layout.d.ts +5 -0
  34. package/layout/template/Ticket/Layout.js +48 -0
  35. package/layout/template/Ticket/Ticket.d.ts +18 -0
  36. package/layout/template/Ticket/Ticket.js +13 -0
  37. package/layout/template/Ticket/index.d.ts +5 -0
  38. package/layout/template/Ticket/index.js +5 -0
  39. package/layout/template/dashboard/mypage/Profile.d.ts +2 -2
  40. package/layout/template/home/layout/Navigation.js +32 -10
  41. package/package.json +2 -1
  42. package/tailwind.config.ts +675 -675
  43. package/util/compareDates.js +10 -10
  44. package/version.txt +1 -1
  45. package/widget/design/Label.design.js +1 -0
  46. package/widget/template/Label.d.ts +1 -1
package/globals.css CHANGED
@@ -1,269 +1,269 @@
1
- @tailwind base;
2
- @tailwind components;
3
- @tailwind utilities;
4
-
5
- .image-container {
6
- display: -webkit-box;
7
- display: -ms-flexbox;
8
- display: flex;
9
- }
10
-
11
- @font-face {
12
- font-family: "Pretendard-Medium";
13
- src: url("./asset/fonts/Pretendard-Medium.otf") format("opentype");
14
- }
15
-
16
- @font-face {
17
- font-family: "Pretendard-Bold";
18
- src: url("./asset/fonts/Pretendard-Bold.otf") format("opentype");
19
- }
20
-
21
- @font-face {
22
- font-family: "Pretendard-Light";
23
- src: url("./asset/fonts/Pretendard-Light.otf") format("opentype");
24
- }
25
-
26
- @font-face {
27
- font-family: "Kostar";
28
- src: url("./asset/fonts/Kostar.ttf") format("truetype");
29
- }
30
-
31
- @font-face {
32
- font-family: "NicoMoji";
33
- src: url("./asset/fonts/NicoMoji.ttf") format("truetype");
34
- }
35
-
36
- @font-face {
37
- font-family: "Megrim";
38
- src: url("./asset/fonts/Megrim.ttf") format("truetype");
39
- }
40
-
41
- @font-face {
42
- font-family: "Times-Newer-Roman-Bold";
43
- src: url("./asset/fonts/TimesNewerRoman-Bold.otf") format("opentype");
44
- }
45
-
46
- @font-face {
47
- font-family: "Times-Newer-Roman-BoldItalic";
48
- src: url("./asset/fonts/TimesNewerRoman-BoldItalic.otf") format("opentype");
49
- }
50
-
51
- @font-face {
52
- font-family: "PretendardVariable";
53
- src: url("./asset/fonts/PretendardVariable.ttf") format("truetype");
54
- }
55
-
56
- input[type="date"]::-webkit-inner-spin-button,
57
- input[type="date"]::-webkit-calendar-picker-indicator {
58
- display: none;
59
- -webkit-appearance: none;
60
- }
61
-
62
- ::-webkit-scrollbar {
63
- width: 3px;
64
- padding-right: 10px;
65
- }
66
-
67
- ::-webkit-scrollbar-track {
68
- background-color: transparent;
69
- }
70
- ::-webkit-scrollbar-thumb {
71
- background-color: #808080;
72
- opacity: 0.5;
73
- border-radius: 10px;
74
- }
75
-
76
- .box-shadow {
77
- box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.15);
78
- }
79
- .box-shadow-md {
80
- box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
81
- }
82
- .box-shadow-sm {
83
- box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1);
84
- }
85
- .border-gradient-green-to-red {
86
- }
87
-
88
- .x-shape {
89
- position: relative;
90
- width: 0.83625rem;
91
- height: 0.83625rem;
92
- }
93
-
94
- .x-shape::before,
95
- .x-shape::after {
96
- content: "";
97
- position: absolute;
98
- top: 50%;
99
- left: 50%;
100
- width: 2.5px;
101
- border-radius: 2px;
102
- height: 100%;
103
- background-color: white;
104
- transform-origin: center;
105
- }
106
-
107
- .x-shape::before {
108
- transform: translate(-50%, -50%) rotate(45deg);
109
- }
110
-
111
- .x-shape::after {
112
- transform: translate(-50%, -50%) rotate(-45deg);
113
- }
114
-
115
- .border-inner {
116
- box-shadow: 0 0 0 1px #e5e7eb inset, 0 4px 6px -1px rgba(0, 0, 0, 0.1),
117
- 0 2px 4px -1px rgba(0, 0, 0, 0.06);
118
- }
119
- .box-shadow-focus:focus {
120
- box-shadow: 0 0 0 1px #e5e7eb inset, 0 4px 6px -1px rgba(0, 0, 0, 0.1),
121
- 0 2px 4px -1px rgba(0, 0, 0, 0.06);
122
- }
123
- .box-shadow-focus-red:focus {
124
- box-shadow: 0px 0px 10px 0px #ff8383;
125
- }
126
- .box-green {
127
- background: rgba(16, 86, 82, 0.1);
128
- color: #105652;
129
- }
130
- .box-shadow-green-sm {
131
- box-shadow: 0px 0px 10px 0px rgba(16, 86, 82, 0.38);
132
- }
133
- .box-green-focus:focus {
134
- background: white;
135
- color: black;
136
- box-shadow: 0px 0px 10px 0px rgba(16, 86, 82, 0.38);
137
- }
138
- /* box-shadow: 0px 0px 10px 0px rgba(16, 86, 82, 0.38); */
139
- .box-inner-shadow:hover {
140
- box-shadow: 0 0 0 1px #e5e7eb inset, 0 4px 6px -1px rgba(0, 0, 0, 0.1),
141
- 0 2px 4px -1px rgba(0, 0, 0, 0.06);
142
- }
143
- /* Date Picker Css */
144
- .react-datepicker__day--selected {
145
- background-color: #105652 !important;
146
- }
147
- .react-datepicker__header {
148
- background: white !important;
149
- border: none !important;
150
- }
151
- .react-datepicker {
152
- box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.15) !important;
153
- border-radius: 0.375rem !important;
154
- border: none !important;
155
- }
156
- .react-datepicker__day--keyboard-selected {
157
- background-color: white !important;
158
- color: black !important;
159
- }
160
- .react-datepicker__day--outside-month {
161
- color: rgb(161 161 170) !important;
162
- }
163
- .react-datepicker__month-container {
164
- padding-top: 1rem;
165
- padding-left: 1rem;
166
- padding-right: 1rem;
167
- padding-bottom: 0.5rem;
168
- }
169
- .react-datepicker-popper {
170
- transform: translate(0px 295px) !important;
171
- }
172
- .react-datepicker__input-container {
173
- text-align: center !important;
174
- border-radius: 0.375rem !important;
175
- transition: all 0.3s;
176
- }
177
- .react-datepicker__input-container > input {
178
- cursor: pointer !important;
179
- }
180
- .react-datepicker__input-container:hover {
181
- box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.15) !important;
182
- }
183
- .react-datepicker__navigation {
184
- top: 18px !important;
185
- }
186
- .react-datepicker__navigation--next {
187
- right: 20px !important;
188
- }
189
- .react-datepicker__navigation--previous {
190
- left: 182px !important;
191
- }
192
- .react-datepicker__current-month {
193
- text-align: left !important;
194
- margin-left: 16px !important;
195
- }
196
- .react-datepicker__triangle {
197
- display: none !important;
198
- }
199
- .react-datepicker__children-container {
200
- width: 16rem !important;
201
- }
202
- /* toggle button */
203
- .toggle[type="checkbox"]::before {
204
- content: "";
205
- position: absolute;
206
- left: 1px;
207
- top: 1px;
208
- width: 1.1rem;
209
- height: 1.1rem;
210
- border-radius: 50%;
211
- transform: scale(0.9);
212
- background-color: white;
213
- transition: left 100ms linear;
214
- }
215
- .toggle[type="checkbox"]:checked::before {
216
- background-color: white;
217
- left: 1.32rem;
218
- }
219
- .toggle[type="checkbox"]:checked {
220
- background-color: #105652;
221
- }
222
- .toggle[type="checkbox"]:disabled {
223
- opacity: 0.3;
224
- cursor: not-allowed;
225
- }
226
- .toggle[type="checkbox"]:disabled + span {
227
- opacity: 0.3;
228
- cursor: not-allowed;
229
- }
230
-
231
- /* checkbox */
232
- .check-box[type="checkbox"]:checked {
233
- border-color: transparent;
234
- background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3e%3c/svg%3e");
235
- background-size: 150%;
236
- background-position: 50%;
237
- background-repeat: no-repeat;
238
- }
239
- .check-box[type="checkbox"]:disabled {
240
- background-color: #7f7f7f;
241
- }
242
- .box-shadow-green:hover {
243
- box-shadow: 0px 0px 20px 0px rgba(16, 86, 82, 0.5);
244
- }
245
-
246
- .fade-enter {
247
- opacity: 0;
248
- }
249
- .fade-enter-active {
250
- opacity: 1;
251
- transition: opacity 0.5s ease-in-out;
252
- }
253
- .fade-exit {
254
- opacity: 1;
255
- }
256
- .fade-exit-active {
257
- opacity: 0;
258
- transition: opacity 0.5s ease-in-out;
259
- }
260
-
261
- .text-gradient-green-to-red {
262
- background: var(
263
- --gradient-main,
264
- linear-gradient(269deg, #760023 0%, #105652 100%)
265
- );
266
- background-clip: text;
267
- -webkit-background-clip: text;
268
- -webkit-text-fill-color: transparent;
269
- }
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ .image-container {
6
+ display: -webkit-box;
7
+ display: -ms-flexbox;
8
+ display: flex;
9
+ }
10
+
11
+ @font-face {
12
+ font-family: "Pretendard-Medium";
13
+ src: url("./asset/fonts/Pretendard-Medium.otf") format("opentype");
14
+ }
15
+
16
+ @font-face {
17
+ font-family: "Pretendard-Bold";
18
+ src: url("./asset/fonts/Pretendard-Bold.otf") format("opentype");
19
+ }
20
+
21
+ @font-face {
22
+ font-family: "Pretendard-Light";
23
+ src: url("./asset/fonts/Pretendard-Light.otf") format("opentype");
24
+ }
25
+
26
+ @font-face {
27
+ font-family: "Kostar";
28
+ src: url("./asset/fonts/Kostar.ttf") format("truetype");
29
+ }
30
+
31
+ @font-face {
32
+ font-family: "NicoMoji";
33
+ src: url("./asset/fonts/NicoMoji.ttf") format("truetype");
34
+ }
35
+
36
+ @font-face {
37
+ font-family: "Megrim";
38
+ src: url("./asset/fonts/Megrim.ttf") format("truetype");
39
+ }
40
+
41
+ @font-face {
42
+ font-family: "Times-Newer-Roman-Bold";
43
+ src: url("./asset/fonts/TimesNewerRoman-Bold.otf") format("opentype");
44
+ }
45
+
46
+ @font-face {
47
+ font-family: "Times-Newer-Roman-BoldItalic";
48
+ src: url("./asset/fonts/TimesNewerRoman-BoldItalic.otf") format("opentype");
49
+ }
50
+
51
+ @font-face {
52
+ font-family: "PretendardVariable";
53
+ src: url("./asset/fonts/PretendardVariable.ttf") format("truetype");
54
+ }
55
+
56
+ input[type="date"]::-webkit-inner-spin-button,
57
+ input[type="date"]::-webkit-calendar-picker-indicator {
58
+ display: none;
59
+ -webkit-appearance: none;
60
+ }
61
+
62
+ ::-webkit-scrollbar {
63
+ width: 3px;
64
+ padding-right: 10px;
65
+ }
66
+
67
+ ::-webkit-scrollbar-track {
68
+ background-color: transparent;
69
+ }
70
+ ::-webkit-scrollbar-thumb {
71
+ background-color: #808080;
72
+ opacity: 0.5;
73
+ border-radius: 10px;
74
+ }
75
+
76
+ .box-shadow {
77
+ box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.15);
78
+ }
79
+ .box-shadow-md {
80
+ box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
81
+ }
82
+ .box-shadow-sm {
83
+ box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1);
84
+ }
85
+ .border-gradient-green-to-red {
86
+ }
87
+
88
+ .x-shape {
89
+ position: relative;
90
+ width: 0.83625rem;
91
+ height: 0.83625rem;
92
+ }
93
+
94
+ .x-shape::before,
95
+ .x-shape::after {
96
+ content: "";
97
+ position: absolute;
98
+ top: 50%;
99
+ left: 50%;
100
+ width: 2.5px;
101
+ border-radius: 2px;
102
+ height: 100%;
103
+ background-color: white;
104
+ transform-origin: center;
105
+ }
106
+
107
+ .x-shape::before {
108
+ transform: translate(-50%, -50%) rotate(45deg);
109
+ }
110
+
111
+ .x-shape::after {
112
+ transform: translate(-50%, -50%) rotate(-45deg);
113
+ }
114
+
115
+ .border-inner {
116
+ box-shadow: 0 0 0 1px #e5e7eb inset, 0 4px 6px -1px rgba(0, 0, 0, 0.1),
117
+ 0 2px 4px -1px rgba(0, 0, 0, 0.06);
118
+ }
119
+ .box-shadow-focus:focus {
120
+ box-shadow: 0 0 0 1px #e5e7eb inset, 0 4px 6px -1px rgba(0, 0, 0, 0.1),
121
+ 0 2px 4px -1px rgba(0, 0, 0, 0.06);
122
+ }
123
+ .box-shadow-focus-red:focus {
124
+ box-shadow: 0px 0px 10px 0px #ff8383;
125
+ }
126
+ .box-green {
127
+ background: rgba(16, 86, 82, 0.1);
128
+ color: #105652;
129
+ }
130
+ .box-shadow-green-sm {
131
+ box-shadow: 0px 0px 10px 0px rgba(16, 86, 82, 0.38);
132
+ }
133
+ .box-green-focus:focus {
134
+ background: white;
135
+ color: black;
136
+ box-shadow: 0px 0px 10px 0px rgba(16, 86, 82, 0.38);
137
+ }
138
+ /* box-shadow: 0px 0px 10px 0px rgba(16, 86, 82, 0.38); */
139
+ .box-inner-shadow:hover {
140
+ box-shadow: 0 0 0 1px #e5e7eb inset, 0 4px 6px -1px rgba(0, 0, 0, 0.1),
141
+ 0 2px 4px -1px rgba(0, 0, 0, 0.06);
142
+ }
143
+ /* Date Picker Css */
144
+ .react-datepicker__day--selected {
145
+ background-color: #105652 !important;
146
+ }
147
+ .react-datepicker__header {
148
+ background: white !important;
149
+ border: none !important;
150
+ }
151
+ .react-datepicker {
152
+ box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.15) !important;
153
+ border-radius: 0.375rem !important;
154
+ border: none !important;
155
+ }
156
+ .react-datepicker__day--keyboard-selected {
157
+ background-color: white !important;
158
+ color: black !important;
159
+ }
160
+ .react-datepicker__day--outside-month {
161
+ color: rgb(161 161 170) !important;
162
+ }
163
+ .react-datepicker__month-container {
164
+ padding-top: 1rem;
165
+ padding-left: 1rem;
166
+ padding-right: 1rem;
167
+ padding-bottom: 0.5rem;
168
+ }
169
+ .react-datepicker-popper {
170
+ transform: translate(0px 295px) !important;
171
+ }
172
+ .react-datepicker__input-container {
173
+ text-align: center !important;
174
+ border-radius: 0.375rem !important;
175
+ transition: all 0.3s;
176
+ }
177
+ .react-datepicker__input-container > input {
178
+ cursor: pointer !important;
179
+ }
180
+ .react-datepicker__input-container:hover {
181
+ box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.15) !important;
182
+ }
183
+ .react-datepicker__navigation {
184
+ top: 18px !important;
185
+ }
186
+ .react-datepicker__navigation--next {
187
+ right: 20px !important;
188
+ }
189
+ .react-datepicker__navigation--previous {
190
+ left: 182px !important;
191
+ }
192
+ .react-datepicker__current-month {
193
+ text-align: left !important;
194
+ margin-left: 16px !important;
195
+ }
196
+ .react-datepicker__triangle {
197
+ display: none !important;
198
+ }
199
+ .react-datepicker__children-container {
200
+ width: 16rem !important;
201
+ }
202
+ /* toggle button */
203
+ .toggle[type="checkbox"]::before {
204
+ content: "";
205
+ position: absolute;
206
+ left: 1px;
207
+ top: 1px;
208
+ width: 1.1rem;
209
+ height: 1.1rem;
210
+ border-radius: 50%;
211
+ transform: scale(0.9);
212
+ background-color: white;
213
+ transition: left 100ms linear;
214
+ }
215
+ .toggle[type="checkbox"]:checked::before {
216
+ background-color: white;
217
+ left: 1.32rem;
218
+ }
219
+ .toggle[type="checkbox"]:checked {
220
+ background-color: #105652;
221
+ }
222
+ .toggle[type="checkbox"]:disabled {
223
+ opacity: 0.3;
224
+ cursor: not-allowed;
225
+ }
226
+ .toggle[type="checkbox"]:disabled + span {
227
+ opacity: 0.3;
228
+ cursor: not-allowed;
229
+ }
230
+
231
+ /* checkbox */
232
+ .check-box[type="checkbox"]:checked {
233
+ border-color: transparent;
234
+ background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3e%3c/svg%3e");
235
+ background-size: 150%;
236
+ background-position: 50%;
237
+ background-repeat: no-repeat;
238
+ }
239
+ .check-box[type="checkbox"]:disabled {
240
+ background-color: #7f7f7f;
241
+ }
242
+ .box-shadow-green:hover {
243
+ box-shadow: 0px 0px 20px 0px rgba(16, 86, 82, 0.5);
244
+ }
245
+
246
+ .fade-enter {
247
+ opacity: 0;
248
+ }
249
+ .fade-enter-active {
250
+ opacity: 1;
251
+ transition: opacity 0.5s ease-in-out;
252
+ }
253
+ .fade-exit {
254
+ opacity: 1;
255
+ }
256
+ .fade-exit-active {
257
+ opacity: 0;
258
+ transition: opacity 0.5s ease-in-out;
259
+ }
260
+
261
+ .text-gradient-green-to-red {
262
+ background: var(
263
+ --gradient-main,
264
+ linear-gradient(269deg, #760023 0%, #105652 100%)
265
+ );
266
+ background-clip: text;
267
+ -webkit-background-clip: text;
268
+ -webkit-text-fill-color: transparent;
269
+ }
@@ -94,6 +94,7 @@ export interface InfoCardProps extends CardProps {
94
94
  image?: string;
95
95
  option?: {
96
96
  titleBorder?: string;
97
+ titleColor?: string;
97
98
  } & CardOption;
98
99
  }
99
100
  export interface InfoCardExamDataREGProps extends Omit<InfoCardProps, "children"> {
package/layout/index.d.ts CHANGED
@@ -20,3 +20,4 @@ export { default as Gomito } from "./template/Gomito";
20
20
  export { default as RegexamLayout } from "./template/Regexam/Regexam.layout";
21
21
  export { default as LegacyLayout } from "./template/Legacy/Legacy.layout";
22
22
  export { default as MonthlyProgressReport } from "./template/MonthlyProgressReport";
23
+ export { default as Ticket } from "./template/Ticket";
package/layout/index.js CHANGED
@@ -20,3 +20,4 @@ export { default as Gomito } from "./template/Gomito";
20
20
  export { default as RegexamLayout } from "./template/Regexam/Regexam.layout";
21
21
  export { default as LegacyLayout } from "./template/Legacy/Legacy.layout";
22
22
  export { default as MonthlyProgressReport } from "./template/MonthlyProgressReport";
23
+ export { default as Ticket } from "./template/Ticket";
@@ -119,6 +119,7 @@ const LevelConvert = {
119
119
  4: "BA",
120
120
  3: "JR",
121
121
  6: "HJ",
122
+ 11: "CC",
122
123
  };
123
124
  const TextColorConvert = {
124
125
  PS: "text-ps-pink",
@@ -0,0 +1,4 @@
1
+ import { ProgressReportProps } from "./Report";
2
+ export default function Layout({ props }: {
3
+ props: ProgressReportProps;
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,52 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef } from "react";
3
+ import { cn } from "../../../util";
4
+ import { Label } from "../../../widget";
5
+ import Action from "../Action";
6
+ import ModalProvider from "../../../modal/design/Modal.design";
7
+ import { useActionStore } from "../../../store";
8
+ import { useReactToPrint } from "react-to-print";
9
+ import MonthlyProgressReport from ".";
10
+ export default function Layout({ props }) {
11
+ const { setModal } = useActionStore();
12
+ const container = {
13
+ displays: "flex flex-col justify-center items-center",
14
+ fonts: "font-pretendard-var",
15
+ sizes: "w-full min-h-screen",
16
+ };
17
+ const header = {
18
+ displays: "flex justify-end gap-3.5",
19
+ sizes: "w-full max-w-[297mm]",
20
+ };
21
+ const ref = useRef(null);
22
+ const handlePrint = useReactToPrint({
23
+ content: () => ref.current,
24
+ });
25
+ return (_jsx("div", { className: cn(container), children: _jsxs(Action.Show, { actions: [
26
+ [
27
+ "whatIsMPR",
28
+ _jsx(ModalProvider, { titles: {
29
+ title: "Monthly Progress Report",
30
+ subtitle: [
31
+ "MPR에서 학생들의 학습 성취도를 확인할 수 있습니다.",
32
+ "토셀 랩의 커리큘럼으로 학습 능력을 끌어올리세요!",
33
+ ],
34
+ }, children: _jsx("div", { className: "flex justify-center items-center w-full h-80", children: _jsx("img", { src: "/images/progress/mock.png", className: "w-full h-full" }) }) }),
35
+ ],
36
+ ], children: [_jsxs("div", { className: cn(header), children: [_jsx(Label.Button, { title: "MPR\uC774\uB780?", option: {
37
+ width: "xs",
38
+ height: "xs",
39
+ background: "bg-blue-navy",
40
+ text: "text-white",
41
+ }, onClick: () => setModal("whatIsMPR") }), _jsx(Label.Button, { title: "\uAD50\uC7AC \uB77C\uC778\uC5C5", option: {
42
+ width: "xs",
43
+ height: "xs",
44
+ background: "bg-blue-navy",
45
+ text: "text-white",
46
+ }, onClick: () => window.open("https://smartstore.naver.com/tosel/shoppingstory/detail?id=5001356529&page=1") }), _jsx(Label.Button, { title: "\uCD9C\uB825\uD558\uAE30", option: {
47
+ width: "xs",
48
+ height: "xs",
49
+ background: "bg-blue-navy",
50
+ text: "text-white",
51
+ }, onClick: handlePrint })] }), _jsx(MonthlyProgressReport.Report, { ref: ref, props: props })] }) }));
52
+ }
@@ -19,18 +19,25 @@ export interface Result {
19
19
  answers: number[];
20
20
  userId: number;
21
21
  }
22
- interface ProgressReportProps {
22
+ export interface ProgressReportProps {
23
23
  studentInfo: {
24
24
  name: string;
25
25
  birthday: string;
26
26
  belong?: string;
27
27
  academy?: string;
28
+ image: string;
28
29
  };
29
- results: Result[];
30
30
  recentResult: Result & {
31
31
  examName: string;
32
32
  };
33
+ results: {
34
+ date: number;
35
+ score: number;
36
+ }[];
33
37
  comment: string | string[];
38
+ commentType?: "director" | "tosel";
34
39
  }
35
- export default function ProgressReport({ studentInfo, recentResult, comment, }: ProgressReportProps): import("react/jsx-runtime").JSX.Element;
36
- export {};
40
+ declare const _default: import("react").ForwardRefExoticComponent<{
41
+ props: ProgressReportProps;
42
+ } & import("react").RefAttributes<HTMLDivElement>>;
43
+ export default _default;