@dotss/tictoccroc 0.0.24 → 0.0.26

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 (37) hide show
  1. package/dist/index.mjs +4 -4
  2. package/dist/shared/components/Carousel/Carousel.mjs +22 -22
  3. package/dist/shared/components/ChatKit/BotMessage/BotMessage.d.ts +1 -1
  4. package/dist/shared/components/ChatKit/Message/Message.d.ts +3 -1
  5. package/dist/shared/components/ChatKit/Message/Message.mjs +131 -113
  6. package/dist/shared/components/ChatKit/Message/Message.utils.d.ts +1 -0
  7. package/dist/shared/components/ChatKit/Message/Message.utils.mjs +6 -6
  8. package/dist/shared/components/ChatKit/SystemMessage/SystemMessage.d.ts +1 -1
  9. package/dist/shared/components/Masonry/MasonryBlock/MasonryBlock.mjs +39 -33
  10. package/dist/shared/components/Roller/Roller.mjs +1 -1
  11. package/dist/teacher/home/components/Carousel1Account/Carousel1Account.d.ts +1 -1
  12. package/dist/teacher/home/components/Carousel2Account/Carousel2Account.d.ts +1 -1
  13. package/dist/teacher/home/components/TextAccount/TextAccount.d.ts +1 -1
  14. package/dist/teacher/profile/components/ActivityGallery/ActivityGallery.mjs +16 -15
  15. package/dist/teacher/profile/components/CareNoteSection/CareNote/CareNote.d.ts +9 -0
  16. package/dist/teacher/profile/components/{ClassNotesSection/ClassNote/ClassNote.mjs → CareNoteSection/CareNote/CareNote.mjs} +11 -11
  17. package/dist/teacher/profile/components/CareNoteSection/CareNote/index.d.ts +3 -0
  18. package/dist/teacher/profile/components/CareNoteSection/CareNote/index.mjs +4 -0
  19. package/dist/teacher/profile/components/CareNoteSection/CareNoteSection.d.ts +7 -0
  20. package/dist/teacher/profile/components/{ClassNotesSection/ClassNotesSection.mjs → CareNoteSection/CareNoteSection.mjs} +17 -17
  21. package/dist/teacher/profile/components/CareNoteSection/index.d.ts +4 -0
  22. package/dist/teacher/profile/components/CareNoteSection/index.mjs +6 -0
  23. package/dist/teacher/profile/components/CareerSection/CareerItem/CareerItem.mjs +29 -29
  24. package/dist/teacher/profile/components/CareerSection/CareerSection.mjs +19 -22
  25. package/dist/teacher/profile/components/CertificateSection/CertificateSection.mjs +17 -20
  26. package/dist/teacher/profile/components/EducationSection/EducationSection.mjs +23 -26
  27. package/dist/teacher/profile/components/index.d.ts +2 -2
  28. package/dist/teacher/profile/components/index.mjs +8 -8
  29. package/package.json +1 -1
  30. package/dist/teacher/profile/components/ClassNotesSection/ClassNote/ClassNote.d.ts +0 -9
  31. package/dist/teacher/profile/components/ClassNotesSection/ClassNote/index.d.ts +0 -3
  32. package/dist/teacher/profile/components/ClassNotesSection/ClassNote/index.mjs +0 -4
  33. package/dist/teacher/profile/components/ClassNotesSection/ClassNotesSection.d.ts +0 -7
  34. package/dist/teacher/profile/components/ClassNotesSection/index.d.ts +0 -4
  35. package/dist/teacher/profile/components/ClassNotesSection/index.mjs +0 -6
  36. /package/dist/teacher/profile/components/{ClassNotesSection/ClassNotesSection.utils.d.ts → CareNoteSection/CareNoteSection.utils.d.ts} +0 -0
  37. /package/dist/teacher/profile/components/{ClassNotesSection/ClassNotesSection.utils.mjs → CareNoteSection/CareNoteSection.utils.mjs} +0 -0
package/dist/index.mjs CHANGED
@@ -66,8 +66,8 @@ import { default as Ia } from "./teacher/profile/components/AbilityCollection/Ab
66
66
  import { default as Da } from "./teacher/profile/components/AbilityCollection/AbilityBadge/AbilityBadge.mjs";
