@dotss/tictoccroc 0.8.1 → 0.9.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 CHANGED
@@ -80,26 +80,28 @@ import be from "./shared/components/Calendar/index.mjs";
80
80
  import xe from "./shared/components/ChatKit/Message/Message.fallback.mjs";
81
81
  import { getMessageLabel as Se, markMessageGroupBoundaries as Ce } from "./shared/components/ChatKit/Message/Message.utils.mjs";
82
82
  import we from "./shared/components/ChatKit/Message/index.mjs";
83
- import Te from "./shared/components/ChatKit/SystemMessage/(Actions)/DirectTrageRiskInfoBottomSheet/DirectTrageRiskInfoBottomSheet.mjs";
84
- import { getSystemMessageLabel as Ee } from "./shared/components/ChatKit/SystemMessage/SystemMessage.utils.mjs";
85
- import De from "./shared/components/ChatKit/SystemMessage/index.mjs";
86
- import { getBotMessageLabel as Oe, getCtaButtonText as ke } from "./shared/components/ChatKit/BotMessage/BotMessage.utils.mjs";
87
- import Ae from "./shared/components/ChatKit/BotMessage/index.mjs";
88
- import je from "./shared/components/ChatKit/InputBar/InputBar.fallback.mjs";
89
- import Me from "./shared/components/ChatKit/InputBar/index.mjs";
90
- import Ne from "./shared/components/ChatKit/Seperator/index.mjs";
91
- import Pe from "./shared/components/ChatKit/UnreadMessagePill/index.mjs";
92
- import Fe from "./parent/b2b/components/TopLogo/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";
93
95
  import "./parent/b2b/components/index.mjs";
94
- import Ie from "./shared/utils/isAndroid/index.mjs";
95
- import Le from "./shared/utils/isIos/index.mjs";
96
- import Re from "./shared/utils/isApp/index.mjs";
97
- import ze from "./shared/utils/isDesktop/index.mjs";
98
- import Be from "./shared/utils/ageToBirthDate/index.mjs";
99
- import Ve from "./shared/utils/objectToQueryString/index.mjs";
100
- import He from "./shared/utils/getVimeoId/index.mjs";
101
- import Ue from "./shared/utils/parseQueryString/index.mjs";
102
- import We from "./shared/utils/share/index.mjs";
103
- import Ge from "./shared/utils/getCareTypeLabel/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";
104
106
  import "./shared/utils/index.mjs";
