@dotss/tictoccroc 0.9.1 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/index.mjs +45 -43
  2. package/dist/teacher/home/components/SingleAccount/SingleAccount.d.ts +15 -0
  3. package/dist/teacher/home/components/SingleAccount/SingleAccount.fallback.d.ts +2 -0
  4. package/dist/teacher/home/components/SingleAccount/SingleAccount.fallback.mjs +32 -0
  5. package/dist/teacher/home/components/SingleAccount/SingleAccount.mjs +58 -0
  6. package/dist/teacher/home/components/SingleAccount/index.d.ts +4 -0
  7. package/dist/teacher/home/components/SingleAccount/index.mjs +6 -0
  8. package/dist/teacher/home/components/index.d.ts +2 -0
  9. package/dist/teacher/home/components/index.mjs +3 -1
  10. package/dist/teacher/profile/components/AbilityCollection/AbilityCollection.d.ts +3 -1
  11. package/dist/teacher/profile/components/AbilityCollection/AbilityCollection.mjs +25 -24
  12. package/dist/teacher/profile/components/ActivityGallery/ActivityGallery.d.ts +2 -1
  13. package/dist/teacher/profile/components/ActivityGallery/ActivityGallery.mjs +19 -18
  14. package/dist/teacher/profile/components/AvailableScheduleSection/AvailableScheduleSection.d.ts +1 -0
  15. package/dist/teacher/profile/components/AvailableScheduleSection/AvailableScheduleSection.mjs +29 -28
  16. package/dist/teacher/profile/components/CareNoteSection/CareNoteSection.d.ts +2 -0
  17. package/dist/teacher/profile/components/CareNoteSection/CareNoteSection.mjs +53 -49
  18. package/dist/teacher/profile/components/CareerSection/CareerSection.d.ts +2 -1
  19. package/dist/teacher/profile/components/CareerSection/CareerSection.mjs +25 -24
  20. package/dist/teacher/profile/components/CertificateSection/CertificateSection.d.ts +2 -1
  21. package/dist/teacher/profile/components/CertificateSection/CertificateSection.mjs +21 -20
  22. package/dist/teacher/profile/components/EducationSection/EducationSection.d.ts +2 -1
  23. package/dist/teacher/profile/components/EducationSection/EducationSection.mjs +21 -20
  24. package/dist/teacher/profile/components/ParentReviewSection/ParentReviewSection.d.ts +2 -0
  25. package/dist/teacher/profile/components/ParentReviewSection/ParentReviewSection.mjs +12 -11
  26. package/dist/teacher/profile/components/PreferredActivityKeywordGroup/PreferredActivityKeywordGroup.d.ts +2 -1
  27. package/dist/teacher/profile/components/PreferredActivityKeywordGroup/PreferredActivityKeywordGroup.mjs +4 -3
  28. package/dist/teacher/profile/components/PreferredAgeGroup/PreferredAgeGroup.d.ts +2 -1
  29. package/dist/teacher/profile/components/PreferredAgeGroup/PreferredAgeGroup.mjs +4 -3
  30. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -56,52 +56,54 @@ import $ from "./shared/components/MediaDialog/MediaBlock/index.mjs";
56
56
  import ee from "./shared/components/Swiper/index.mjs";
57
57
  import te from "./teacher/home/components/BannerAccount/BannerAccount.fallback.mjs";
58
58
  import ne from "./teacher/home/components/BannerAccount/index.mjs";
59
+ import re from "./teacher/home/components/SingleAccount/SingleAccount.fallback.mjs";
60
+ import ie from "./teacher/home/components/SingleAccount/index.mjs";
59
61
  import "./teacher/home/components/index.mjs";
60
- import re from "./parent/notification/utils/sanitize/sanitize.mjs";
62
+ import ae from "./parent/notification/utils/sanitize/sanitize.mjs";
61
63
  import "./parent/notification/utils/index.mjs";
62
- import ie from "./parent/notification/components/NotificationCard/index.mjs";
64
+ import oe from "./parent/notification/components/NotificationCard/index.mjs";
63
65
  import "./parent/notification/components/index.mjs";
64
- import { t as ae } from "./convertMdToHtml-Bmk0brLK.js";
66
+ import { t as se } from "./convertMdToHtml-Bmk0brLK.js";
65
67
  import "./parent/b2b/utils/index.mjs";
