@dotss/tictoccroc 0.0.0 → 0.0.2

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 (159) hide show
  1. package/dist/LessonNotesSection-a2QNdQtj.js +196 -0
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.mjs +109 -52
  4. package/dist/shared/components/Calendar/Calendar.d.ts +3 -2
  5. package/dist/shared/components/Calendar/Calendar.mjs +1 -1
  6. package/dist/shared/components/Carousel/Carousel.d.ts +1 -1
  7. package/dist/shared/components/Carousel/Carousel.mjs +13 -13
  8. package/dist/shared/components/Carousel/CarouselSlide/CarouselSlide.d.ts +1 -1
  9. package/dist/shared/components/Carousel/CarouselSlide/CarouselSlide.mjs +1 -1
  10. package/dist/shared/components/Image/Image.d.ts +1 -1
  11. package/dist/shared/components/Image/Image.mjs +94 -93
  12. package/dist/shared/components/ImageZoomDialog/ImageBlock/ImageBlock.mjs +12 -26
  13. package/dist/shared/components/ImageZoomDialog/ImageZoomDialog.mjs +77 -98
  14. package/dist/shared/components/ImageZoomDialog/ImageZoomDialogContent/ImageZoomDialogContent.mjs +4 -4
  15. package/dist/shared/components/ImageZoomDialog/ImageZoomDialogFooter/ImageZoomDialogFooter.mjs +4 -4
  16. package/dist/shared/components/ImageZoomDialog/ImageZoomDialogToolbar/ImageZoomDialogToolbar.mjs +1 -1
  17. package/dist/shared/components/LoadingAnnouncer/LoadingAnnouncer.d.ts +7 -0
  18. package/dist/shared/components/LoadingAnnouncer/LoadingAnnouncer.mjs +19 -0
  19. package/dist/shared/components/LoadingAnnouncer/index.d.ts +3 -0
  20. package/dist/shared/components/LoadingAnnouncer/index.mjs +4 -0
  21. package/dist/shared/components/Masonry/Masonry.d.ts +12 -0
  22. package/dist/shared/components/Masonry/Masonry.mjs +220 -0
  23. package/dist/shared/components/Masonry/Masonry.utils.d.ts +7 -0
  24. package/dist/shared/components/Masonry/Masonry.utils.mjs +76 -0
  25. package/dist/shared/components/Masonry/MasonryBlock/MasonryBlock.d.ts +11 -0
  26. package/dist/shared/components/Masonry/MasonryBlock/MasonryBlock.mjs +77 -0
  27. package/dist/shared/components/Masonry/MasonryBlock/index.d.ts +3 -0
  28. package/dist/shared/components/Masonry/MasonryBlock/index.mjs +4 -0
  29. package/dist/shared/components/Masonry/index.d.ts +4 -0
  30. package/dist/shared/components/Masonry/index.mjs +6 -0
  31. package/dist/shared/components/Roller/Roller.d.ts +1 -2
  32. package/dist/shared/components/Roller/Roller.mjs +7 -120
  33. package/dist/shared/components/Roller/RollerBlock/RollerBlock.d.ts +1 -1
  34. package/dist/shared/components/Roller/RollerBlock/RollerBlock.mjs +1 -1
  35. package/dist/shared/components/Roller/index.mjs +3 -3
  36. package/dist/shared/components/Scheduler/ScheduleBlock/ScheduleBlock.d.ts +2 -5
  37. package/dist/shared/components/Scheduler/ScheduleBlock/ScheduleBlock.mjs +1 -1
  38. package/dist/shared/components/Scheduler/ScheduleEvent/ScheduleEvent.d.ts +1 -1
  39. package/dist/shared/components/Scheduler/ScheduleEvent/ScheduleEvent.mjs +2 -2
  40. package/dist/shared/components/Scheduler/Scheduler.d.ts +4 -4
  41. package/dist/shared/components/Scheduler/Scheduler.mjs +167 -178
  42. package/dist/shared/components/Swiper/Swiper.d.ts +1 -1
  43. package/dist/shared/components/Swiper/Swiper.mjs +77 -97
  44. package/dist/shared/components/Swiper/SwiperBlock/SwiperBlock.d.ts +1 -1
  45. package/dist/shared/components/Swiper/SwiperBlock/SwiperBlock.mjs +1 -1
  46. package/dist/shared/components/TimePicker/TimePicker.d.ts +2 -2
  47. package/dist/shared/components/TimePicker/TimePicker.mjs +1 -1
  48. package/dist/shared/components/index.d.ts +14 -1
  49. package/dist/shared/components/index.mjs +40 -28
  50. package/dist/shared/utils/birthDateToAge/birthDateToAge.test.mjs +9 -10
  51. package/dist/shared/utils/getDateRange/getDateRange.d.ts +1 -1
  52. package/dist/shared/utils/getDateRange/getDateRange.test.mjs +27 -28
  53. package/dist/shared/utils/getImageUrl/getImageUrl.test.mjs +19 -20
  54. package/dist/shared/utils/getTimeRange/getTimeRange.test.mjs +22 -23
  55. package/dist/shared/utils/getVimeoId/getVimeoId.test.mjs +11 -12
  56. package/dist/shared/utils/index.d.ts +1 -0
  57. package/dist/shared/utils/index.mjs +6 -4
  58. package/dist/shared/utils/isAndroid/isAndroid.test.mjs +9 -10
  59. package/dist/shared/utils/isApp/isApp.test.mjs +14 -15
  60. package/dist/shared/utils/isDesktop/isDesktop.test.mjs +8 -9
  61. package/dist/shared/utils/isServer/isServer.test.mjs +10 -11
  62. package/dist/shared/utils/objectToQueryString/objectToQueryString.test.mjs +7 -7
  63. package/dist/shared/utils/parseQueryString/parseQueryString.test.mjs +10 -11
  64. package/dist/shared/utils/share/index.d.ts +2 -0
  65. package/dist/shared/utils/share/index.mjs +4 -0
  66. package/dist/shared/utils/share/share.d.ts +9 -0
  67. package/dist/shared/utils/share/share.mjs +15 -0
  68. package/dist/shared/utils/share/share.test.d.ts +1 -0
  69. package/dist/shared/utils/share/share.test.mjs +31 -0
  70. package/dist/teacher/profile/components/AbilityCollection/AbilityBadge/AbilityBadge.d.ts +15 -0
  71. package/dist/teacher/profile/components/AbilityCollection/AbilityBadge/AbilityBadge.mjs +441 -0
  72. package/dist/teacher/profile/components/AbilityCollection/AbilityBadge/index.d.ts +3 -0
  73. package/dist/teacher/profile/components/AbilityCollection/AbilityBadge/index.mjs +5 -0
  74. package/dist/teacher/profile/components/AbilityCollection/AbilityCollection.d.ts +6 -0
  75. package/dist/teacher/profile/components/AbilityCollection/AbilityCollection.mjs +111 -0
  76. package/dist/teacher/profile/components/AbilityCollection/AbilityCollection.utils.d.ts +6 -0
  77. package/dist/teacher/profile/components/AbilityCollection/AbilityCollection.utils.mjs +43 -0
  78. package/dist/teacher/profile/components/AbilityCollection/index.d.ts +5 -0
  79. package/dist/teacher/profile/components/AbilityCollection/index.mjs +8 -0
  80. package/dist/teacher/profile/components/ActivityGallery/ActivityGallery.d.ts +11 -0
  81. package/dist/teacher/profile/components/ActivityGallery/ActivityGallery.mjs +101 -0
  82. package/dist/teacher/profile/components/ActivityGallery/ActivityGalleryItem/ActivityGalleryItem.d.ts +8 -0
  83. package/dist/teacher/profile/components/ActivityGallery/ActivityGalleryItem/ActivityGalleryItem.mjs +124 -0
  84. package/dist/teacher/profile/components/ActivityGallery/ActivityGalleryItem/index.d.ts +3 -0
  85. package/dist/teacher/profile/components/ActivityGallery/ActivityGalleryItem/index.mjs +4 -0
  86. package/dist/teacher/profile/components/ActivityGallery/index.d.ts +4 -0
  87. package/dist/teacher/profile/components/ActivityGallery/index.mjs +6 -0
  88. package/dist/teacher/profile/components/AvailableScheduleSection/AvailableScheduleSection.d.ts +22 -0
  89. package/dist/teacher/profile/components/AvailableScheduleSection/AvailableScheduleSection.mjs +179 -0
  90. package/dist/teacher/profile/components/AvailableScheduleSection/index.d.ts +3 -0
  91. package/dist/teacher/profile/components/AvailableScheduleSection/index.mjs +4 -0
  92. package/dist/teacher/profile/components/CareerSection/CareerItem/CareerItem.d.ts +10 -0
  93. package/dist/teacher/profile/components/CareerSection/CareerItem/CareerItem.mjs +136 -0
  94. package/dist/teacher/profile/components/CareerSection/CareerItem/index.d.ts +3 -0
  95. package/dist/teacher/profile/components/CareerSection/CareerItem/index.mjs +4 -0
  96. package/dist/teacher/profile/components/CareerSection/CareerSection.d.ts +9 -0
  97. package/dist/teacher/profile/components/CareerSection/CareerSection.mjs +185 -0
  98. package/dist/teacher/profile/components/CareerSection/index.d.ts +4 -0
  99. package/dist/teacher/profile/components/CareerSection/index.mjs +6 -0
  100. package/dist/teacher/profile/components/CertificationSection/CertificationItem/CertificationItem.d.ts +8 -0
  101. package/dist/teacher/profile/components/CertificationSection/CertificationItem/CertificationItem.mjs +91 -0
  102. package/dist/teacher/profile/components/CertificationSection/CertificationItem/index.d.ts +3 -0
  103. package/dist/teacher/profile/components/CertificationSection/CertificationItem/index.mjs +4 -0
  104. package/dist/teacher/profile/components/CertificationSection/CertificationSection.d.ts +9 -0
  105. package/dist/teacher/profile/components/CertificationSection/CertificationSection.mjs +152 -0
  106. package/dist/teacher/profile/components/CertificationSection/index.d.ts +4 -0
  107. package/dist/teacher/profile/components/CertificationSection/index.mjs +6 -0
  108. package/dist/teacher/profile/components/EducationSection/EducationItem/EducationItem.d.ts +9 -0
  109. package/dist/teacher/profile/components/EducationSection/EducationItem/EducationItem.mjs +105 -0
  110. package/dist/teacher/profile/components/EducationSection/EducationItem/index.d.ts +3 -0
  111. package/dist/teacher/profile/components/EducationSection/EducationItem/index.mjs +4 -0
  112. package/dist/teacher/profile/components/EducationSection/EducationSection.d.ts +9 -0
  113. package/dist/teacher/profile/components/EducationSection/EducationSection.mjs +152 -0
  114. package/dist/teacher/profile/components/EducationSection/index.d.ts +4 -0
  115. package/dist/teacher/profile/components/EducationSection/index.mjs +6 -0
  116. package/dist/teacher/profile/components/LessonNotesSection/LessonNote/LessonNote.d.ts +9 -0
  117. package/dist/teacher/profile/components/LessonNotesSection/LessonNote/LessonNote.mjs +54 -0
  118. package/dist/teacher/profile/components/LessonNotesSection/LessonNote/index.d.ts +3 -0
  119. package/dist/teacher/profile/components/LessonNotesSection/LessonNote/index.mjs +4 -0
  120. package/dist/teacher/profile/components/LessonNotesSection/LessonNotesSection.d.ts +7 -0
  121. package/dist/teacher/profile/components/LessonNotesSection/LessonNotesSection.mjs +8 -0
  122. package/dist/teacher/profile/components/LessonNotesSection/LessonNotesSection.utils.d.ts +4 -0
  123. package/dist/teacher/profile/components/LessonNotesSection/LessonNotesSection.utils.mjs +13 -0
  124. package/dist/teacher/profile/components/LessonNotesSection/index.d.ts +4 -0
  125. package/dist/teacher/profile/components/LessonNotesSection/index.mjs +6 -0
  126. package/dist/teacher/profile/components/ParentReviewSection/ParentReviewCard/ParentReviewCard.d.ts +10 -0
  127. package/dist/teacher/profile/components/ParentReviewSection/ParentReviewCard/ParentReviewCard.mjs +103 -0
  128. package/dist/teacher/profile/components/ParentReviewSection/ParentReviewCard/index.d.ts +3 -0
  129. package/dist/teacher/profile/components/ParentReviewSection/ParentReviewCard/index.mjs +4 -0
  130. package/dist/teacher/profile/components/ParentReviewSection/ParentReviewSection.d.ts +7 -0
  131. package/dist/teacher/profile/components/ParentReviewSection/ParentReviewSection.mjs +79 -0
  132. package/dist/teacher/profile/components/ParentReviewSection/ParentReviewSection.utils.d.ts +4 -0
  133. package/dist/teacher/profile/components/ParentReviewSection/ParentReviewSection.utils.mjs +13 -0
  134. package/dist/teacher/profile/components/ParentReviewSection/index.d.ts +4 -0
  135. package/dist/teacher/profile/components/ParentReviewSection/index.mjs +6 -0
  136. package/dist/teacher/profile/components/PreferredActivityKeywordGroup/PreferredActivityKeywordGroup.d.ts +9 -0
  137. package/dist/teacher/profile/components/PreferredActivityKeywordGroup/PreferredActivityKeywordGroup.mjs +37 -0
  138. package/dist/teacher/profile/components/PreferredActivityKeywordGroup/index.d.ts +3 -0
  139. package/dist/teacher/profile/components/PreferredActivityKeywordGroup/index.mjs +4 -0
  140. package/dist/teacher/profile/components/PreferredAgeGroup/PreferredAgeGroup.d.ts +8 -0
  141. package/dist/teacher/profile/components/PreferredAgeGroup/PreferredAgeGroup.mjs +32 -0
  142. package/dist/teacher/profile/components/PreferredAgeGroup/PreferredAgeGroup.utils.d.ts +18 -0
  143. package/dist/teacher/profile/components/PreferredAgeGroup/PreferredAgeGroup.utils.mjs +14 -0
  144. package/dist/teacher/profile/components/PreferredAgeGroup/index.d.ts +4 -0
  145. package/dist/teacher/profile/components/PreferredAgeGroup/index.mjs +6 -0
  146. package/dist/teacher/profile/components/ProfileSummary/ProfileSummary.d.ts +25 -1
  147. package/dist/teacher/profile/components/ProfileSummary/ProfileSummary.mjs +413 -5
  148. package/dist/teacher/profile/components/ProfileSummary/index.d.ts +2 -1
  149. package/dist/teacher/profile/components/StatBadgeCollection/StatBadge/StatBadge.d.ts +7 -0
  150. package/dist/teacher/profile/components/StatBadgeCollection/StatBadge/StatBadge.mjs +105 -0
  151. package/dist/teacher/profile/components/StatBadgeCollection/StatBadge/index.d.ts +3 -0
  152. package/dist/teacher/profile/components/StatBadgeCollection/StatBadge/index.mjs +4 -0
  153. package/dist/teacher/profile/components/StatBadgeCollection/StatBadgeCollection.d.ts +6 -0
  154. package/dist/teacher/profile/components/StatBadgeCollection/StatBadgeCollection.mjs +28 -0
  155. package/dist/teacher/profile/components/StatBadgeCollection/index.d.ts +4 -0
  156. package/dist/teacher/profile/components/StatBadgeCollection/index.mjs +6 -0
  157. package/dist/teacher/profile/components/index.d.ts +24 -0
  158. package/dist/teacher/profile/components/index.mjs +46 -0
  159. package/package.json +2 -2
