@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.
- package/dist/index.mjs +45 -43
- package/dist/teacher/home/components/SingleAccount/SingleAccount.d.ts +15 -0
- package/dist/teacher/home/components/SingleAccount/SingleAccount.fallback.d.ts +2 -0
- package/dist/teacher/home/components/SingleAccount/SingleAccount.fallback.mjs +32 -0
- package/dist/teacher/home/components/SingleAccount/SingleAccount.mjs +58 -0
- package/dist/teacher/home/components/SingleAccount/index.d.ts +4 -0
- package/dist/teacher/home/components/SingleAccount/index.mjs +6 -0
- package/dist/teacher/home/components/index.d.ts +2 -0
- package/dist/teacher/home/components/index.mjs +3 -1
- package/dist/teacher/profile/components/AbilityCollection/AbilityCollection.d.ts +3 -1
- package/dist/teacher/profile/components/AbilityCollection/AbilityCollection.mjs +25 -24
- package/dist/teacher/profile/components/ActivityGallery/ActivityGallery.d.ts +2 -1
- package/dist/teacher/profile/components/ActivityGallery/ActivityGallery.mjs +19 -18
- package/dist/teacher/profile/components/AvailableScheduleSection/AvailableScheduleSection.d.ts +1 -0
- package/dist/teacher/profile/components/AvailableScheduleSection/AvailableScheduleSection.mjs +29 -28
- package/dist/teacher/profile/components/CareNoteSection/CareNoteSection.d.ts +2 -0
- package/dist/teacher/profile/components/CareNoteSection/CareNoteSection.mjs +53 -49
- package/dist/teacher/profile/components/CareerSection/CareerSection.d.ts +2 -1
- package/dist/teacher/profile/components/CareerSection/CareerSection.mjs +25 -24
- package/dist/teacher/profile/components/CertificateSection/CertificateSection.d.ts +2 -1
- package/dist/teacher/profile/components/CertificateSection/CertificateSection.mjs +21 -20
- package/dist/teacher/profile/components/EducationSection/EducationSection.d.ts +2 -1
- package/dist/teacher/profile/components/EducationSection/EducationSection.mjs +21 -20
- package/dist/teacher/profile/components/ParentReviewSection/ParentReviewSection.d.ts +2 -0
- package/dist/teacher/profile/components/ParentReviewSection/ParentReviewSection.mjs +12 -11
- package/dist/teacher/profile/components/PreferredActivityKeywordGroup/PreferredActivityKeywordGroup.d.ts +2 -1
- package/dist/teacher/profile/components/PreferredActivityKeywordGroup/PreferredActivityKeywordGroup.mjs +4 -3
- package/dist/teacher/profile/components/PreferredAgeGroup/PreferredAgeGroup.d.ts +2 -1
- package/dist/teacher/profile/components/PreferredAgeGroup/PreferredAgeGroup.mjs +4 -3
- 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
|
|
62
|
+
import ae from "./parent/notification/utils/sanitize/sanitize.mjs";
|
|
61
63
|
import "./parent/notification/utils/index.mjs";
|
|
62
|
-
import
|
|
64
|
+
import oe from "./parent/notification/components/NotificationCard/index.mjs";
|
|
63
65
|
import "./parent/notification/components/index.mjs";
|
|
64
|
-
import { t as
|
|
66
|
+
import { t as se } from "./convertMdToHtml-Bmk0brLK.js";
|
|
65
67
|
import "./parent/b2b/utils/index.mjs";
|
|
66
|
-
import
|
|
67
|
-
import
|
|
68
|
-
import
|
|
69
|
-
import
|
|
70
|
-
import
|
|
71
|
-
import { isSuccess as
|
|
72
|
-
import
|
|
73
|
-
import
|
|
74
|
-
import
|
|
75
|
-
import
|
|
76
|
-
import
|
|
77
|
-
import
|
|
78
|
-
import
|
|
79
|
-
import
|
|
80
|
-
import
|
|
81
|
-
import { getMessageLabel as
|
|
82
|
-
import
|
|
83
|
-
import { getImageMessageLabel as
|
|
84
|
-
import
|
|
85
|
-
import
|
|
86
|
-
import { getSystemMessageLabel as
|
|
87
|
-
import
|
|
88
|
-
import { getBotMessageLabel as
|
|
89
|
-
import
|
|
90
|
-
import
|
|
91
|
-
import
|
|
92
|
-
import
|
|
93
|
-
import
|
|
94
|
-
import
|
|
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
|
|
97
|
-
import
|
|
98
|
-
import
|
|
99
|
-
import
|
|
100
|
-
import
|
|
101
|
-
import
|
|
102
|
-
import
|
|
103
|
-
import
|
|
104
|
-
import
|
|
105
|
-
import
|
|
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,
|
|
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,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 };
|
|
@@ -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
|
-
|
|
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,
|
|
8
|
-
let { spacing:
|
|
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
|
-
|
|
11
|
-
},
|
|
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
|
-
|
|
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 && !
|
|
20
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
...
|
|
42
|
+
...g,
|
|
43
43
|
inlineCSS: {
|
|
44
44
|
width: "100%",
|
|
45
|
-
...
|
|
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:
|
|
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:
|
|
67
|
-
rowGap:
|
|
68
|
-
maxHeight:
|
|
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(
|
|
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:
|
|
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":
|
|
81
|
-
onFocus:
|
|
82
|
-
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:
|
|
97
|
-
onClick:
|
|
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,
|
|
8
|
-
let
|
|
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":
|
|
22
|
-
"aria-label":
|
|
21
|
+
"aria-labelledby": m ? void 0 : "activity-gallery-title",
|
|
22
|
+
"aria-label": m ? "선생님 활동 갤러리" : void 0,
|
|
23
23
|
gap: 4,
|
|
24
|
-
...
|
|
24
|
+
...C,
|
|
25
25
|
inlineCSS: {
|
|
26
26
|
width: "100%",
|
|
27
|
-
...
|
|
27
|
+
...C?.inlineCSS
|
|
28
28
|
},
|
|
29
29
|
children: [
|
|
30
|
-
!
|
|
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
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
-
...
|
|
60
|
-
children:
|
|
61
|
-
},
|
|
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,
|
package/dist/teacher/profile/components/AvailableScheduleSection/AvailableScheduleSection.d.ts
CHANGED
|
@@ -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;
|
package/dist/teacher/profile/components/AvailableScheduleSection/AvailableScheduleSection.mjs
CHANGED
|
@@ -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,
|
|
10
|
-
let { palette: { grey:
|
|
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:
|
|
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":
|
|
18
|
-
...
|
|
17
|
+
"aria-describedby": h ? "available-schedule-section-footer" : void 0,
|
|
18
|
+
...b,
|
|
19
19
|
inlineCSS: {
|
|
20
20
|
width: "100%",
|
|
21
|
-
...
|
|
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
|
-
|
|
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
|
-
...
|
|
37
|
-
border: `1px solid ${
|
|
37
|
+
...g ? void 0 : {
|
|
38
|
+
border: `1px solid ${S[20]}`,
|
|
38
39
|
borderRadius: 12
|
|
39
40
|
},
|
|
40
|
-
maxHeight:
|
|
41
|
+
maxHeight: w ? void 0 : v ? 384 : void 0,
|
|
41
42
|
overflow: "hidden"
|
|
42
43
|
},
|
|
43
44
|
children: [
|
|
44
|
-
!
|
|
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
|
-
...
|
|
49
|
+
..._,
|
|
49
50
|
children: n
|
|
50
51
|
}),
|
|
51
|
-
|
|
52
|
+
v && /* @__PURE__ */ l(i, {
|
|
52
53
|
variant: "text",
|
|
53
54
|
color: "secondary",
|
|
54
|
-
endAdornment: /* @__PURE__ */ l(o, { name:
|
|
55
|
-
onClick:
|
|
56
|
-
"aria-expanded":
|
|
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:
|
|
64
|
+
backgroundColor: S.white,
|
|
64
65
|
zIndex: 1
|
|
65
66
|
},
|
|
66
|
-
children:
|
|
67
|
+
children: w ? "접기" : "펼쳐보기"
|
|
67
68
|
})
|
|
68
69
|
]
|
|
69
|
-
}),
|
|
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:
|
|
75
|
+
children: h
|
|
75
76
|
})]
|
|
76
77
|
}),
|
|
77
|
-
typeof
|
|
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: !!
|
|
89
|
-
onChange:
|
|
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
|
-
!
|
|
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:
|
|
110
|
+
backgroundColor: C.primary
|
|
110
111
|
},
|
|
111
112
|
children: [
|
|
112
113
|
/* @__PURE__ */ l(e, {
|
|
113
114
|
width: 48,
|
|
114
115
|
height: 48,
|
|
115
|
-
src: `${
|
|
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:
|
|
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:
|
|
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>>;
|