@nodeblocks/frontend-chat-conversation-block 0.1.1 → 0.2.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.
@@ -1,10 +1,8 @@
1
- import { AvatarProps, ChatView, Spacing } from '@basaldev/blocks-frontend-framework';
1
+ import { AvatarProps, Box, Stack } from '@mui/material';
2
2
  import { ComponentProps, ReactNode } from 'react';
3
3
  import { BlocksOverride } from './lib';
4
- import '@basaldev/blocks-frontend-framework/dist/style.css';
5
- import './chat-conversation.css';
6
4
  declare const ChatConversation: {
7
- <CustomBlocks extends Record<string, ReactNode> = {}>({ chatView, onInputChange, onMessageSubmit, commentInput, commentSubmitButton, labels, onNavigate, placeholders, messages, className, children, ...props }: Omit<ComponentProps<typeof Spacing>, "children"> & {
5
+ <CustomBlocks extends Record<string, ReactNode> = {}>({ chatView, onInputChange, onMessageSubmit, commentInput, commentSubmitButton, labels, onNavigate, placeholders, messages, className, children, ...props }: Omit<ComponentProps<typeof Stack>, "children"> & {
8
6
  /** Callback when submitting a message*/
9
7
  onMessageSubmit?: (text: string) => void;
10
8
  /** Callback on comment change */
@@ -25,7 +23,12 @@ declare const ChatConversation: {
25
23
  chatView: {
26
24
  /** Configuration for the chat view heading above the chat view */
27
25
  heading?: {
28
- avatar?: AvatarProps;
26
+ avatar?: (Partial<AvatarProps> & {
27
+ isLoading?: boolean;
28
+ }) | (Partial<AvatarProps<"a">> & {
29
+ isLoading?: boolean;
30
+ component: "a";
31
+ });
29
32
  buttonHref: string;
30
33
  };
31
34
  /**
@@ -49,12 +52,13 @@ declare const ChatConversation: {
49
52
  * they will remain where they are.
50
53
  */
51
54
  messages: {
52
- /** Avatar used if no image is provided; if not provided, no avatar shown */
53
- avatarColor?: AvatarProps["avatarColor"];
54
- /** Avatar link href (requires onNavigate) */
55
- avatarHref?: AvatarProps["href"];
56
- /** Avatar picture */
57
- avatarUrl?: AvatarProps["avatarUrl"];
55
+ /** MUI Avatar props plus optional href for navigation (requires onNavigate) */
56
+ avatar?: Partial<AvatarProps> & {
57
+ /** Avatar link href (requires onNavigate) */
58
+ href?: string;
59
+ /** Show a temporary loading state (if this user has yet to finish loading) */
60
+ isLoading?: boolean;
61
+ };
58
62
  /** Message bubble content */
59
63
  content: string;
60
64
  /**
@@ -83,14 +87,16 @@ declare const ChatConversation: {
83
87
  };
84
88
  children?: BlocksOverride<typeof defaultBlocks, CustomBlocks>;
85
89
  }): import("react/jsx-runtime").JSX.Element;
86
- Heading(props: Partial<ComponentProps<"div"> & {
90
+ Heading(props: Partial<ComponentProps<typeof Stack> & {
87
91
  labels: {
88
92
  chatViewHeadingButtonText?: string;
89
93
  chatViewHeadingText?: string;
90
94
  };
91
95
  chatView: {
92
96
  heading?: {
93
- avatar?: AvatarProps;
97
+ avatar?: Partial<AvatarProps> & {
98
+ isLoading?: boolean;
99
+ };
94
100
  buttonHref: string;
95
101
  };
96
102
  isLoading?: boolean;
@@ -98,7 +104,7 @@ declare const ChatConversation: {
98
104
  };
99
105
  onNavigate: (url: string) => void;
100
106
  }>): import("react/jsx-runtime").JSX.Element;
101
- Body(props: Partial<ComponentProps<typeof ChatView> & {
107
+ Body(props: Partial<ComponentProps<typeof Box> & {
102
108
  onMessageSubmit?: (text: string) => void;
103
109
  onInputChange?: (text: string) => void;
104
110
  commentInput?: {
@@ -110,16 +116,19 @@ declare const ChatConversation: {
110
116
  };
111
117
  chatView: {
112
118
  heading?: {
113
- avatar?: AvatarProps;
119
+ avatar?: Partial<AvatarProps> & {
120
+ isLoading?: boolean;
121
+ };
114
122
  buttonHref: string;
115
123
  };
116
124
  isLoading?: boolean;
117
125
  onScrollTop?: (earliestMessageId: string) => void;
118
126
  };
119
127
  messages: {
120
- avatarColor?: AvatarProps["avatarColor"];
121
- avatarHref?: AvatarProps["href"];
122
- avatarUrl?: AvatarProps["avatarUrl"];
128
+ avatar?: Partial<AvatarProps> & {
129
+ href?: string;
130
+ isLoading?: boolean;
131
+ };
123
132
  content: string;
124
133
  createdAt: string;
125
134
  id: string;
@@ -133,28 +142,32 @@ declare const ChatConversation: {
133
142
  }>): import("react/jsx-runtime").JSX.Element;
134
143
  };
135
144
  declare const defaultBlocks: {
136
- heading: import("react").ReactElement<Partial<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
145
+ heading: import("react").ReactElement<Partial<import("@mui/material").StackOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("@mui/material/OverridableComponent").CommonProps | keyof import("@mui/material").StackOwnProps> & {
137
146
  labels: {
138
147
  chatViewHeadingButtonText?: string;
139
148
  chatViewHeadingText?: string;
140
149
  };
141
150
  chatView: {
142
151
  heading?: {
143
- avatar?: AvatarProps;
152
+ avatar?: Partial<AvatarProps> & {
153
+ isLoading?: boolean;
154
+ };
144
155
  buttonHref: string;
145
156
  };
146
157
  isLoading?: boolean;
147
158
  onScrollTop?: (earliestMessageId: string) => void;
148
159
  };
149
160
  onNavigate: (url: string) => void;
150
- }>, (props: Partial<ComponentProps<"div"> & {
161
+ }>, (props: Partial<ComponentProps<typeof Stack> & {
151
162
  labels: {
152
163
  chatViewHeadingButtonText?: string;
153
164
  chatViewHeadingText?: string;
154
165
  };
155
166
  chatView: {
156
167
  heading?: {
157
- avatar?: AvatarProps;
168
+ avatar?: Partial<AvatarProps> & {
169
+ isLoading?: boolean;
170
+ };
158
171
  buttonHref: string;
159
172
  };
160
173
  isLoading?: boolean;
@@ -162,7 +175,7 @@ declare const defaultBlocks: {
162
175
  };
163
176
  onNavigate: (url: string) => void;
164
177
  }>) => import("react/jsx-runtime").JSX.Element>;
165
- body: import("react").ReactElement<Partial<import("@basaldev/blocks-frontend-framework").ChatViewProps & {
178
+ body: import("react").ReactElement<Partial<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & {
166
179
  onMessageSubmit?: (text: string) => void;
167
180
  onInputChange?: (text: string) => void;
168
181
  commentInput?: {
@@ -174,16 +187,19 @@ declare const defaultBlocks: {
174
187
  };
175
188
  chatView: {
176
189
  heading?: {
177
- avatar?: AvatarProps;
190
+ avatar?: Partial<AvatarProps> & {
191
+ isLoading?: boolean;
192
+ };
178
193
  buttonHref: string;
179
194
  };
180
195
  isLoading?: boolean;
181
196
  onScrollTop?: (earliestMessageId: string) => void;
182
197
  };
183
198
  messages: {
184
- avatarColor?: AvatarProps["avatarColor"];
185
- avatarHref?: AvatarProps["href"];
186
- avatarUrl?: AvatarProps["avatarUrl"];
199
+ avatar?: Partial<AvatarProps> & {
200
+ href?: string;
201
+ isLoading?: boolean;
202
+ };
187
203
  content: string;
188
204
  createdAt: string;
189
205
  id: string;
@@ -194,7 +210,7 @@ declare const defaultBlocks: {
194
210
  placeholders: {
195
211
  commentInput: string;
196
212
  };
197
- }>, (props: Partial<ComponentProps<typeof ChatView> & {
213
+ }>, (props: Partial<ComponentProps<typeof Box> & {
198
214
  onMessageSubmit?: (text: string) => void;
199
215
  onInputChange?: (text: string) => void;
200
216
  commentInput?: {
@@ -206,16 +222,19 @@ declare const defaultBlocks: {
206
222
  };
207
223
  chatView: {
208
224
  heading?: {
209
- avatar?: AvatarProps;
225
+ avatar?: Partial<AvatarProps> & {
226
+ isLoading?: boolean;
227
+ };
210
228
  buttonHref: string;
211
229
  };
212
230
  isLoading?: boolean;
213
231
  onScrollTop?: (earliestMessageId: string) => void;
214
232
  };
215
233
  messages: {
216
- avatarColor?: AvatarProps["avatarColor"];
217
- avatarHref?: AvatarProps["href"];
218
- avatarUrl?: AvatarProps["avatarUrl"];
234
+ avatar?: Partial<AvatarProps> & {
235
+ href?: string;
236
+ isLoading?: boolean;
237
+ };
219
238
  content: string;
220
239
  createdAt: string;
221
240
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-conversation.d.ts","sourceRoot":"","sources":["../src/chat-conversation.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-conversation.d.ts","sourceRoot":"","sources":["../src/chat-conversation.tsx"],"names":[],"mappings":"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"}
package/dist/context.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AvatarProps } from '@basaldev/blocks-frontend-framework';
1
+ import { AvatarProps } from '@mui/material';
2
2
  import { ReactNode } from 'react';
3
3
  type ChatConversationContextValue = {
4
4
  /** Callback when submitting a message*/
@@ -21,7 +21,12 @@ type ChatConversationContextValue = {
21
21
  chatView: {
22
22
  /** Configuration for the chat view heading above the chat view */
23
23
  heading?: {
24
- avatar?: AvatarProps;
24
+ avatar?: (Partial<AvatarProps> & {
25
+ isLoading?: boolean;
26
+ }) | (Partial<AvatarProps<'a'>> & {
27
+ isLoading?: boolean;
28
+ component: 'a';
29
+ });
25
30
  buttonHref: string;
26
31
  };
27
32
  /**
@@ -45,12 +50,13 @@ type ChatConversationContextValue = {
45
50
  * they will remain where they are.
46
51
  */
47
52
  messages: {
48
- /** Avatar used if no image is provided; if not provided, no avatar shown */
49
- avatarColor?: AvatarProps['avatarColor'];
50
- /** Avatar link href (requires onNavigate) */
51
- avatarHref?: AvatarProps['href'];
52
- /** Avatar picture */
53
- avatarUrl?: AvatarProps['avatarUrl'];
53
+ /** MUI Avatar props plus optional href for navigation (requires onNavigate) */
54
+ avatar?: Partial<AvatarProps> & {
55
+ /** Avatar link href (requires onNavigate) */
56
+ href?: string;
57
+ /** Loading state - shows grey placeholder */
58
+ isLoading?: boolean;
59
+ };
54
60
  /** Message bubble content */
55
61
  content: string;
56
62
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAiB,SAAS,EAAc,MAAM,OAAO,CAAC;AAE7D,KAAK,4BAA4B,GAAG;IAClC,wCAAwC;IACxC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,iCAAiC;IACjC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEvC,8DAA8D;IAC9D,YAAY,CAAC,EAAE;QACb,mDAAmD;QACnD,UAAU,CAAC,EAAE,OAAO,CAAC;QAIrB,0DAA0D;QAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,kDAAkD;IAClD,mBAAmB,CAAC,EAAE;QACpB,mDAAmD;QACnD,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;IACF,+BAA+B;IAC/B,QAAQ,EAAE;QACR,kEAAkE;QAClE,OAAO,CAAC,EAAE;YACR,MAAM,CAAC,EAAE,WAAW,CAAC;YACrB,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;QACF;;;WAGG;QACH,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB;;;WAGG;QACH,WAAW,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,IAAI,CAAC;KACnD,CAAC;IACF;;;;;;;;OAQG;IACH,QAAQ,EAAE;QACR,4EAA4E;QAC5E,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;QACzC,6CAA6C;QAC7C,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,qBAAqB;QACrB,SAAS,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;QACrC,6BAA6B;QAC7B,OAAO,EAAE,MAAM,CAAC;QAChB;;;;WAIG;QACH,SAAS,EAAE,MAAM,CAAC;QAClB,kDAAkD;QAClD,EAAE,EAAE,MAAM,CAAC;QACX,iDAAiD;QACjD,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,8CAA8C;QAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,EAAE,CAAC;IACJ,+BAA+B;IAC/B,MAAM,EAAE;QACN,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,8CAA8C;IAC9C,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,qCAAqC;IACrC,YAAY,EAAE;QACZ,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC;AAIF,eAAO,MAAM,wBAAwB,GAAI,wBAGtC,4BAA4B,GAAG;IAChC,QAAQ,EAAE,SAAS,CAAC;CACrB,4CAEA,CAAC;AAEF,eAAO,MAAM,0BAA0B,oCAOtC,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAiB,SAAS,EAAc,MAAM,OAAO,CAAC;AAE7D,KAAK,4BAA4B,GAAG;IAClC,wCAAwC;IACxC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,iCAAiC;IACjC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEvC,8DAA8D;IAC9D,YAAY,CAAC,EAAE;QACb,mDAAmD;QACnD,UAAU,CAAC,EAAE,OAAO,CAAC;QAIrB,0DAA0D;QAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,kDAAkD;IAClD,mBAAmB,CAAC,EAAE;QACpB,mDAAmD;QACnD,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;IACF,+BAA+B;IAC/B,QAAQ,EAAE;QACR,kEAAkE;QAClE,OAAO,CAAC,EAAE;YACR,MAAM,CAAC,EACH,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG;gBAAE,SAAS,CAAC,EAAE,OAAO,CAAA;aAAE,CAAC,GAChD,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG;gBAAE,SAAS,CAAC,EAAE,OAAO,CAAC;gBAAC,SAAS,EAAE,GAAG,CAAA;aAAE,CAAC,CAAC;YAC1E,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;QACF;;;WAGG;QACH,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB;;;WAGG;QACH,WAAW,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,IAAI,CAAC;KACnD,CAAC;IACF;;;;;;;;OAQG;IACH,QAAQ,EAAE;QACR,+EAA+E;QAC/E,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG;YAC9B,6CAA6C;YAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,6CAA6C;YAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;SACrB,CAAC;QACF,6BAA6B;QAC7B,OAAO,EAAE,MAAM,CAAC;QAChB;;;;WAIG;QACH,SAAS,EAAE,MAAM,CAAC;QAClB,kDAAkD;QAClD,EAAE,EAAE,MAAM,CAAC;QACX,iDAAiD;QACjD,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,8CAA8C;QAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,EAAE,CAAC;IACJ,+BAA+B;IAC/B,MAAM,EAAE;QACN,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,8CAA8C;IAC9C,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,qCAAqC;IACrC,YAAY,EAAE;QACZ,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC;AAIF,eAAO,MAAM,wBAAwB,GAAI,wBAGtC,4BAA4B,GAAG;IAChC,QAAQ,EAAE,SAAS,CAAC;CACrB,4CAEA,CAAC;AAEF,eAAO,MAAM,0BAA0B,oCAOtC,CAAC"}