66
- import oe from "./parent/b2b/components/ActionButtons/index.mjs";
67
- import se from "./parent/b2b/components/BottomNotes/index.mjs";
68
- import ce from "./shared/components/TextField/index.mjs";
69
- import le from "./parent/b2b/components/EmployeeNumberField/index.mjs";
70
- import ue from "./parent/b2b/components/NameField/index.mjs";
71
- import { isSuccess as de, isValid as fe } from "./parent/b2b/components/PhoneNumberField/PhoneNumberField.utils.mjs";
72
- import pe from "./parent/b2b/components/PhoneNumberField/index.mjs";
73
- import me from "./parent/b2b/components/Title/index.mjs";
74
- import he from "./shared/components/MediaDialog/MediaDialogContent/index.mjs";
75
- import ge from "./shared/components/MediaDialog/MediaDialogFooter/index.mjs";
76
- import _e from "./shared/components/MediaDialog/MediaDialogToolbar/index.mjs";
77
- import ve from "./shared/components/MediaDialog/index.mjs";
78
- import ye from "./shared/components/TimePicker/index.mjs";
79
- import be from "./shared/components/Calendar/index.mjs";
80
- import xe from "./shared/components/ChatKit/Message/Message.fallback.mjs";
81
- import { getMessageLabel as Se, markMessageGroupBoundaries as Ce } from "./shared/components/ChatKit/Message/Message.utils.mjs";
82
- import we from "./shared/components/ChatKit/Message/index.mjs";
83
- import { getImageMessageLabel as Te, getPhotoAssetMessage as Ee } from "./shared/components/ChatKit/ImageMessage/ImageMessage.utils.mjs";
84
- import De from "./shared/components/ChatKit/ImageMessage/index.mjs";
85
- import Oe from "./shared/components/ChatKit/SystemMessage/(Actions)/DirectTrageRiskInfoBottomSheet/DirectTrageRiskInfoBottomSheet.mjs";
86
- import { getSystemMessageLabel as ke } from "./shared/components/ChatKit/SystemMessage/SystemMessage.utils.mjs";
87
- import Ae from "./shared/components/ChatKit/SystemMessage/index.mjs";
88
- import { getBotMessageLabel as je, getCtaButtonText as Me } from "./shared/components/ChatKit/BotMessage/BotMessage.utils.mjs";
89
- import Ne from "./shared/components/ChatKit/BotMessage/index.mjs";
90
- import Pe from "./shared/components/ChatKit/InputBar/InputBar.fallback.mjs";
91
- import Fe from "./shared/components/ChatKit/InputBar/index.mjs";
92
- import Ie from "./shared/components/ChatKit/Seperator/index.mjs";
93
- import Le from "./shared/components/ChatKit/UnreadMessagePill/index.mjs";
94
- import Re from "./parent/b2b/components/TopLogo/index.mjs";
68
+ import ce from "./parent/b2b/components/ActionButtons/index.mjs";
69
+ import le from "./parent/b2b/components/BottomNotes/index.mjs";
70
+ import ue from "./shared/components/TextField/index.mjs";
71
+ import de from "./parent/b2b/components/EmployeeNumberField/index.mjs";
72
+ import fe from "./parent/b2b/components/NameField/index.mjs";
73
+ import { isSuccess as pe, isValid as me } from "./parent/b2b/components/PhoneNumberField/PhoneNumberField.utils.mjs";
74
+ import he from "./parent/b2b/components/PhoneNumberField/index.mjs";
75
+ import ge from "./parent/b2b/components/Title/index.mjs";
76
+ import _e from "./shared/components/MediaDialog/MediaDialogContent/index.mjs";
77
+ import ve from "./shared/components/MediaDialog/MediaDialogFooter/index.mjs";
78
+ import ye from "./shared/components/MediaDialog/MediaDialogToolbar/index.mjs";
79
+ import be from "./shared/components/MediaDialog/index.mjs";
80
+ import xe from "./shared/components/TimePicker/index.mjs";
81
+ import Se from "./shared/components/Calendar/index.mjs";
82
+ import Ce from "./shared/components/ChatKit/Message/Message.fallback.mjs";
83
+ import { getMessageLabel as we, markMessageGroupBoundaries as Te } from "./shared/components/ChatKit/Message/Message.utils.mjs";
84
+ import Ee from "./shared/components/ChatKit/Message/index.mjs";
85
+ import { getImageMessageLabel as De, getPhotoAssetMessage as Oe } from "./shared/components/ChatKit/ImageMessage/ImageMessage.utils.mjs";
86
+ import ke from "./shared/components/ChatKit/ImageMessage/index.mjs";
87
+ import Ae from "./shared/components/ChatKit/SystemMessage/(Actions)/DirectTrageRiskInfoBottomSheet/DirectTrageRiskInfoBottomSheet.mjs";
88
+ import { getSystemMessageLabel as je } from "./shared/components/ChatKit/SystemMessage/SystemMessage.utils.mjs";
89
+ import Me from "./shared/components/ChatKit/SystemMessage/index.mjs";
90
+ import { getBotMessageLabel as Ne, getCtaButtonText as Pe } from "./shared/components/ChatKit/BotMessage/BotMessage.utils.mjs";
91
+ import Fe from "./shared/components/ChatKit/BotMessage/index.mjs";
92
+ import Ie from "./shared/components/ChatKit/InputBar/InputBar.fallback.mjs";
93
+ import Le from "./shared/components/ChatKit/InputBar/index.mjs";
94
+ import Re from "./shared/components/ChatKit/Seperator/index.mjs";
95
+ import ze from "./shared/components/ChatKit/UnreadMessagePill/index.mjs";
96
+ import Be from "./parent/b2b/components/TopLogo/index.mjs";
95
97
  import "./parent/b2b/components/index.mjs";
96
- import ze from "./shared/utils/isAndroid/index.mjs";
97
- import Be from "./shared/utils/isIos/index.mjs";
98
- import Ve from "./shared/utils/isApp/index.mjs";
99
- import He from "./shared/utils/isDesktop/index.mjs";
100
- import Ue from "./shared/utils/ageToBirthDate/index.mjs";
101
- import We from "./shared/utils/objectToQueryString/index.mjs";
102
- import Ge from "./shared/utils/getVimeoId/index.mjs";
103
- import Ke from "./shared/utils/parseQueryString/index.mjs";
104
- import qe from "./shared/utils/share/index.mjs";
105
- import Je from "./shared/utils/getCareTypeLabel/index.mjs";
98
+ import Ve from "./shared/utils/isAndroid/index.mjs";
99
+ import He from "./shared/utils/isIos/index.mjs";
100
+ import Ue from "./shared/utils/isApp/index.mjs";
101
+ import We from "./shared/utils/isDesktop/index.mjs";
102
+ import Ge from "./shared/utils/ageToBirthDate/index.mjs";
103
+ import Ke from "./shared/utils/objectToQueryString/index.mjs";
104
+ import qe from "./shared/utils/getVimeoId/index.mjs";
105
+ import Je from "./shared/utils/parseQueryString/index.mjs";
106
+ import Ye from "./shared/utils/share/index.mjs";
107
+ import Xe from "./shared/utils/getCareTypeLabel/index.mjs";
106
108
  import "./shared/utils/index.mjs";
