@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,101 @@
1
+ import { jsxs as m, jsx as e } from "react/jsx-runtime";
2
+ import { Children as c, isValidElement as C, cloneElement as S } from "react";
3
+ import { Flexbox as r, Typography as I, Button as j, Icon as w } from "@dotss/ui";
4
+ import A from "../../../../shared/components/Masonry/Masonry.mjs";
5
+ import "../../../../shared/components/Masonry/MasonryBlock/MasonryBlock.mjs";
6
+ import B from "./ActivityGalleryItem/ActivityGalleryItem.mjs";
7
+ function F({
8
+ children: s,
9
+ onClickViewAll: a,
10
+ action: o,
11
+ hideHeader: n = !1,
12
+ masonryProps: {
13
+ columnCount: y = 2,
14
+ rowCount: f = 2,
15
+ spacing: h = 2,
16
+ edgeSpacing: g = 0,
17
+ direction: d = "horizontal",
18
+ defaultContainerWidth: p = 0,
19
+ defaultContainerHeight: u = 0,
20
+ ...v
21
+ } = {},
22
+ ...i
23
+ }) {
24
+ const l = c.toArray(s).filter(C).filter((t) => t.type === B), b = l.length > 0;
25
+ return /* @__PURE__ */ m(
26
+ r,
27
+ {
28
+ tag: "section",
29
+ flexDirection: "column",
30
+ "aria-labelledby": n ? void 0 : "activity-gallery-title",
31
+ "aria-label": n ? "선생님 활동 갤러리" : void 0,
32
+ gap: 4,
33
+ ...i,
34
+ inlineCSS: {
35
+ width: "100%",
36
+ ...i == null ? void 0 : i.inlineCSS
37
+ },
38
+ children: [
39
+ !n && /* @__PURE__ */ m(r, { alignItems: "center", justifyContent: "space-between", gap: 2, children: [
40
+ /* @__PURE__ */ e(
41
+ I,
42
+ {
43
+ id: "activity-gallery-title",
44
+ tag: "h2",
45
+ variant: "h2B",
46
+ "aria-label": "선생님 활동 갤러리",
47
+ children: "활동 갤러리"
48
+ }
49
+ ),
50
+ typeof a == "function" && /* @__PURE__ */ e(
51
+ j,
52
+ {
53
+ variant: "text",
54
+ size: "small",
55
+ color: "secondary",
56
+ endAdornment: /* @__PURE__ */ e(w, { name: "ChevronRightLine" }),
57
+ onClick: a,
58
+ children: "전체보기"
59
+ }
60
+ )
61
+ ] }),
62
+ b && /* @__PURE__ */ e(
63
+ A,
64
+ {
65
+ rowCount: f,
66
+ columnCount: y,
67
+ spacing: h,
68
+ edgeSpacing: g,
69
+ direction: d,
70
+ defaultContainerWidth: p,
71
+ defaultContainerHeight: u,
72
+ role: "group",
73
+ "aria-label": "콘텐츠 목록",
74
+ ...v,
75
+ children: c.map(
76
+ l,
77
+ (t, x) => S(t, {
78
+ "aria-label": `${t.props.showPlayButton ? "동영상" : "사진"} (${l.length}개 중 ${x + 1}번째)`,
79
+ ...t.props
80
+ })
81
+ )
82
+ }
83
+ ),
84
+ o && /* @__PURE__ */ e(
85
+ r,
86
+ {
87
+ mt: 2,
88
+ flexGrow: 1,
89
+ alignItems: "center",
90
+ justifyContent: "center",
91
+ inlineCSS: { width: "inherit" },
92
+ children: o
93
+ }
94
+ )
95
+ ]
96
+ }
97
+ );
98
+ }
99
+ export {
100
+ F as default
101
+ };
@@ -0,0 +1,8 @@
1
+ import { MasonryBlockProps } from '../../../../../shared/components/Masonry/MasonryBlock';
2
+ export interface ActivityGalleryItemProps extends MasonryBlockProps {
3
+ primary: boolean;
4
+ status: 'VERIFIED' | 'PENDING' | 'REJECTED' | 'DELETED';
5
+ showPlayButton?: boolean;
6
+ }
7
+ declare function ActivityGalleryItem({ children, primary, status, showPlayButton, ...props }: ActivityGalleryItemProps): import("@emotion/react/jsx-runtime").JSX.Element;
8
+ export default ActivityGalleryItem;
@@ -0,0 +1,124 @@
1
+ import { jsxs as r, jsx as e, Fragment as m } from "react/jsx-runtime";
2
+ import { useId as b } from "react";
3
+ import { Label as u, Flexbox as o, IconButton as p, Icon as S, Typography as f } from "@dotss/ui";
4
+ import g from "@dotss/ui/core/useTheme";
5
+ import h from "../../../../../shared/components/Masonry/MasonryBlock/MasonryBlock.mjs";
6
+ function z({
7
+ children: s,
8
+ primary: d = !1,
9
+ status: l,
10
+ showPlayButton: t = !1,
11
+ ...i
12
+ }) {
13
+ const n = b(), {
14
+ palette: { background: c, grey: a }
15
+ } = g();
16
+ return /* @__PURE__ */ r(
17
+ h,
18
+ {
19
+ role: "button",
20
+ "aria-describedby": `activity-gallery-item-status-desc-${n}`,
21
+ borderRadius: 12,
22
+ ...i,
23
+ inlineCSS: { position: "relative", ...i.inlineCSS },
24
+ children: [
25
+ s,
26
+ d && /* @__PURE__ */ e(
27
+ u,
28
+ {
29
+ size: "xSmall",
30
+ color: "orange",
31
+ "aria-label": t ? "대표 동영상" : "대표 사진",
32
+ inlineCSS: { position: "absolute", top: 8, left: 8 },
33
+ children: "대표"
34
+ }
35
+ ),
36
+ l !== "REJECTED" && t && /* @__PURE__ */ e(
37
+ o,
38
+ {
39
+ inlineCSS: {
40
+ position: "absolute",
41
+ top: "50%",
42
+ left: "50%",
43
+ transform: "translate(-50%, -50%)",
44
+ cursor: "pointer"
45
+ },
46
+ children: /* @__PURE__ */ e(
47
+ p,
48
+ {
49
+ tabIndex: i.tabIndex,
50
+ name: "ArrowRightFill",
51
+ color: "secondary",
52
+ size: "large",
53
+ "aria-label": "동영상 재생하기",
54
+ inlineCSS: {
55
+ backgroundColor: a[90],
56
+ "& svg": {
57
+ color: a.white
58
+ }
59
+ }
60
+ }
61
+ )
62
+ }
63
+ ),
64
+ l === "REJECTED" && /* @__PURE__ */ r(m, { children: [
65
+ /* @__PURE__ */ e(
66
+ o,
67
+ {
68
+ alignItems: "center",
69
+ justifyContent: "center",
70
+ inlineCSS: {
71
+ position: "absolute",
72
+ top: 0,
73
+ left: 0,
74
+ width: "100%",
75
+ height: "100%",
76
+ opacity: 0.8,
77
+ backgroundColor: c.primary,
78
+ zIndex: 1
79
+ }
80
+ }
81
+ ),
82
+ /* @__PURE__ */ e(
83
+ S,
84
+ {
85
+ name: "AlertFill",
86
+ size: "xSmall",
87
+ color: "etc.red",
88
+ inlineCSS: {
89
+ position: "absolute",
90
+ top: "50%",
91
+ left: "50%",
92
+ transform: "translate(-50%, -50%)",
93
+ zIndex: 1
94
+ }
95
+ }
96
+ ),
97
+ /* @__PURE__ */ r(f, { id: `activity-gallery-item-status-desc-${n}`, visuallyHidden: !0, children: [
98
+ t ? "동영상" : "사진",
99
+ "이 반려되었어요. 다시 등록해주세요."
100
+ ] })
101
+ ] }),
102
+ /* @__PURE__ */ e(
103
+ o,
104
+ {
105
+ "aria-hidden": !0,
106
+ inlineCSS: {
107
+ position: "absolute",
108
+ top: 0,
109
+ left: 0,
110
+ width: "100%",
111
+ height: "100%",
112
+ border: "1px solid rgba(0, 0, 0, 0.05)",
113
+ zIndex: 1,
114
+ borderRadius: i.borderRadius
115
+ }
116
+ }
117
+ )
118
+ ]
119
+ }
120
+ );
121
+ }
122
+ export {
123
+ z as default
124
+ };
@@ -0,0 +1,3 @@
1
+ import { default as ActivityGalleryItem, ActivityGalleryItemProps } from './ActivityGalleryItem';
2
+ export type { ActivityGalleryItemProps };
3
+ export default ActivityGalleryItem;
@@ -0,0 +1,4 @@
1
+ import e from "./ActivityGalleryItem.mjs";
2
+ export {
3
+ e as default
4
+ };
@@ -0,0 +1,4 @@
1
+ import { default as ActivityGallery, ActivityGalleryProps } from './ActivityGallery';
2
+ export type { ActivityGalleryProps };
3
+ export { default as ActivityGalleryItem, type ActivityGalleryItemProps } from './ActivityGalleryItem';
4
+ export default ActivityGallery;
@@ -0,0 +1,6 @@
1
+ import e from "./ActivityGallery.mjs";
2
+ import { default as l } from "./ActivityGalleryItem/ActivityGalleryItem.mjs";
3
+ export {
4
+ l as ActivityGalleryItem,
5
+ e as default
6
+ };
@@ -0,0 +1,22 @@
1
+ import { ChangeEventHandler, ReactNode } from 'react';
2
+ import { FlexboxProps } from 'node_modules/@dotss/ui/Flexbox/Flexbox';
3
+ import { SchedulerProps } from '../../../../shared/components/Scheduler';
4
+ export interface AvailableScheduleSectionProps extends FlexboxProps {
5
+ title?: string;
6
+ action?: ReactNode;
7
+ footer?: ReactNode;
8
+ schedulerProps?: SchedulerProps;
9
+ enableToggle?: boolean;
10
+ flat?: boolean;
11
+ teacherStatus: {
12
+ onChange?: ChangeEventHandler<HTMLInputElement>;
13
+ active?: boolean;
14
+ fallback: {
15
+ iconBasePath: string;
16
+ title?: string;
17
+ description?: string;
18
+ };
19
+ };
20
+ }
21
+ declare const AvailableScheduleSection: import('react').ForwardRefExoticComponent<Omit<AvailableScheduleSectionProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
22
+ export default AvailableScheduleSection;
@@ -0,0 +1,179 @@
1
+ import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
+ import { forwardRef as w, useState as S } from "react";
3
+ import { Flexbox as n, Typography as a, Button as k, Icon as I } from "@dotss/ui";
4
+ import R from "@dotss/ui/core/useTheme";
5
+ import D from "@dotss/ui/Switch";
6
+ import j from "../../../../shared/components/Image/Image.mjs";
7
+ import A from "../../../../shared/components/Scheduler/Scheduler.mjs";
8
+ import "dayjs";
9
+ import "../../../../shared/utils/getDateRange/getDateRange.mjs";
10
+ const U = w(
11
+ function({
12
+ children: b,
13
+ title: p = "수업 가능 일정",
14
+ action: c,
15
+ footer: r,
16
+ flat: s = !1,
17
+ schedulerProps: f,
18
+ enableToggle: h = !0,
19
+ teacherStatus: i,
20
+ ...o
21
+ }, u) {
22
+ const {
23
+ palette: { grey: g, background: v }
24
+ } = R(), [t, C] = S(!1), x = () => C((d) => !d), y = (d) => {
25
+ var m;
26
+ return (m = i.onChange) == null ? void 0 : m.call(i, d);
27
+ };
28
+ return /* @__PURE__ */ l(
29
+ n,
30
+ {
31
+ ref: u,
32
+ tag: "section",
33
+ flexDirection: "column",
34
+ gap: 4,
35
+ "aria-labelledby": "available-schedule-section-title",
36
+ "aria-describedby": r ? "available-schedule-section-footer" : void 0,
37
+ ...o,
38
+ inlineCSS: {
39
+ width: "100%",
40
+ ...o == null ? void 0 : o.inlineCSS
41
+ },
42
+ children: [
43
+ /* @__PURE__ */ e(a, { id: "available-schedule-section-title", tag: "h2", variant: "h2B", children: p }),
44
+ i.active && /* @__PURE__ */ l(n, { flexDirection: "column", gap: 2, children: [
45
+ /* @__PURE__ */ l(
46
+ n,
47
+ {
48
+ flexDirection: "column",
49
+ inlineCSS: {
50
+ ...s ? void 0 : {
51
+ border: `1px solid ${g[20]}`,
52
+ borderRadius: 12
53
+ },
54
+ maxHeight: t ? void 0 : h ? 384 : void 0,
55
+ overflow: "hidden"
56
+ },
57
+ children: [
58
+ !s && /* @__PURE__ */ e(n, { pt: 4 }),
59
+ /* @__PURE__ */ e(
60
+ A,
61
+ {
62
+ id: "available-schedule-section-scheduler",
63
+ "aria-labelledby": "available-schedule-section-title",
64
+ ...f,
65
+ children: b
66
+ }
67
+ ),
68
+ h && /* @__PURE__ */ e(
69
+ k,
70
+ {
71
+ variant: "text",
72
+ color: "secondary",
73
+ endAdornment: /* @__PURE__ */ e(I, { name: t ? "ChevronUpLine" : "ChevronDownLine" }),
74
+ onClick: x,
75
+ "aria-expanded": t,
76
+ "aria-controls": "available-schedule-section-scheduler",
77
+ inlineCSS: {
78
+ position: "sticky",
79
+ bottom: 0,
80
+ borderTopRightRadius: 0,
81
+ borderTopLeftRadius: 0,
82
+ backgroundColor: g.white,
83
+ zIndex: 1
84
+ },
85
+ children: t ? "접기" : "펼쳐보기"
86
+ }
87
+ )
88
+ ]
89
+ }
90
+ ),
91
+ r && /* @__PURE__ */ e(n, { id: "available-schedule-section-footer", tag: "footer", pl: 12, pr: 2, children: r })
92
+ ] }),
93
+ typeof i.onChange == "function" && /* @__PURE__ */ l(
94
+ n,
95
+ {
96
+ alignItems: "center",
97
+ justifyContent: "space-between",
98
+ gap: 2,
99
+ inlineCSS: {
100
+ width: "inherit"
101
+ },
102
+ children: [
103
+ /* @__PURE__ */ e(a, { tag: "label", variant: "h4M", htmlFor: "available-schedule-section-switch", children: "활동 여부" }),
104
+ /* @__PURE__ */ e(
105
+ D,
106
+ {
107
+ id: "available-schedule-section-switch",
108
+ selected: !!i.active,
109
+ onChange: y
110
+ }
111
+ )
112
+ ]
113
+ }
114
+ ),
115
+ typeof i.onChange == "function" && !i.active && /* @__PURE__ */ l(
116
+ n,
117
+ {
118
+ role: "status",
119
+ pt: 5,
120
+ pb: 5,
121
+ pl: 4,
122
+ pr: 4,
123
+ flexDirection: "column",
124
+ alignItems: "center",
125
+ justifyContent: "center",
126
+ gap: 2,
127
+ inlineCSS: {
128
+ borderRadius: 8,
129
+ backgroundColor: v.primary
130
+ },
131
+ children: [
132
+ /* @__PURE__ */ e(
133
+ j,
134
+ {
135
+ width: 48,
136
+ height: 48,
137
+ src: `${i.fallback.iconBasePath}/images/design-system/graphic/illustration3D/island.png`,
138
+ alt: "쉬는 중",
139
+ "aria-hidden": !0
140
+ }
141
+ ),
142
+ /* @__PURE__ */ e(a, { tag: "h3", variant: "h4B", textAlign: "center", children: i.fallback.title || "쉬는 중일 때는 수업 요청이 오지 않아요!" }),
143
+ /* @__PURE__ */ e(
144
+ a,
145
+ {
146
+ tag: "p",
147
+ variant: "b4R",
148
+ color: "grey.70",
149
+ textAlign: "center",
150
+ inlineCSS: {
151
+ whiteSpace: "pre-line"
152
+ },
153
+ children: i.fallback.description || `이미 매칭된 수업은 그대로 유지되니
154
+ 변경이 필요한 경우 부모님과 소통해 주세요.`
155
+ }
156
+ )
157
+ ]
158
+ }
159
+ ),
160
+ c && /* @__PURE__ */ e(
161
+ n,
162
+ {
163
+ mt: 2,
164
+ alignItems: "center",
165
+ justifyContent: "center",
166
+ inlineCSS: {
167
+ width: "inherit"
168
+ },
169
+ children: c
170
+ }
171
+ )
172
+ ]
173
+ }
174
+ );
175
+ }
176
+ );
177
+ export {
178
+ U as default
179
+ };
@@ -0,0 +1,3 @@
1
+ import { default as AvailableScheduleSection, AvailableScheduleSectionProps } from './AvailableScheduleSection';
2
+ export type { AvailableScheduleSectionProps };
3
+ export default AvailableScheduleSection;
@@ -0,0 +1,4 @@
1
+ import a from "./AvailableScheduleSection.mjs";
2
+ export {
3
+ a as default
4
+ };
@@ -0,0 +1,10 @@
1
+ import { FlexboxProps } from 'node_modules/@dotss/ui/Flexbox/Flexbox';
2
+ export interface CareerItemProps extends FlexboxProps {
3
+ title: string;
4
+ status: 'VERIFIED' | 'PENDING' | 'REJECTED' | 'DELETED';
5
+ startDate: string;
6
+ endDate: string | null;
7
+ primary: boolean;
8
+ }
9
+ declare function CareerItem({ title, status, startDate, endDate, primary, ...props }: CareerItemProps): import("@emotion/react/jsx-runtime").JSX.Element;
10
+ export default CareerItem;
@@ -0,0 +1,136 @@
1
+ import { jsx as i, jsxs as e, Fragment as d } from "react/jsx-runtime";
2
+ import { useId as D } from "react";
3
+ import { Flexbox as t, Label as j, Typography as g, Icon as h } from "@dotss/ui";
4
+ import p from "@dotss/ui/core/useTheme";
5
+ import { useCheckHoverPossible as E } from "@dotss/ui/hooks";
6
+ import s from "dayjs";
7
+ function A({
8
+ title: v,
9
+ status: f,
10
+ startDate: y,
11
+ endDate: o,
12
+ primary: x = !1,
13
+ ...n
14
+ }) {
15
+ const b = D(), { isHoverPossible: I } = E(), {
16
+ palette: { grey: a },
17
+ spacing: c
18
+ } = p(), l = typeof n.onClick == "function", k = s(y), u = (o ? s(o) : s()).diff(k, "month"), m = Math.floor(u / 12), C = u % 12;
19
+ return /* @__PURE__ */ i("li", { children: /* @__PURE__ */ e(
20
+ t,
21
+ {
22
+ role: "button",
23
+ tabIndex: l ? 0 : -1,
24
+ alignItems: "center",
25
+ gap: 4,
26
+ pt: 2,
27
+ pb: 2,
28
+ pl: 4,
29
+ pr: 4,
30
+ ml: -4,
31
+ mr: -4,
32
+ onKeyDown: (r) => {
33
+ var S;
34
+ (r.key === "Enter" || r.key === " ") && (r.preventDefault(), r.currentTarget.click()), (S = n.onKeyDown) == null || S.call(n, r);
35
+ },
36
+ "aria-labelledby": `career-item-title-${b}`,
37
+ ...n,
38
+ inlineCSS: {
39
+ cursor: l ? "pointer" : "default",
40
+ ...l && {
41
+ "&:active": {
42
+ backgroundColor: a[10]
43
+ }
44
+ },
45
+ ...l && I ? {
46
+ "&:hover": {
47
+ backgroundColor: a[10]
48
+ }
49
+ } : {},
50
+ ...n == null ? void 0 : n.inlineCSS
51
+ },
52
+ children: [
53
+ /* @__PURE__ */ e(t, { flexDirection: "column", gap: 1, flexGrow: 1, children: [
54
+ /* @__PURE__ */ e(t, { alignItems: "center", gap: 1, children: [
55
+ x && /* @__PURE__ */ i(
56
+ j,
57
+ {
58
+ variant: "outlined",
59
+ size: "small",
60
+ color: "orange",
61
+ inlineCSS: {
62
+ marginRight: c.content(1)
63
+ },
64
+ children: "대표"
65
+ }
66
+ ),
67
+ /* @__PURE__ */ e(g, { id: `career-item-title-${b}`, tag: "p", variant: "b2M", children: [
68
+ v,
69
+ f === "VERIFIED" && // TODO 아이콘 교체 필요
70
+ /* @__PURE__ */ i(
71
+ h,
72
+ {
73
+ name: "InfoFill",
74
+ size: "small",
75
+ color: "tictoccroc-teacher.brand.green",
76
+ "aria-label": "인증됨",
77
+ inlineCSS: {
78
+ minWidth: 20,
79
+ verticalAlign: "-5px",
80
+ marginLeft: c.content(1)
81
+ }
82
+ }
83
+ ),
84
+ f === "REJECTED" && /* @__PURE__ */ i(
85
+ h,
86
+ {
87
+ name: "AlertFill",
88
+ size: "small",
89
+ color: "etc.red",
90
+ "aria-label": "인증 안됨",
91
+ inlineCSS: {
92
+ minWidth: 20,
93
+ verticalAlign: "-5px",
94
+ marginLeft: c.content(1)
95
+ }
96
+ }
97
+ )
98
+ ] })
99
+ ] }),
100
+ /* @__PURE__ */ e(g, { tag: "p", variant: "b5R", color: "grey.50", children: [
101
+ y,
102
+ " ~ ",
103
+ o ?? "현재"
104
+ ] })
105
+ ] }),
106
+ /* @__PURE__ */ e(t, { alignItems: "center", gap: 2, children: [
107
+ /* @__PURE__ */ e(
108
+ g,
109
+ {
110
+ tag: "p",
111
+ variant: "h5R",
112
+ color: "grey.70",
113
+ noWrap: !0,
114
+ inlineCSS: { "& strong": { color: a[100], fontWeight: 700 } },
115
+ children: [
116
+ m > 0 && /* @__PURE__ */ e(d, { children: [
117
+ /* @__PURE__ */ i("strong", { children: m }),
118
+ "년"
119
+ ] }),
120
+ C > 0 && /* @__PURE__ */ e(d, { children: [
121
+ m > 0 && /* @__PURE__ */ i(d, { children: " " }),
122
+ /* @__PURE__ */ i("strong", { children: C }),
123
+ "개월"
124
+ ] })
125
+ ]
126
+ }
127
+ ),
128
+ /* @__PURE__ */ i(h, { name: "ChevronRightLine", size: "xSmall", color: "grey.50" })
129
+ ] })
130
+ ]
131
+ }
132
+ ) });
133
+ }
134
+ export {
135
+ A as default
136
+ };
@@ -0,0 +1,3 @@
1
+ import { default as CareerItem, CareerItemProps } from './CareerItem';
2
+ export type { CareerItemProps };
3
+ export default CareerItem;
@@ -0,0 +1,4 @@
1
+ import r from "./CareerItem.mjs";
2
+ export {
3
+ r 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 CareerSectionProps extends FlexboxProps {
4
+ hideTooltip?: boolean;
5
+ action?: ReactNode;
6
+ enableToggle?: boolean;
7
+ }
8
+ declare function CareerSection({ children, hideTooltip, action, enableToggle, ...props }: CareerSectionProps): import("@emotion/react/jsx-runtime").JSX.Element;
9
+ export default CareerSection;