@dotss/tictoccroc 0.9.1 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/teacher/profile/components/AbilityCollection/AbilityCollection.d.ts +3 -1
- package/dist/teacher/profile/components/AbilityCollection/AbilityCollection.mjs +25 -24
- package/dist/teacher/profile/components/ActivityGallery/ActivityGallery.d.ts +2 -1
- package/dist/teacher/profile/components/ActivityGallery/ActivityGallery.mjs +19 -18
- package/dist/teacher/profile/components/AvailableScheduleSection/AvailableScheduleSection.d.ts +1 -0
- package/dist/teacher/profile/components/AvailableScheduleSection/AvailableScheduleSection.mjs +29 -28
- package/dist/teacher/profile/components/CareNoteSection/CareNoteSection.d.ts +2 -0
- package/dist/teacher/profile/components/CareNoteSection/CareNoteSection.mjs +53 -49
- package/dist/teacher/profile/components/CareerSection/CareerSection.d.ts +2 -1
- package/dist/teacher/profile/components/CareerSection/CareerSection.mjs +25 -24
- package/dist/teacher/profile/components/CertificateSection/CertificateSection.d.ts +2 -1
- package/dist/teacher/profile/components/CertificateSection/CertificateSection.mjs +21 -20
- package/dist/teacher/profile/components/EducationSection/EducationSection.d.ts +2 -1
- package/dist/teacher/profile/components/EducationSection/EducationSection.mjs +21 -20
- package/dist/teacher/profile/components/ParentReviewSection/ParentReviewSection.d.ts +2 -0
- package/dist/teacher/profile/components/ParentReviewSection/ParentReviewSection.mjs +12 -11
- package/dist/teacher/profile/components/PreferredActivityKeywordGroup/PreferredActivityKeywordGroup.d.ts +2 -1
- package/dist/teacher/profile/components/PreferredActivityKeywordGroup/PreferredActivityKeywordGroup.mjs +4 -3
- package/dist/teacher/profile/components/PreferredAgeGroup/PreferredAgeGroup.d.ts +2 -1
- package/dist/teacher/profile/components/PreferredAgeGroup/PreferredAgeGroup.mjs +4 -3
- package/package.json +1 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
1
2
|
import { FlexboxProps } from 'node_modules/@dotss/ui/Flexbox/Flexbox';
|
|
2
3
|
export interface AbilityCollectionProps extends FlexboxProps {
|
|
3
4
|
enableToggle?: boolean;
|
|
5
|
+
description?: ReactNode;
|
|
4
6
|
}
|
|
5
|
-
declare function AbilityCollection({ children, enableToggle, ...props }: AbilityCollectionProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare function AbilityCollection({ children, enableToggle, description, ...props }: AbilityCollectionProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
6
8
|
export default AbilityCollection;
|
|
@@ -4,28 +4,28 @@ import { Button as o, Flexbox as s, Icon as c, Typography as l } from "@dotss/ui
|
|
|
4
4
|
import u from "@dotss/ui/core/useTheme";
|
|
5
5
|
import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
6
6
|
//#region teacher/profile/components/AbilityCollection/AbilityCollection.tsx
|
|
7
|
-
function p({ children: p, enableToggle: m = !1,
|
|
8
|
-
let { spacing:
|
|
7
|
+
function p({ children: p, enableToggle: m = !1, description: h, ...g }) {
|
|
8
|
+
let { spacing: _ } = u(), [v, y] = a(!1), [b, x] = a(0), [S, C] = a(0), w = i(null), T = t.toArray(p).filter(r).filter((t) => t.type === e), E = () => y((e) => !e), D = (e) => (t) => {
|
|
9
9
|
let n = Number(t.currentTarget.getAttribute("data-row") || -1), r = Number(t.currentTarget.getAttribute("data-col") || -1);
|
|
10
|
-
|
|
11
|
-
},
|
|
10
|
+
x(n), C(r), e?.(t);
|
|
11
|
+
}, O = (e) => (t) => {
|
|
12
12
|
let n = Number(t.currentTarget.getAttribute("data-row") || -1), r = Number(t.currentTarget.getAttribute("data-col") || -1);
|
|
13
13
|
switch (t.key) {
|
|
14
14
|
case "ArrowUp":
|
|
15
15
|
if (t.preventDefault(), n === 0) return;
|
|
16
|
-
|
|
16
|
+
x(n - 1), w.current?.querySelector(`[data-row="${n - 1}"][data-col="${r}"]`)?.focus();
|
|
17
17
|
break;
|
|
18
18
|
case "ArrowDown":
|
|
19
|
-
if (t.preventDefault(), n === 2 || n === 1 && m && !
|
|
20
|
-
|
|
19
|
+
if (t.preventDefault(), n === 2 || n === 1 && m && !v) return;
|
|
20
|
+
x(n + 1), w.current?.querySelector(`[data-row="${n + 1}"][data-col="${r}"]`)?.focus();
|
|
21
21
|
break;
|
|
22
22
|
case "ArrowLeft":
|
|
23
23
|
if (t.preventDefault(), r === 0) return;
|
|
24
|
-
|
|
24
|
+
C(r - 1), w.current?.querySelector(`[data-row="${n}"][data-col="${r - 1}"]`)?.focus();
|
|
25
25
|
break;
|
|
26
26
|
case "ArrowRight":
|
|
27
27
|
if (t.preventDefault(), r === 2) return;
|
|
28
|
-
|
|
28
|
+
C(r + 1), w.current?.querySelector(`[data-row="${n}"][data-col="${r + 1}"]`)?.focus();
|
|
29
29
|
break;
|
|
30
30
|
case "Enter":
|
|
31
31
|
case " ":
|
|
@@ -39,10 +39,10 @@ function p({ children: p, enableToggle: m = !1, ...h }) {
|
|
|
39
39
|
flexDirection: "column",
|
|
40
40
|
gap: 4,
|
|
41
41
|
"aria-labelledby": "ability-collection-title",
|
|
42
|
-
...
|
|
42
|
+
...g,
|
|
43
43
|
inlineCSS: {
|
|
44
44
|
width: "100%",
|
|
45
|
-
...
|
|
45
|
+
...g?.inlineCSS
|
|
46
46
|
},
|
|
47
47
|
children: [
|
|
48
48
|
/* @__PURE__ */ d(l, {
|
|
@@ -51,8 +51,9 @@ function p({ children: p, enableToggle: m = !1, ...h }) {
|
|
|
51
51
|
variant: "h2B",
|
|
52
52
|
children: "능력치 배지"
|
|
53
53
|
}),
|
|
54
|
+
h,
|
|
54
55
|
/* @__PURE__ */ d(s, {
|
|
55
|
-
ref:
|
|
56
|
+
ref: w,
|
|
56
57
|
id: "ability-badge-grid",
|
|
57
58
|
role: "grid",
|
|
58
59
|
gap: 2,
|
|
@@ -63,23 +64,23 @@ function p({ children: p, enableToggle: m = !1, ...h }) {
|
|
|
63
64
|
display: "grid",
|
|
64
65
|
gridTemplateColumns: "repeat(3, 1fr)",
|
|
65
66
|
width: "inherit",
|
|
66
|
-
columnGap:
|
|
67
|
-
rowGap:
|
|
68
|
-
maxHeight:
|
|
67
|
+
columnGap: _.content(2),
|
|
68
|
+
rowGap: _.content(6),
|
|
69
|
+
maxHeight: v ? void 0 : m ? `calc(2 * 74px + ${_.content(12)}px)` : void 0,
|
|
69
70
|
overflow: "hidden"
|
|
70
71
|
},
|
|
71
|
-
children: t.map(
|
|
72
|
+
children: t.map(T, (e, t) => {
|
|
72
73
|
let r = Math.floor(t / 3), i = t % 3;
|
|
73
74
|
return /* @__PURE__ */ d(s, {
|
|
74
75
|
role: "gridcell",
|
|
75
76
|
children: n(e, {
|
|
76
|
-
tabIndex:
|
|
77
|
+
tabIndex: b === r && S === i ? 0 : -1,
|
|
77
78
|
"data-row": r,
|
|
78
79
|
"data-col": i,
|
|
79
80
|
"aria-posinset": t + 1,
|
|
80
|
-
"aria-setsize":
|
|
81
|
-
onFocus:
|
|
82
|
-
onKeyDown:
|
|
81
|
+
"aria-setsize": T.length,
|
|
82
|
+
onFocus: D(e.props.onFocus),
|
|
83
|
+
onKeyDown: O(e.props.onKeyDown),
|
|
83
84
|
...e.props
|
|
84
85
|
})
|
|
85
86
|
}, `ability-badge-gridcell-${t}`);
|
|
@@ -93,11 +94,11 @@ function p({ children: p, enableToggle: m = !1, ...h }) {
|
|
|
93
94
|
fullWidth: !0,
|
|
94
95
|
variant: "text",
|
|
95
96
|
color: "secondary",
|
|
96
|
-
endAdornment: /* @__PURE__ */ d(c, { name:
|
|
97
|
-
onClick:
|
|
97
|
+
endAdornment: /* @__PURE__ */ d(c, { name: v ? "ChevronUpLine" : "ChevronDownLine" }),
|
|
98
|
+
onClick: E,
|
|
98
99
|
"aria-controls": "ability-badge-grid",
|
|
99
|
-
"aria-expanded":
|
|
100
|
-
children:
|
|
100
|
+
"aria-expanded": v,
|
|
101
|
+
children: v ? "접기" : "더 보기"
|
|
101
102
|
})
|
|
102
103
|
})
|
|
103
104
|
]
|
|
@@ -4,8 +4,9 @@ import { MasonryProps } from '../../../../shared/components/Masonry';
|
|
|
4
4
|
export interface ActivityGalleryProps extends FlexboxProps {
|
|
5
5
|
onClickViewAll?: () => void;
|
|
6
6
|
action?: ReactNode;
|
|
7
|
+
description?: ReactNode;
|
|
7
8
|
hideHeader?: boolean;
|
|
8
9
|
masonryProps?: MasonryProps;
|
|
9
10
|
}
|
|
10
|
-
declare function ActivityGallery({ children, onClickViewAll, action, hideHeader, masonryProps: { columnCount, rowCount, spacing, edgeSpacing, direction, defaultContainerWidth, defaultContainerHeight, ...masonryProps }, ...props }: ActivityGalleryProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
11
|
+
declare function ActivityGallery({ children, onClickViewAll, action, description, hideHeader, masonryProps: { columnCount, rowCount, spacing, edgeSpacing, direction, defaultContainerWidth, defaultContainerHeight, ...masonryProps }, ...props }: ActivityGalleryProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
11
12
|
export default ActivityGallery;
|
|
@@ -4,8 +4,8 @@ import { Children as n, isValidElement as r } from "react";
|
|
|
4
4
|
import { Button as i, Flexbox as a, Icon as o, Typography as s } from "@dotss/ui";
|
|
5
5
|
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
6
6
|
//#region teacher/profile/components/ActivityGallery/ActivityGallery.tsx
|
|
7
|
-
function u({ children: u, onClickViewAll: d, action: f,
|
|
8
|
-
let
|
|
7
|
+
function u({ children: u, onClickViewAll: d, action: f, description: p, hideHeader: m = !1, masonryProps: { columnCount: h = 2, rowCount: g = 2, spacing: _ = 2, edgeSpacing: v = 0, direction: y = "horizontal", defaultContainerWidth: b = 360, defaultContainerHeight: x = 0, ...S } = {}, ...C }) {
|
|
8
|
+
let w = n.toArray(u).filter(r).filter((t) => t.type === e), T = w.length > 0, E = (e, t, n) => {
|
|
9
9
|
let r = e.props.type === "VIDEO" || e.props.type === "VIMEO" || e.props.type === "YOUTUBE" ? "동영상" : "사진";
|
|
10
10
|
r = e.props.primary ? `대표 ${r}` : r;
|
|
11
11
|
let i = {
|
|
@@ -18,16 +18,16 @@ function u({ children: u, onClickViewAll: d, action: f, hideHeader: p = !1, maso
|
|
|
18
18
|
return /* @__PURE__ */ l(a, {
|
|
19
19
|
tag: "section",
|
|
20
20
|
flexDirection: "column",
|
|
21
|
-
"aria-labelledby":
|
|
22
|
-
"aria-label":
|
|
21
|
+
"aria-labelledby": m ? void 0 : "activity-gallery-title",
|
|
22
|
+
"aria-label": m ? "선생님 활동 갤러리" : void 0,
|
|
23
23
|
gap: 4,
|
|
24
|
-
...
|
|
24
|
+
...C,
|
|
25
25
|
inlineCSS: {
|
|
26
26
|
width: "100%",
|
|
27
|
-
...
|
|
27
|
+
...C?.inlineCSS
|
|
28
28
|
},
|
|
29
29
|
children: [
|
|
30
|
-
!
|
|
30
|
+
!m && /* @__PURE__ */ l(a, {
|
|
31
31
|
alignItems: "center",
|
|
32
32
|
justifyContent: "space-between",
|
|
33
33
|
gap: 2,
|
|
@@ -46,19 +46,20 @@ function u({ children: u, onClickViewAll: d, action: f, hideHeader: p = !1, maso
|
|
|
46
46
|
children: "전체보기"
|
|
47
47
|
})]
|
|
48
48
|
}),
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
49
|
+
p,
|
|
50
|
+
T && /* @__PURE__ */ c(t, {
|
|
51
|
+
rowCount: g,
|
|
52
|
+
columnCount: h,
|
|
53
|
+
spacing: _,
|
|
54
|
+
edgeSpacing: v,
|
|
55
|
+
direction: y,
|
|
56
|
+
defaultContainerWidth: b,
|
|
57
|
+
defaultContainerHeight: x,
|
|
57
58
|
role: "group",
|
|
58
59
|
"aria-label": "콘텐츠 목록",
|
|
59
|
-
...
|
|
60
|
-
children:
|
|
61
|
-
},
|
|
60
|
+
...S,
|
|
61
|
+
children: w.map((e, t) => E(e, t, w.length))
|
|
62
|
+
}, w.map((e) => e.key).join(",")),
|
|
62
63
|
f && /* @__PURE__ */ c(a, {
|
|
63
64
|
mt: 2,
|
|
64
65
|
flexGrow: 1,
|
package/dist/teacher/profile/components/AvailableScheduleSection/AvailableScheduleSection.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { SchedulerProps } from '../../../../shared/components/Scheduler';
|
|
|
4
4
|
export interface AvailableScheduleSectionProps extends FlexboxProps {
|
|
5
5
|
title?: string;
|
|
6
6
|
action?: ReactNode;
|
|
7
|
+
description?: ReactNode;
|
|
7
8
|
footer?: ReactNode;
|
|
8
9
|
schedulerProps?: SchedulerProps;
|
|
9
10
|
enableToggle?: boolean;
|
package/dist/teacher/profile/components/AvailableScheduleSection/AvailableScheduleSection.mjs
CHANGED
|
@@ -6,19 +6,19 @@ import c from "@dotss/ui/core/useTheme";
|
|
|
6
6
|
import { jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
7
7
|
import d from "@dotss/ui/Switch";
|
|
8
8
|
//#region teacher/profile/components/AvailableScheduleSection/AvailableScheduleSection.tsx
|
|
9
|
-
var f = n(function({ children: n, title: f = "수업 가능 일정", action: p,
|
|
10
|
-
let { palette: { grey:
|
|
9
|
+
var f = n(function({ children: n, title: f = "수업 가능 일정", action: p, description: m, footer: h, flat: g = !1, schedulerProps: _, enableToggle: v = !0, teacherStatus: y, ...b }, x) {
|
|
10
|
+
let { palette: { grey: S, background: C } } = c(), [w, T] = r(!1), E = () => T((e) => !e), D = (e) => y.onChange?.(e);
|
|
11
11
|
return /* @__PURE__ */ u(a, {
|
|
12
|
-
ref:
|
|
12
|
+
ref: x,
|
|
13
13
|
tag: "section",
|
|
14
14
|
flexDirection: "column",
|
|
15
15
|
gap: 4,
|
|
16
16
|
"aria-labelledby": "available-schedule-section-title",
|
|
17
|
-
"aria-describedby":
|
|
18
|
-
...
|
|
17
|
+
"aria-describedby": h ? "available-schedule-section-footer" : void 0,
|
|
18
|
+
...b,
|
|
19
19
|
inlineCSS: {
|
|
20
20
|
width: "100%",
|
|
21
|
-
...
|
|
21
|
+
...b?.inlineCSS
|
|
22
22
|
},
|
|
23
23
|
children: [
|
|
24
24
|
/* @__PURE__ */ l(s, {
|
|
@@ -27,54 +27,55 @@ var f = n(function({ children: n, title: f = "수업 가능 일정", action: p,
|
|
|
27
27
|
variant: "h2B",
|
|
28
28
|
children: f
|
|
29
29
|
}),
|
|
30
|
-
|
|
30
|
+
m,
|
|
31
|
+
y.active && /* @__PURE__ */ u(a, {
|
|
31
32
|
flexDirection: "column",
|
|
32
33
|
gap: 2,
|
|
33
34
|
children: [/* @__PURE__ */ u(a, {
|
|
34
35
|
flexDirection: "column",
|
|
35
36
|
inlineCSS: {
|
|
36
|
-
...
|
|
37
|
-
border: `1px solid ${
|
|
37
|
+
...g ? void 0 : {
|
|
38
|
+
border: `1px solid ${S[20]}`,
|
|
38
39
|
borderRadius: 12
|
|
39
40
|
},
|
|
40
|
-
maxHeight:
|
|
41
|
+
maxHeight: w ? void 0 : v ? 384 : void 0,
|
|
41
42
|
overflow: "hidden"
|
|
42
43
|
},
|
|
43
44
|
children: [
|
|
44
|
-
!
|
|
45
|
+
!g && /* @__PURE__ */ l(a, { pt: 4 }),
|
|
45
46
|
/* @__PURE__ */ l(t, {
|
|
46
47
|
id: "available-schedule-section-scheduler",
|
|
47
48
|
"aria-labelledby": "available-schedule-section-title",
|
|
48
|
-
...
|
|
49
|
+
..._,
|
|
49
50
|
children: n
|
|
50
51
|
}),
|
|
51
|
-
|
|
52
|
+
v && /* @__PURE__ */ l(i, {
|
|
52
53
|
variant: "text",
|
|
53
54
|
color: "secondary",
|
|
54
|
-
endAdornment: /* @__PURE__ */ l(o, { name:
|
|
55
|
-
onClick:
|
|
56
|
-
"aria-expanded":
|
|
55
|
+
endAdornment: /* @__PURE__ */ l(o, { name: w ? "ChevronUpLine" : "ChevronDownLine" }),
|
|
56
|
+
onClick: E,
|
|
57
|
+
"aria-expanded": w,
|
|
57
58
|
"aria-controls": "available-schedule-section-scheduler",
|
|
58
59
|
inlineCSS: {
|
|
59
60
|
position: "sticky",
|
|
60
61
|
bottom: 0,
|
|
61
62
|
borderTopRightRadius: 0,
|
|
62
63
|
borderTopLeftRadius: 0,
|
|
63
|
-
backgroundColor:
|
|
64
|
+
backgroundColor: S.white,
|
|
64
65
|
zIndex: 1
|
|
65
66
|
},
|
|
66
|
-
children:
|
|
67
|
+
children: w ? "접기" : "펼쳐보기"
|
|
67
68
|
})
|
|
68
69
|
]
|
|
69
|
-
}),
|
|
70
|
+
}), h && /* @__PURE__ */ l(a, {
|
|
70
71
|
id: "available-schedule-section-footer",
|
|
71
72
|
tag: "footer",
|
|
72
73
|
pl: 12,
|
|
73
74
|
pr: 2,
|
|
74
|
-
children:
|
|
75
|
+
children: h
|
|
75
76
|
})]
|
|
76
77
|
}),
|
|
77
|
-
typeof
|
|
78
|
+
typeof y.onChange == "function" && /* @__PURE__ */ u(a, {
|
|
78
79
|
alignItems: "center",
|
|
79
80
|
justifyContent: "space-between",
|
|
80
81
|
gap: 2,
|
|
@@ -85,14 +86,14 @@ var f = n(function({ children: n, title: f = "수업 가능 일정", action: p,
|
|
|
85
86
|
htmlFor: "available-schedule-section-switch",
|
|
86
87
|
children: "활동 여부"
|
|
87
88
|
}), /* @__PURE__ */ l(d, {
|
|
88
|
-
selected: !!
|
|
89
|
-
onChange:
|
|
89
|
+
selected: !!y.active,
|
|
90
|
+
onChange: D,
|
|
90
91
|
selectedLabel: "활동중",
|
|
91
92
|
unselectedLabel: "쉬는중",
|
|
92
93
|
inputProps: { id: "available-schedule-section-switch" }
|
|
93
94
|
})]
|
|
94
95
|
}),
|
|
95
|
-
!
|
|
96
|
+
!y.active && /* @__PURE__ */ u(a, {
|
|
96
97
|
role: "status",
|
|
97
98
|
pt: 5,
|
|
98
99
|
pb: 5,
|
|
@@ -106,13 +107,13 @@ var f = n(function({ children: n, title: f = "수업 가능 일정", action: p,
|
|
|
106
107
|
"aria-describedby": "available-schedule-section-status-desc",
|
|
107
108
|
inlineCSS: {
|
|
108
109
|
borderRadius: 8,
|
|
109
|
-
backgroundColor:
|
|
110
|
+
backgroundColor: C.primary
|
|
110
111
|
},
|
|
111
112
|
children: [
|
|
112
113
|
/* @__PURE__ */ l(e, {
|
|
113
114
|
width: 48,
|
|
114
115
|
height: 48,
|
|
115
|
-
src: `${
|
|
116
|
+
src: `${y.fallback.iconBasePath}/images/design-system/graphic/illustration3D/island.png`,
|
|
116
117
|
alt: "쉬는 중",
|
|
117
118
|
"aria-hidden": !0
|
|
118
119
|
}),
|
|
@@ -121,7 +122,7 @@ var f = n(function({ children: n, title: f = "수업 가능 일정", action: p,
|
|
|
121
122
|
tag: "h3",
|
|
122
123
|
variant: "h4B",
|
|
123
124
|
textAlign: "center",
|
|
124
|
-
children:
|
|
125
|
+
children: y.fallback.title || "쉬는 중일 때는 수업 요청이 오지 않아요!"
|
|
125
126
|
}),
|
|
126
127
|
/* @__PURE__ */ l(s, {
|
|
127
128
|
id: "available-schedule-section-status-desc",
|
|
@@ -130,7 +131,7 @@ var f = n(function({ children: n, title: f = "수업 가능 일정", action: p,
|
|
|
130
131
|
color: "grey.70",
|
|
131
132
|
textAlign: "center",
|
|
132
133
|
inlineCSS: { whiteSpace: "pre-line" },
|
|
133
|
-
children:
|
|
134
|
+
children: y.fallback.description || "이미 매칭된 수업은 그대로 유지되니\n변경이 필요한 경우 부모님과 소통해 주세요."
|
|
134
135
|
})
|
|
135
136
|
]
|
|
136
137
|
}),
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
1
2
|
import { FlexboxProps } from 'node_modules/@dotss/ui/Flexbox/Flexbox';
|
|
2
3
|
export interface CareNoteSectionProps extends FlexboxProps {
|
|
3
4
|
totalCount: number;
|
|
5
|
+
description?: ReactNode;
|
|
4
6
|
onClickViewAll?: () => void;
|
|
5
7
|
}
|
|
6
8
|
declare const CareNoteSection: import('react').ForwardRefExoticComponent<Omit<CareNoteSectionProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
@@ -4,10 +4,10 @@ import { Button as r, Flexbox as i, Icon as a, Typography as o } from "@dotss/ui
|
|
|
4
4
|
import s from "@dotss/ui/core/useTheme";
|
|
5
5
|
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
6
6
|
//#region teacher/profile/components/CareNoteSection/CareNoteSection.tsx
|
|
7
|
-
var u = n(({ children: n, totalCount: u = 0,
|
|
8
|
-
let { palette: { background:
|
|
7
|
+
var u = n(({ children: n, totalCount: u = 0, description: d, onClickViewAll: f, ...p }, m) => {
|
|
8
|
+
let { palette: { background: h }, spacing: g } = s(), _ = t.count(n);
|
|
9
9
|
return /* @__PURE__ */ l(i, {
|
|
10
|
-
ref:
|
|
10
|
+
ref: m,
|
|
11
11
|
tag: "section",
|
|
12
12
|
pt: 10,
|
|
13
13
|
pb: 10,
|
|
@@ -16,56 +16,60 @@ var u = n(({ children: n, totalCount: u = 0, onClickViewAll: d, ...f }, p) => {
|
|
|
16
16
|
gap: 4,
|
|
17
17
|
flexDirection: "column",
|
|
18
18
|
"aria-labelledby": "care-note-section-title",
|
|
19
|
-
...
|
|
19
|
+
...p,
|
|
20
20
|
inlineCSS: {
|
|
21
21
|
width: "100%",
|
|
22
|
-
backgroundColor:
|
|
23
|
-
...
|
|
22
|
+
backgroundColor: h.primary,
|
|
23
|
+
...p?.inlineCSS
|
|
24
24
|
},
|
|
25
|
-
children: [
|
|
26
|
-
|
|
27
|
-
justifyContent: "space-between",
|
|
28
|
-
gap: 1,
|
|
29
|
-
children: [/* @__PURE__ */ c(i, {
|
|
25
|
+
children: [
|
|
26
|
+
/* @__PURE__ */ l(i, {
|
|
30
27
|
alignItems: "center",
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
children:
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
28
|
+
justifyContent: "space-between",
|
|
29
|
+
gap: 1,
|
|
30
|
+
children: [/* @__PURE__ */ c(i, {
|
|
31
|
+
alignItems: "center",
|
|
32
|
+
gap: 2,
|
|
33
|
+
children: /* @__PURE__ */ l(o, {
|
|
34
|
+
id: "care-note-section-title",
|
|
35
|
+
tag: "h2",
|
|
36
|
+
variant: "h2B",
|
|
37
|
+
children: ["선생님의 수업 노트", u > 0 && /* @__PURE__ */ l(o, {
|
|
38
|
+
tag: "span",
|
|
39
|
+
variant: "h4R",
|
|
40
|
+
color: "grey.70",
|
|
41
|
+
inlineCSS: {
|
|
42
|
+
marginLeft: g.content(2),
|
|
43
|
+
verticalAlign: 2
|
|
44
|
+
},
|
|
45
|
+
children: [
|
|
46
|
+
"(",
|
|
47
|
+
u.toLocaleString(),
|
|
48
|
+
"개)"
|
|
49
|
+
]
|
|
50
|
+
})]
|
|
51
|
+
})
|
|
52
|
+
}), typeof f == "function" && /* @__PURE__ */ c(r, {
|
|
53
|
+
variant: "text",
|
|
54
|
+
size: "small",
|
|
55
|
+
color: "secondary",
|
|
56
|
+
endAdornment: /* @__PURE__ */ c(a, { name: "ChevronRightLine" }),
|
|
57
|
+
onClick: f,
|
|
58
|
+
children: "전체보기"
|
|
59
|
+
})]
|
|
60
|
+
}),
|
|
61
|
+
d,
|
|
62
|
+
/* @__PURE__ */ c(e, {
|
|
63
|
+
rowCount: 1,
|
|
64
|
+
spacing: 3,
|
|
65
|
+
inlineCSS: {
|
|
66
|
+
width: `calc(100% + ${g.content(8)}px)`,
|
|
67
|
+
gridAutoColumns: _ > 1 ? `calc(100% - ${g.content(8)}px)` : "100%",
|
|
68
|
+
margin: `0 -${g.content(4)}px`
|
|
69
|
+
},
|
|
70
|
+
children: n
|
|
71
|
+
})
|
|
72
|
+
]
|
|
69
73
|
});
|
|
70
74
|
});
|
|
71
75
|
//#endregion
|
|
@@ -2,8 +2,9 @@ import { ReactNode } from 'react';
|
|
|
2
2
|
import { FlexboxProps } from 'node_modules/@dotss/ui/Flexbox/Flexbox';
|
|
3
3
|
export interface CareerSectionProps extends FlexboxProps {
|
|
4
4
|
action?: ReactNode;
|
|
5
|
+
description?: ReactNode;
|
|
5
6
|
showTooltip?: boolean;
|
|
6
7
|
enableToggle?: boolean;
|
|
7
8
|
}
|
|
8
|
-
declare function CareerSection({ children, action, showTooltip, enableToggle, ...props }: CareerSectionProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare function CareerSection({ children, action, description, showTooltip, enableToggle, ...props }: CareerSectionProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
9
10
|
export default CareerSection;
|
|
@@ -5,9 +5,9 @@ import l from "@dotss/ui/core/useTheme";
|
|
|
5
5
|
import u from "dayjs";
|
|
6
6
|
import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
7
7
|
//#region teacher/profile/components/CareerSection/CareerSection.tsx
|
|
8
|
-
function m({ children: m, action: h,
|
|
9
|
-
let { spacing:
|
|
10
|
-
(e.key === "Enter" || e.key === " ") &&
|
|
8
|
+
function m({ children: m, action: h, description: g, showTooltip: _ = !1, enableToggle: v = !1, ...y }) {
|
|
9
|
+
let { spacing: b } = l(), [x, S] = r(!1), [C, w] = r(!1), T = t.toArray(m).filter(n).filter((t) => t.type === e), E = T.length > 0, D = T.length > 3, O = T.map((e) => [e.props.startDate, e.props.endDate ?? u().format("YYYY-MM-DD")]).map(([e, t]) => [u(e), u(t)]).map(([e, t]) => t.diff(e, "month") < 1 ? 1 : t.diff(e, "month")), k = Math.floor(O.reduce((e, t) => e + t, 0) / 12), A = O.reduce((e, t) => e + t, 0) % 12, j = () => w((e) => !e), M = () => S((e) => !e), N = (e) => {
|
|
10
|
+
(e.key === "Enter" || e.key === " ") && M();
|
|
11
11
|
};
|
|
12
12
|
return /* @__PURE__ */ p(a, {
|
|
13
13
|
tag: "section",
|
|
@@ -15,10 +15,10 @@ function m({ children: m, action: h, showTooltip: g = !1, enableToggle: _ = !1,
|
|
|
15
15
|
alignItems: "flex-start",
|
|
16
16
|
"aria-labelledby": "career-title",
|
|
17
17
|
gap: 2,
|
|
18
|
-
...
|
|
18
|
+
...y,
|
|
19
19
|
inlineCSS: {
|
|
20
20
|
width: "100%",
|
|
21
|
-
...
|
|
21
|
+
...y?.inlineCSS
|
|
22
22
|
},
|
|
23
23
|
children: [
|
|
24
24
|
/* @__PURE__ */ p(a, {
|
|
@@ -37,9 +37,9 @@ function m({ children: m, action: h, showTooltip: g = !1, enableToggle: _ = !1,
|
|
|
37
37
|
variant: "h2B",
|
|
38
38
|
"aria-label": "선생님 경력 안내",
|
|
39
39
|
children: "경력"
|
|
40
|
-
}),
|
|
41
|
-
open:
|
|
42
|
-
onClose:
|
|
40
|
+
}), _ && /* @__PURE__ */ f(s, {
|
|
41
|
+
open: x,
|
|
42
|
+
onClose: M,
|
|
43
43
|
color: "secondary",
|
|
44
44
|
id: "career-section-tooltip",
|
|
45
45
|
bodyId: "career-section-tooltip-body",
|
|
@@ -50,7 +50,7 @@ function m({ children: m, action: h, showTooltip: g = !1, enableToggle: _ = !1,
|
|
|
50
50
|
noWrap: !0,
|
|
51
51
|
inlineCSS: {
|
|
52
52
|
display: "flex",
|
|
53
|
-
gap:
|
|
53
|
+
gap: b.content(1),
|
|
54
54
|
"& svg": {
|
|
55
55
|
width: "20px !important",
|
|
56
56
|
height: "20px !important",
|
|
@@ -75,35 +75,36 @@ function m({ children: m, action: h, showTooltip: g = !1, enableToggle: _ = !1,
|
|
|
75
75
|
name: "TooltipFill",
|
|
76
76
|
size: "small",
|
|
77
77
|
color: "grey.50",
|
|
78
|
-
onClick:
|
|
79
|
-
onKeyDown:
|
|
78
|
+
onClick: M,
|
|
79
|
+
onKeyDown: N,
|
|
80
80
|
"aria-label": "추가 정보 안내",
|
|
81
81
|
inlineCSS: { cursor: "pointer" }
|
|
82
82
|
})
|
|
83
83
|
})]
|
|
84
|
-
}), (
|
|
84
|
+
}), (k > 0 || A > 0) && /* @__PURE__ */ p(c, {
|
|
85
85
|
tag: "p",
|
|
86
86
|
variant: "h4R",
|
|
87
87
|
inlineCSS: { "& strong": { fontWeight: 700 } },
|
|
88
88
|
children: [
|
|
89
89
|
"총\xA0",
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
/* @__PURE__ */ f("strong", { children:
|
|
90
|
+
k > 0 && /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ f("strong", { children: k }), "년"] }),
|
|
91
|
+
A > 0 && /* @__PURE__ */ p(d, { children: [
|
|
92
|
+
k > 0 && /* @__PURE__ */ f(d, { children: "\xA0" }),
|
|
93
|
+
/* @__PURE__ */ f("strong", { children: A }),
|
|
94
94
|
"개월"
|
|
95
95
|
] })
|
|
96
96
|
]
|
|
97
97
|
})]
|
|
98
98
|
}),
|
|
99
|
-
|
|
99
|
+
g,
|
|
100
|
+
E && /* @__PURE__ */ f(a, {
|
|
100
101
|
id: "career-section-career-items",
|
|
101
102
|
tag: "ul",
|
|
102
103
|
flexDirection: "column",
|
|
103
104
|
inlineCSS: { width: "inherit" },
|
|
104
|
-
children:
|
|
105
|
+
children: T.slice(0, !v || C ? void 0 : 3)
|
|
105
106
|
}),
|
|
106
|
-
|
|
107
|
+
v && D && /* @__PURE__ */ f(a, {
|
|
107
108
|
alignItems: "center",
|
|
108
109
|
justifyContent: "center",
|
|
109
110
|
mt: 2,
|
|
@@ -112,14 +113,14 @@ function m({ children: m, action: h, showTooltip: g = !1, enableToggle: _ = !1,
|
|
|
112
113
|
fullWidth: !0,
|
|
113
114
|
variant: "text",
|
|
114
115
|
color: "secondary",
|
|
115
|
-
endAdornment: /* @__PURE__ */ f(o, { name:
|
|
116
|
-
onClick:
|
|
116
|
+
endAdornment: /* @__PURE__ */ f(o, { name: C ? "ChevronUpLine" : "ChevronDownLine" }),
|
|
117
|
+
onClick: j,
|
|
117
118
|
"aria-controls": "career-section-career-items",
|
|
118
|
-
"aria-expanded":
|
|
119
|
-
children:
|
|
119
|
+
"aria-expanded": C,
|
|
120
|
+
children: C ? "접기" : "더 보기"
|
|
120
121
|
})
|
|
121
122
|
}),
|
|
122
|
-
!
|
|
123
|
+
!v && h && /* @__PURE__ */ f(a, {
|
|
123
124
|
mt: 4,
|
|
124
125
|
flexGrow: 1,
|
|
125
126
|
alignItems: "center",
|
|
@@ -2,8 +2,9 @@ import { ReactNode } from 'react';
|
|
|
2
2
|
import { FlexboxProps } from 'node_modules/@dotss/ui/Flexbox/Flexbox';
|
|
3
3
|
export interface CertificateSectionProps extends FlexboxProps {
|
|
4
4
|
action?: ReactNode;
|
|
5
|
+
description?: ReactNode;
|
|
5
6
|
showTooltip?: boolean;
|
|
6
7
|
enableToggle?: boolean;
|
|
7
8
|
}
|
|
8
|
-
declare function CertificateList({ children, action, showTooltip, enableToggle, ...props }: CertificateSectionProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare function CertificateList({ children, action, description, showTooltip, enableToggle, ...props }: CertificateSectionProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
9
10
|
export default CertificateList;
|
|
@@ -4,20 +4,20 @@ import { Button as i, Flexbox as a, Icon as o, Tooltip as s, Typography as c } f
|
|
|
4
4
|
import l from "@dotss/ui/core/useTheme";
|
|
5
5
|
import { jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
6
6
|
//#region teacher/profile/components/CertificateSection/CertificateSection.tsx
|
|
7
|
-
function f({ children: f, action: p,
|
|
8
|
-
let { spacing:
|
|
9
|
-
(e.key === "Enter" || e.key === " ") &&
|
|
10
|
-
},
|
|
7
|
+
function f({ children: f, action: p, description: m, showTooltip: h = !1, enableToggle: g = !1, ..._ }) {
|
|
8
|
+
let { spacing: v } = l(), [y, b] = r(!1), [x, S] = r(!1), C = t.toArray(f).filter(n).filter((t) => t.type === e), w = C.length > 0, T = C.length > 3, E = () => b((e) => !e), D = (e) => {
|
|
9
|
+
(e.key === "Enter" || e.key === " ") && E();
|
|
10
|
+
}, O = () => S((e) => !e);
|
|
11
11
|
return /* @__PURE__ */ d(a, {
|
|
12
12
|
tag: "section",
|
|
13
13
|
flexDirection: "column",
|
|
14
14
|
alignItems: "flex-start",
|
|
15
15
|
"aria-labelledby": "certificate-section-title",
|
|
16
16
|
gap: 2,
|
|
17
|
-
...
|
|
17
|
+
..._,
|
|
18
18
|
inlineCSS: {
|
|
19
19
|
width: "100%",
|
|
20
|
-
...
|
|
20
|
+
..._?.inlineCSS
|
|
21
21
|
},
|
|
22
22
|
children: [
|
|
23
23
|
/* @__PURE__ */ d(a, {
|
|
@@ -30,9 +30,9 @@ function f({ children: f, action: p, showTooltip: m = !1, enableToggle: h = !1,
|
|
|
30
30
|
variant: "h2B",
|
|
31
31
|
"aria-label": "선생님 자격증 목록",
|
|
32
32
|
children: "자격증"
|
|
33
|
-
}),
|
|
34
|
-
open:
|
|
35
|
-
onClose:
|
|
33
|
+
}), h && /* @__PURE__ */ u(s, {
|
|
34
|
+
open: y,
|
|
35
|
+
onClose: E,
|
|
36
36
|
color: "secondary",
|
|
37
37
|
id: "certificate-section-tooltip",
|
|
38
38
|
bodyId: "certificate-section-tooltip-body",
|
|
@@ -43,7 +43,7 @@ function f({ children: f, action: p, showTooltip: m = !1, enableToggle: h = !1,
|
|
|
43
43
|
noWrap: !0,
|
|
44
44
|
inlineCSS: {
|
|
45
45
|
display: "flex",
|
|
46
|
-
gap:
|
|
46
|
+
gap: v.content(1),
|
|
47
47
|
"& svg": {
|
|
48
48
|
width: "20px !important",
|
|
49
49
|
height: "20px !important",
|
|
@@ -68,21 +68,22 @@ function f({ children: f, action: p, showTooltip: m = !1, enableToggle: h = !1,
|
|
|
68
68
|
name: "TooltipFill",
|
|
69
69
|
size: "small",
|
|
70
70
|
color: "grey.50",
|
|
71
|
-
onClick:
|
|
72
|
-
onKeyDown:
|
|
71
|
+
onClick: E,
|
|
72
|
+
onKeyDown: D,
|
|
73
73
|
"aria-label": "추가 정보 안내",
|
|
74
74
|
inlineCSS: { cursor: "pointer" }
|
|
75
75
|
})
|
|
76
76
|
})]
|
|
77
77
|
}),
|
|
78
|
-
|
|
78
|
+
m,
|
|
79
|
+
w && /* @__PURE__ */ u(a, {
|
|
79
80
|
id: "certificate-section-certificate-items",
|
|
80
81
|
tag: "ul",
|
|
81
82
|
flexDirection: "column",
|
|
82
83
|
inlineCSS: { width: "inherit" },
|
|
83
|
-
children:
|
|
84
|
+
children: C.slice(0, !g || x ? void 0 : 3)
|
|
84
85
|
}),
|
|
85
|
-
|
|
86
|
+
g && T && /* @__PURE__ */ u(a, {
|
|
86
87
|
alignItems: "center",
|
|
87
88
|
justifyContent: "center",
|
|
88
89
|
mt: 2,
|
|
@@ -91,14 +92,14 @@ function f({ children: f, action: p, showTooltip: m = !1, enableToggle: h = !1,
|
|
|
91
92
|
fullWidth: !0,
|
|
92
93
|
variant: "text",
|
|
93
94
|
color: "secondary",
|
|
94
|
-
endAdornment: /* @__PURE__ */ u(o, { name:
|
|
95
|
-
onClick:
|
|
95
|
+
endAdornment: /* @__PURE__ */ u(o, { name: x ? "ChevronUpLine" : "ChevronDownLine" }),
|
|
96
|
+
onClick: O,
|
|
96
97
|
"aria-controls": "certificate-section-certificate-items",
|
|
97
|
-
"aria-expanded":
|
|
98
|
-
children:
|
|
98
|
+
"aria-expanded": x,
|
|
99
|
+
children: x ? "접기" : "더 보기"
|
|
99
100
|
})
|
|
100
101
|
}),
|
|
101
|
-
!
|
|
102
|
+
!g && p && /* @__PURE__ */ u(a, {
|
|
102
103
|
mt: 4,
|
|
103
104
|
flexGrow: 1,
|
|
104
105
|
alignItems: "center",
|
|
@@ -2,8 +2,9 @@ import { ReactNode } from 'react';
|
|
|
2
2
|
import { FlexboxProps } from 'node_modules/@dotss/ui/Flexbox/Flexbox';
|
|
3
3
|
export interface EducationSectionProps extends FlexboxProps {
|
|
4
4
|
action?: ReactNode;
|
|
5
|
+
description?: ReactNode;
|
|
5
6
|
showTooltip?: boolean;
|
|
6
7
|
enableToggle?: boolean;
|
|
7
8
|
}
|
|
8
|
-
declare function EducationSection({ children, action, showTooltip, enableToggle, ...props }: EducationSectionProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare function EducationSection({ children, action, description, showTooltip, enableToggle, ...props }: EducationSectionProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
9
10
|
export default EducationSection;
|
|
@@ -4,20 +4,20 @@ import { Button as i, Flexbox as a, Icon as o, Tooltip as s, Typography as c } f
|
|
|
4
4
|
import l from "@dotss/ui/core/useTheme";
|
|
5
5
|
import { jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
6
6
|
//#region teacher/profile/components/EducationSection/EducationSection.tsx
|
|
7
|
-
function f({ children: f, action: p,
|
|
8
|
-
let { spacing:
|
|
9
|
-
(e.key === "Enter" || e.key === " ") &&
|
|
10
|
-
},
|
|
7
|
+
function f({ children: f, action: p, description: m, showTooltip: h = !1, enableToggle: g = !1, ..._ }) {
|
|
8
|
+
let { spacing: v } = l(), [y, b] = r(!1), [x, S] = r(!1), C = t.toArray(f).filter(n).filter((t) => t.type === e), w = C.length > 0, T = C.length > 3, E = () => b((e) => !e), D = (e) => {
|
|
9
|
+
(e.key === "Enter" || e.key === " ") && E();
|
|
10
|
+
}, O = () => S((e) => !e);
|
|
11
11
|
return /* @__PURE__ */ d(a, {
|
|
12
12
|
tag: "section",
|
|
13
13
|
flexDirection: "column",
|
|
14
14
|
alignItems: "flex-start",
|
|
15
15
|
"aria-labelledby": "education-section-title",
|
|
16
16
|
gap: 2,
|
|
17
|
-
...
|
|
17
|
+
..._,
|
|
18
18
|
inlineCSS: {
|
|
19
19
|
width: "100%",
|
|
20
|
-
...
|
|
20
|
+
..._?.inlineCSS
|
|
21
21
|
},
|
|
22
22
|
children: [
|
|
23
23
|
/* @__PURE__ */ d(a, {
|
|
@@ -30,9 +30,9 @@ function f({ children: f, action: p, showTooltip: m = !1, enableToggle: h = !1,
|
|
|
30
30
|
variant: "h2B",
|
|
31
31
|
"aria-label": "선생님 학력 목록",
|
|
32
32
|
children: "학력"
|
|
33
|
-
}),
|
|
34
|
-
open:
|
|
35
|
-
onClose:
|
|
33
|
+
}), h && /* @__PURE__ */ u(s, {
|
|
34
|
+
open: y,
|
|
35
|
+
onClose: E,
|
|
36
36
|
color: "secondary",
|
|
37
37
|
id: "education-section-tooltip",
|
|
38
38
|
bodyId: "education-section-tooltip-body",
|
|
@@ -43,7 +43,7 @@ function f({ children: f, action: p, showTooltip: m = !1, enableToggle: h = !1,
|
|
|
43
43
|
noWrap: !0,
|
|
44
44
|
inlineCSS: {
|
|
45
45
|
display: "flex",
|
|
46
|
-
gap:
|
|
46
|
+
gap: v.content(1),
|
|
47
47
|
"& svg": {
|
|
48
48
|
width: "20px !important",
|
|
49
49
|
height: "20px !important",
|
|
@@ -68,21 +68,22 @@ function f({ children: f, action: p, showTooltip: m = !1, enableToggle: h = !1,
|
|
|
68
68
|
name: "TooltipFill",
|
|
69
69
|
size: "small",
|
|
70
70
|
color: "grey.50",
|
|
71
|
-
onClick:
|
|
72
|
-
onKeyDown:
|
|
71
|
+
onClick: E,
|
|
72
|
+
onKeyDown: D,
|
|
73
73
|
"aria-label": "추가 정보 안내",
|
|
74
74
|
inlineCSS: { cursor: "pointer" }
|
|
75
75
|
})
|
|
76
76
|
})]
|
|
77
77
|
}),
|
|
78
|
-
|
|
78
|
+
m,
|
|
79
|
+
w && /* @__PURE__ */ u(a, {
|
|
79
80
|
id: "education-section-education-items",
|
|
80
81
|
tag: "ul",
|
|
81
82
|
flexDirection: "column",
|
|
82
83
|
inlineCSS: { width: "inherit" },
|
|
83
|
-
children:
|
|
84
|
+
children: C.slice(0, !g || x ? void 0 : 3)
|
|
84
85
|
}),
|
|
85
|
-
|
|
86
|
+
g && T && /* @__PURE__ */ u(a, {
|
|
86
87
|
alignItems: "center",
|
|
87
88
|
justifyContent: "center",
|
|
88
89
|
mt: 2,
|
|
@@ -91,14 +92,14 @@ function f({ children: f, action: p, showTooltip: m = !1, enableToggle: h = !1,
|
|
|
91
92
|
fullWidth: !0,
|
|
92
93
|
variant: "text",
|
|
93
94
|
color: "secondary",
|
|
94
|
-
endAdornment: /* @__PURE__ */ u(o, { name:
|
|
95
|
-
onClick:
|
|
95
|
+
endAdornment: /* @__PURE__ */ u(o, { name: x ? "ChevronUpLine" : "ChevronDownLine" }),
|
|
96
|
+
onClick: O,
|
|
96
97
|
"aria-controls": "education-section-education-items",
|
|
97
|
-
"aria-expanded":
|
|
98
|
-
children:
|
|
98
|
+
"aria-expanded": x,
|
|
99
|
+
children: x ? "접기" : "더 보기"
|
|
99
100
|
})
|
|
100
101
|
}),
|
|
101
|
-
!
|
|
102
|
+
!g && p && /* @__PURE__ */ u(a, {
|
|
102
103
|
mt: 4,
|
|
103
104
|
flexGrow: 1,
|
|
104
105
|
alignItems: "center",
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
1
2
|
import { FlexboxProps } from 'node_modules/@dotss/ui/Flexbox/Flexbox';
|
|
2
3
|
export interface ParentReviewSectionProps extends FlexboxProps {
|
|
3
4
|
totalCount: number;
|
|
5
|
+
description?: ReactNode;
|
|
4
6
|
onClickViewAll?: () => void;
|
|
5
7
|
}
|
|
6
8
|
declare const ParentReviewSection: import('react').ForwardRefExoticComponent<Omit<ParentReviewSectionProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
@@ -3,18 +3,18 @@ import { Button as t, Flexbox as n, Icon as r, Typography as i } from "@dotss/ui
|
|
|
3
3
|
import a from "@dotss/ui/core/useTheme";
|
|
4
4
|
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
5
5
|
//#region teacher/profile/components/ParentReviewSection/ParentReviewSection.tsx
|
|
6
|
-
var c = e(({ children: e, totalCount: c,
|
|
7
|
-
let { palette: { grey:
|
|
6
|
+
var c = e(({ children: e, totalCount: c, description: l, onClickViewAll: u, ...d }, f) => {
|
|
7
|
+
let { palette: { grey: p }, spacing: m } = a();
|
|
8
8
|
return /* @__PURE__ */ s(n, {
|
|
9
|
-
ref:
|
|
9
|
+
ref: f,
|
|
10
10
|
tag: "section",
|
|
11
11
|
gap: 4,
|
|
12
12
|
flexDirection: "column",
|
|
13
13
|
"aria-labelledby": "parent-review-section-title",
|
|
14
|
-
...
|
|
14
|
+
...d,
|
|
15
15
|
inlineCSS: {
|
|
16
16
|
width: "100%",
|
|
17
|
-
...
|
|
17
|
+
...d?.inlineCSS
|
|
18
18
|
},
|
|
19
19
|
children: [
|
|
20
20
|
/* @__PURE__ */ s(n, {
|
|
@@ -33,7 +33,7 @@ var c = e(({ children: e, totalCount: c, onClickViewAll: l, ...u }, d) => {
|
|
|
33
33
|
variant: "h4R",
|
|
34
34
|
color: "grey.70",
|
|
35
35
|
inlineCSS: {
|
|
36
|
-
marginLeft:
|
|
36
|
+
marginLeft: m.content(2),
|
|
37
37
|
verticalAlign: 2
|
|
38
38
|
},
|
|
39
39
|
children: [
|
|
@@ -43,22 +43,23 @@ var c = e(({ children: e, totalCount: c, onClickViewAll: l, ...u }, d) => {
|
|
|
43
43
|
]
|
|
44
44
|
})]
|
|
45
45
|
})
|
|
46
|
-
}), typeof
|
|
46
|
+
}), typeof u == "function" && /* @__PURE__ */ o(t, {
|
|
47
47
|
variant: "text",
|
|
48
48
|
size: "small",
|
|
49
49
|
color: "secondary",
|
|
50
50
|
endAdornment: /* @__PURE__ */ o(r, { name: "ChevronRightLine" }),
|
|
51
|
-
onClick:
|
|
51
|
+
onClick: u,
|
|
52
52
|
children: "전체보기"
|
|
53
53
|
})]
|
|
54
54
|
}),
|
|
55
|
+
l,
|
|
55
56
|
c > 0 && /* @__PURE__ */ o(n, {
|
|
56
57
|
tag: "ul",
|
|
57
58
|
flexDirection: "column",
|
|
58
59
|
inlineCSS: { "& > li + li": {
|
|
59
|
-
borderTop: `1px solid ${
|
|
60
|
-
marginTop:
|
|
61
|
-
paddingTop:
|
|
60
|
+
borderTop: `1px solid ${p[10]}`,
|
|
61
|
+
marginTop: m.content(5),
|
|
62
|
+
paddingTop: m.content(5)
|
|
62
63
|
} },
|
|
63
64
|
children: e
|
|
64
65
|
}),
|
|
@@ -4,6 +4,7 @@ export interface PreferredActivityKeywordGroupProps extends FlexboxProps {
|
|
|
4
4
|
keywords: string[];
|
|
5
5
|
title?: string;
|
|
6
6
|
action?: ReactNode;
|
|
7
|
+
description?: ReactNode;
|
|
7
8
|
}
|
|
8
|
-
declare function PreferredActivityKeywordGroup({ keywords, title, action, ...props }: PreferredActivityKeywordGroupProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare function PreferredActivityKeywordGroup({ keywords, title, action, description, ...props }: PreferredActivityKeywordGroupProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
9
10
|
export default PreferredActivityKeywordGroup;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { Flexbox as e, Label as t, Typography as n } from "@dotss/ui";
|
|
2
2
|
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
3
3
|
//#region teacher/profile/components/PreferredActivityKeywordGroup/PreferredActivityKeywordGroup.tsx
|
|
4
|
-
function a({ keywords: a, title: o = "자신 있는 활동 키워드", action: s,
|
|
4
|
+
function a({ keywords: a, title: o = "자신 있는 활동 키워드", action: s, description: c, ...l }) {
|
|
5
5
|
return /* @__PURE__ */ i(e, {
|
|
6
6
|
tag: "section",
|
|
7
7
|
flexDirection: "column",
|
|
8
8
|
gap: 4,
|
|
9
9
|
"aria-labelledby": "preferred-activity-keyword-group-title",
|
|
10
|
-
...
|
|
10
|
+
...l,
|
|
11
11
|
inlineCSS: {
|
|
12
12
|
width: "100%",
|
|
13
|
-
...
|
|
13
|
+
...l?.inlineCSS
|
|
14
14
|
},
|
|
15
15
|
children: [
|
|
16
16
|
/* @__PURE__ */ r(n, {
|
|
@@ -19,6 +19,7 @@ function a({ keywords: a, title: o = "자신 있는 활동 키워드", action: s
|
|
|
19
19
|
variant: "h2B",
|
|
20
20
|
children: o
|
|
21
21
|
}),
|
|
22
|
+
c,
|
|
22
23
|
a.length > 0 && /* @__PURE__ */ r(e, {
|
|
23
24
|
tag: "ul",
|
|
24
25
|
flexWrap: "wrap",
|
|
@@ -3,6 +3,7 @@ import { FlexboxProps } from 'node_modules/@dotss/ui/Flexbox/Flexbox';
|
|
|
3
3
|
export interface PreferredAgeGroupProps extends FlexboxProps {
|
|
4
4
|
keywords: string[];
|
|
5
5
|
action?: ReactNode;
|
|
6
|
+
description?: ReactNode;
|
|
6
7
|
}
|
|
7
|
-
declare function PreferredAgeGroup({ keywords, action, ...props }: PreferredAgeGroupProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare function PreferredAgeGroup({ keywords, action, description, ...props }: PreferredAgeGroupProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
8
9
|
export default PreferredAgeGroup;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { Flexbox as e, Label as t, Typography as n } from "@dotss/ui";
|
|
2
2
|
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
3
3
|
//#region teacher/profile/components/PreferredAgeGroup/PreferredAgeGroup.tsx
|
|
4
|
-
function a({ keywords: a, action: o,
|
|
4
|
+
function a({ keywords: a, action: o, description: s, ...c }) {
|
|
5
5
|
return /* @__PURE__ */ i(e, {
|
|
6
6
|
tag: "section",
|
|
7
7
|
flexDirection: "column",
|
|
8
8
|
gap: 4,
|
|
9
9
|
"aria-labelledby": "preferred-age-group-title",
|
|
10
|
-
...
|
|
10
|
+
...c,
|
|
11
11
|
inlineCSS: {
|
|
12
12
|
width: "100%",
|
|
13
|
-
...
|
|
13
|
+
...c?.inlineCSS
|
|
14
14
|
},
|
|
15
15
|
children: [
|
|
16
16
|
/* @__PURE__ */ r(n, {
|
|
@@ -19,6 +19,7 @@ function a({ keywords: a, action: o, ...s }) {
|
|
|
19
19
|
variant: "h2B",
|
|
20
20
|
children: "자신 있는 아이 연령"
|
|
21
21
|
}),
|
|
22
|
+
s,
|
|
22
23
|
a.length > 0 && /* @__PURE__ */ r(e, {
|
|
23
24
|
tag: "ul",
|
|
24
25
|
flexWrap: "wrap",
|
package/package.json
CHANGED