105
- 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, Ae 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, Te as DirectTradeRiskInfoBottomSheet, y as EducationItem, b as EducationSection, le as EmployeeNumberField, a as Image, i as ImageError, Me as InputBar, je 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, Ne as Seperator, s as StatBadge, c as StatBadgeCollection, ee as Swiper, Q as SwiperBlock, De as SystemMessage, G as TextAccount, W as TextAccountFallback, ce as TextField, ye as TimePicker, me as Title, Fe as TopLogo, Pe as UnreadMessagePill, Be as ageToBirthDate, I as birthDateToAge, u as combineRef, ae as convertMdToHtml, O as dayFlagToDay, w as getAbilityCollection, j as getAvailableDateRange, Oe as getBotMessageLabel, Ge as getCareTypeLabel, B as getChildLabel, ke as getCtaButtonText, k as getDateRange, r as getImageUrl, Se as getMessageLabel, S as getPreferredAgeKeywords, Ee as getSystemMessageLabel, A as getTimeRange, He as getVimeoId, Ie as isAndroid, Re as isApp, ze as isDesktop, Le as isIos, t as isServer, de as isSuccess, fe as isValid, Ce as markMessageGroupBoundaries, Ve as objectToQueryString, Ue as parseQueryString, re as sanitize, We as share, d as useCombineRef, e as useInView, n as useIsomorphicLayoutEffect };
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 };
@@ -0,0 +1,30 @@
1
+ import { MessageStatus } from '../Message';
2
+ export type ImageMessageAssetState = 'NORMAL' | 'DELETED' | 'ERROR';
3
+ export interface ImageMessageAsset {
4
+ id: number;
5
+ type: 'IMAGE';
6
+ source: string;
7
+ state?: ImageMessageAssetState;
8
+ }
9
+ export interface ImageMessageProps {
10
+ id: string | number;
11
+ assets: ImageMessageAsset[];
12
+ mine: boolean;
13
+ status: MessageStatus;
14
+ regDatetime?: string;
15
+ unreadUserCount?: number;
16
+ avatarUrl?: string;
17
+ showAvatar?: boolean;
18
+ showTime?: boolean;
19
+ openMenu?: boolean;
20
+ onClickAsset?: (index: number) => void;
21
+ onErrorAsset?: (index: number) => void;
22
+ onClickAvatar?: () => void;
23
+ onClickMenu?: () => void;
24
+ onCloseMenu?: () => void;
25
+ onResend?: () => void;
26
+ onDelete?: () => void;
27
+ onView?: () => void;
28
+ }
29
+ declare function ImageMessage({ id, assets, mine, status, regDatetime, unreadUserCount, avatarUrl, showAvatar, showTime, openMenu, onClickAsset, onErrorAsset, onClickAvatar, onClickMenu, onCloseMenu, onResend, onDelete, onView }: ImageMessageProps): import("@emotion/react/jsx-runtime").JSX.Element;
30
+ export default ImageMessage;
@@ -0,0 +1,144 @@
1
+ import e from "../../../hooks/useInView/index.mjs";
2
+ import t from "../../Image/index.mjs";
3
+ import n from "../MessageFailedActions/index.mjs";
4
+ import { getPhotoAssetMessage as r } from "./ImageMessage.utils.mjs";
5
+ import { useEffect as i, useRef as a } from "react";
6
+ import { CircularProgressIndicator as o, Flexbox as s, Icon as c, Typography as l } from "@dotss/ui";
7
+ import u from "@dotss/ui/core/useTheme";
8
+ import d from "dayjs";
9
+ import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
10
+ //#region shared/components/ChatKit/ImageMessage/ImageMessage.tsx
11
+ var h = 2, g = 190, _ = 2, v = (g - _) / h, y = 190, b = 130, x = 32, S = (e) => e === 1 ? y : e === h ? b : v;
12
+ function C({ id: y, assets: b, mine: C, status: w, regDatetime: T, unreadUserCount: E = 0, avatarUrl: D = "", showAvatar: O = !1, showTime: k = !1, openMenu: A, onClickAsset: j, onErrorAsset: M, onClickAvatar: N, onClickMenu: P, onCloseMenu: F, onResend: I, onDelete: L, onView: R }) {
13
+ let { palette: { grey: z, brand: B, etc: V }, spacing: H } = u(), U = a(null), { isInView: W } = e(U), G = w === "FAILED", K = S(b.length);
14
+ return i(() => {
15
+ W && R?.();
16
+ }, [W, R]), /* @__PURE__ */ m(s, {
17
+ ref: U,
18
+ gap: 1,
19
+ pl: 4,
20
+ pr: 4,
21
+ alignItems: "flex-end",
22
+ flexDirection: C ? "row-reverse" : "row",
23
+ "aria-busy": w === "PENDING",
24
+ inlineCSS: {
25
+ paddingTop: H.content(1),
26
+ overflowAnchor: "none"
27
+ },
28
+ children: [
29
+ !C && /* @__PURE__ */ p(s, {
30
+ tag: "button",
31
+ type: "button",
32
+ onClick: N,
33
+ "aria-label": "프로필 보기",
34
+ inlineCSS: {
35
+ width: x,
36
+ height: x,
37
+ padding: 0,
38
+ border: "none",
39
+ borderRadius: "50%",
40
+ overflow: "hidden",
41
+ background: "transparent",
42
+ visibility: O ? "visible" : "hidden",
43
+ flexShrink: 0
44
+ },
45
+ children: O && D && /* @__PURE__ */ p(t, {
46
+ src: D,
47
+ alt: "",
48
+ width: x,
49
+ height: x,
50
+ borderRadius: "50%",
51
+ enableFallback: !0
52
+ })
53
+ }),
54
+ /* @__PURE__ */ p(s, {
55
+ inlineCSS: {
56
+ display: "grid",
57
+ gridTemplateColumns: `repeat(${h}, 1fr)`,
58
+ gridAutoRows: K,
59
+ gap: _,
60
+ width: g,
61
+ borderRadius: 12,
62
+ overflow: "hidden"
63
+ },
64
+ children: b.map((e, n) => {
65
+ let i = b.length % h === 1 && n === b.length - 1, a = i ? g : v, o = e.state ?? "NORMAL", u = o === "NORMAL" ? void 0 : r(o);
66
+ return /* @__PURE__ */ p(s, {
67
+ tag: "button",
68
+ type: "button",
69
+ flexDirection: "column",
70
+ justifyContent: "center",
71
+ alignItems: "center",
72
+ gap: 1,
73
+ onClick: () => j?.(n),
74
+ "aria-label": o === "NORMAL" ? `${n + 1}번째 사진 보기` : `${n + 1}번째 사진, ${u}`,
75
+ inlineCSS: {
76
+ gridColumn: i ? "1 / -1" : void 0,
77
+ padding: 0,
78
+ border: "none",
79
+ background: z[20],
80
+ cursor: "pointer"
81
+ },
82
+ children: o === "NORMAL" ? /* @__PURE__ */ p(t, {
83
+ src: e.source,
84
+ alt: "",
85
+ width: a,
86
+ height: K,
87
+ lazy: !0,
88
+ style: { objectFit: "cover" },
89
+ enableErrorFallback: !1,
90
+ onError: () => M?.(n)
91
+ }) : /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ p(c, {
92
+ name: "InfoFill",
93
+ size: "small",
94
+ color: "etc.red"
95
+ }), b.length === 1 && /* @__PURE__ */ p(l, {
96
+ variant: "b5M",
97
+ inlineCSS: { color: V.red },
98
+ children: u
99
+ })] })
100
+ }, e.id);
101
+ })
102
+ }),
103
+ G && C && /* @__PURE__ */ p(n, {
104
+ id: y,
105
+ openMenu: A,
106
+ onClickMenu: P,
107
+ onCloseMenu: F,
108
+ onResend: I,
109
+ onDelete: L
110
+ }),
111
+ !G && /* @__PURE__ */ m(s, {
112
+ flexDirection: "column",
113
+ alignItems: C ? "flex-end" : "flex-start",
114
+ inlineCSS: { whiteSpace: "nowrap" },
115
+ children: [
116
+ C && E > 0 && w === "SUCCEEDED" && /* @__PURE__ */ p(l, {
117
+ tag: "span",
118
+ variant: "c5B",
119
+ "aria-hidden": !0,
120
+ inlineCSS: { color: B.primary.text },
121
+ children: E
122
+ }),
123
+ C && E > 0 && w === "PENDING" && /* @__PURE__ */ p(o, {
124
+ size: "small",
125
+ loop: !0,
126
+ inlineCSS: {
127
+ width: 12,
128
+ height: 12
129
+ }
130
+ }),
131
+ k && T && /* @__PURE__ */ p(l, {
132
+ tag: "span",
133
+ variant: "c5R",
134
+ color: "etc.dimmed01",
135
+ "aria-hidden": !0,
136
+ children: d(T).format("A h:mm")
137
+ })
138
+ ]
139
+ })
140
+ ]
141
+ });
142
+ }
143
+ //#endregion
144
+ export { C as default };
@@ -0,0 +1,12 @@
1
+ import { ImageMessageAssetState } from '.';
2
+ import { MessageStatus } from '../Message';
3
+ interface ImageMessageLabelParams {
4
+ mine: boolean;
5
+ status: MessageStatus;
6
+ count: number;
7
+ unreadUserCount?: number;
8
+ regDatetime?: string;
9
+ }
10
+ export declare function getPhotoAssetMessage(state: Exclude<ImageMessageAssetState, 'NORMAL'>): "더 이상 볼 수 없는 사진이에요" | "사진을 불러올 수 없어요";
11
+ export declare function getImageMessageLabel({ mine, status, count, unreadUserCount, regDatetime }: ImageMessageLabelParams): string;
12
+ export {};
@@ -0,0 +1,21 @@
1
+ import { getMessageLabel as e } from "../Message/Message.utils.mjs";
2
+ //#region shared/components/ChatKit/ImageMessage/ImageMessage.utils.ts
3
+ var t = {
4
+ deleted: "더 이상 볼 수 없는 사진이에요",
5
+ error: "사진을 불러올 수 없어요"
6
+ };
7
+ function n(e) {
8
+ return e === "DELETED" ? t.deleted : t.error;
9
+ }
10
+ function r({ mine: t, status: n, count: r, unreadUserCount: i, regDatetime: a }) {
11
+ let o = `사진 ${r}장`;
12
+ return n === "FAILED" ? `${t ? "나" : "상대방"}, ${o}, 전송 실패` : e({
13
+ mine: t,
14
+ status: n,
15
+ unreadUserCount: i,
16
+ content: o,
17
+ regDatetime: a
18
+ });
19
+ }
20
+ //#endregion
21
+ export { r as getImageMessageLabel, n as getPhotoAssetMessage };
@@ -0,0 +1,4 @@
1
+ import { default as ImageMessage, ImageMessageAsset, ImageMessageAssetState, ImageMessageProps } from './ImageMessage';
2
+ export { getImageMessageLabel, getPhotoAssetMessage } from './ImageMessage.utils';
3
+ export type { ImageMessageAsset, ImageMessageAssetState, ImageMessageProps };
4
+ export default ImageMessage;
@@ -0,0 +1,6 @@
1
+ import { getImageMessageLabel as e, getPhotoAssetMessage as t } from "./ImageMessage.utils.mjs";
2
+ import n from "./ImageMessage.mjs";
3
+ //#region shared/components/ChatKit/ImageMessage/index.ts
4
+ var r = n;
5
+ //#endregion
6
+ export { r as default, e as getImageMessageLabel, t as getPhotoAssetMessage };
@@ -1,9 +1,10 @@
1
- import { ComponentPropsWithRef } from 'react';
1
+ import { ComponentPropsWithRef, ReactNode } from 'react';
2
2
  import { InlineCSS } from '@dotss/ui/typings/component';