67
67
  import { getAbilityCollection as va } from "./teacher/profile/components/AbilityCollection/AbilityCollection.utils.mjs";
68
68
  import { default as Pa } from "./teacher/profile/components/AvailableScheduleSection/AvailableScheduleSection.mjs";
69
- import { default as wa } from "./teacher/profile/components/ClassNotesSection/ClassNotesSection.mjs";
70
- import { default as Ea } from "./teacher/profile/components/ClassNotesSection/ClassNote/ClassNote.mjs";
69
+ import { default as wa } from "./teacher/profile/components/CareNoteSection/CareNoteSection.mjs";
70
+ import { default as Ea } from "./teacher/profile/components/CareNoteSection/CareNote/CareNote.mjs";
71
71
  import { default as Ka } from "./teacher/profile/components/ParentReviewSection/ParentReviewSection.mjs";
72
72
  import { getChildLabel as Qa } from "./teacher/profile/components/ParentReviewSection/ParentReviewSection.utils.mjs";
73
73
  import { default as Va } from "./teacher/profile/components/ParentReviewSection/ParentReviewCard/ParentReviewCard.mjs";
@@ -89,6 +89,8 @@ export {
89
89
  ot as BannerAccountFallback,
90
90
  fe as BotMessage,
91
91
  N as Calendar,
92
+ Ea as CareNote,
93
+ wa as CareNoteSection,
92
94
  ia as CareerItem,
93
95
  pa as CareerSection,
94
96
  k as Carousel,
@@ -99,8 +101,6 @@ export {
99
101
  T as CarouselSlide,
100
102
  da as CertificateItem,
101
103
  sa as CertificateSection,
102
- Ea as ClassNote,
103
- wa as ClassNotesSection,
104
104
  ae as DirectTradeRiskInfoBottomSheet,
105
105
  Sa as EducationItem,
106
106
  na as EducationSection,
@@ -1,20 +1,20 @@
1
1
  import { jsxs as le, jsx as A } from "react/jsx-runtime";
2
- import { useState as I, useRef as p, Children as Q, isValidElement as ue, useCallback as fe, useEffect as T, cloneElement as de } from "react";
2
+ import { useState as I, useRef as p, Children as Z, isValidElement as ue, useCallback as fe, useEffect as T, cloneElement as de } from "react";
3
3
  import { Flexbox as P } from "@dotss/ui";
4
4
  import he from "@dotss/ui/core/useTheme";
5
5
  import me from "./CarouselSlide/CarouselSlide.mjs";
6
6
  const ge = 5;
7
7
  function ye({
8
- children: Z,
8
+ children: z,
9
9
  spacing: K = 2,
10
10
  edgeSpacing: O = 4,
11
11
  rowCount: a = 2,
12
12
  step: W = 1,
13
- renderPagination: z,
13
+ renderPagination: $,
14
14
  ...C
15
15
  }) {
16
- const { spacing: $ } = he(), [l, Y] = I(1), [w, ee] = I(1), [te, ne] = I(0), L = p(null), c = p(null), u = p(null), X = p(0), F = p(0), b = p(0), S = p(!1), D = p(!0), k = p(0), v = $.content(K), E = $.content(O), N = Q.toArray(Z).filter(ue).filter((e) => e.type === me), x = N.length, j = (e, t) => {
17
- X.current = e, F.current = t;
16
+ const { spacing: Y } = he(), [l, X] = I(1), [w, ee] = I(1), [te, ne] = I(0), L = p(null), c = p(null), u = p(null), F = p(0), N = p(0), b = p(0), S = p(!1), D = p(!0), k = p(0), v = Y.content(K), E = Y.content(O), j = Z.toArray(z).filter(ue).filter((e) => e.type === me), x = j.length, H = (e, t) => {
17
+ F.current = e, N.current = t;
18
18
  }, M = () => {
19
19
  var o;
20
20
  if (!c.current || !S.current) return;
@@ -26,30 +26,30 @@ function ye({
26
26
  (e, t = 0) => {
27
27
  var h, g, y;
28
28
  if (!c.current) return;
29
- Y(e);
29
+ X(e);
30
30
  const n = e === 1, f = e === w, s = (((h = L.current) == null ? void 0 : h.offsetWidth) || 0) - E, o = (((y = (g = u.current) == null ? void 0 : g.children[0]) == null ? void 0 : y.clientWidth) || 0) + v, i = (s - o * Math.floor(s / o) - v) / 2, d = o * (e - 1) - i;
31
31
  n ? c.current.style.transform = `translate3d(${t}px, 0, 0)` : f ? c.current.style.transform = `translate3d(${-(d - i) + t}px, 0, 0)` : c.current.style.transform = `translate3d(${-d + t}px, 0, 0)`;
32
32
  },
33
33
  [E, v, w]
34
- ), re = (e) => j(e.touches[0].clientX, e.touches[0].clientY), se = (e) => {
35
- S.current = !0, j(e.clientX, e.clientY);
34
+ ), re = (e) => H(e.touches[0].clientX, e.touches[0].clientY), se = (e) => {
35
+ S.current = !0, H(e.clientX, e.clientY);
36
36
  }, oe = (e) => {
37
37
  c.current && (c.current.style.transition = "transform 0.2s", c.current.style.cursor = "grab", R(e));
38
38
  }, ce = (e) => (t) => {
39
- var U, q, G, V, _, B;
39
+ var q, G, V, _, B, J;
40
40
  t.stopPropagation();
41
- const n = Array.from(((U = u.current) == null ? void 0 : U.children) || []).indexOf(t.currentTarget), f = (((q = L.current) == null ? void 0 : q.offsetWidth) || 0) - E * 2, s = (((V = (G = u.current) == null ? void 0 : G.children[0]) == null ? void 0 : V.clientWidth) || 0) + v, i = Math.floor(f / (s / W)) * a, d = (l - 1) * i, h = d + i - 1, g = ((_ = u.current) == null ? void 0 : _.children.length) || 0, y = n % a, H = Math.floor(n / a);
41
+ const n = Array.from(((q = u.current) == null ? void 0 : q.children) || []).indexOf(t.currentTarget), f = (((G = L.current) == null ? void 0 : G.offsetWidth) || 0) - E * 2, s = (((_ = (V = u.current) == null ? void 0 : V.children[0]) == null ? void 0 : _.clientWidth) || 0) + v, i = Math.floor(f / (s / W)) * a, d = (l - 1) * i, h = d + i - 1, g = ((B = u.current) == null ? void 0 : B.children.length) || 0, y = n % a, U = Math.floor(n / a);
42
42
  let m = n;
43
43
  switch (t.key) {
44
44
  case "ArrowRight": {
45
45
  t.preventDefault();
46
- const r = (H + 1) * a + y;
46
+ const r = (U + 1) * a + y;
47
47
  r < g && (m = r);
48
48
  break;
49
49
  }
50
50
  case "ArrowLeft": {
51
51
  t.preventDefault();
52
- const r = (H - 1) * a + y;
52
+ const r = (U - 1) * a + y;
53
53
  r >= 0 && (m = r);
54
54
  break;
55
55
  }
@@ -74,13 +74,13 @@ function ye({
74
74
  return;
75
75
  }
76
76
  if (m >= d && m <= h) {
77
- const r = (B = u.current) == null ? void 0 : B.children[m];
77
+ const r = (J = u.current) == null ? void 0 : J.children[m];
78
78
  r == null || r.focus();
79
79
  return;
80
80
  }
81
81
  m >= 0 && m < g && (k.current = requestAnimationFrame(() => {
82
- var J;
83
- const r = (J = u.current) == null ? void 0 : J.children[m];
82
+ var Q;
83
+ const r = (Q = u.current) == null ? void 0 : Q.children[m];
84
84
  r == null || r.focus();
85
85
  })), e == null || e(t);
86
86
  }, ie = (e) => {
@@ -98,16 +98,16 @@ function ye({
98
98
  const e = () => {
99
99
  var i, d, h;
100
100
  const t = (((i = L.current) == null ? void 0 : i.offsetWidth) || 0) - E * 2, n = (((h = (d = u.current) == null ? void 0 : d.children[0]) == null ? void 0 : h.clientWidth) || 0) + v, f = Math.floor(t / (n / W)), s = Math.ceil(x / (a || 1)), o = Math.max(s - (f - 1), 1);
101
- Y((g) => g > o ? o : g), ee(o);
101
+ X((g) => g > o ? o : g), ee(o);
102
102
  };
103
103
  return e(), window.addEventListener("resize", e), () => {
104
104
  window.removeEventListener("resize", e);
105
105
  };
106
- }, [E, v, x, W, a]), T(() => {
106
+ }, [E, v, x, W, a, z]), T(() => {
107
107
  const e = c.current, t = (s, o, i) => {
108
108
  if (!e || w <= 1) return;
109
- e.style.transition = "none", e.style.cursor = "grabbing", b.current = s - X.current;
110
- const d = o - F.current, h = 5;
109
+ e.style.transition = "none", e.style.cursor = "grabbing", b.current = s - F.current;
110
+ const d = o - N.current, h = 5;
111
111
  S.current = S.current || Math.abs(b.current) > h && Math.abs(d) < h * 2, S.current && (i.cancelable && (i.stopPropagation(), i.preventDefault()), e.style.transition = "none", e.style.cursor = "grabbing", R(l, b.current));
112
112
  }, n = (s) => t(s.touches[0].clientX, s.touches[0].clientY, s), f = (s) => {
113
113
  S.current && t(s.clientX, s.clientY, s);
@@ -174,8 +174,8 @@ function ye({
174
174
  gridTemplateRows: "min-content",
175
175
  transform: "translate3d(0, 0, 0)"
176
176
  },
177
- children: Q.map(
178
- N,
177
+ children: Z.map(
178
+ j,
179
179
  (e, t) => {
180
180
  var n;
181
181
  return de(e, {
@@ -201,7 +201,7 @@ function ye({
201
201
  )
202
202
  }
203
203
  ),
204
- typeof z == "function" && z({ page: l, totalPages: w, onChange: oe })
204
+ typeof $ == "function" && $({ page: l, totalPages: w, onChange: oe })
205
205
  ]
206
206
  }
207
207
  );
@@ -30,7 +30,7 @@ export interface BotMessageProps extends Omit<FlexboxProps, 'id' | 'title'> {
30
30
  botMessageType: BotMessageType;
31
31
  ctaType?: BotMessageCtaType | null;
32
32
  ctaTargetId?: number | null;
33
- ctaTargetTable?: string | null;
33
+ ctaTargetTable?: BotMessageCtaTargetTable | null;
34
34
  subCtaTargetTable?: BotMessageSubCtaTargetTable | null;
35
35
  subCtaTargetId?: number | null;
36
36
  }) => void;
@@ -11,6 +11,7 @@ export type BaseMessageProps = {
11
11
  showAvatar?: boolean;
12
12
  showTime?: boolean;
13
13
  openMenu?: never;
14
+ onClickAvatar?: () => void;
14
15
  onCloseMenu?: never;
15
16
  onClickMenu?: never;
16
17
  onView?: () => void;
@@ -28,6 +29,7 @@ export type BaseMessageProps = {
28
29
  showAvatar?: never;
29
30
  showTime?: never;
30
31
  openMenu?: boolean;
32
+ onClickAvatar?: () => void;
31
33
  onCloseMenu?: () => void;
32
34
  onClickMenu?: () => void;
33
35
  onView?: never;
@@ -36,5 +38,5 @@ export type BaseMessageProps = {
36
38
  onViewAll?: () => void;
37
39
  };
38
40
  export type MessageProps = Omit<FlexboxProps, 'id' | 'title'> & BaseMessageProps;
39
- declare function Message({ id, content, mine, avatarUrl, unreadUserCount, regDatetime, status, onView, openMenu, onCloseMenu, onClickMenu, onResend, onDelete, onViewAll, showAvatar, showTime, ref, inlineCSS, ...props }: MessageProps): import("@emotion/react/jsx-runtime").JSX.Element;
41
+ declare function Message({ id, content, mine, avatarUrl, unreadUserCount, regDatetime, status, onView, openMenu, onClickAvatar, onCloseMenu, onClickMenu, onResend, onDelete, onViewAll, showAvatar, showTime, ref, inlineCSS, ...props }: MessageProps): import("@emotion/react/jsx-runtime").JSX.Element;
40
42
  export default Message;
@@ -1,120 +1,138 @@
1
- import { jsxs as t, jsx as r, Fragment as O } from "react/jsx-runtime";
2
- import { useRef as b, useImperativeHandle as q, useEffect as x } from "react";
3
- import { Flexbox as s, Typography as C, Button as J, Icon as I, Menu as K, MenuBlock as P, CircularProgressIndicator as Q } from "@dotss/ui";
4
- import W from "@dotss/ui/core/useTheme";
5
- import { useCheckHoverPossible as X } from "@dotss/ui/hooks";
6
- import { MenuButton as Y } from "@dotss/ui/Menu";
7
- import Z from "dayjs";
8
- import _ from "../../Image/Image.mjs";
9
- import V from "../../../hooks/useInView/useInView.mjs";
10
- function ar({
11
- id: v,
12
- content: p = "",
13
- mine: e = !1,
14
- avatarUrl: f = "",
15
- unreadUserCount: h = 0,
16
- regDatetime: $,
17
- status: n,
18
- onView: c,
1
+ import { jsxs as n, jsx as e, Fragment as A } from "react/jsx-runtime";
2
+ import { useRef as x, useImperativeHandle as J, useEffect as y } from "react";
3
+ import { Flexbox as d, Typography as v, Button as Q, Icon as I, Menu as W, MenuBlock as P, CircularProgressIndicator as X } from "@dotss/ui";
4
+ import Y from "@dotss/ui/core/useTheme";
5
+ import { useCheckHoverPossible as Z } from "@dotss/ui/hooks";
6
+ import { MenuButton as _ } from "@dotss/ui/Menu";
7
+ import V from "dayjs";
8
+ import U from "../../Image/Image.mjs";
9
+ import M from "../../../hooks/useInView/useInView.mjs";
10
+ function de({
11
+ id: C,
12
+ content: f = "",
13
+ mine: i = !1,
14
+ avatarUrl: h = "",
15
+ unreadUserCount: u = 0,
16
+ regDatetime: T,
17
+ status: l,
18
+ onView: m,
19
19
  openMenu: g,
20
- onCloseMenu: i,
21
- onClickMenu: z,
22
- onResend: u,
23
- onDelete: S,
24
- onViewAll: B,
25
- showAvatar: k,
26
- showTime: D,
20
+ onClickAvatar: c,
21
+ onCloseMenu: t,
22
+ onClickMenu: $,
23
+ onResend: S,
24
+ onDelete: b,
25
+ onViewAll: z,
26
+ showAvatar: w,
27
+ showTime: B,
27
28
  ref: R,
28
- inlineCSS: T,
29
- ...j
29
+ inlineCSS: j,
30
+ ...G
30
31
  }) {
31
32
  const {
32
- palette: { brand: y, grey: o, etc: A },
33
- spacing: w
34
- } = W(), { isHoverPossible: G } = X(), l = b(null), E = b(null), m = b(null);
35
- q(R, () => l.current);
36
- const F = V(l), L = 300, d = n === "FAILED", N = p.length > L, H = (a) => {
37
- a === "resend" ? (i == null || i(), m.current = setTimeout(() => {
38
- u == null || u();
39
- }, 200)) : a === "delete" && (i == null || i(), m.current = setTimeout(() => {
33
+ palette: { brand: k, grey: a, etc: H },
34
+ spacing: E
35
+ } = Y(), { isHoverPossible: K } = Z(), o = x(null), D = x(null), p = x(null);
36
+ J(R, () => o.current);
37
+ const F = M(o), L = 300, s = l === "FAILED", N = f.length > L, O = (r) => {
38
+ r === "resend" ? (t == null || t(), p.current = setTimeout(() => {
40
39
  S == null || S();
40
+ }, 200)) : r === "delete" && (t == null || t(), p.current = setTimeout(() => {
41
+ b == null || b();
41
42
  }, 200));
43
+ }, q = (r) => {
44
+ (r.key === "Enter" || r.key === " ") && (r.preventDefault(), r.currentTarget.click());
42
45
  };
43
- return x(() => {
44
- F && (c == null || c());
45
- }, [F, c]), x(() => {
46
- var a;
47
- d && ((a = l == null ? void 0 : l.current) == null || a.scrollIntoView());
48
- }, [d]), x(() => () => {
49
- m.current && clearTimeout(m.current);
50
- }, []), /* @__PURE__ */ t(
51
- s,
46
+ return y(() => {
47
+ F && (m == null || m());
48
+ }, [F, m]), y(() => {
49
+ var r;
50
+ s && ((r = o == null ? void 0 : o.current) == null || r.scrollIntoView());
51
+ }, [s]), y(() => () => {
52
+ p.current && clearTimeout(p.current);
53
+ }, []), /* @__PURE__ */ n(
54
+ d,
52
55
  {
53
- ref: l,
56
+ ref: o,
54
57
  alignItems: "flex-end",
55
- flexDirection: e ? "row-reverse" : "row",
58
+ flexDirection: i ? "row-reverse" : "row",
56
59
  pl: 4,
57
60
  pr: 4,
58
61
  gap: 1,
59
- "aria-busy": n === "PENDING",
60
- ...j,
62
+ "aria-busy": l === "PENDING",
63
+ ...G,
61
64
  inlineCSS: {
62
- cursor: n === "PENDING" ? "wait" : "default",
65
+ cursor: l === "PENDING" ? "wait" : "default",
63
66
  overflowAnchor: "none",
64
- ...T
67
+ ...j
65
68
  },
66
69
  children: [
67
- /* @__PURE__ */ t(s, { alignItems: "flex-start", gap: 2.5, children: [
68
- !e && k && f && /* @__PURE__ */ r(
69
- _,
70
+ /* @__PURE__ */ n(d, { alignItems: "flex-start", gap: 2.5, children: [
71
+ !i && w && h && /* @__PURE__ */ e(
72
+ d,
70
73
  {
71
- src: f,
72
- width: 32,
73
- height: 32,
74
- borderRadius: "50%",
75
- alt: "째깍악어 선생님 심볼",
76
- role: "presentation",
77
- enableFallback: !0,
78
- style: {
79
- objectFit: "cover"
80
- }
74
+ role: typeof c == "function" ? "button" : void 0,
75
+ tabIndex: typeof c == "function" ? 0 : -1,
76
+ onClick: c,
77
+ onKeyDown: q,
78
+ "aria-label": typeof c == "function" ? "선생님 프로필 보기" : void 0,
79
+ inlineCSS: {
80
+ position: "relative",
81
+ overflow: "hidden",
82
+ cursor: typeof c == "function" ? "pointer" : void 0
83
+ },
84
+ children: /* @__PURE__ */ e(
85
+ U,
86
+ {
87
+ src: h,
88
+ width: 32,
89
+ height: 32,
90
+ borderRadius: "50%",
91
+ alt: "선생님 프로필 사진",
92
+ role: "presentation",
93
+ enableFallback: !0,
94
+ style: {
95
+ objectFit: "cover"
96
+ }
97
+ }
98
+ )
81
99
  }
82
100
  ),
83
- /* @__PURE__ */ t(
84
- s,
101
+ /* @__PURE__ */ n(
102
+ d,
85
103
  {
86
104
  pt: 2,
87
105
  pb: 2,
88
106
  pl: 3,
89
107
  pr: 3,
90
- ml: !e && !k && f ? 10.5 : void 0,
108
+ ml: !i && !w && h ? 10.5 : void 0,
91
109
  flexDirection: "column",
92
110
  gap: 2.5,
93
111
  inlineCSS: {
94
112
  borderRadius: 12,
95
- backgroundColor: e ? y.primary.pageControl : o[10]
113
+ backgroundColor: i ? k.primary.pageControl : a[10]
96
114
  },
97
115
  children: [
98
- /* @__PURE__ */ r(
99
- C,
116
+ /* @__PURE__ */ e(
117
+ v,
100
118
  {
101
119
  tag: "p",
102
120
  variant: "b3R",
103
- textAlign: e ? "right" : "left",
121
+ textAlign: i ? "right" : "left",
104
122
  inlineCSS: {
105
123
  whiteSpace: "pre-wrap",
106
124
  wordBreak: "break-all"
107
125
  },
108
- children: N ? p.slice(0, L) + "..." : p
126
+ children: N ? f.slice(0, L) + "..." : f
109
127
  }
110
128
  ),
111
- N && /* @__PURE__ */ r(
112
- J,
129
+ N && /* @__PURE__ */ e(
130
+ Q,
113
131
  {
114
132
  variant: "text",
115
133
  size: "xSmall",
116
- endAdornment: /* @__PURE__ */ r(I, { name: "ChevronRightLine" }),
117
- onClick: B,
134
+ endAdornment: /* @__PURE__ */ e(I, { name: "ChevronRightLine" }),
135
+ onClick: z,
118
136
  inlineCSS: {
119
137
  marginLeft: "auto"
120
138
  },
@@ -125,96 +143,96 @@ function ar({
125
143
  }
126
144
  )
127
145
  ] }),
128
- d && /* @__PURE__ */ t(O, { children: [
129
- /* @__PURE__ */ t(
130
- Y,
146
+ s && /* @__PURE__ */ n(A, { children: [
147
+ /* @__PURE__ */ n(
148
+ _,
131
149
  {
132
- ref: E,
150
+ ref: D,
133
151
  isMenuOpen: !!g,
134
- menuId: `message-${v}-menu`,
135
- onClick: z,
152
+ menuId: `message-${C}-menu`,
153
+ onClick: $,
136
154
  size: "xSmall",
137
155
  inlineCSS: {
138
- padding: w.content(0.5),
139
- gap: w.content(0.5),
156
+ padding: E.content(0.5),
157
+ gap: E.content(0.5),
140
158
  borderRadius: 200,
141
- backgroundColor: g ? o[10] : "transparent",
159
+ backgroundColor: g ? a[10] : "transparent",
142
160
  cursor: "pointer",
143
- ...G && {
161
+ ...K && {
144
162
  "&:hover": {
145
- backgroundColor: `${o[10]} !important`
163
+ backgroundColor: `${a[10]} !important`
146
164
  }
147
165
  },
148
166
  "&:active": {
149
- backgroundColor: `${o[10]} !important`
167
+ backgroundColor: `${a[10]} !important`
150
168
  }
151
169
  },
152
170
  children: [
153
- /* @__PURE__ */ r(
171
+ /* @__PURE__ */ e(
154
172
  I,
155
173
  {
156
174
  name: "ResetLine",
157
175
  size: "xSmall",
158
176
  color: "grey.70",
159
177
  inlineCSS: {
160
- color: `${o[70]} !important`
178
+ color: `${a[70]} !important`
161
179
  }
162
180
  }
163
181
  ),
164
- /* @__PURE__ */ r(
182
+ /* @__PURE__ */ e(
165
183
  I,
166
184
  {
167
185
  name: "CloseLine",
168
186
  size: "xSmall",
169
187
  color: "etc.red",
170
188
  inlineCSS: {
171
- color: `${A.red} !important`
189
+ color: `${H.red} !important`
172
190
  }
173
191
  }
174
192
  )
175
193
  ]
176
194
  }
177
195
  ),
178
- /* @__PURE__ */ t(
179
- K,
196
+ /* @__PURE__ */ n(
197
+ W,
180
198
  {
181
- id: `message-${v}-menu`,
182
- anchorRef: E,
199
+ id: `message-${C}-menu`,
200
+ anchorRef: D,
183
201
  open: g,
184
- onClose: i,
185
- onChange: H,
202
+ onClose: t,
203
+ onChange: O,
186
204
  width: 160,
187
205
  placement: "bottom-left",
188
206
  children: [
189
- /* @__PURE__ */ r(P, { value: "resend", children: "재전송" }),
190
- /* @__PURE__ */ r(P, { value: "delete", children: "삭제" })
207
+ /* @__PURE__ */ e(P, { value: "resend", children: "재전송" }),
208
+ /* @__PURE__ */ e(P, { value: "delete", children: "삭제" })
191
209
  ]
192
210
  }
193
211
  )
194
212
  ] }),
195
- !d && /* @__PURE__ */ t(
196
- s,
213
+ !s && /* @__PURE__ */ n(
214
+ d,
197
215
  {
198
216
  flexDirection: "column",
199
- alignItems: e ? "flex-end" : "flex-start",
217
+ alignItems: i ? "flex-end" : "flex-start",
200
218
  inlineCSS: {
201
219
  whiteSpace: "nowrap"
202
220
  },
203
221
  children: [
204
- e && h > 0 && n === "SUCCEEDED" && /* @__PURE__ */ r(
205
- C,
222
+ i && u > 0 && l === "SUCCEEDED" && /* @__PURE__ */ e(
223
+ v,
206
224
  {
207
225
  tag: "span",
208
226
  variant: "c5B",
209
227
  "aria-hidden": !0,
210
228
  inlineCSS: {
211
- color: y.primary.text
229
+ color: k.primary.text
212
230
  },
213
- children: h
231
+ children: u
214
232
  }
215
233
  ),
216
- e && h > 0 && n === "PENDING" && /* @__PURE__ */ r(
217
- Q,
234
+ i && u > 0 && l === "PENDING" && /* @__PURE__ */ e(
235
+ X,
218
236
  {
219
237
  size: "small",
220
238
  loop: !0,
@@ -224,16 +242,16 @@ function ar({
224
242
  }
225
243
  }
226
244
  ),
227
- /* @__PURE__ */ r(
228
- C,
245
+ /* @__PURE__ */ e(
246
+ v,
229
247
  {
230
248
  tag: "span",
231
249
  variant: "c5R",
232
250
  color: "etc.dimmed01",
233
251
  inlineCSS: {
234
- display: D ? void 0 : "none"
252
+ display: B ? void 0 : "none"
235
253
  },
236
- children: Z($).format("A h:mm")
254
+ children: V(T).format("A h:mm")
237
255
  }
238
256
  )
239
257
  ]
@@ -244,5 +262,5 @@ function ar({
244
262
  );
245
263
  }
246
264
  export {
247
- ar as default
265
+ de as default
248
266
  };
@@ -1,5 +1,6 @@
1
1
  import { BaseMessageProps, MessageStatus } from '.';
2
2
  export declare function markMessageGroupBoundaries<T extends {
3
+ type: 'USER' | 'SYSTEM' | 'BOT';
3
4
  senderId: number;
4
5
  id: number;
5
6
  status: MessageStatus;
@@ -1,12 +1,12 @@
1
1
  import c from "dayjs";
2
2
  function l(a) {
3
3
  return a.map(([o, s]) => {
4
- const n = /* @__PURE__ */ new Map(), e = /* @__PURE__ */ new Map();
4
+ const n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
5
5
  for (let t = 0; t < s.length; t += 1) {
6
- const r = s[t], i = r.senderId;
7
- i == null || r.status === "FAILED" || (n.has(i) || n.set(i, r.id), e.set(i, r.id));
6
+ const e = s[t], i = e.senderId;
7
+ i == null || e.status === "FAILED" || e.type !== "USER" || (n.has(i) || n.set(i, e.id), r.set(i, e.id));
8
8
  }
9
- const d = new Set(n.values()), u = new Set(e.values());
9
+ const d = new Set(n.values()), u = new Set(r.values());
10
10
  return [
11
11
  o,
12
12
  s.map((t) => ({
@@ -23,9 +23,9 @@ function I({
23
23
  status: o,
24
24
  unreadUserCount: s,
25
25
  content: n,
26
- regDatetime: e
26
+ regDatetime: r
27
27
  }) {
28
- return `${a ? "나" : "상대방"}, ${n}, ${s && s > 0 ? "읽지 않음" : "읽음"}, ${o === "SUCCEEDED" ? "전송됨" : "전송 실패"}, ${c(e).format("YYYY년 MM월 DD일 A h:mm")}`;
28
+ return `${a ? "나" : "상대방"}, ${n}, ${s && s > 0 ? "읽지 않음" : "읽음"}, ${o === "SUCCEEDED" ? "전송됨" : "전송 실패"}, ${c(r).format("YYYY년 MM월 DD일 A h:mm")}`;
29
29
  }
30
30
  export {
31
31
  I as getMessageLabel,
@@ -1,5 +1,5 @@
1
1
  import { FlexboxProps } from 'node_modules/@dotss/ui/Flexbox/Flexbox';
2
- export type SystemMessageType = 'NEW_CHAT_ROOM_CREATED' | 'DIRECT_TRADE_WORD_DETECTED' | 'OTHER_ACCOUNT_NOT_NORMAL' | 'PARENT_BLOCKED_TEACHER';
2
+ export type SystemMessageType = 'NEW_CHAT_ROOM_CREATED' | 'DIRECT_TRADE_WORD_DETECTED' | 'OTHER_ACCOUNT_NOT_NORMAL' | 'PARENT_BLOCKED_TEACHER' | 'CHAT_ROOM_MIGRATED';
3
3
  export type SystemMessageCtaType = 'DIRECT_TRADE_WARNING';
4
4
  export interface SystemMessageProps extends Omit<FlexboxProps, 'id'> {
5
5
  id: string | number;