@dotss/tictoccroc 0.0.7 → 0.0.8

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.
@@ -4,9 +4,9 @@ import { Flexbox as m, Box as pe, Typography as q } from "@dotss/ui";
4
4
  import Ae from "@dotss/ui/core/useTheme";
5
5
  import v from "dayjs";
6
6
  import ve from "./ScheduleEvent/ScheduleEvent.mjs";
7
- import { generateWeek as O, getDayScheduleEvents as Re, resolvePositionedScheduleEventsForDate as Fe, getMinutesFromMidnight as we } from "./Scheduler.utils.mjs";
8
- const R = Array.from({ length: 34 }).map((_, U) => {
9
- const $ = Math.floor((U + 14) / 2) % 24, w = (U + 14) % 2 === 0 ? "00" : "30", T = v().hour($).minute(parseInt(w)), H = v(), D = H.hour(), K = H.minute(), L = D === $ && (K < 30 && w === "00" || K >= 30 && w === "30");
7
+ import { generateWeek as ee, getDayScheduleEvents as Re, resolvePositionedScheduleEventsForDate as Fe, getMinutesFromMidnight as we } from "./Scheduler.utils.mjs";
8
+ const R = Array.from({ length: 33 }).map((_, P) => {
9
+ const $ = Math.floor((P + 14) / 2) % 24, w = (P + 14) % 2 === 0 ? "00" : "30", T = v().hour($).minute(parseInt(w)), H = v(), D = H.hour(), U = H.minute(), L = D === $ && (U < 30 && w === "00" || U >= 30 && w === "30");
10
10
  return {
11
11
  time: T.format("HH:mm"),
12
12
  label: T.format("A h시 m분"),
@@ -15,17 +15,17 @@ const R = Array.from({ length: 34 }).map((_, U) => {
15
15
  });
16
16
  function Ye({
17
17
  children: _,
18
- date: U = v(),
18
+ date: P = v(),
19
19
  legend: $,
20
20
  minScheduleBlockHeight: w = 20,
21
21
  maxScheduleBlockHeight: T,
22
22
  renderScheduleBlock: H,
23
23
  onDateChange: D,
24
- ...K
24
+ ...U
25
25
  }) {
26
26
  const {
27
27
  palette: { grey: L }
28
- } = Ae(), [M, F] = j(U.startOf("week")), [Y, ge] = j("100%"), [z, g] = j(0), [I, k] = j(0), [be, ye] = j(""), ee = d(null), te = d(null), re = d(null), J = d(null), ne = d(0), oe = d(0), N = d(!1), X = d(!1), C = d(!1), P = d(0), ae = d(0), se = d(0), ie = d(0), Q = d(!1), S = d(null), G = d(0), V = d(0), E = d(0), p = d(null), Z = fe.toArray(_).filter(me).map((e) => {
28
+ } = Ae(), [M, F] = j(P.startOf("week")), [Y, ge] = j("100%"), [z, g] = j(0), [I, k] = j(0), [be, ye] = j(""), J = d(null), te = d(null), re = d(null), Q = d(null), ne = d(0), oe = d(0), N = d(!1), X = d(!1), C = d(!1), K = d(0), ae = d(0), se = d(0), ie = d(0), Z = d(!1), S = d(null), G = d(0), V = d(0), E = d(0), p = d(null), B = fe.toArray(_).filter(me).map((e) => {
29
29
  if (e.type === ve) {
30
30
  const { startDate: n, endDate: a } = e.props;
31
31
  return {
@@ -36,9 +36,9 @@ function Ye({
36
36
  }
37
37
  return null;
38
38
  }).filter(Boolean), $e = fe.toArray(_).filter(me).filter((e) => e.type !== ve), ce = [
39
- O(M.subtract(1, "week"), Z),
40
- O(M, Z),
41
- O(M.add(1, "week"), Z)
39
+ ee(M.subtract(1, "week"), B),
40
+ ee(M, B),
41
+ ee(M.add(1, "week"), B)
42
42
  ], ue = (e, n) => (a) => {
43
43
  const o = Number(a.currentTarget.dataset.row), i = Number(a.currentTarget.dataset.col);
44
44
  g(o), k(i), ye(`${e.format("dddd")} ${e.format("D")}일 ${n}`);
@@ -190,8 +190,8 @@ function Ye({
190
190
  return W(() => {
191
191
  const e = () => {
192
192
  var n, a, o;
193
- if (J.current) {
194
- const i = ((a = (n = ee.current) == null ? void 0 : n.parentElement) == null ? void 0 : a.offsetHeight) ?? 0, b = J.current.offsetHeight, y = ((o = re.current) == null ? void 0 : o.offsetHeight) ?? 0;
193
+ if (Q.current) {
194
+ const i = ((a = (n = J.current) == null ? void 0 : n.parentElement) == null ? void 0 : a.offsetHeight) ?? 0, b = Q.current.offsetHeight, y = ((o = re.current) == null ? void 0 : o.offsetHeight) ?? 0;
195
195
  let c = (i - b - y) / R.length;
196
196
  c = c < w ? w : c, c = Math.min(c, T ?? c), ge(c);
197
197
  }
@@ -200,6 +200,7 @@ function Ye({
200
200
  window.removeEventListener("resize", e);
201
201
  };
202
202
  }, [w, T, $]), W(() => {
203
+ J.current;
203
204
  const e = te.current;
204
205
  if (!e) return;
205
206
  const n = () => {
@@ -207,19 +208,19 @@ function Ye({
207
208
  };
208
209
  n();
209
210
  const a = (t, r) => {
210
- C.current || (S.current && (e.removeEventListener("transitionend", S.current), S.current = null), ne.current = t, oe.current = r, Q.current = !1, N.current = !0, P.current = 0);
211
+ C.current || (S.current && (e.removeEventListener("transitionend", S.current), S.current = null), ne.current = t, oe.current = r, Z.current = !1, N.current = !0, K.current = 0);
211
212
  }, o = (t, r, l) => {
212
213
  if (!N.current) return;
213
214
  const u = t - ne.current, f = r - oe.current;
214
- if (P.current = u, !Q.current && (se.current = Math.abs(u), ie.current = Math.abs(f), Q.current = !0, ie.current > se.current)) {
215
+ if (K.current = u, !Z.current && (se.current = Math.abs(u), ie.current = Math.abs(f), Z.current = !0, ie.current > se.current)) {
215
216
  N.current = !1;
216
217
  return;
217
218
  }
218
- l.cancelable && l.preventDefault(), e.style.transition = "none", e.style.transform = `translate3d(${P.current}px, 0, 0)`, e.style.cursor = "grabbing";
219
+ l.cancelable && l.preventDefault(), l.stopPropagation(), e.style.transition = "none", e.style.transform = `translate3d(${K.current}px, 0, 0)`, e.style.cursor = "grabbing";
219
220
  }, i = () => {
220
221
  if (e.style.cursor = "grab", !N.current) return;
221
222
  N.current = !1, X.current = !1, C.current = !0;
222
- const t = P.current, r = ae.current, l = r * 0.2;
223
+ const t = K.current, r = ae.current, l = r * 0.2;
223
224
  e.style.transition = "transform 300ms cubic-bezier(0.25, 1, 0.5, 1)", t > l ? (e.style.transform = `translate3d(${r}px, 0, 0)`, S.current = (u) => {
224
225
  u.propertyName === "transform" && (G.current = requestAnimationFrame(() => {
225
226
  F((f) => f.add(-1, "week")), V.current = requestAnimationFrame(() => {
@@ -248,7 +249,7 @@ function Ye({
248
249
  D == null || D(M);
249
250
  }, [M, D]), W(() => () => {
250
251
  G.current && cancelAnimationFrame(G.current), V.current && cancelAnimationFrame(V.current), E.current && cancelAnimationFrame(E.current);
251
- }, []), /* @__PURE__ */ A(m, { ref: ee, flex: 1, flexDirection: "column", "aria-label": "일정 안내", ...K, children: [
252
+ }, []), /* @__PURE__ */ A(m, { ref: J, flex: 1, flexDirection: "column", "aria-label": "일정 안내", ...U, children: [
252
253
  $ && ($ == null ? void 0 : $.length) > 0 && /* @__PURE__ */ h(
253
254
  m,
254
255
  {
@@ -281,7 +282,7 @@ function Ye({
281
282
  /* @__PURE__ */ A(
282
283
  m,
283
284
  {
284
- ref: J,
285
+ ref: Q,
285
286
  alignItems: "center",
286
287
  pt: 1,
287
288
  pb: 2,
@@ -491,7 +492,7 @@ function Ye({
491
492
  }),
492
493
  y.map(
493
494
  ({ children: c, startDate: s, endDate: t, totalColumns: r, columnIndex: l }) => {
494
- const u = we(s), f = we(t), x = Math.floor((u - 7 * 60) / 30), Ee = (u - 7 * 60) / 30 * (Number(Y) || w), Le = (f - u) / 30 * (Number(Y) || w), de = 100 / r, Se = l * de, B = c;
495
+ const u = we(s), f = we(t), x = Math.floor((u - 7 * 60) / 30), Ee = (u - 7 * 60) / 30 * (Number(Y) || w), Le = (f - u) / 30 * (Number(Y) || w), de = 100 / r, Se = l * de, O = c;
495
496
  return /* @__PURE__ */ h(
496
497
  m,
497
498
  {
@@ -503,17 +504,17 @@ function Ye({
503
504
  height: `${Le - (x > 0 ? 1 : 0)}px`,
504
505
  zIndex: 1
505
506
  },
506
- children: he(B, {
507
+ children: he(O, {
507
508
  role: "button",
508
509
  tabIndex: a === 1 ? 0 : -1,
509
- onKeyDown: ke(B.props.onKeyDown),
510
+ onKeyDown: ke(O.props.onKeyDown),
510
511
  "data-start-date": s,
511
512
  "data-start-time": v(s).format("HH:mm"),
512
513
  "data-end-date": t,
513
514
  "data-end-time": v(t).format("HH:mm"),
514
515
  "data-is-event": !0,
515
516
  "aria-label": `${v(s).format("dddd")} ${v(s).format("D")}일 ${v(s).format("A h시")}부터 ${v(t).format("dddd")} ${v(t).format("D")}일 ${v(t).format("A h시")}까지의 일정`,
516
- ...B.props
517
+ ...O.props
517
518
  })
518
519
  },
519
520
  `${s}-${t}-${l}-${r}`
@@ -1,21 +1,22 @@
1
- import a from "dayjs";
2
- import d from "dayjs/plugin/isSameOrBefore";
3
- a.extend(d);
4
- function u(i, n, f = {}) {
5
- const { format: o = "YYYY-MM-DD" } = f, t = a(i), r = a(n);
6
- if (!t.isValid() || !r.isValid())
1
+ import o from "dayjs";
2
+ function l(t, r, f = {}) {
3
+ const { format: s = "YYYY-MM-DD" } = f, a = o(t), n = o(r);
4
+ if (!a.isValid() || !n.isValid())
7
5
  return [];
8
- if (t.isAfter(r))
6
+ if (a.isAfter(n))
9
7
  return [];
10
- const s = [];
11
- let e = t;
12
- for (; e.isSameOrBefore(r); )
13
- s.push({
14
- label: e.format(o),
8
+ const i = [];
9
+ let e = a;
10
+ for (; u(e, n); )
11
+ i.push({
12
+ label: e.format(s),
15
13
  value: e.toDate()
16
- }), o === "YYYY-MM" ? e = e.add(1, "month") : e = e.add(1, "day");
17
- return s;
14
+ }), s === "YYYY-MM" ? e = e.add(1, "month") : e = e.add(1, "day");
15
+ return i;
16
+ }
17
+ function u(t, r) {
18
+ return t.isBefore(r) || t.isSame(r);
18
19
  }
19
20
  export {
20
- u as default
21
+ l as default
21
22
  };
@@ -6,13 +6,12 @@ import D from "@dotss/ui/Switch";
6
6
  import j from "../../../../shared/components/Image/Image.mjs";
7
7
  import A from "../../../../shared/components/Scheduler/Scheduler.mjs";
8
8
  import "dayjs";
9
- import "../../../../shared/utils/getDateRange/getDateRange.mjs";
10
- const U = w(
9
+ const M = w(
11
10
  function({
12
- children: m,
13
- title: g = "수업 가능 일정",
11
+ children: g,
12
+ title: m = "수업 가능 일정",
14
13
  action: c,
15
- footer: r,
14
+ footer: d,
16
15
  flat: s = !1,
17
16
  schedulerProps: p,
18
17
  enableToggle: h = !0,
@@ -21,9 +20,9 @@ const U = w(
21
20
  }, v) {
22
21
  const {
23
22
  palette: { grey: b, background: f }
24
- } = R(), [t, C] = S(!1), x = () => C((d) => !d), y = (d) => {
23
+ } = R(), [t, C] = S(!1), x = () => C((r) => !r), y = (r) => {
25
24
  var u;
26
- return (u = i.onChange) == null ? void 0 : u.call(i, d);
25
+ return (u = i.onChange) == null ? void 0 : u.call(i, r);
27
26
  };
28
27
  return /* @__PURE__ */ l(
29
28
  n,
@@ -33,14 +32,14 @@ const U = w(
33
32
  flexDirection: "column",
34
33
  gap: 4,
35
34
  "aria-labelledby": "available-schedule-section-title",
36
- "aria-describedby": r ? "available-schedule-section-footer" : void 0,
35
+ "aria-describedby": d ? "available-schedule-section-footer" : void 0,
37
36
  ...a,
38
37
  inlineCSS: {
39
38
  width: "100%",
40
39
  ...a == null ? void 0 : a.inlineCSS
41
40
  },
42
41
  children: [
43
- /* @__PURE__ */ e(o, { id: "available-schedule-section-title", tag: "h2", variant: "h2B", children: g }),
42
+ /* @__PURE__ */ e(o, { id: "available-schedule-section-title", tag: "h2", variant: "h2B", children: m }),
44
43
  i.active && /* @__PURE__ */ l(n, { flexDirection: "column", gap: 2, children: [
45
44
  /* @__PURE__ */ l(
46
45
  n,
@@ -62,7 +61,7 @@ const U = w(
62
61
  id: "available-schedule-section-scheduler",
63
62
  "aria-labelledby": "available-schedule-section-title",
64
63
  ...p,
65
- children: m
64
+ children: g
66
65
  }
67
66
  ),
68
67
  h && /* @__PURE__ */ e(
@@ -88,7 +87,7 @@ const U = w(
88
87
  ]
89
88
  }
90
89
  ),
91
- r && /* @__PURE__ */ e(n, { id: "available-schedule-section-footer", tag: "footer", pl: 12, pr: 2, children: r })
90
+ d && /* @__PURE__ */ e(n, { id: "available-schedule-section-footer", tag: "footer", pl: 12, pr: 2, children: d })
92
91
  ] }),
93
92
  typeof i.onChange == "function" && /* @__PURE__ */ l(
94
93
  n,
@@ -189,5 +188,5 @@ const U = w(
189
188
  }
190
189
  );
191
190
  export {
192
- U as default
191
+ M as default
193
192
  };
@@ -1,48 +1,49 @@
1
- import { jsxs as n, jsx as e, Fragment as C } from "react/jsx-runtime";
2
- import { useState as E, useRef as F, useEffect as J } from "react";
3
- import { Flexbox as r, Typography as t, Icon as d, Label as B, Button as G } from "@dotss/ui";
4
- import K from "@dotss/ui/core/useTheme";
5
- import I from "dayjs";
6
- import N from "dayjs/plugin/relativeTime";
7
- import O from "../../../../shared/components/Image/Image.mjs";
8
- I.extend(N);
9
- function X({
10
- avatar: l,
11
- introduction: i,
1
+ import { jsxs as n, jsx as e, Fragment as w } from "react/jsx-runtime";
2
+ import { useState as R, useRef as J, useEffect as B } from "react";
3
+ import { Flexbox as t, Typography as o, Icon as h, Label as G, Button as K } from "@dotss/ui";
4
+ import O from "@dotss/ui/core/useTheme";
5
+ import L from "dayjs";
6
+ import P from "../../../../shared/components/Image/Image.mjs";
7
+ function Q({
8
+ avatar: i,
9
+ introduction: r,
12
10
  name: p,
13
- grade: u,
14
- activeHours: S = 0,
15
- rating: h = 0,
16
- reviewCount: m = 0,
17
- adronment: R,
18
- lastActiveAt: x,
19
- action: L
11
+ grade: y,
12
+ activeHours: b = 0,
13
+ rating: f = 0,
14
+ reviewCount: g = 0,
15
+ adronment: k,
16
+ lastActiveAt: E,
17
+ action: D
20
18
  }) {
21
19
  const {
22
- palette: { background: y, brand: w, etc: k },
20
+ palette: { background: C, brand: I, etc: z },
23
21
  spacing: a
24
- } = K(), [g, D] = E(!1), [z, v] = E(!1), b = F(null), M = S >= 0 && m > 0, c = x ? I(x) : null, T = (o) => {
25
- var s, f;
26
- switch (o.key) {
22
+ } = O(), [m, M] = R(!1), [$, T] = R(!1), x = J(null), j = b >= 0 && g > 0, u = E ? L(E) : null, v = (l) => {
23
+ const c = L(), s = c.diff(l, "minute"), S = c.diff(l, "hour"), d = c.diff(l, "day");
24
+ return s < 1 ? "방금 전 활동" : s < 60 ? `${s}분 전 활동` : S < 24 ? `${S}시간 전 활동` : d < 7 ? `${d}일 전 활동` : d < 14 ? "1주 이내 활동" : d < 21 ? "2주 이내 활동" : d < 28 ? "3주 이내 활동" : d <= 30 ? "한 달 이내 활동" : null;
25
+ }, H = (l) => {
26
+ var c, s;
27
+ switch (l.key) {
27
28
  case "Enter":
28
- o.preventDefault(), (s = l.onClick) == null || s.call(l, o);
29
+ l.preventDefault(), (c = i.onClick) == null || c.call(i, l);
29
30
  break;
30
31
  case " ":
31
- o.preventDefault(), (f = l.onClick) == null || f.call(l, o);
32
+ l.preventDefault(), (s = i.onClick) == null || s.call(i, l);
32
33
  break;
33
34
  }
34
- }, j = () => D((o) => !o);
35
- return J(() => {
36
- const o = () => {
37
- if (!b.current) return;
38
- const s = b.current, f = parseInt(window.getComputedStyle(s).lineHeight), $ = s.scrollHeight, H = Math.ceil($ / f);
39
- v(H > 4);
35
+ }, F = () => M((l) => !l);
36
+ return B(() => {
37
+ const l = () => {
38
+ if (!x.current) return;
39
+ const c = x.current, s = parseInt(window.getComputedStyle(c).lineHeight), S = c.scrollHeight, d = Math.ceil(S / s);
40
+ T(d > 4);
40
41
  };
41
- return o(), window.addEventListener("resize", o), () => {
42
- window.removeEventListener("resize", o);
42
+ return l(), window.addEventListener("resize", l), () => {
43
+ window.removeEventListener("resize", l);
43
44
  };
44
- }, [i.aboutMe]), /* @__PURE__ */ n(
45
- r,
45
+ }, [r.aboutMe]), /* @__PURE__ */ n(
46
+ t,
46
47
  {
47
48
  tag: "section",
48
49
  flexDirection: "column",
@@ -52,15 +53,15 @@ function X({
52
53
  width: "100%"
53
54
  },
54
55
  children: [
55
- /* @__PURE__ */ n(r, { alignItems: "flex-start", gap: 4, children: [
56
- /* @__PURE__ */ n(r, { flexDirection: "column", gap: 2, alignItems: "center", justifyContent: "center", children: [
56
+ /* @__PURE__ */ n(t, { alignItems: "flex-start", gap: 4, children: [
57
+ /* @__PURE__ */ n(t, { flexDirection: "column", gap: 2, alignItems: "center", justifyContent: "center", children: [
57
58
  /* @__PURE__ */ n(
58
- r,
59
+ t,
59
60
  {
60
- role: typeof l.onClick == "function" ? "button" : void 0,
61
- tabIndex: typeof l.onClick == "function" ? 0 : -1,
62
- onKeyDown: T,
63
- onClick: l.onClick,
61
+ role: typeof i.onClick == "function" ? "button" : void 0,
62
+ tabIndex: typeof i.onClick == "function" ? 0 : -1,
63
+ onKeyDown: H,
64
+ onClick: i.onClick,
64
65
  alignItems: "center",
65
66
  justifyContent: "center",
66
67
  flexDirection: "column",
@@ -72,22 +73,23 @@ function X({
72
73
  width: 88,
73
74
  height: 88,
74
75
  overflow: "hidden",
75
- backgroundColor: y.primary,
76
- cursor: typeof l.onClick == "function" ? "pointer" : void 0
76
+ backgroundColor: C.primary,
77
+ cursor: typeof i.onClick == "function" ? "pointer" : void 0
77
78
  },
78
79
  children: [
79
- l.src && /* @__PURE__ */ e(
80
- O,
80
+ i.src && /* @__PURE__ */ e(
81
+ P,
81
82
  {
82
83
  width: 88,
83
84
  height: 88,
84
- src: l.src,
85
+ src: i.src,
85
86
  alt: `${p} 선생님 프로필 이미지`,
86
- fit: "cover"
87
+ fit: "cover",
88
+ borderRadius: 100
87
89
  }
88
90
  ),
89
- !l.src && !l.placeholder && /* @__PURE__ */ n(
90
- r,
91
+ !i.src && !i.placeholder && /* @__PURE__ */ n(
92
+ t,
91
93
  {
92
94
  role: "status",
93
95
  flexDirection: "column",
@@ -95,7 +97,7 @@ function X({
95
97
  justifyContent: "center",
96
98
  children: [
97
99
  /* @__PURE__ */ e(
98
- t,
100
+ o,
99
101
  {
100
102
  tag: "p",
101
103
  variant: "c3M",
@@ -104,14 +106,14 @@ function X({
104
106
  children: "프로필 사진"
105
107
  }
106
108
  ),
107
- /* @__PURE__ */ e(t, { tag: "span", variant: "c5R", color: "etc.red", "aria-hidden": !0, children: "(필수)" })
109
+ /* @__PURE__ */ e(o, { tag: "span", variant: "c5R", color: "etc.red", "aria-hidden": !0, children: "(필수)" })
108
110
  ]
109
111
  }
110
112
  ),
111
- !l.src && l.placeholder && l.placeholder,
112
- l.status === "REJECTED" && /* @__PURE__ */ n(C, { children: [
113
+ !i.src && i.placeholder && i.placeholder,
114
+ i.status === "REJECTED" && /* @__PURE__ */ n(w, { children: [
113
115
  /* @__PURE__ */ e(
114
- r,
116
+ t,
115
117
  {
116
118
  alignItems: "center",
117
119
  justifyContent: "center",
@@ -122,13 +124,13 @@ function X({
122
124
  width: "100%",
123
125
  height: "100%",
124
126
  opacity: 0.8,
125
- backgroundColor: y.primary,
127
+ backgroundColor: C.primary,
126
128
  zIndex: 1
127
129
  }
128
130
  }
129
131
  ),
130
132
  /* @__PURE__ */ e(
131
- d,
133
+ h,
132
134
  {
133
135
  name: "AlertFill",
134
136
  size: "xSmall",
@@ -142,24 +144,15 @@ function X({
142
144
  }
143
145
  }
144
146
  ),
145
- /* @__PURE__ */ e(t, { role: "status", visuallyHidden: !0, children: "프로필 사진이 반려되었어요. 다시 등록해주세요." })
147
+ /* @__PURE__ */ e(o, { role: "status", visuallyHidden: !0, children: "프로필 사진이 반려되었어요. 다시 등록해주세요." })
146
148
  ] })
147
149
  ]
148
150
  }
149
151
  ),
150
- (c == null ? void 0 : c.isValid()) && /* @__PURE__ */ e(
151
- t,
152
- {
153
- tag: "p",
154
- variant: "c3M",
155
- color: "grey.50",
156
- "aria-label": `마지막 활동 시간 ${c.fromNow()}`,
157
- children: c.fromNow()
158
- }
159
- )
152
+ (u == null ? void 0 : u.isValid()) && /* @__PURE__ */ e(o, { tag: "p", variant: "c3M", color: "grey.50", children: v(u) })
160
153
  ] }),
161
154
  /* @__PURE__ */ n(
162
- r,
155
+ t,
163
156
  {
164
157
  flexDirection: "column",
165
158
  justifyContent: "flex-start",
@@ -169,7 +162,7 @@ function X({
169
162
  flexGrow: 1,
170
163
  children: [
171
164
  /* @__PURE__ */ n(
172
- r,
165
+ t,
173
166
  {
174
167
  alignItems: "center",
175
168
  gap: 2,
@@ -177,18 +170,18 @@ function X({
177
170
  maxHeight: 30
178
171
  },
179
172
  children: [
180
- u && /* @__PURE__ */ e(
181
- B,
173
+ y && /* @__PURE__ */ e(
174
+ G,
182
175
  {
183
176
  variant: "outlined",
184
177
  size: "small",
185
178
  color: "blue",
186
- "aria-label": `${p} 선생님의 등급: ${u}`,
187
- children: u
179
+ "aria-label": `${p} 선생님의 등급: ${y}`,
180
+ children: y
188
181
  }
189
182
  ),
190
183
  /* @__PURE__ */ n(
191
- t,
184
+ o,
192
185
  {
193
186
  tag: "p",
194
187
  variant: "h2B",
@@ -206,12 +199,12 @@ function X({
206
199
  ]
207
200
  }
208
201
  ),
209
- R
202
+ k
210
203
  ]
211
204
  }
212
205
  ),
213
- M && /* @__PURE__ */ n(
214
- r,
206
+ j && /* @__PURE__ */ n(
207
+ t,
215
208
  {
216
209
  pl: 4,
217
210
  pr: 4,
@@ -222,25 +215,25 @@ function X({
222
215
  gap: 5,
223
216
  inlineCSS: {
224
217
  borderRadius: 8,
225
- backgroundColor: y.primary
218
+ backgroundColor: C.primary
226
219
  },
227
220
  children: [
228
- /* @__PURE__ */ n(r, { alignItems: "center", role: "group", "aria-label": `누적 수업 ${S}시간`, children: [
229
- /* @__PURE__ */ e(d, { name: "TimeLine", size: "xSmall", color: "grey.70" }),
221
+ /* @__PURE__ */ n(t, { alignItems: "center", role: "group", "aria-label": `누적 수업 ${b}시간`, children: [
222
+ /* @__PURE__ */ e(h, { name: "TimeLine", size: "xSmall", color: "grey.70" }),
230
223
  /* @__PURE__ */ e(
231
- t,
224
+ o,
232
225
  {
233
226
  tag: "p",
234
227
  variant: "h4B",
235
228
  inlineCSS: {
236
229
  marginLeft: a.content(1),
237
- color: w.primary.text
230
+ color: I.primary.text
238
231
  },
239
- children: S.toLocaleString()
232
+ children: b.toLocaleString()
240
233
  }
241
234
  ),
242
235
  /* @__PURE__ */ e(
243
- t,
236
+ o,
244
237
  {
245
238
  tag: "span",
246
239
  variant: "b5R",
@@ -253,28 +246,28 @@ function X({
253
246
  )
254
247
  ] }),
255
248
  /* @__PURE__ */ n(
256
- r,
249
+ t,
257
250
  {
258
251
  alignItems: "center",
259
252
  role: "group",
260
- "aria-label": h > 0 ? `평점 ${h}, 리뷰 ${m}개` : `평점 집계중, 리뷰 ${m}개`,
253
+ "aria-label": f > 0 ? `평점 ${f}, 리뷰 ${g}개` : `평점 집계중, 리뷰 ${g}개`,
261
254
  children: [
262
- /* @__PURE__ */ e(d, { name: "ReviewFill", size: "xSmall", color: "grey.70" }),
263
- h > 0 ? /* @__PURE__ */ n(C, { children: [
255
+ /* @__PURE__ */ e(h, { name: "ReviewFill", size: "xSmall", color: "grey.70" }),
256
+ f > 0 ? /* @__PURE__ */ n(w, { children: [
264
257
  /* @__PURE__ */ e(
265
- t,
258
+ o,
266
259
  {
267
260
  tag: "p",
268
261
  variant: "h4B",
269
262
  inlineCSS: {
270
263
  marginLeft: a.content(1),
271
- color: w.primary.text
264
+ color: I.primary.text
272
265
  },
273
- children: h.toLocaleString()
266
+ children: f.toLocaleString()
274
267
  }
275
268
  ),
276
269
  /* @__PURE__ */ n(
277
- t,
270
+ o,
278
271
  {
279
272
  tag: "span",
280
273
  variant: "b5R",
@@ -284,13 +277,13 @@ function X({
284
277
  },
285
278
  children: [
286
279
  "(",
287
- m.toLocaleString(),
280
+ g.toLocaleString(),
288
281
  ")"
289
282
  ]
290
283
  }
291
284
  )
292
285
  ] }) : /* @__PURE__ */ e(
293
- t,
286
+ o,
294
287
  {
295
288
  tag: "p",
296
289
  variant: "h4R",
@@ -312,15 +305,15 @@ function X({
312
305
  )
313
306
  ] }),
314
307
  /* @__PURE__ */ n(
315
- r,
308
+ t,
316
309
  {
317
310
  flexDirection: "column",
318
311
  inlineCSS: {
319
312
  position: "relative"
320
313
  },
321
314
  children: [
322
- (!i.summary || !i.aboutMe) && !i.placeholder && /* @__PURE__ */ n(
323
- t,
315
+ (!r.summary || !r.aboutMe) && !r.placeholder && /* @__PURE__ */ n(
316
+ o,
324
317
  {
325
318
  tag: "p",
326
319
  variant: "b4R",
@@ -328,7 +321,7 @@ function X({
328
321
  "aria-label": "작성된 프로필 소개가 없어요.",
329
322
  inlineCSS: {
330
323
  "& > span": {
331
- color: k.red
324
+ color: z.red
332
325
  }
333
326
  },
334
327
  children: [
@@ -337,22 +330,22 @@ function X({
337
330
  ]
338
331
  }
339
332
  ),
340
- (!i.summary || !i.aboutMe) && i.placeholder && i.placeholder,
341
- i.summary && i.aboutMe && /* @__PURE__ */ n(C, { children: [
342
- i.status === "REJECTED" && /* @__PURE__ */ e(t, { role: "status", visuallyHidden: !0, children: "프로필 소개가 반려되었어요. 다시 작성해주세요." }),
333
+ (!r.summary || !r.aboutMe) && r.placeholder && r.placeholder,
334
+ r.summary && r.aboutMe && /* @__PURE__ */ n(w, { children: [
335
+ r.status === "REJECTED" && /* @__PURE__ */ e(o, { role: "status", visuallyHidden: !0, children: "프로필 소개가 반려되었어요. 다시 작성해주세요." }),
343
336
  /* @__PURE__ */ n(
344
- t,
337
+ o,
345
338
  {
346
339
  tag: "dl",
347
340
  variant: "b4M",
348
- color: i.status === "REJECTED" ? "grey.30" : void 0,
341
+ color: r.status === "REJECTED" ? "grey.30" : void 0,
349
342
  inlineCSS: {
350
343
  display: "flex",
351
344
  alignItems: "center"
352
345
  },
353
346
  children: [
354
- i.status === "REJECTED" && /* @__PURE__ */ e(
355
- d,
347
+ r.status === "REJECTED" && /* @__PURE__ */ e(
348
+ h,
356
349
  {
357
350
  name: "AlertFill",
358
351
  size: "xSmall",
@@ -362,55 +355,55 @@ function X({
362
355
  }
363
356
  }
364
357
  ),
365
- /* @__PURE__ */ e(r, { tag: "dt", visuallyHidden: !0, children: "한 줄 소개" }),
366
- /* @__PURE__ */ e("dd", { children: i.summary })
358
+ /* @__PURE__ */ e(t, { tag: "dt", visuallyHidden: !0, children: "한 줄 소개" }),
359
+ /* @__PURE__ */ e("dd", { children: r.summary })
367
360
  ]
368
361
  }
369
362
  ),
370
363
  /* @__PURE__ */ n(
371
- t,
364
+ o,
372
365
  {
373
- ref: b,
366
+ ref: x,
374
367
  id: "about-me",
375
368
  tag: "dl",
376
369
  variant: "b4R",
377
- color: i.status === "REJECTED" ? "grey.30" : "grey.70",
378
- lineClamp: g ? void 0 : 4,
370
+ color: r.status === "REJECTED" ? "grey.30" : "grey.70",
371
+ lineClamp: m ? void 0 : 4,
379
372
  inlineCSS: {
380
373
  marginTop: a.content(2),
381
374
  whiteSpace: "pre-wrap"
382
375
  },
383
376
  children: [
384
- /* @__PURE__ */ e(r, { tag: "dt", visuallyHidden: !0, children: "자기소개" }),
385
- /* @__PURE__ */ e("dd", { children: i.aboutMe })
377
+ /* @__PURE__ */ e(t, { tag: "dt", visuallyHidden: !0, children: "자기소개" }),
378
+ /* @__PURE__ */ e("dd", { children: r.aboutMe })
386
379
  ]
387
380
  }
388
381
  )
389
382
  ] }),
390
- z && /* @__PURE__ */ e(
391
- G,
383
+ $ && /* @__PURE__ */ e(
384
+ K,
392
385
  {
393
386
  variant: "text",
394
387
  size: "xSmall",
395
388
  color: "secondary",
396
- endAdornment: /* @__PURE__ */ e(d, { name: g ? "ChevronUpLine" : "ChevronDownLine" }),
397
- onClick: j,
398
- "aria-expanded": g,
389
+ endAdornment: /* @__PURE__ */ e(h, { name: m ? "ChevronUpLine" : "ChevronDownLine" }),
390
+ onClick: F,
391
+ "aria-expanded": m,
399
392
  "aria-controls": "about-me",
400
393
  inlineCSS: {
401
394
  marginLeft: "auto"
402
395
  },
403
- children: g ? "접기" : "더보기"
396
+ children: m ? "접기" : "더보기"
404
397
  }
405
398
  )
406
399
  ]
407
400
  }
408
401
  ),
409
- L
402
+ D
410
403
  ]
411
404
  }
412
405
  );
413
406
  }
414
407
  export {
415
- X as default
408
+ Q as default
416
409
  };
@@ -1,8 +1,8 @@
1
- import { jsxs as r, jsx as a } from "react/jsx-runtime";
1
+ import { jsxs as i, jsx as a } from "react/jsx-runtime";
2
2
  import { Label as e } from "@dotss/ui";
3
3
  import s from "../../../../../shared/components/Image/Image.mjs";
4
- function n({ type: l, percent: t, ...i }) {
5
- return l === "creativeArt" ? /* @__PURE__ */ r(
4
+ function h({ type: l, percent: t, ...r }) {
5
+ return l === "creativeArt" ? /* @__PURE__ */ i(
6
6
  e,
7
7
  {
8
8
  variant: "ghost",
@@ -15,18 +15,18 @@ function n({ type: l, percent: t, ...i }) {
15
15
  height: 16,
16
16
  src: "https://dev-static.tictoccroc.co.kr/teacher/images/design-system/graphic/illustration3D/brush.png",
17
17
  alt: "창의미술 상위 배지 아이콘",
18
- "aria-hidden": !0
18
+ role: "presentation"
19
19
  }
20
20
  ),
21
21
  "aria-label": `창의미술 상위 ${t}퍼센트`,
22
- ...i,
22
+ ...r,
23
23
  children: [
24
24
  "창의미술 상위 ",
25
25
  t,
26
26
  "%"
27
27
  ]
28
28
  }
29
- ) : l === "english" ? /* @__PURE__ */ r(
29
+ ) : l === "english" ? /* @__PURE__ */ i(
30
30
  e,
31
31
  {
32
32
  variant: "ghost",
@@ -39,18 +39,18 @@ function n({ type: l, percent: t, ...i }) {
39
39
  height: 16,
40
40
  src: "https://dev-static.tictoccroc.co.kr/teacher/images/design-system/graphic/illustration3D/english.png",
41
41
  alt: "영어 상위 배지 아이콘",
42
- "aria-hidden": !0
42
+ role: "presentation"
43
43
  }
44
44
  ),
45
45
  "aria-label": `영어 상위 ${t}퍼센트`,
46
- ...i,
46
+ ...r,
47
47
  children: [
48
48
  "영어 상위 ",
49
49
  t,
50
50
  "%"
51
51
  ]
52
52
  }
53
- ) : l === "learning" ? /* @__PURE__ */ r(
53
+ ) : l === "learning" ? /* @__PURE__ */ i(
54
54
  e,
55
55
  {
56
56
  variant: "ghost",
@@ -63,18 +63,18 @@ function n({ type: l, percent: t, ...i }) {
63
63
  height: 16,
64
64
  src: "https://dev-static.tictoccroc.co.kr/teacher/images/design-system/graphic/illustration3D/pencil.png",
65
65
  alt: "학습 상위 배지 아이콘",
66
- "aria-hidden": !0
66
+ role: "presentation"
67
67
  }
68
68
  ),
69
69
  "aria-label": `학습 상위 ${t}퍼센트`,
70
- ...i,
70
+ ...r,
71
71
  children: [
72
72
  "학습 상위 ",
73
73
  t,
74
74
  "%"
75
75
  ]
76
76
  }
77
- ) : /* @__PURE__ */ r(
77
+ ) : /* @__PURE__ */ i(
78
78
  e,
79
79
  {
80
80
  variant: "ghost",
@@ -87,11 +87,11 @@ function n({ type: l, percent: t, ...i }) {
87
87
  height: 16,
88
88
  src: "https://dev-static.tictoccroc.co.kr/teacher/images/design-system/graphic/illustration3D/block.png",
89
89
  alt: "놀이 상위 배지 아이콘",
90
- "aria-hidden": !0
90
+ role: "presentation"
91
91
  }
92
92
  ),
93
93
  "aria-label": `놀이 상위 ${t}퍼센트`,
94
- ...i,
94
+ ...r,
95
95
  children: [
96
96
  "놀이 상위 ",
97
97
  t,
@@ -101,5 +101,5 @@ function n({ type: l, percent: t, ...i }) {
101
101
  );
102
102
  }
103
103
  export {
104
- n as default
104
+ h as default
105
105
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dotss/tictoccroc",
3
3
  "type": "module",
4
- "version": "0.0.7",
4
+ "version": "0.0.8",
5
5
  "description": "Tictoccroc shared components, hooks, utils, and APIs for Dotss",
6
6
  "main": "./dist/index.mjs",
7
7
  "module": "./dist/index.mjs",