@@ -0,0 +1,185 @@
1
+ import { jsxs as i, jsx as t, Fragment as m } from "react/jsx-runtime";
2
+ import { useState as u, Children as b, isValidElement as O } from "react";
3
+ import { Flexbox as r, Typography as p, Tooltip as T, Icon as f, Button as Y } from "@dotss/ui";
4
+ import A from "@dotss/ui/core/useTheme";
5
+ import g from "dayjs";
6
+ import M from "./CareerItem/CareerItem.mjs";
7
+ function G({
8
+ children: y,
9
+ hideTooltip: w = !1,
10
+ action: S,
11
+ enableToggle: C = !1,
12
+ ...o
13
+ }) {
14
+ const { spacing: c } = A(), [I, v] = u(!1), [a, D] = u(!1), s = b.toArray(y).filter(O).filter((e) => e.type === M), j = s.length > 0, k = s.length > 3, x = s.map((e) => [e.props.startDate, e.props.endDate ?? g().format("YYYY-MM-DD")]).map(([e, n]) => [g(e), g(n)]).map(([e, n]) => n.diff(e, "month")), l = Math.floor(x.reduce((e, n) => e + n, 0) / 12), d = x.reduce((e, n) => e + n, 0) % 12, E = () => D((e) => !e), h = () => v((e) => !e), F = (e) => {
15
+ (e.key === "Enter" || e.key === " ") && h();
16
+ };
17
+ return /* @__PURE__ */ i(
18
+ r,
19
+ {
20
+ tag: "section",
21
+ flexDirection: "column",
22
+ alignItems: "flex-start",
23
+ "aria-labelledby": "career-title",
24
+ gap: 2,
25
+ ...o,
26
+ inlineCSS: {
27
+ width: "100%",
28
+ ...o == null ? void 0 : o.inlineCSS
29
+ },
30
+ children: [
31
+ /* @__PURE__ */ i(
32
+ r,
33
+ {
34
+ alignItems: "center",
35
+ justifyContent: "space-between",
36
+ gap: 2,
37
+ inlineCSS: { width: "inherit" },
38
+ children: [
39
+ /* @__PURE__ */ i(
40
+ r,
41
+ {
42
+ alignItems: "center",
43
+ justifyContent: "center",
44
+ gap: 1,
45
+ inlineCSS: { position: "relative" },
46
+ children: [
47
+ /* @__PURE__ */ t(
48
+ p,
49
+ {
50
+ id: "career-section-title",
51
+ tag: "h2",
52
+ variant: "h2B",
53
+ "aria-label": "선생님 경력 안내",
54
+ children: "경력"
55
+ }
56
+ ),
57
+ !w && /* @__PURE__ */ t(
58
+ T,
59
+ {
60
+ open: I,
61
+ onClose: h,
62
+ color: "secondary",
63
+ role: "tooltip",
64
+ "aria-labelledby": "career-section-tooltip",
65
+ "aria-describedby": "career-section-tooltip-desc",
66
+ body: /* @__PURE__ */ i(
67
+ p,
68
+ {
69
+ id: "career-section-tooltip-desc",
70
+ tag: "p",
71
+ variant: "b4R",
72
+ color: "grey.white",
73
+ noWrap: !0,
74
+ inlineCSS: {
75
+ display: "flex",
76
+ gap: c.content(1),
77
+ "& svg": {
78
+ width: "20px !important",
79
+ height: "20px !important",
80
+ flexShrink: 0
81
+ }
82
+ },
83
+ children: [
84
+ "째깍악어가 확인한 정보는",
85
+ /* @__PURE__ */ t(f, { name: "InfoFill", size: "small", color: "tictoccroc-teacher.brand.green" }),
86
+ "인증 마크가 붙어요!"
87
+ ]
88
+ }
89
+ ),
90
+ inlineCSS: {
91
+ "&:after": {
92
+ transform: `translateX(-${100 + c.content(1)}px)`
93
+ }
94
+ },
95
+ style: {
96
+ top: -8,
97
+ left: `calc(50% + 100px - ${c.content(0.5)}px)`
98
+ },
99
+ children: /* @__PURE__ */ t(
100
+ f,
101
+ {
102
+ id: "career-section-tooltip",
103
+ role: "button",
104
+ tabIndex: 0,
105
+ name: "TooltipFill",
106
+ size: "small",
107
+ color: "grey.50",
108
+ onClick: h,
109
+ onKeyDown: F,
110
+ "aria-label": "추가 정보 안내",
111
+ inlineCSS: {
112
+ cursor: "pointer"
113
+ }
114
+ }
115
+ )
116
+ }
117
+ )
118
+ ]
119
+ }
120
+ ),
121
+ (l > 0 || d > 0) && /* @__PURE__ */ i(p, { tag: "p", variant: "h4R", inlineCSS: { "& strong": { fontWeight: 700 } }, children: [
122
+ "총 ",
123
+ l > 0 && /* @__PURE__ */ i(m, { children: [
124
+ /* @__PURE__ */ t("strong", { children: l }),
125
+ "년"
126
+ ] }),
127
+ d > 0 && /* @__PURE__ */ i(m, { children: [
128
+ l > 0 && /* @__PURE__ */ t(m, { children: " " }),
129
+ /* @__PURE__ */ t("strong", { children: d }),
130
+ "개월"
131
+ ] })
132
+ ] })
133
+ ]
134
+ }
135
+ ),
136
+ j && /* @__PURE__ */ t(
137
+ r,
138
+ {
139
+ id: "career-section-career-items",
140
+ tag: "ul",
141
+ flexDirection: "column",
142
+ inlineCSS: { width: "inherit" },
143
+ children: b.toArray(y).slice(0, a ? void 0 : 3)
144
+ }
145
+ ),
146
+ C && k && /* @__PURE__ */ t(
147
+ r,
148
+ {
149
+ alignItems: "center",
150
+ justifyContent: "center",
151
+ mt: 2,
152
+ inlineCSS: { width: "inherit" },
153
+ children: /* @__PURE__ */ t(
154
+ Y,
155
+ {
156
+ fullWidth: !0,
157
+ variant: "text",
158
+ color: "secondary",
159
+ endAdornment: /* @__PURE__ */ t(f, { name: a ? "ChevronUpLine" : "ChevronDownLine" }),
160
+ onClick: E,
161
+ "aria-controls": "career-section-career-items",
162
+ "aria-expanded": a,
163
+ children: a ? "접기" : "더 보기"
164
+ }
165
+ )
166
+ }
167
+ ),
168
+ !C && S && /* @__PURE__ */ t(
169
+ r,
170
+ {
171
+ mt: 4,
172
+ flexGrow: 1,
173
+ alignItems: "center",
174
+ justifyContent: "center",
175
+ inlineCSS: { width: "inherit" },
176
+ children: S
177
+ }
178
+ )
179
+ ]
180
+ }
181
+ );
182
+ }
183
+ export {
184
+ G as default
185
+ };
@@ -0,0 +1,4 @@
1
+ import { default as CareerSection, CareerSectionProps } from './CareerSection';
2
+ export type { CareerSectionProps };
3
+ export { default as CareerItem, type CareerItemProps } from './CareerItem';
4
+ export default CareerSection;
@@ -0,0 +1,6 @@
1
+ import r from "./CareerSection.mjs";
2
+ import { default as o } from "./CareerItem/CareerItem.mjs";
3
+ export {
4
+ o as CareerItem,
5
+ r as default
6
+ };
@@ -0,0 +1,8 @@
1
+ import { FlexboxProps } from 'node_modules/@dotss/ui/Flexbox/Flexbox';
2
+ export interface CertificationItemProps extends FlexboxProps {
3
+ name: string;
4
+ acquisitionDate: string;
5
+ status: 'VERIFIED' | 'PENDING' | 'REJECTED' | 'DELETED';
6
+ }
7
+ declare function CertificationItem({ name, acquisitionDate, status, ...props }: CertificationItemProps): import("@emotion/react/jsx-runtime").JSX.Element;
8
+ export default CertificationItem;
@@ -0,0 +1,91 @@
1
+ import { jsx as n, jsxs as l } from "react/jsx-runtime";
2
+ import { useId as u } from "react";
3
+ import { Flexbox as a, Typography as g, Icon as c } from "@dotss/ui";
4
+ import y from "/Users/x/WebstormProjects/dotss/node_modules/.pnpm/@dotss+ui@0.0.10_@emotion+react@11.14.0_@types+react@19.1.6_react@18.3.1__@emotion+styl_fdc48194e396bad48e1a88da53a8b49d/node_modules/@dotss/ui/core/useTheme.es.js";
5
+ import { useCheckHoverPossible as C } from "@dotss/ui/hooks";
6
+ function E({ name: b, acquisitionDate: h, status: o, ...e }) {
7
+ const t = u(), { isHoverPossible: s } = C(), {
8
+ palette: { grey: m },
9
+ spacing: d
10
+ } = y(), r = typeof e.onClick == "function";
11
+ return /* @__PURE__ */ n("li", { children: /* @__PURE__ */ l(
12
+ a,
13
+ {
14
+ role: "button",
15
+ tabIndex: r ? 0 : -1,
16
+ alignItems: "center",
17
+ gap: 1,
18
+ pt: 2,
19
+ pb: 2,
20
+ pl: 4,
21
+ pr: 4,
22
+ ml: -4,
23
+ mr: -4,
24
+ onKeyDown: (i) => {
25
+ var f;
26
+ (i.key === "Enter" || i.key === " ") && (i.preventDefault(), i.currentTarget.click()), (f = e.onKeyDown) == null || f.call(e, i);
27
+ },
28
+ "aria-labelledby": `certification-item-name-${t}`,
29
+ "aria-describedby": `certification-item-desc-${t}`,
30
+ ...e,
31
+ inlineCSS: {
32
+ cursor: r ? "pointer" : "default",
33
+ ...r && {
34
+ "&:active": {
35
+ backgroundColor: m[10]
36
+ }
37
+ },
38
+ ...r && s ? {
39
+ "&:hover": {
40
+ backgroundColor: m[10]
41
+ }
42
+ } : {},
43
+ ...e == null ? void 0 : e.inlineCSS
44
+ },
45
+ children: [
46
+ /* @__PURE__ */ l(a, { flexDirection: "column", gap: 1, flexGrow: 1, children: [
47
+ /* @__PURE__ */ n(a, { alignItems: "center", gap: 1, children: /* @__PURE__ */ l(g, { id: `certification-item-name-${t}`, tag: "p", variant: "b2M", children: [
48
+ b,
49
+ o === "VERIFIED" && // TODO 아이콘 교체 필요
50
+ /* @__PURE__ */ n(
51
+ c,
52
+ {
53
+ name: "InfoFill",
54
+ size: "small",
55
+ color: "tictoccroc-teacher.brand.green",
56
+ "aria-label": "인증된 자격증 마크",
57
+ inlineCSS: {
58
+ minWidth: 20,
59
+ verticalAlign: "-5px",
60
+ marginLeft: d.content(1)
61
+ }
62
+ }
63
+ ),
64
+ o === "REJECTED" && /* @__PURE__ */ n(
65
+ c,
66
+ {
67
+ name: "AlertFill",
68
+ size: "small",
69
+ color: "etc.red",
70
+ "aria-label": "인증되지 않은 자격증 마크",
71
+ inlineCSS: {
72
+ minWidth: 20,
73
+ verticalAlign: "-5px",
74
+ marginLeft: d.content(1)
75
+ }
76
+ }
77
+ )
78
+ ] }) }),
79
+ /* @__PURE__ */ l(g, { id: `certification-item-desc-${t}`, tag: "p", variant: "b5R", color: "grey.50", children: [
80
+ h,
81
+ " 취득"
82
+ ] })
83
+ ] }),
84
+ /* @__PURE__ */ n(c, { name: "ChevronRightLine", size: "xSmall", color: "grey.50" })
85
+ ]
86
+ }
87
+ ) });
88
+ }
89
+ export {
90
+ E as default
91
+ };
@@ -0,0 +1,3 @@
1
+ import { default as CertificationItem, CertificationItemProps } from './CertificationItem';
2
+ export type { CertificationItemProps };
3
+ export default CertificationItem;
@@ -0,0 +1,4 @@
1
+ import e from "./CertificationItem.mjs";
2
+ export {
3
+ e as default
4
+ };
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ import { FlexboxProps } from 'node_modules/@dotss/ui/Flexbox/Flexbox';
3
+ export interface CertificationSectionProps extends FlexboxProps {
4
+ hideTooltip?: boolean;
5
+ action?: ReactNode;
6
+ enableToggle?: boolean;
7
+ }
8
+ declare function CertificationList({ children, hideTooltip, action, enableToggle, ...props }: CertificationSectionProps): import("@emotion/react/jsx-runtime").JSX.Element;
9
+ export default CertificationList;
@@ -0,0 +1,152 @@
1
+ import { jsxs as c, jsx as t } from "react/jsx-runtime";
2
+ import { useState as m, Children as p, isValidElement as v } from "react";
3
+ import { Flexbox as i, Typography as y, Tooltip as j, Icon as a, Button as k } from "@dotss/ui";
4
+ import D from "@dotss/ui/core/useTheme";
5
+ import E from "./CertificationItem/CertificationItem.mjs";
6
+ function z({
7
+ children: s,
8
+ hideTooltip: g = !1,
9
+ action: d,
10
+ enableToggle: f = !1,
11
+ ...n
12
+ }) {
13
+ const { spacing: r } = D(), [x, C] = m(!1), [o, S] = m(!1), h = p.toArray(s).filter(v).filter((e) => e.type === E), u = h.length > 0, b = h.length > 3, l = () => C((e) => !e), I = (e) => {
14
+ (e.key === "Enter" || e.key === " ") && l();
15
+ }, w = () => S((e) => !e);
16
+ return /* @__PURE__ */ c(
17
+ i,
18
+ {
19
+ tag: "section",
20
+ flexDirection: "column",
21
+ alignItems: "flex-start",
22
+ "aria-labelledby": "certification-section-title",
23
+ gap: 2,
24
+ ...n,
25
+ inlineCSS: {
26
+ width: "100%",
27
+ ...n == null ? void 0 : n.inlineCSS
28
+ },
29
+ children: [
30
+ /* @__PURE__ */ c(i, { alignItems: "center", justifyContent: "center", gap: 1, children: [
31
+ /* @__PURE__ */ t(
32
+ y,
33
+ {
34
+ id: "certification-section-title",
35
+ tag: "h2",
36
+ variant: "h2B",
37
+ "aria-label": "선생님 자격증 목록",
38
+ children: "자격증"
39
+ }
40
+ ),
41
+ !g && /* @__PURE__ */ t(
42
+ j,
43
+ {
44
+ open: x,
45
+ onClose: l,
46
+ color: "secondary",
47
+ role: "tooltip",
48
+ "aria-labelledby": "certification-section-tooltip",
49
+ "aria-describedby": "certification-section-tooltip-desc",
50
+ body: /* @__PURE__ */ c(
51
+ y,
52
+ {
53
+ id: "certification-section-tooltip-desc",
54
+ tag: "p",
55
+ variant: "b4R",
56
+ color: "grey.white",
57
+ noWrap: !0,
58
+ inlineCSS: {
59
+ display: "flex",
60
+ gap: r.content(1),
61
+ "& svg": {
62
+ width: "20px !important",
63
+ height: "20px !important",
64
+ flexShrink: 0
65
+ }
66
+ },
67
+ children: [
68
+ "째깍악어가 확인한 정보는",
69
+ /* @__PURE__ */ t(a, { name: "InfoFill", size: "small", color: "tictoccroc-teacher.brand.green" }),
70
+ "인증 마크가 붙어요!"
71
+ ]
72
+ }
73
+ ),
74
+ inlineCSS: {
75
+ "&:after": {
76
+ transform: `translateX(-${82.5 + r.content(1)}px)`
77
+ }
78
+ },
79
+ style: {
80
+ top: -8,
81
+ left: `calc(50% + 82.5px - ${r.content(0.5)}px)`
82
+ },
83
+ children: /* @__PURE__ */ t(
84
+ a,
85
+ {
86
+ id: "certification-section-tooltip",
87
+ role: "button",
88
+ tabIndex: 0,
89
+ name: "TooltipFill",
90
+ size: "small",
91
+ color: "grey.50",
92
+ onClick: l,
93
+ onKeyDown: I,
94
+ "aria-label": "추가 정보 안내",
95
+ inlineCSS: {
96
+ cursor: "pointer"
97
+ }
98
+ }
99
+ )
100
+ }
101
+ )
102
+ ] }),
103
+ u && /* @__PURE__ */ t(
104
+ i,
105
+ {
106
+ id: "certification-section-certification-items",
107
+ tag: "ul",
108
+ flexDirection: "column",
109
+ inlineCSS: { width: "inherit" },
110
+ children: p.toArray(s).slice(0, o ? void 0 : 3)
111
+ }
112
+ ),
113
+ f && b && /* @__PURE__ */ t(
114
+ i,
115
+ {
116
+ alignItems: "center",
117
+ justifyContent: "center",
118
+ mt: 2,
119
+ inlineCSS: { width: "inherit" },
120
+ children: /* @__PURE__ */ t(
121
+ k,
122
+ {
123
+ fullWidth: !0,
124
+ variant: "text",
125
+ color: "secondary",
126
+ endAdornment: /* @__PURE__ */ t(a, { name: o ? "ChevronUpLine" : "ChevronDownLine" }),
127
+ onClick: w,
128
+ "aria-controls": "certification-section-certification-items",
129
+ "aria-expanded": o,
130
+ children: o ? "접기" : "더 보기"
131
+ }
132
+ )
133
+ }
134
+ ),
135
+ !f && d && /* @__PURE__ */ t(
136
+ i,
137
+ {
138
+ mt: 4,
139
+ flexGrow: 1,
140
+ alignItems: "center",
141
+ justifyContent: "center",
142
+ inlineCSS: { width: "inherit" },
143
+ children: d
144
+ }
145
+ )
146
+ ]
147
+ }
148
+ );
149
+ }
150
+ export {
151
+ z as default
152
+ };
@@ -0,0 +1,4 @@
1
+ import { default as CertificationSection, CertificationSectionProps } from './CertificationSection';
2
+ export type { CertificationSectionProps };
3
+ export { default as CertificationItem, type CertificationItemProps } from './CertificationItem';
4
+ export default CertificationSection;
@@ -0,0 +1,6 @@
1
+ import i from "./CertificationSection.mjs";
2
+ import { default as r } from "./CertificationItem/CertificationItem.mjs";
3
+ export {
4
+ r as CertificationItem,
5
+ i as default
6
+ };
@@ -0,0 +1,9 @@
1
+ import { FlexboxProps } from 'node_modules/@dotss/ui/Flexbox/Flexbox';
2
+ export interface EducationItemProps extends FlexboxProps {
3
+ name: string;
4
+ status: 'VERIFIED' | 'PENDING' | 'REJECTED' | 'DELETED';
5
+ academicStatus: 'STUDYING' | 'ONBREAK' | 'GRADUATED';
6
+ major: string;
7
+ }
8
+ declare function EducationItem({ name, status, major, academicStatus, ...props }: EducationItemProps): import("@emotion/react/jsx-runtime").JSX.Element;
9
+ export default EducationItem;
@@ -0,0 +1,105 @@
1
+ import { jsx as i, jsxs as t } from "react/jsx-runtime";
2
+ import { useId as y } from "react";
3
+ import { Flexbox as c, Typography as d, Icon as m } from "@dotss/ui";
4
+ import C from "/Users/x/WebstormProjects/dotss/node_modules/.pnpm/@dotss+ui@0.0.10_@emotion+react@11.14.0_@types+react@19.1.6_react@18.3.1__@emotion+styl_fdc48194e396bad48e1a88da53a8b49d/node_modules/@dotss/ui/core/useTheme.es.js";
5
+ import { useCheckHoverPossible as v } from "@dotss/ui/hooks";
6
+ function R({ name: f, status: g, major: u, academicStatus: o, ...e }) {
7
+ const l = y(), { isHoverPossible: s } = v(), {
8
+ palette: { grey: a },
9
+ spacing: b
10
+ } = C(), r = typeof e.onClick == "function";
11
+ return /* @__PURE__ */ i("li", { children: /* @__PURE__ */ t(
12
+ c,
13
+ {
14
+ role: "button",
15
+ tabIndex: r ? 0 : -1,
16
+ alignItems: "center",
17
+ gap: 4,
18
+ pt: 2,
19
+ pb: 2,
20
+ pl: 4,
21
+ pr: 4,
22
+ ml: -4,
23
+ mr: -4,
24
+ onKeyDown: (n) => {
25
+ var h;
26
+ (n.key === "Enter" || n.key === " ") && (n.preventDefault(), n.currentTarget.click()), (h = e.onKeyDown) == null || h.call(e, n);
27
+ },
28
+ "aria-labelledby": `education-item-title-${l}`,
29
+ "aria-describedby": `education-item-desc-${l}`,
30
+ ...e,
31
+ inlineCSS: {
32
+ cursor: r ? "pointer" : "default",
33
+ ...r && {
34
+ "&:active": {
35
+ backgroundColor: a[10]
36
+ }
37
+ },
38
+ ...r && s ? {
39
+ "&:hover": {
40
+ backgroundColor: a[10]
41
+ }
42
+ } : {},
43
+ ...e == null ? void 0 : e.inlineCSS
44
+ },
45
+ children: [
46
+ /* @__PURE__ */ t(c, { flexDirection: "column", gap: 1, flexGrow: 1, children: [
47
+ /* @__PURE__ */ t(d, { id: `education-item-title-${l}`, tag: "p", variant: "b2M", children: [
48
+ f,
49
+ g === "VERIFIED" && // TODO 아이콘 교체 필요
50
+ /* @__PURE__ */ i(
51
+ m,
52
+ {
53
+ name: "InfoFill",
54
+ size: "small",
55
+ color: "tictoccroc-teacher.brand.green",
56
+ "aria-label": "인증된 학력 마크",
57
+ inlineCSS: {
58
+ minWidth: 20,
59
+ verticalAlign: "-5px",
60
+ marginLeft: b.content(1)
61
+ }
62
+ }
63
+ ),
64
+ g === "REJECTED" && /* @__PURE__ */ i(
65
+ m,
66
+ {
67
+ name: "AlertFill",
68
+ size: "small",
69
+ color: "etc.red",
70
+ "aria-label": "인증되지 않은 학력 마크",
71
+ inlineCSS: {
72
+ minWidth: 20,
73
+ verticalAlign: "-5px",
74
+ marginLeft: b.content(1)
75
+ }
76
+ }
77
+ )
78
+ ] }),
79
+ /* @__PURE__ */ i(d, { id: `education-item-desc-${l}`, tag: "p", variant: "b5R", color: "grey.50", children: u })
80
+ ] }),
81
+ /* @__PURE__ */ t(c, { alignItems: "center", gap: 2, children: [
82
+ /* @__PURE__ */ t(
83
+ d,
84
+ {
85
+ tag: "p",
86
+ variant: "b4R",
87
+ color: "grey.70",
88
+ noWrap: !0,
89
+ inlineCSS: { "& strong": { color: a[100], fontWeight: 700 } },
90
+ children: [
91
+ o === "STUDYING" && "재학중",
92
+ o === "ONBREAK" && "휴학",
93
+ o === "GRADUATED" && "졸업"
94
+ ]
95
+ }
96
+ ),
97
+ /* @__PURE__ */ i(m, { name: "ChevronRightLine", size: "xSmall", color: "grey.50" })
98
+ ] })
99
+ ]
100
+ }
101
+ ) });
102
+ }
103
+ export {
104
+ R as default
105
+ };
@@ -0,0 +1,3 @@
1
+ import { default as EducationItem, EducationItemProps } from './EducationItem';
2
+ export type { EducationItemProps };
3
+ export default EducationItem;
@@ -0,0 +1,4 @@
1
+ import o from "./EducationItem.mjs";
2
+ export {
3
+ o as default
4
+ };
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ import { FlexboxProps } from 'node_modules/@dotss/ui/Flexbox/Flexbox';
3
+ export interface EducationSectionProps extends FlexboxProps {
4
+ hideTooltip?: boolean;
5
+ action?: ReactNode;
6
+ enableToggle?: boolean;
7
+ }
8
+ declare function EducationSection({ children, hideTooltip, action, enableToggle, ...props }: EducationSectionProps): import("@emotion/react/jsx-runtime").JSX.Element;
9
+ export default EducationSection;