3
3
  import { FlexboxProps } from 'node_modules/@dotss/ui/Flexbox/Flexbox';
4
4
  export interface InputBarProps extends ComponentPropsWithRef<'textarea'>, InlineCSS {
5
5
  wrapperProps?: FlexboxProps;
6
+ startAdornment?: ReactNode;
6
7
  onSend?: () => void;
7
8
  }
8
- declare function InputBar({ wrapperProps, inlineCSS, onSend, value, ref, ...props }: InputBarProps): import("@emotion/react/jsx-runtime").JSX.Element;
9
+ declare function InputBar({ wrapperProps, startAdornment, inlineCSS, onSend, value, ref, ...props }: InputBarProps): import("@emotion/react/jsx-runtime").JSX.Element;
9
10
  export default InputBar;
@@ -4,19 +4,19 @@ import o from "@dotss/ui/core/useTheme";
4
4
  import { jsx as s, jsxs as c } from "react/jsx-runtime";
5
5
  //#region shared/components/ChatKit/InputBar/InputBar.tsx
6
6
  var l = 24;
7
- function u({ wrapperProps: u, inlineCSS: d, onSend: f, value: p, ref: m, ...h }) {
8
- let { palette: { background: g, grey: _ }, spacing: v } = o(), [y, b] = r(l), x = n(null), S = n(null);
9
- t(m, () => S.current);
10
- let C = () => {
11
- !p || h.disabled || f?.();
7
+ function u({ wrapperProps: u, startAdornment: d, inlineCSS: f, onSend: p, value: m, ref: h, ...g }) {
8
+ let { palette: { background: _, grey: v }, spacing: y } = o(), [b, x] = r(l), S = n(null), C = n(null);
9
+ t(h, () => C.current);
10
+ let w = () => {
11
+ !m || g.disabled || p?.();
12
12
  };
13
13
  return e(() => {
14
- if (x.current) {
15
- x.current.style.height = `${l}px`;
16
- let e = x.current.scrollHeight;
17
- b(Math.min(e, l * 3));
14
+ if (S.current) {
15
+ S.current.style.height = `${l}px`;
16
+ let e = S.current.scrollHeight;
17
+ x(Math.min(e, l * 3));
18
18
  }
19
- }, [p]), /* @__PURE__ */ s(i, {
19
+ }, [m]), /* @__PURE__ */ c(i, {
20
20
  pt: 2,
21
21
  pb: 2,
22
22
  pl: 4,
@@ -25,11 +25,11 @@ function u({ wrapperProps: u, inlineCSS: d, onSend: f, value: p, ref: m, ...h })
25
25
  alignItems: "center",
26
26
  ...u,
27
27
  inlineCSS: {
28
- borderTop: `1px solid ${_[10]}`,
29
- backgroundColor: _.white,
28
+ borderTop: `1px solid ${v[10]}`,
29
+ backgroundColor: v.white,
30
30
  ...u?.inlineCSS
31
31
  },
32
- children: /* @__PURE__ */ c(i, {
32
+ children: [d, /* @__PURE__ */ c(i, {
33
33
  alignItems: "center",
34
34
  pt: 2,
35
35
  pb: 2,
@@ -38,41 +38,41 @@ function u({ wrapperProps: u, inlineCSS: d, onSend: f, value: p, ref: m, ...h })
38
38
  inlineCSS: {
39
39
  position: "relative",
40
40
  maxWidth: "100%",
41
- paddingRight: v.content(12),
42
- border: `1px solid ${_[10]}`,
41
+ paddingRight: y.content(12),
42
+ border: `1px solid ${v[10]}`,
43
43
  borderRadius: 20,
44
- backgroundColor: g.primary
44
+ backgroundColor: _.primary
45
45
  },
46
46
  children: [
47
47
  /* @__PURE__ */ s(i, {
48
- ref: x,
48
+ ref: S,
49
49
  tag: "textarea",
50
- value: p,
51
- maxLength: h.maxLength,
50
+ value: m,
51
+ maxLength: g.maxLength,
52
52
  readOnly: !0,
53
53
  "aria-hidden": !0,
54
54
  inlineCSS: {
55
- width: `calc(100% - ${v.content(16)}px)`,
55
+ width: `calc(100% - ${y.content(16)}px)`,
56
56
  minHeight: l,
57
57
  maxHeight: l,
58
58
  lineHeight: `${l}px`,
59
59
  border: "none",
60
60
  outline: "none",
61
61
  position: "absolute",
62
- top: v.content(2),
63
- left: v.content(4),
62
+ top: y.content(2),
63
+ left: y.content(4),
64
64
  visibility: "hidden"
65
65
  }
66
66
  }),
67
67
  /* @__PURE__ */ s(i, {
68
- ref: S,
68
+ ref: C,
69
69
  tag: "textarea",
70
70
  flexGrow: 1,
71
- value: p,
71
+ value: m,
72
72
  "aria-label": "메시지 입력",
73
- ...h,
73
+ ...g,
74
74
  inlineCSS: {
75
- height: y,
75
+ height: b,
76
76
  lineHeight: `${l}px`,
77
77
  border: "none",
78
78
  outline: "none",
@@ -80,11 +80,11 @@ function u({ wrapperProps: u, inlineCSS: d, onSend: f, value: p, ref: m, ...h })
80
80
  resize: "none",
81
81
  scrollbarWidth: "none",
82
82
  "&::-webkit-scrollbar": { display: "none" },
83
- ...d
83
+ ...f
84
84
  }
85
85
  }),
86
86
  /* @__PURE__ */ s("div", {
87
- onClick: C,
87
+ onClick: w,
88
88
  style: {
89
89
  position: "absolute",
90
90
  right: 0,
@@ -93,13 +93,13 @@ function u({ wrapperProps: u, inlineCSS: d, onSend: f, value: p, ref: m, ...h })
93
93
  children: /* @__PURE__ */ s(a, {
94
94
  name: "ArrowUpwardLine",
95
95
  variant: "filled",
96
- disabled: !p,
96
+ disabled: !m,
97
97
  "aria-label": "전송",
98
98
  inlineCSS: { pointerEvents: "none" }
99
99
  })
100
100
  })
101
101
  ]
102
- })
102
+ })]
103
103
  });
104
104
  }
105
105
  //#endregion
@@ -1,63 +1,55 @@
1
1
  import e from "../../../hooks/useInView/index.mjs";
2
2
  import t from "../../Image/index.mjs";
3
- import { useEffect as n, useImperativeHandle as r, useRef as i } from "react";
4
- import { Button as a, CircularProgressIndicator as o, Flexbox as s, Icon as c, Menu as l, MenuBlock as u, Typography as d } from "@dotss/ui";
5
- import f from "@dotss/ui/core/useTheme";
6
- import p from "dayjs";
7
- import { Fragment as m, jsx as h, jsxs as g } from "react/jsx-runtime";
8
- import { useCheckHoverPossible as _ } from "@dotss/ui/hooks";
9
- import { MenuButton as v } from "@dotss/ui/Menu";
3
+ import n from "../MessageFailedActions/index.mjs";
4
+ import { useEffect as r, useImperativeHandle as i, useRef as a } from "react";
5
+ import { Button as o, CircularProgressIndicator as s, Flexbox as c, Icon as l, Typography as u } from "@dotss/ui";
6
+ import d from "@dotss/ui/core/useTheme";
7
+ import f from "dayjs";
8
+ import { jsx as p, jsxs as m } from "react/jsx-runtime";
9
+ import { useCheckHoverPossible as h } from "@dotss/ui/hooks";
10
10
  //#region shared/components/ChatKit/Message/Message.tsx
11
- function y({ id: y, content: b = "", mine: x = !1, avatarUrl: S = "", unreadUserCount: C = 0, regDatetime: w, status: T, onView: E, openMenu: D, onClickAvatar: O, onCloseMenu: k, onClickMenu: A, onResend: j, onDelete: M, onViewAll: N, showAvatar: P, showTime: F, ref: I, inlineCSS: L, ...R }) {
12
- let { palette: { brand: z, grey: B, etc: V }, spacing: H } = f(), { isHoverPossible: U } = _(), W = i(null), G = i(null), K = i(null);
13
- r(I, () => W.current);
14
- let q = e(W), J = T === "FAILED", Y = b.length > 300, X = (e) => {
15
- e === "resend" ? (k?.(), K.current = setTimeout(() => {
16
- j?.();
17
- }, 200)) : e === "delete" && (k?.(), K.current = setTimeout(() => {
18
- M?.();
19
- }, 200));
20
- }, Z = (e) => {
11
+ function g({ id: g, content: _ = "", mine: v = !1, avatarUrl: y = "", unreadUserCount: b = 0, regDatetime: x, status: S, onView: C, openMenu: w, onClickAvatar: T, onCloseMenu: E, onClickMenu: D, onResend: O, onDelete: k, onViewAll: A, showAvatar: j, showTime: M, ref: N, inlineCSS: P, ...F }) {
12
+ let { palette: { brand: I, grey: L } } = d(), { isHoverPossible: R } = h(), z = a(null);
13
+ i(N, () => z.current);
14
+ let B = e(z), V = S === "FAILED", H = _.length > 300, U = (e) => {
21
15
  (e.key === "Enter" || e.key === " ") && (e.preventDefault(), e.currentTarget.click());
22
16
  };
23
- return n(() => {
24
- q && E?.();
25
- }, [q, E]), n(() => {
26
- J && W?.current?.scrollIntoView();
27
- }, [J]), n(() => () => {
28
- K.current && clearTimeout(K.current);
29
- }, []), /* @__PURE__ */ g(s, {
30
- ref: W,
17
+ return r(() => {
18
+ B && C?.();
19
+ }, [B, C]), r(() => {
20
+ V && z?.current?.scrollIntoView();
21
+ }, [V]), /* @__PURE__ */ m(c, {
22
+ ref: z,
31
23
  alignItems: "flex-end",
32
- flexDirection: x ? "row-reverse" : "row",
24
+ flexDirection: v ? "row-reverse" : "row",
33
25
  pl: 4,
34
26
  pr: 4,
35
27
  gap: 1,
36
- "aria-busy": T === "PENDING",
37
- ...R,
28
+ "aria-busy": S === "PENDING",
29
+ ...F,
38
30
  inlineCSS: {
39
- cursor: T === "PENDING" ? "wait" : "default",
31
+ cursor: S === "PENDING" ? "wait" : "default",
40
32
  overflowAnchor: "none",
41
- ...L
33
+ ...P
42
34
  },
43
35
  children: [
44
- /* @__PURE__ */ g(s, {
36
+ /* @__PURE__ */ m(c, {
45
37
  alignItems: "flex-start",
46
38
  gap: 2.5,
47
- children: [!x && P && S && /* @__PURE__ */ h(s, {
48
- role: typeof O == "function" ? "button" : void 0,
49
- tabIndex: typeof O == "function" ? 0 : -1,
50
- onClick: O,
51
- onKeyDown: Z,
52
- "aria-label": typeof O == "function" ? "선생님 프로필 보기" : void 0,
39
+ children: [!v && j && y && /* @__PURE__ */ p(c, {
40
+ role: typeof T == "function" ? "button" : void 0,
41
+ tabIndex: typeof T == "function" ? 0 : -1,
42
+ onClick: T,
43
+ onKeyDown: U,
44
+ "aria-label": typeof T == "function" ? "선생님 프로필 보기" : void 0,
53
45
  inlineCSS: {
54
46
  position: "relative",
55
47
  overflow: "hidden",
56
48
  minWidth: 32,
57
- cursor: typeof O == "function" ? "pointer" : void 0
49
+ cursor: typeof T == "function" ? "pointer" : void 0
58
50
  },
59
- children: /* @__PURE__ */ h(t, {
60
- src: S,
51
+ children: /* @__PURE__ */ p(t, {
52
+ src: y,
61
53
  width: 32,
62
54
  height: 32,
63
55
  borderRadius: "50%",
@@ -66,19 +58,19 @@ function y({ id: y, content: b = "", mine: x = !1, avatarUrl: S = "", unreadUser
66
58
  enableFallback: !0,
67
59
  style: { objectFit: "cover" }
68
60
  })
69
- }), /* @__PURE__ */ g(s, {
61
+ }), /* @__PURE__ */ m(c, {
70
62
  pt: 2,
71
63
  pb: 2,
72
64
  pl: 3,
73
65
  pr: 3,
74
- ml: !x && !P && S ? 10.5 : void 0,
66
+ ml: !v && !j && y ? 10.5 : void 0,
75
67
  flexDirection: "column",
76
68
  gap: 2.5,
77
69
  inlineCSS: {
78
70
  borderRadius: 12,
79
- backgroundColor: x ? z.primary.pageControl : B[10]
71
+ backgroundColor: v ? I.primary.pageControl : L[10]
80
72
  },
81
- children: [/* @__PURE__ */ h(d, {
73
+ children: [/* @__PURE__ */ p(u, {
82
74
  tag: "p",
83
75
  variant: "b3R",
84
76
  inlineCSS: {
@@ -87,76 +79,42 @@ function y({ id: y, content: b = "", mine: x = !1, avatarUrl: S = "", unreadUser
87
79
  userSelect: "text",
88
80
  "& *": { userSelect: "text" }
89
81
  },
90
- children: Y ? b.slice(0, 300) + "..." : b
91
- }), Y && /* @__PURE__ */ h(a, {
82
+ children: H ? _.slice(0, 300) + "..." : _
83
+ }), H && /* @__PURE__ */ p(o, {
92
84
  variant: "text",
93
85
  size: "xSmall",
94
- endAdornment: /* @__PURE__ */ h(c, { name: "ChevronRightLine" }),
95
- onClick: N,
86
+ endAdornment: /* @__PURE__ */ p(l, { name: "ChevronRightLine" }),
87
+ onClick: A,
96
88
  inlineCSS: {
97
89
  marginLeft: "auto",
98
- "&:active:not([aria-disabled=\"true\"])": { backgroundColor: z.primary.main },
99
- ...U && { "&:hover:not([aria-disabled=\"true\"])": { backgroundColor: z.primary.main } }
90
+ "&:active:not([aria-disabled=\"true\"])": { backgroundColor: I.primary.main },
91
+ ...R && { "&:hover:not([aria-disabled=\"true\"])": { backgroundColor: I.primary.main } }
100
92
  },
101
93
  children: "전체보기"
102
94
  })]
103
95
  })]
104
96
  }),
105
- J && /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ g(v, {
106
- ref: G,
107
- isMenuOpen: !!D,
108
- menuId: `message-${y}-menu`,
109
- onClick: A,
110
- size: "xSmall",
111
- inlineCSS: {
112
- padding: H.content(.5),
113
- gap: H.content(.5),
114
- borderRadius: 200,
115
- backgroundColor: D ? B[10] : "transparent",
116
- cursor: "pointer",
117
- ...U && { "&:hover": { backgroundColor: `${B[10]} !important` } },
118
- "&:active": { backgroundColor: `${B[10]} !important` }
119
- },
120
- children: [/* @__PURE__ */ h(c, {
121
- name: "ResetLine",
122
- size: "xSmall",
123
- color: "grey.70",
124
- inlineCSS: { color: `${B[70]} !important` }
125
- }), /* @__PURE__ */ h(c, {
126
- name: "CloseLine",
127
- size: "xSmall",
128
- color: "etc.red",
129
- inlineCSS: { color: `${V.red} !important` }
130
- })]
131
- }), /* @__PURE__ */ g(l, {
132
- id: `message-${y}-menu`,
133
- anchorRef: G,
134
- open: D,
135
- onClose: k,
136
- onChange: X,
137
- width: 160,
138
- placement: "bottom-left",
139
- children: [/* @__PURE__ */ h(u, {
140
- value: "resend",
141
- children: "재전송"
142
- }), /* @__PURE__ */ h(u, {
143
- value: "delete",
144
- children: "삭제"
145
- })]
146
- })] }),
147
- !J && /* @__PURE__ */ g(s, {
97
+ V && /* @__PURE__ */ p(n, {
98
+ id: g,
99
+ openMenu: w,
100
+ onClickMenu: D,
101
+ onCloseMenu: E,
102
+ onResend: O,
103
+ onDelete: k
104
+ }),
105
+ !V && /* @__PURE__ */ m(c, {
148
106
  flexDirection: "column",
149
- alignItems: x ? "flex-end" : "flex-start",
107
+ alignItems: v ? "flex-end" : "flex-start",
150
108
  inlineCSS: { whiteSpace: "nowrap" },
151
109
  children: [
152
- x && C > 0 && T === "SUCCEEDED" && /* @__PURE__ */ h(d, {
110
+ v && b > 0 && S === "SUCCEEDED" && /* @__PURE__ */ p(u, {
153
111
  tag: "span",
154
112
  variant: "c5B",
155
113
  "aria-hidden": !0,
156
- inlineCSS: { color: z.primary.text },
157
- children: C
114
+ inlineCSS: { color: I.primary.text },
115
+ children: b
158
116
  }),
159
- x && C > 0 && T === "PENDING" && /* @__PURE__ */ h(o, {
117
+ v && b > 0 && S === "PENDING" && /* @__PURE__ */ p(s, {
160
118
  size: "small",
161
119
  loop: !0,
162
120
  inlineCSS: {
@@ -164,12 +122,12 @@ function y({ id: y, content: b = "", mine: x = !1, avatarUrl: S = "", unreadUser
164
122
  height: 12
165
123
  }
166
124
  }),
167
- /* @__PURE__ */ h(d, {
125
+ /* @__PURE__ */ p(u, {
168
126
  tag: "span",
169
127
  variant: "c5R",
170
128
  color: "etc.dimmed01",
171
- inlineCSS: { display: F ? void 0 : "none" },
172
- children: p(w).format("A h:mm")
129
+ inlineCSS: { display: M ? void 0 : "none" },
130
+ children: f(x).format("A h:mm")
173
131
  })
174
132
  ]
175
133
  })
@@ -177,4 +135,4 @@ function y({ id: y, content: b = "", mine: x = !1, avatarUrl: S = "", unreadUser
177
135
  });
178
136
  }
179
137
  //#endregion
180
- export { y as default };
138
+ export { g as default };
@@ -0,0 +1,10 @@
1
+ export interface MessageFailedActionsProps {
2
+ id: string | number;
3
+ openMenu?: boolean;
4
+ onClickMenu?: () => void;
5
+ onCloseMenu?: () => void;
6
+ onResend?: () => void;
7
+ onDelete?: () => void;
8
+ }
9
+ declare function MessageFailedActions({ id, openMenu, onClickMenu, onCloseMenu, onResend, onDelete }: MessageFailedActionsProps): import("@emotion/react/jsx-runtime").JSX.Element;
10
+ export default MessageFailedActions;
@@ -0,0 +1,65 @@
1
+ import { useEffect as e, useRef as t } from "react";
2
+ import { Icon as n, Menu as r, MenuBlock as i } from "@dotss/ui";
3
+ import a from "@dotss/ui/core/useTheme";
4
+ import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
5
+ import { useCheckHoverPossible as l } from "@dotss/ui/hooks";
6
+ import { MenuButton as u } from "@dotss/ui/Menu";
7
+ //#region shared/components/ChatKit/MessageFailedActions/MessageFailedActions.tsx
8
+ var d = 200;
9
+ function f({ id: f, openMenu: p, onClickMenu: m, onCloseMenu: h, onResend: g, onDelete: _ }) {
10
+ let { palette: { grey: v, etc: y }, spacing: b } = a(), { isHoverPossible: x } = l(), S = t(null), C = t(null), w = (e) => {
11
+ if (e !== "resend" && e !== "delete") return;
12
+ let t = e === "resend" ? g : _;
13
+ C.current && clearTimeout(C.current), C.current = setTimeout(() => {
14
+ t?.();
15
+ }, d);
16
+ };
17
+ return e(() => () => {
18
+ C.current && clearTimeout(C.current);
19
+ }, []), /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ c(u, {
20
+ ref: S,
21
+ isMenuOpen: !!p,
22
+ menuId: `message-${f}-menu`,
23
+ onClick: () => m?.(),
24
+ size: "xSmall",
25
+ "aria-label": "전송 실패 메뉴 열기",
26
+ inlineCSS: {
27
+ padding: b.content(.5),
28
+ gap: b.content(.5),
29
+ borderRadius: 200,
30
+ backgroundColor: p ? v[10] : "transparent",
31
+ cursor: "pointer",
32
+ ...x && { "&:hover": { backgroundColor: `${v[10]} !important` } },
33
+ "&:active": { backgroundColor: `${v[10]} !important` }
34
+ },
35
+ children: [/* @__PURE__ */ s(n, {
36
+ name: "ResetLine",
37
+ size: "xSmall",
38
+ color: "grey.70",
39
+ inlineCSS: { color: `${v[70]} !important` }
40
+ }), /* @__PURE__ */ s(n, {
41
+ name: "CloseLine",
42
+ size: "xSmall",
43
+ color: "etc.red",
44
+ inlineCSS: { color: `${y.red} !important` }
45
+ })]
46
+ }), /* @__PURE__ */ c(r, {
47
+ id: `message-${f}-menu`,
48
+ anchorRef: S,
49
+ open: p,
50
+ onClose: h,
51
+ onChange: w,
52
+ transitionDuration: d,
53
+ width: 160,
54
+ placement: "bottom-left",
55
+ children: [/* @__PURE__ */ s(i, {
56
+ value: "resend",
57
+ children: "재전송"
58
+ }), /* @__PURE__ */ s(i, {
59
+ value: "delete",
60
+ children: "삭제"
61
+ })]
62
+ })] });
63
+ }
64
+ //#endregion
65
+ export { f as default };
@@ -0,0 +1,3 @@
1
+ import { default as MessageFailedActions, MessageFailedActionsProps } from './MessageFailedActions';
2
+ export type { MessageFailedActionsProps };
3
+ export default MessageFailedActions;
@@ -0,0 +1,5 @@
1
+ import e from "./MessageFailedActions.mjs";
2
+ //#region shared/components/ChatKit/MessageFailedActions/index.ts
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -1,10 +1,12 @@
1
1
  export { default as Message } from './Message';
2
+ export { default as ImageMessage } from './ImageMessage';
2
3
  export { default as SystemMessage } from './SystemMessage';
3
4
  export { default as BotMessage } from './BotMessage';
4
5
  export { default as InputBar } from './InputBar';
5
6
  export { default as Seperator } from './Seperator';
6
7
  export { default as UnreadMessagePill } from './UnreadMessagePill';
7
8
  export * from './Message';
9
+ export * from './ImageMessage';
8
10
  export * from './SystemMessage';
9
11
  export * from './BotMessage';
10
12
  export * from './InputBar';
@@ -1,13 +1,15 @@
1
1
  import e from "./Message/Message.fallback.mjs";
2
2
  import { getMessageLabel as t, markMessageGroupBoundaries as n } from "./Message/Message.utils.mjs";
3
3
  import r from "./Message/index.mjs";
4
- import i from "./SystemMessage/(Actions)/DirectTrageRiskInfoBottomSheet/DirectTrageRiskInfoBottomSheet.mjs";
5
- import { getSystemMessageLabel as a } from "./SystemMessage/SystemMessage.utils.mjs";
6
- import o from "./SystemMessage/index.mjs";
7
- import { getBotMessageLabel as s, getCtaButtonText as c } from "./BotMessage/BotMessage.utils.mjs";
8
- import l from "./BotMessage/index.mjs";
9
- import u from "./InputBar/InputBar.fallback.mjs";
10
- import d from "./InputBar/index.mjs";
11
- import f from "./Seperator/index.mjs";
12
- import p from "./UnreadMessagePill/index.mjs";
13
- export { l as BotMessage, i as DirectTradeRiskInfoBottomSheet, d as InputBar, u as InputBarFallback, r as Message, e as MessageFallback, f as Seperator, o as SystemMessage, p as UnreadMessagePill, s as getBotMessageLabel, c as getCtaButtonText, t as getMessageLabel, a as getSystemMessageLabel, n as markMessageGroupBoundaries };
4
+ import { getImageMessageLabel as i, getPhotoAssetMessage as a } from "./ImageMessage/ImageMessage.utils.mjs";
5
+ import o from "./ImageMessage/index.mjs";
6
+ import s from "./SystemMessage/(Actions)/DirectTrageRiskInfoBottomSheet/DirectTrageRiskInfoBottomSheet.mjs";
7
+ import { getSystemMessageLabel as c } from "./SystemMessage/SystemMessage.utils.mjs";
8
+ import l from "./SystemMessage/index.mjs";
9
+ import { getBotMessageLabel as u, getCtaButtonText as d } from "./BotMessage/BotMessage.utils.mjs";
10
+ import f from "./BotMessage/index.mjs";
11
+ import p from "./InputBar/InputBar.fallback.mjs";
12
+ import m from "./InputBar/index.mjs";
13
+ import h from "./Seperator/index.mjs";
14
+ import g from "./UnreadMessagePill/index.mjs";
15
+ export { f as BotMessage, s as DirectTradeRiskInfoBottomSheet, o as ImageMessage, m as InputBar, p as InputBarFallback, r as Message, e as MessageFallback, h as Seperator, l as SystemMessage, g as UnreadMessagePill, u as getBotMessageLabel, d as getCtaButtonText, i as getImageMessageLabel, t as getMessageLabel, a as getPhotoAssetMessage, c as getSystemMessageLabel, n as markMessageGroupBoundaries };
@@ -8,7 +8,7 @@ export { default as Image } from './Image';
8
8
  export { default as Calendar } from './Calendar';
9
9
  export { default as Masonry } from './Masonry';
10
10
  export { default as LoadingAnnouncer } from './LoadingAnnouncer';
11
- export { Message, SystemMessage, BotMessage, InputBar, Seperator, UnreadMessagePill } from './ChatKit';
11
+ export { Message, ImageMessage, SystemMessage, BotMessage, InputBar, Seperator, UnreadMessagePill } from './ChatKit';
12
12
  export { default as TextField } from './TextField';
13
13
  export * from './Scheduler';
14
14
  export * from './MediaDialog';
@@ -24,13 +24,15 @@ import S from "./Calendar/index.mjs";
24
24
  import C from "./ChatKit/Message/Message.fallback.mjs";
25
25
  import { getMessageLabel as w, markMessageGroupBoundaries as T } from "./ChatKit/Message/Message.utils.mjs";
26
26
  import E from "./ChatKit/Message/index.mjs";
27
- import D from "./ChatKit/SystemMessage/(Actions)/DirectTrageRiskInfoBottomSheet/DirectTrageRiskInfoBottomSheet.mjs";
28
- import { getSystemMessageLabel as O } from "./ChatKit/SystemMessage/SystemMessage.utils.mjs";
29
- import k from "./ChatKit/SystemMessage/index.mjs";
30
- import { getBotMessageLabel as A, getCtaButtonText as j } from "./ChatKit/BotMessage/BotMessage.utils.mjs";
31
- import M from "./ChatKit/BotMessage/index.mjs";
32
- import N from "./ChatKit/InputBar/InputBar.fallback.mjs";
33
- import P from "./ChatKit/InputBar/index.mjs";
34
- import F from "./ChatKit/Seperator/index.mjs";
35
- import I from "./ChatKit/UnreadMessagePill/index.mjs";
36
- export { M as BotMessage, S as Calendar, f as Carousel, d as CarouselSlide, D as DirectTradeRiskInfoBottomSheet, t as Image, e as ImageError, P as InputBar, N as InputBarFallback, u as LoadingAnnouncer, r as Masonry, n as MasonryBlock, m as MediaBlock, b as MediaDialog, _ as MediaDialogContent, v as MediaDialogFooter, y as MediaDialogToolbar, E as Message, C as MessageFallback, l as Roller, c as RollerBlock, o as ScheduleBlock, i as ScheduleEvent, s as Scheduler, F as Seperator, h as Swiper, p as SwiperBlock, k as SystemMessage, g as TextField, x as TimePicker, I as UnreadMessagePill, a as getAvailableDateRange, A as getBotMessageLabel, j as getCtaButtonText, w as getMessageLabel, O as getSystemMessageLabel, T as markMessageGroupBoundaries };
27
+ import { getImageMessageLabel as D, getPhotoAssetMessage as O } from "./ChatKit/ImageMessage/ImageMessage.utils.mjs";
28
+ import k from "./ChatKit/ImageMessage/index.mjs";
29
+ import A from "./ChatKit/SystemMessage/(Actions)/DirectTrageRiskInfoBottomSheet/DirectTrageRiskInfoBottomSheet.mjs";
30
+ import { getSystemMessageLabel as j } from "./ChatKit/SystemMessage/SystemMessage.utils.mjs";
31
+ import M from "./ChatKit/SystemMessage/index.mjs";
32
+ import { getBotMessageLabel as N, getCtaButtonText as P } from "./ChatKit/BotMessage/BotMessage.utils.mjs";
33
+ import F from "./ChatKit/BotMessage/index.mjs";
34
+ import I from "./ChatKit/InputBar/InputBar.fallback.mjs";
35
+ import L from "./ChatKit/InputBar/index.mjs";
36
+ import R from "./ChatKit/Seperator/index.mjs";
37
+ import z from "./ChatKit/UnreadMessagePill/index.mjs";
38
+ export { F as BotMessage, S as Calendar, f as Carousel, d as CarouselSlide, A as DirectTradeRiskInfoBottomSheet, t as Image, e as ImageError, k as ImageMessage, L as InputBar, I as InputBarFallback, u as LoadingAnnouncer, r as Masonry, n as MasonryBlock, m as MediaBlock, b as MediaDialog, _ as MediaDialogContent, v as MediaDialogFooter, y as MediaDialogToolbar, E as Message, C as MessageFallback, l as Roller, c as RollerBlock, o as ScheduleBlock, i as ScheduleEvent, s as Scheduler, R as Seperator, h as Swiper, p as SwiperBlock, M as SystemMessage, g as TextField, x as TimePicker, z as UnreadMessagePill, a as getAvailableDateRange, N as getBotMessageLabel, P as getCtaButtonText, D as getImageMessageLabel, w as getMessageLabel, O as getPhotoAssetMessage, j as getSystemMessageLabel, T as markMessageGroupBoundaries };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dotss/tictoccroc",
3
3
  "type": "module",
4
- "version": "0.8.1",
4
+ "version": "0.9.0",
5
5
  "description": "Tictoccroc shared components, hooks, utils, and APIs for Dotss",
6
6
  "main": "./dist/index.mjs",
7
7
  "module": "./dist/index.mjs",