107
- export { T as AbilityBadge, E as AbilityCollection, oe as ActionButtons, m as ActivityGallery, f as ActivityGalleryItem, P as AvailableScheduleSection, ne as BannerAccount, te as BannerAccountFallback, Ne as BotMessage, se as BottomNotes, be as Calendar, L as CareNote, z as CareNoteSection, _ as CareerItem, v as CareerSection, q as Carousel, Y as Carousel1Account, J as Carousel1AccountFallback, Z as Carousel2Account, X as Carousel2AccountFallback, K as CarouselSlide, h as CertificateItem, g as CertificateSection, Oe as DirectTradeRiskInfoBottomSheet, y as EducationItem, b as EducationSection, le as EmployeeNumberField, a as Image, i as ImageError, De as ImageMessage, Fe as InputBar, Pe as InputBarFallback, U as LoadingAnnouncer, p as Masonry, l as MasonryBlock, $ as MediaBlock, ve as MediaDialog, he as MediaDialogContent, ge as MediaDialogFooter, _e as MediaDialogToolbar, we as Message, xe as MessageFallback, ue as NameField, ie as NotificationCard, V as ParentReviewCard, H as ParentReviewSection, pe as PhoneNumberField, x as PreferredActivityKeywordGroup, C as PreferredAgeGroup, o as ProfileSummary, R as Roller, F as RollerBlock, M as ScheduleBlock, D as ScheduleEvent, N as Scheduler, Ie as Seperator, s as StatBadge, c as StatBadgeCollection, ee as Swiper, Q as SwiperBlock, Ae as SystemMessage, G as TextAccount, W as TextAccountFallback, ce as TextField, ye as TimePicker, me as Title, Re as TopLogo, Le as UnreadMessagePill, Ue as ageToBirthDate, I as birthDateToAge, u as combineRef, ae as convertMdToHtml, O as dayFlagToDay, w as getAbilityCollection, j as getAvailableDateRange, je as getBotMessageLabel, Je as getCareTypeLabel, B as getChildLabel, Me as getCtaButtonText, k as getDateRange, Te as getImageMessageLabel, r as getImageUrl, Se as getMessageLabel, Ee as getPhotoAssetMessage, S as getPreferredAgeKeywords, ke as getSystemMessageLabel, A as getTimeRange, Ge as getVimeoId, ze as isAndroid, Ve as isApp, He as isDesktop, Be as isIos, t as isServer, de as isSuccess, fe as isValid, Ce as markMessageGroupBoundaries, We as objectToQueryString, Ke as parseQueryString, re as sanitize, qe as share, d as useCombineRef, e as useInView, n as useIsomorphicLayoutEffect };
109
+ export { T as AbilityBadge, E as AbilityCollection, ce as ActionButtons, m as ActivityGallery, f as ActivityGalleryItem, P as AvailableScheduleSection, ne as BannerAccount, te as BannerAccountFallback, Fe as BotMessage, le as BottomNotes, Se as Calendar, L as CareNote, z as CareNoteSection, _ as CareerItem, v as CareerSection, q as Carousel, Y as Carousel1Account, J as Carousel1AccountFallback, Z as Carousel2Account, X as Carousel2AccountFallback, K as CarouselSlide, h as CertificateItem, g as CertificateSection, Ae as DirectTradeRiskInfoBottomSheet, y as EducationItem, b as EducationSection, de as EmployeeNumberField, a as Image, i as ImageError, ke as ImageMessage, Le as InputBar, Ie as InputBarFallback, U as LoadingAnnouncer, p as Masonry, l as MasonryBlock, $ as MediaBlock, be as MediaDialog, _e as MediaDialogContent, ve as MediaDialogFooter, ye as MediaDialogToolbar, Ee as Message, Ce as MessageFallback, fe as NameField, oe as NotificationCard, V as ParentReviewCard, H as ParentReviewSection, he as PhoneNumberField, x as PreferredActivityKeywordGroup, C as PreferredAgeGroup, o as ProfileSummary, R as Roller, F as RollerBlock, M as ScheduleBlock, D as ScheduleEvent, N as Scheduler, Re as Seperator, ie as SingleAccount, re as SingleAccountFallback, s as StatBadge, c as StatBadgeCollection, ee as Swiper, Q as SwiperBlock, Me as SystemMessage, G as TextAccount, W as TextAccountFallback, ue as TextField, xe as TimePicker, ge as Title, Be as TopLogo, ze as UnreadMessagePill, Ge as ageToBirthDate, I as birthDateToAge, u as combineRef, se as convertMdToHtml, O as dayFlagToDay, w as getAbilityCollection, j as getAvailableDateRange, Ne as getBotMessageLabel, Xe as getCareTypeLabel, B as getChildLabel, Pe as getCtaButtonText, k as getDateRange, De as getImageMessageLabel, r as getImageUrl, we as getMessageLabel, Oe as getPhotoAssetMessage, S as getPreferredAgeKeywords, je as getSystemMessageLabel, A as getTimeRange, qe as getVimeoId, Ve as isAndroid, Ue as isApp, We as isDesktop, He as isIos, t as isServer, pe as isSuccess, me as isValid, Te as markMessageGroupBoundaries, Ke as objectToQueryString, Je as parseQueryString, ae as sanitize, Ye as share, d as useCombineRef, e as useInView, n as useIsomorphicLayoutEffect };
@@ -0,0 +1,15 @@
1
+ import { ReactNode, SyntheticEvent } from 'react';
2
+ import { FlexboxProps } from 'node_modules/@dotss/ui/Flexbox/Flexbox';
3
+ import { ImageProps } from '../../../../shared/components/Image';
4
+ import { BannerProps } from '..';
5
+ export interface SingleAccountProps extends Omit<FlexboxProps, 'title' | 'id'> {
6
+ id: number;
7
+ title: ReactNode;
8
+ banners: Array<BannerProps & {
9
+ image?: string;
10
+ }>;
11
+ onClickBanner?: (url: string, bannerId: number, e: SyntheticEvent) => void;
12
+ imageProps?: Partial<ImageProps>;
13
+ }
14
+ declare function SingleAccount({ id, title, banners, onClickBanner, imageProps, ...props }: SingleAccountProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
15
+ export default SingleAccount;
@@ -0,0 +1,2 @@
1
+ declare function SingleAccountFallback(): import("@emotion/react/jsx-runtime").JSX.Element;
2
+ export default SingleAccountFallback;
@@ -0,0 +1,32 @@
1
+ import e from "../../../../shared/components/LoadingAnnouncer/index.mjs";
2
+ import t from "@dotss/ui/core/useTheme";
3
+ import { Fragment as n, jsx as r, jsxs as i } from "react/jsx-runtime";
4
+ import a from "@dotss/ui/Flexbox";
5
+ import o from "@dotss/ui/Skeleton";
6
+ //#region teacher/home/components/SingleAccount/SingleAccount.fallback.tsx
7
+ function s() {
8
+ let { spacing: s } = t();
9
+ return /* @__PURE__ */ i(n, { children: [/* @__PURE__ */ r(e, {}), /* @__PURE__ */ i(a, {
10
+ tag: "section",
11
+ flexDirection: "column",
12
+ "aria-busy": !0,
13
+ inlineCSS: {
14
+ width: "100%",
15
+ overflow: "hidden",
16
+ cursor: "wait"
17
+ },
18
+ children: [/* @__PURE__ */ r(o, {
19
+ height: 30,
20
+ inlineCSS: {
21
+ width: "50%",
22
+ marginBottom: s.content(4)
23
+ }
24
+ }), /* @__PURE__ */ r(o, {
25
+ height: 230,
26
+ borderRadius: 12,
27
+ inlineCSS: { width: "100%" }
28
+ })]
29
+ })] });
30
+ }
31
+ //#endregion
32
+ export { s as default };
@@ -0,0 +1,58 @@
1
+ import e from "../../../../shared/components/Image/index.mjs";
2
+ import t from "@dotss/ui/core/useTheme";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ import i from "@dotss/ui/Flexbox";
5
+ import a from "@dotss/ui/Typography";
6
+ //#region teacher/home/components/SingleAccount/SingleAccount.tsx
7
+ var o = 360, s = 252, c = 12;
8
+ function l({ id: l, title: u, banners: d, onClickBanner: f, imageProps: p, ...m }) {
9
+ let { spacing: h } = t(), [g] = d, _ = (e, t) => (n) => {
10
+ f && typeof f == "function" && (n.stopPropagation(), n.preventDefault(), f(e, t, n));
11
+ };
12
+ return g ? /* @__PURE__ */ r(i, {
13
+ tag: "section",
14
+ flexDirection: "column",
15
+ "aria-labelledby": `banner-account-single-${l}`,
16
+ inlineCSS: { width: "100%" },
17
+ ...m,
18
+ children: [/* @__PURE__ */ n(a, {
19
+ id: `banner-account-single-${l}`,
20
+ tag: "h2",
21
+ variant: "h2B",
22
+ inlineCSS: {
23
+ whiteSpace: "pre-wrap",
24
+ wordBreak: "keep-all",
25
+ marginBottom: h.content(4)
26
+ },
27
+ children: u
28
+ }), /* @__PURE__ */ n(i, {
29
+ tag: "a",
30
+ href: g.url,
31
+ draggable: !1,
32
+ onClick: _(g.url, g.id),
33
+ inlineCSS: {
34
+ width: "100%",
35
+ borderRadius: c
36
+ },
37
+ children: /* @__PURE__ */ n(e, {
38
+ src: g.image || "",
39
+ width: o,
40
+ height: s,
41
+ alt: `${g.title} 이미지`,
42
+ draggable: !1,
43
+ borderRadius: c,
44
+ enableFallback: !0,
45
+ enableErrorFallback: !0,
46
+ withIntrinsicRatio: !0,
47
+ wrapperProps: { inlineCSS: { width: "100%" } },
48
+ style: {
49
+ width: "100%",
50
+ objectFit: "cover"
51
+ },
52
+ ...p
53
+ })
54
+ })]
55
+ }) : null;
56
+ }
57
+ //#endregion
58
+ export { l as default };
@@ -0,0 +1,4 @@
1
+ import { default as SingleAccount, SingleAccountProps } from './SingleAccount';
2
+ import { default as SingleAccountFallback } from './SingleAccount.fallback';
3
+ export { SingleAccount, SingleAccountFallback, type SingleAccountProps };
4
+ export default SingleAccount;
@@ -0,0 +1,6 @@
1
+ import e from "./SingleAccount.mjs";
2
+ import t from "./SingleAccount.fallback.mjs";
3
+ //#region teacher/home/components/SingleAccount/index.ts
4
+ var n = e;
5
+ //#endregion
6
+ export { e as SingleAccount, t as SingleAccountFallback, n as default };
@@ -8,7 +8,9 @@ export { default as TextAccount } from './TextAccount';
8
8
  export { default as Carousel1Account } from './Carousel1Account';
9
9
  export { default as Carousel2Account } from './Carousel2Account';
10
10
  export { default as BannerAccount } from './BannerAccount';
11
+ export { default as SingleAccount } from './SingleAccount';
11
12
  export * from './TextAccount';
12
13
  export * from './Carousel1Account';
13
14
  export * from './Carousel2Account';
14
15
  export * from './BannerAccount';
16
+ export * from './SingleAccount';
@@ -6,4 +6,6 @@ import i from "./Carousel2Account/Carousel2Account.fallback.mjs";
6
6
  import a from "./Carousel2Account/index.mjs";
7
7
  import o from "./BannerAccount/BannerAccount.fallback.mjs";
8
8
  import s from "./BannerAccount/index.mjs";
9
- export { s as BannerAccount, o as BannerAccountFallback, r as Carousel1Account, n as Carousel1AccountFallback, a as Carousel2Account, i as Carousel2AccountFallback, t as TextAccount, e as TextAccountFallback };
9
+ import c from "./SingleAccount/SingleAccount.fallback.mjs";
10
+ import l from "./SingleAccount/index.mjs";
11
+ export { s as BannerAccount, o as BannerAccountFallback, r as Carousel1Account, n as Carousel1AccountFallback, a as Carousel2Account, i as Carousel2AccountFallback, l as SingleAccount, c as SingleAccountFallback, t as TextAccount, e as TextAccountFallback };
@@ -1,6 +1,8 @@
1
+ import { ReactNode } from 'react';
1
2
  import { FlexboxProps } from 'node_modules/@dotss/ui/Flexbox/Flexbox';
2
3
  export interface AbilityCollectionProps extends FlexboxProps {
3
4
  enableToggle?: boolean;
5
+ description?: ReactNode;
4
6
  }
5
- declare function AbilityCollection({ children, enableToggle, ...props }: AbilityCollectionProps): import("@emotion/react/jsx-runtime").JSX.Element;
7
+ declare function AbilityCollection({ children, enableToggle, description, ...props }: AbilityCollectionProps): import("@emotion/react/jsx-runtime").JSX.Element;
6
8
  export default AbilityCollection;
@@ -4,28 +4,28 @@ import { Button as o, Flexbox as s, Icon as c, Typography as l } from "@dotss/ui
4
4
  import u from "@dotss/ui/core/useTheme";
5
5
  import { jsx as d, jsxs as f } from "react/jsx-runtime";
6
6
  //#region teacher/profile/components/AbilityCollection/AbilityCollection.tsx
7
- function p({ children: p, enableToggle: m = !1, ...h }) {
8
- let { spacing: g } = u(), [_, v] = a(!1), [y, b] = a(0), [x, S] = a(0), C = i(null), w = t.toArray(p).filter(r).filter((t) => t.type === e), T = () => v((e) => !e), E = (e) => (t) => {
7
+ function p({ children: p, enableToggle: m = !1, description: h, ...g }) {
8
+ let { spacing: _ } = u(), [v, y] = a(!1), [b, x] = a(0), [S, C] = a(0), w = i(null), T = t.toArray(p).filter(r).filter((t) => t.type === e), E = () => y((e) => !e), D = (e) => (t) => {
9
9
  let n = Number(t.currentTarget.getAttribute("data-row") || -1), r = Number(t.currentTarget.getAttribute("data-col") || -1);
10
- b(n), S(r), e?.(t);
11
- }, D = (e) => (t) => {
10
+ x(n), C(r), e?.(t);
11
+ }, O = (e) => (t) => {
12
12
  let n = Number(t.currentTarget.getAttribute("data-row") || -1), r = Number(t.currentTarget.getAttribute("data-col") || -1);
13
13
  switch (t.key) {
14
14
  case "ArrowUp":
15
15
  if (t.preventDefault(), n === 0) return;
16
- b(n - 1), C.current?.querySelector(`[data-row="${n - 1}"][data-col="${r}"]`)?.focus();
16
+ x(n - 1), w.current?.querySelector(`[data-row="${n - 1}"][data-col="${r}"]`)?.focus();
17
17
  break;
18
18
  case "ArrowDown":
19
- if (t.preventDefault(), n === 2 || n === 1 && m && !_) return;
20
- b(n + 1), C.current?.querySelector(`[data-row="${n + 1}"][data-col="${r}"]`)?.focus();
19
+ if (t.preventDefault(), n === 2 || n === 1 && m && !v) return;
20
+ x(n + 1), w.current?.querySelector(`[data-row="${n + 1}"][data-col="${r}"]`)?.focus();
21
21
  break;
22
22
  case "ArrowLeft":
23
23
  if (t.preventDefault(), r === 0) return;
24
- S(r - 1), C.current?.querySelector(`[data-row="${n}"][data-col="${r - 1}"]`)?.focus();
24
+ C(r - 1), w.current?.querySelector(`[data-row="${n}"][data-col="${r - 1}"]`)?.focus();
25
25
  break;
26
26
  case "ArrowRight":
27
27
  if (t.preventDefault(), r === 2) return;
28
- S(r + 1), C.current?.querySelector(`[data-row="${n}"][data-col="${r + 1}"]`)?.focus();
28
+ C(r + 1), w.current?.querySelector(`[data-row="${n}"][data-col="${r + 1}"]`)?.focus();
29
29
  break;
30
30
  case "Enter":
31
31
  case " ":
@@ -39,10 +39,10 @@ function p({ children: p, enableToggle: m = !1, ...h }) {
39
39
  flexDirection: "column",
40
40
  gap: 4,
41
41
  "aria-labelledby": "ability-collection-title",
42
- ...h,
42
+ ...g,
43
43
  inlineCSS: {
44
44
  width: "100%",
45
- ...h?.inlineCSS
45
+ ...g?.inlineCSS
46
46
  },
47
47
  children: [
48
48
  /* @__PURE__ */ d(l, {
@@ -51,8 +51,9 @@ function p({ children: p, enableToggle: m = !1, ...h }) {
51
51
  variant: "h2B",
52
52
  children: "능력치 배지"
53
53
  }),
54
+ h,
54
55
  /* @__PURE__ */ d(s, {
55
- ref: C,
56
+ ref: w,
56
57
  id: "ability-badge-grid",
57
58
  role: "grid",
58
59
  gap: 2,
@@ -63,23 +64,23 @@ function p({ children: p, enableToggle: m = !1, ...h }) {
63
64
  display: "grid",
64
65
  gridTemplateColumns: "repeat(3, 1fr)",
65
66
  width: "inherit",
66
- columnGap: g.content(2),
67
- rowGap: g.content(6),
68
- maxHeight: _ ? void 0 : m ? `calc(2 * 74px + ${g.content(12)}px)` : void 0,
67
+ columnGap: _.content(2),
68
+ rowGap: _.content(6),
69
+ maxHeight: v ? void 0 : m ? `calc(2 * 74px + ${_.content(12)}px)` : void 0,
69
70
  overflow: "hidden"
70
71
  },
71
- children: t.map(w, (e, t) => {
72
+ children: t.map(T, (e, t) => {
72
73
  let r = Math.floor(t / 3), i = t % 3;
73
74
  return /* @__PURE__ */ d(s, {
74
75
  role: "gridcell",
75
76
  children: n(e, {
76
- tabIndex: y === r && x === i ? 0 : -1,
77
+ tabIndex: b === r && S === i ? 0 : -1,
77
78
  "data-row": r,
78
79
  "data-col": i,
79
80
  "aria-posinset": t + 1,
80
- "aria-setsize": w.length,
81
- onFocus: E(e.props.onFocus),
82
- onKeyDown: D(e.props.onKeyDown),
81
+ "aria-setsize": T.length,
82
+ onFocus: D(e.props.onFocus),
83
+ onKeyDown: O(e.props.onKeyDown),
83
84
  ...e.props
84
85
  })
85
86
  }, `ability-badge-gridcell-${t}`);
@@ -93,11 +94,11 @@ function p({ children: p, enableToggle: m = !1, ...h }) {
93
94
  fullWidth: !0,
94
95
  variant: "text",
95
96
  color: "secondary",
96
- endAdornment: /* @__PURE__ */ d(c, { name: _ ? "ChevronUpLine" : "ChevronDownLine" }),
97
- onClick: T,
97
+ endAdornment: /* @__PURE__ */ d(c, { name: v ? "ChevronUpLine" : "ChevronDownLine" }),
98
+ onClick: E,
98
99
  "aria-controls": "ability-badge-grid",
99
- "aria-expanded": _,
100
- children: _ ? "접기" : "더 보기"
100
+ "aria-expanded": v,
101
+ children: v ? "접기" : "더 보기"
101
102
  })
102
103
  })
103
104
  ]
@@ -4,8 +4,9 @@ import { MasonryProps } from '../../../../shared/components/Masonry';
4
4
  export interface ActivityGalleryProps extends FlexboxProps {
5
5
  onClickViewAll?: () => void;
6
6
  action?: ReactNode;
7
+ description?: ReactNode;
7
8
  hideHeader?: boolean;
8
9
  masonryProps?: MasonryProps;
9
10
  }
10
- declare function ActivityGallery({ children, onClickViewAll, action, hideHeader, masonryProps: { columnCount, rowCount, spacing, edgeSpacing, direction, defaultContainerWidth, defaultContainerHeight, ...masonryProps }, ...props }: ActivityGalleryProps): import("@emotion/react/jsx-runtime").JSX.Element;
11
+ declare function ActivityGallery({ children, onClickViewAll, action, description, hideHeader, masonryProps: { columnCount, rowCount, spacing, edgeSpacing, direction, defaultContainerWidth, defaultContainerHeight, ...masonryProps }, ...props }: ActivityGalleryProps): import("@emotion/react/jsx-runtime").JSX.Element;
11
12
  export default ActivityGallery;
@@ -4,8 +4,8 @@ import { Children as n, isValidElement as r } from "react";
4
4
  import { Button as i, Flexbox as a, Icon as o, Typography as s } from "@dotss/ui";
5
5
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
6
6
  //#region teacher/profile/components/ActivityGallery/ActivityGallery.tsx
7
- function u({ children: u, onClickViewAll: d, action: f, hideHeader: p = !1, masonryProps: { columnCount: m = 2, rowCount: h = 2, spacing: g = 2, edgeSpacing: _ = 0, direction: v = "horizontal", defaultContainerWidth: y = 360, defaultContainerHeight: b = 0, ...x } = {}, ...S }) {
8
- let C = n.toArray(u).filter(r).filter((t) => t.type === e), w = C.length > 0, T = (e, t, n) => {
7
+ function u({ children: u, onClickViewAll: d, action: f, description: p, hideHeader: m = !1, masonryProps: { columnCount: h = 2, rowCount: g = 2, spacing: _ = 2, edgeSpacing: v = 0, direction: y = "horizontal", defaultContainerWidth: b = 360, defaultContainerHeight: x = 0, ...S } = {}, ...C }) {
8
+ let w = n.toArray(u).filter(r).filter((t) => t.type === e), T = w.length > 0, E = (e, t, n) => {
9
9
  let r = e.props.type === "VIDEO" || e.props.type === "VIMEO" || e.props.type === "YOUTUBE" ? "동영상" : "사진";
10
10
  r = e.props.primary ? `대표 ${r}` : r;
11
11
  let i = {
@@ -18,16 +18,16 @@ function u({ children: u, onClickViewAll: d, action: f, hideHeader: p = !1, maso
18
18
  return /* @__PURE__ */ l(a, {
19
19
  tag: "section",
20
20
  flexDirection: "column",
21
- "aria-labelledby": p ? void 0 : "activity-gallery-title",
22
- "aria-label": p ? "선생님 활동 갤러리" : void 0,
21
+ "aria-labelledby": m ? void 0 : "activity-gallery-title",
22
+ "aria-label": m ? "선생님 활동 갤러리" : void 0,
23
23
  gap: 4,
24
- ...S,
24
+ ...C,
25
25
  inlineCSS: {
26
26
  width: "100%",
27
- ...S?.inlineCSS
27
+ ...C?.inlineCSS
28
28
  },
29
29
  children: [
30
- !p && /* @__PURE__ */ l(a, {
30
+ !m && /* @__PURE__ */ l(a, {
31
31
  alignItems: "center",
32
32
  justifyContent: "space-between",
33
33
  gap: 2,
@@ -46,19 +46,20 @@ function u({ children: u, onClickViewAll: d, action: f, hideHeader: p = !1, maso
46
46
  children: "전체보기"
47
47
  })]
48
48
  }),
49
- w && /* @__PURE__ */ c(t, {
50
- rowCount: h,
51
- columnCount: m,
52
- spacing: g,
53
- edgeSpacing: _,
54
- direction: v,
55
- defaultContainerWidth: y,
56
- defaultContainerHeight: b,
49
+ p,
50
+ T && /* @__PURE__ */ c(t, {
51
+ rowCount: g,
52
+ columnCount: h,
53
+ spacing: _,
54
+ edgeSpacing: v,
55
+ direction: y,
56
+ defaultContainerWidth: b,
57
+ defaultContainerHeight: x,
57
58
  role: "group",
58
59
  "aria-label": "콘텐츠 목록",
59
- ...x,
60
- children: C.map((e, t) => T(e, t, C.length))
61
- }, C.map((e) => e.key).join(",")),
60
+ ...S,
61
+ children: w.map((e, t) => E(e, t, w.length))
62
+ }, w.map((e) => e.key).join(",")),
62
63
  f && /* @__PURE__ */ c(a, {
63
64
  mt: 2,
64
65
  flexGrow: 1,
@@ -4,6 +4,7 @@ import { SchedulerProps } from '../../../../shared/components/Scheduler';
4
4
  export interface AvailableScheduleSectionProps extends FlexboxProps {
5
5
  title?: string;
6
6
  action?: ReactNode;
7
+ description?: ReactNode;
7
8
  footer?: ReactNode;
8
9
  schedulerProps?: SchedulerProps;
9
10
  enableToggle?: boolean;
@@ -6,19 +6,19 @@ import c from "@dotss/ui/core/useTheme";
6
6
  import { jsx as l, jsxs as u } from "react/jsx-runtime";
7
7
  import d from "@dotss/ui/Switch";
8
8
  //#region teacher/profile/components/AvailableScheduleSection/AvailableScheduleSection.tsx
9
- var f = n(function({ children: n, title: f = "수업 가능 일정", action: p, footer: m, flat: h = !1, schedulerProps: g, enableToggle: _ = !0, teacherStatus: v, ...y }, b) {
10
- let { palette: { grey: x, background: S } } = c(), [C, w] = r(!1), T = () => w((e) => !e), E = (e) => v.onChange?.(e);
9
+ var f = n(function({ children: n, title: f = "수업 가능 일정", action: p, description: m, footer: h, flat: g = !1, schedulerProps: _, enableToggle: v = !0, teacherStatus: y, ...b }, x) {
10
+ let { palette: { grey: S, background: C } } = c(), [w, T] = r(!1), E = () => T((e) => !e), D = (e) => y.onChange?.(e);
11
11
  return /* @__PURE__ */ u(a, {
12
- ref: b,
12
+ ref: x,
13
13
  tag: "section",
14
14
  flexDirection: "column",
15
15
  gap: 4,
16
16
  "aria-labelledby": "available-schedule-section-title",
17
- "aria-describedby": m ? "available-schedule-section-footer" : void 0,
18
- ...y,
17
+ "aria-describedby": h ? "available-schedule-section-footer" : void 0,
18
+ ...b,
19
19
  inlineCSS: {
20
20
  width: "100%",
21
- ...y?.inlineCSS
21
+ ...b?.inlineCSS
22
22
  },
23
23
  children: [
24
24
  /* @__PURE__ */ l(s, {
@@ -27,54 +27,55 @@ var f = n(function({ children: n, title: f = "수업 가능 일정", action: p,
27
27
  variant: "h2B",
28
28
  children: f
29
29
  }),
30
- v.active && /* @__PURE__ */ u(a, {
30
+ m,
31
+ y.active && /* @__PURE__ */ u(a, {
31
32
  flexDirection: "column",
32
33
  gap: 2,
33
34
  children: [/* @__PURE__ */ u(a, {
34
35
  flexDirection: "column",
35
36
  inlineCSS: {
36
- ...h ? void 0 : {
37
- border: `1px solid ${x[20]}`,
37
+ ...g ? void 0 : {
38
+ border: `1px solid ${S[20]}`,
38
39
  borderRadius: 12
39
40
  },
40
- maxHeight: C ? void 0 : _ ? 384 : void 0,
41
+ maxHeight: w ? void 0 : v ? 384 : void 0,
41
42
  overflow: "hidden"
42
43
  },
43
44
  children: [
44
- !h && /* @__PURE__ */ l(a, { pt: 4 }),
45
+ !g && /* @__PURE__ */ l(a, { pt: 4 }),
45
46
  /* @__PURE__ */ l(t, {
46
47
  id: "available-schedule-section-scheduler",
47
48
  "aria-labelledby": "available-schedule-section-title",
48
- ...g,
49
+ ..._,
49
50
  children: n
50
51
  }),
51
- _ && /* @__PURE__ */ l(i, {
52
+ v && /* @__PURE__ */ l(i, {
52
53
  variant: "text",
53
54
  color: "secondary",
54
- endAdornment: /* @__PURE__ */ l(o, { name: C ? "ChevronUpLine" : "ChevronDownLine" }),
55
- onClick: T,
56
- "aria-expanded": C,
55
+ endAdornment: /* @__PURE__ */ l(o, { name: w ? "ChevronUpLine" : "ChevronDownLine" }),
56
+ onClick: E,
57
+ "aria-expanded": w,
57
58
  "aria-controls": "available-schedule-section-scheduler",
58
59
  inlineCSS: {
59
60
  position: "sticky",
60
61
  bottom: 0,
61
62
  borderTopRightRadius: 0,
62
63
  borderTopLeftRadius: 0,
63
- backgroundColor: x.white,
64
+ backgroundColor: S.white,
64
65
  zIndex: 1
65
66
  },
66
- children: C ? "접기" : "펼쳐보기"
67
+ children: w ? "접기" : "펼쳐보기"
67
68
  })
68
69
  ]
69
- }), m && /* @__PURE__ */ l(a, {
70
+ }), h && /* @__PURE__ */ l(a, {
70
71
  id: "available-schedule-section-footer",
71
72
  tag: "footer",
72
73
  pl: 12,
73
74
  pr: 2,
74
- children: m
75
+ children: h
75
76
  })]
76
77
  }),
77
- typeof v.onChange == "function" && /* @__PURE__ */ u(a, {
78
+ typeof y.onChange == "function" && /* @__PURE__ */ u(a, {
78
79
  alignItems: "center",
79
80
  justifyContent: "space-between",
80
81
  gap: 2,
@@ -85,14 +86,14 @@ var f = n(function({ children: n, title: f = "수업 가능 일정", action: p,
85
86
  htmlFor: "available-schedule-section-switch",
86
87
  children: "활동 여부"
87
88
  }), /* @__PURE__ */ l(d, {
88
- selected: !!v.active,
89
- onChange: E,
89
+ selected: !!y.active,
90
+ onChange: D,
90
91
  selectedLabel: "활동중",
91
92
  unselectedLabel: "쉬는중",
92
93
  inputProps: { id: "available-schedule-section-switch" }
93
94
  })]
94
95
  }),
95
- !v.active && /* @__PURE__ */ u(a, {
96
+ !y.active && /* @__PURE__ */ u(a, {
96
97
  role: "status",
97
98
  pt: 5,
98
99
  pb: 5,
@@ -106,13 +107,13 @@ var f = n(function({ children: n, title: f = "수업 가능 일정", action: p,
106
107
  "aria-describedby": "available-schedule-section-status-desc",
107
108
  inlineCSS: {
108
109
  borderRadius: 8,
109
- backgroundColor: S.primary
110
+ backgroundColor: C.primary
110
111
  },
111
112
  children: [
112
113
  /* @__PURE__ */ l(e, {
113
114
  width: 48,
114
115
  height: 48,
115
- src: `${v.fallback.iconBasePath}/images/design-system/graphic/illustration3D/island.png`,
116
+ src: `${y.fallback.iconBasePath}/images/design-system/graphic/illustration3D/island.png`,
116
117
  alt: "쉬는 중",
117
118
  "aria-hidden": !0
118
119
  }),
@@ -121,7 +122,7 @@ var f = n(function({ children: n, title: f = "수업 가능 일정", action: p,
121
122
  tag: "h3",
122
123
  variant: "h4B",
123
124
  textAlign: "center",
124
- children: v.fallback.title || "쉬는 중일 때는 수업 요청이 오지 않아요!"
125
+ children: y.fallback.title || "쉬는 중일 때는 수업 요청이 오지 않아요!"
125
126
  }),
126
127
  /* @__PURE__ */ l(s, {
127
128
  id: "available-schedule-section-status-desc",
@@ -130,7 +131,7 @@ var f = n(function({ children: n, title: f = "수업 가능 일정", action: p,
130
131
  color: "grey.70",
131
132
  textAlign: "center",
132
133
  inlineCSS: { whiteSpace: "pre-line" },
133
- children: v.fallback.description || "이미 매칭된 수업은 그대로 유지되니\n변경이 필요한 경우 부모님과 소통해 주세요."
134
+ children: y.fallback.description || "이미 매칭된 수업은 그대로 유지되니\n변경이 필요한 경우 부모님과 소통해 주세요."
134
135
  })
135
136
  ]
136
137
  }),
@@ -1,6 +1,8 @@
1
+ import { ReactNode } from 'react';
1
2
  import { FlexboxProps } from 'node_modules/@dotss/ui/Flexbox/Flexbox';
2
3
  export interface CareNoteSectionProps extends FlexboxProps {
3
4
  totalCount: number;
5
+ description?: ReactNode;
4
6
  onClickViewAll?: () => void;
5
7
  }
6
8
  declare const CareNoteSection: import('react').ForwardRefExoticComponent<Omit<CareNoteSectionProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;