|
@@ -1,4 +1,4 @@
|
|
|
-from typing import Optional
|
|
|
+from typing import List, Optional, Union
|
|
|
|
|
|
from ..dependencies import register_component
|
|
|
from ..element import Element
|
|
@@ -9,7 +9,7 @@ register_component('chat_message', __file__, 'chat_message.js')
|
|
|
class ChatMessage(Element):
|
|
|
|
|
|
def __init__(self,
|
|
|
- text: str, *,
|
|
|
+ text: Union[str, List[str]], *,
|
|
|
name: Optional[str] = None,
|
|
|
label: Optional[str] = None,
|
|
|
stamp: Optional[str] = None,
|
|
@@ -20,7 +20,7 @@ class ChatMessage(Element):
|
|
|
|
|
|
Based on Quasar's `Chat Message <https://quasar.dev/vue-components/chat/>`_ component.
|
|
|
|
|
|
- :param text: the message body
|
|
|
+ :param text: the message body (can be a list of strings for multiple message parts)
|
|
|
:param name: the name of the message author
|
|
|
:param label: renders a label header/section only
|
|
|
:param stamp: timestamp of the message
|
|
@@ -28,7 +28,7 @@ class ChatMessage(Element):
|
|
|
:param sent: render as a sent message (so from current user) (default: False)
|
|
|
"""
|
|
|
super().__init__('chat_message')
|
|
|
- self._props['text'] = text
|
|
|
+ self._props['text'] = [text] if isinstance(text, str) else text
|
|
|
if name is not None:
|
|
|
self._props['name'] = name
|
|
|
if label is not None:
|