quickblox-react-ui-kit 0.2.0 → 0.2.2

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 (114) hide show
  1. package/dist/CommonTypes/FunctionResult.d.ts +47 -0
  2. package/dist/Data/DefaultConfigurations.d.ts +7 -0
  3. package/dist/Data/Stubs.d.ts +1 -1
  4. package/dist/Data/source/AISource.d.ts +13 -0
  5. package/dist/Domain/entity/MessageEntity.d.ts +1 -1
  6. package/dist/Presentation/Views/Base/BaseViewModel.d.ts +10 -6
  7. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/AIMessageWidget.d.ts +16 -0
  8. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/AIWidgetActions/AIWidgetActions.d.ts +14 -0
  9. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/SliderMenu.d.ts +23 -0
  10. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/Tone.d.ts +15 -0
  11. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIAssistAnswerWidget.d.ts +10 -0
  12. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIRephraseMessageWidget.d.ts +10 -0
  13. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAITranslateWidget.d.ts +10 -0
  14. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/useDefaultVoiceInputWidget.d.ts +2 -2
  15. package/dist/Presentation/components/UI/Dialogs/MessagesView/ContextMenu.d.ts +2 -1
  16. package/dist/Presentation/components/UI/Dialogs/MessagesView/DropDownMenu/DropDownMenu.d.ts +26 -0
  17. package/dist/Presentation/components/UI/Dialogs/MessagesView/DropDownMenu/ItemDropDownMenu/ItemDropDownMenu.d.ts +11 -0
  18. package/dist/Presentation/components/UI/Dialogs/MessagesView/InComingMessage/AvatarContentIncomingUser/AvatarContentIncomingUser.d.ts +3 -0
  19. package/dist/Presentation/components/UI/Dialogs/MessagesView/InComingMessage/InComingMessage.d.ts +15 -0
  20. package/dist/Presentation/components/UI/Dialogs/MessagesView/MessagesView.d.ts +5 -5
  21. package/dist/Presentation/components/UI/Dialogs/MessagesView/OutGoingMessage/OutGoingMessage.d.ts +9 -0
  22. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/BookIcon/BookIcon.d.ts +3 -0
  23. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/HammerIcon/index.d.ts +3 -0
  24. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/HandshakeIcon/index.d.ts +3 -0
  25. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/MuscleIcon/index.d.ts +3 -0
  26. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/NecktieIcon/index.d.ts +3 -0
  27. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/NeutralFaceIcon/index.d.ts +3 -0
  28. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/PalmsUpTogetherIcon/index.d.ts +3 -0
  29. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/PerformingArtsIcon/index.d.ts +3 -0
  30. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/PointUpIcon/index.d.ts +3 -0
  31. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/SmileyIcon/index.d.ts +3 -0
  32. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/SmirkIcon/index.d.ts +3 -0
  33. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/WhiteCheckMarkIcon/index.d.ts +3 -0
  34. package/dist/Presentation/components/UI/svgs/Icons/Actions/AssistAnswer/index.d.ts +4 -0
  35. package/dist/Presentation/components/UI/svgs/Icons/Actions/Summarize/index.d.ts +4 -0
  36. package/dist/Presentation/components/UI/svgs/Icons/Actions/Tone/index.d.ts +4 -0
  37. package/dist/Presentation/components/UI/svgs/Icons/Media/Translate/index.d.ts +4 -0
  38. package/dist/Presentation/components/layouts/Desktop/QuickBloxUIKitDesktopLayout.d.ts +5 -5
  39. package/dist/Presentation/components/providers/QuickBloxUIKitProvider/QuickBloxUIKitProvider.d.ts +1 -1
  40. package/dist/QBconfig.d.ts +23 -0
  41. package/dist/index-ui.d.ts +5 -1
  42. package/dist/index-ui.js +361 -42
  43. package/global.d.ts +48 -6
  44. package/package.json +1 -1
  45. package/src/App.tsx +20 -14
  46. package/src/CommonTypes/FunctionResult.ts +54 -0
  47. package/src/Data/DefaultConfigurations.ts +197 -0
  48. package/src/Data/Stubs.ts +15 -15
  49. package/src/Data/mapper/MessageLocalDTOMapper.ts +3 -2
  50. package/src/Data/mapper/MessageRemoteDTOMapper.ts +3 -2
  51. package/src/Data/source/AISource.ts +133 -0
  52. package/src/Data/source/remote/Mapper/MessageDTOMapper.ts +3 -3
  53. package/src/Domain/entity/MessageEntity.ts +1 -1
  54. package/src/Presentation/Views/Base/BaseViewModel.ts +9 -4
  55. package/src/Presentation/Views/Dialogs/Dialogs.tsx +37 -21
  56. package/src/Presentation/components/UI/Dialogs/HeaderDialogs/HeaderDialogs.scss +2 -2
  57. package/src/Presentation/components/UI/Dialogs/HeaderDialogs/HeaderDialogs.tsx +5 -5
  58. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/{AIWidget.ts → AIMessageWidget.ts} +14 -3
  59. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/AIWidgetActions/AIWidgetActions.scss +55 -0
  60. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/AIWidgetActions/AIWidgetActions.tsx +116 -0
  61. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/SliderMenu.tsx +172 -0
  62. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/Tone.ts +21 -0
  63. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIAssistAnswerWidget.tsx +99 -0
  64. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIRephraseMessageWidget.tsx +105 -0
  65. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAITranslateWidget.tsx +106 -0
  66. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/useDefaultVoiceInputWidget.tsx +7 -6
  67. package/src/Presentation/components/UI/Dialogs/MessagesView/ContextMenu.tsx +5 -6
  68. package/src/Presentation/components/UI/Dialogs/MessagesView/DropDownMenu/DropDownMenu.scss +84 -0
  69. package/src/Presentation/components/UI/Dialogs/MessagesView/DropDownMenu/DropDownMenu.tsx +105 -0
  70. package/src/Presentation/components/UI/Dialogs/MessagesView/DropDownMenu/ItemDropDownMenu/ItemDropDownMenu.scss +50 -0
  71. package/src/Presentation/components/UI/Dialogs/MessagesView/DropDownMenu/ItemDropDownMenu/ItemDropDownMenu.tsx +43 -0
  72. package/src/Presentation/components/UI/Dialogs/MessagesView/HeaderMessages/HeaderMessages.tsx +14 -11
  73. package/src/Presentation/components/UI/Dialogs/MessagesView/InComingMessage/AvatarContentIncomingUser/AvatarContentIncomingUser.scss +39 -0
  74. package/src/Presentation/components/UI/Dialogs/MessagesView/InComingMessage/AvatarContentIncomingUser/AvatarContentIncomingUser.tsx +26 -0
  75. package/src/Presentation/components/UI/Dialogs/MessagesView/InComingMessage/InComingMessage.scss +394 -0
  76. package/src/Presentation/components/UI/Dialogs/MessagesView/InComingMessage/InComingMessage.tsx +747 -0
  77. package/src/Presentation/components/UI/Dialogs/MessagesView/MessagesView.scss +88 -4
  78. package/src/Presentation/components/UI/Dialogs/MessagesView/MessagesView.tsx +589 -246
  79. package/src/Presentation/components/UI/Dialogs/MessagesView/OutGoingMessage/OutGoingMessage.scss +7 -0
  80. package/src/Presentation/components/UI/Dialogs/MessagesView/OutGoingMessage/OutGoingMessage.tsx +99 -0
  81. package/src/Presentation/components/UI/Dialogs/MessagesView/useMessagesViewModel.ts +7 -5
  82. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/BookIcon/BookIcon.tsx +7 -0
  83. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/HammerIcon/index.tsx +7 -0
  84. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/HandshakeIcon/index.tsx +7 -0
  85. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/MuscleIcon/index.tsx +7 -0
  86. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/NecktieIcon/index.tsx +7 -0
  87. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/NeutralFaceIcon/index.tsx +7 -0
  88. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/PalmsUpTogetherIcon/index.tsx +7 -0
  89. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/PerformingArtsIcon/index.tsx +7 -0
  90. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/PointUpIcon/index.tsx +7 -0
  91. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/SmileyIcon/index.tsx +20 -0
  92. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/SmirkIcon/index.tsx +7 -0
  93. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/WhiteCheckMarkIcon/index.tsx +7 -0
  94. package/src/Presentation/components/UI/svgs/Icons/Actions/AssistAnswer/AssistAnswer.svg +3 -0
  95. package/src/Presentation/components/UI/svgs/Icons/Actions/AssistAnswer/index.tsx +93 -0
  96. package/src/Presentation/components/UI/svgs/Icons/Actions/Summarize/Summarize.svg +6 -0
  97. package/src/Presentation/components/UI/svgs/Icons/Actions/Summarize/index.tsx +58 -0
  98. package/src/Presentation/components/UI/svgs/Icons/Actions/Tone/Tone.svg +3 -0
  99. package/src/Presentation/components/UI/svgs/Icons/Actions/Tone/index.tsx +34 -0
  100. package/src/Presentation/components/UI/svgs/Icons/Media/Translate/Translate.svg +3 -0
  101. package/src/Presentation/components/UI/svgs/Icons/Media/Translate/index.tsx +35 -0
  102. package/src/Presentation/components/layouts/Desktop/QuickBloxUIKitDesktopLayout.tsx +110 -36
  103. package/src/Presentation/components/providers/QuickBloxUIKitProvider/QuickBloxUIKitProvider.tsx +7 -6
  104. package/src/QBconfig.ts +33 -3
  105. package/src/index-ui.ts +9 -0
  106. package/src/utils/parse.ts +1 -1
  107. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/AIWidget.d.ts +0 -8
  108. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIAssistAnswerWidgetWithProxy.d.ts +0 -9
  109. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultTextInputWidget.d.ts +0 -2
  110. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIAssistAnswerWidgetWithProxy.tsx +0 -136
  111. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultTextInputWidget.tsx +0 -60
  112. /package/dist/Presentation/components/UI/svgs/Icons/{Media → AIWidgets}/AIWidget/index.d.ts +0 -0
  113. /package/src/Presentation/components/UI/svgs/Icons/{Media → AIWidgets}/AIWidget/Send.svg +0 -0
  114. /package/src/Presentation/components/UI/svgs/Icons/{Media → AIWidgets}/AIWidget/index.tsx +0 -0
@@ -0,0 +1,43 @@
1
+ import './ItemDropDownMenu.scss';
2
+ import React from 'react';
3
+ import { FunctionTypeVoidToVoid } from '../../../../../../Views/Base/BaseViewModel';
4
+
5
+ type ItemDropDownMenuProps = {
6
+ item: string;
7
+ icon?: React.ReactNode;
8
+ touchAction?: FunctionTypeVoidToVoid;
9
+ clickAction?: FunctionTypeVoidToVoid;
10
+ };
11
+
12
+ // eslint-disable-next-line react/function-component-definition
13
+ export const ItemDropDownMenu: React.FC<ItemDropDownMenuProps> = ({
14
+ item,
15
+ icon,
16
+ touchAction,
17
+ clickAction,
18
+ }: ItemDropDownMenuProps) => {
19
+ return (
20
+ <div
21
+ className="item-drop-down-menu-container"
22
+ onTouchStart={() => {
23
+ // eslint-disable-next-line no-unused-expressions
24
+ touchAction && typeof touchAction === 'function'
25
+ ? touchAction()
26
+ : () => {
27
+ console.log('item menu touched');
28
+ };
29
+ }}
30
+ onClick={() => {
31
+ // eslint-disable-next-line no-unused-expressions
32
+ clickAction && typeof clickAction === 'function'
33
+ ? clickAction()
34
+ : () => {
35
+ console.log('item menu clicked');
36
+ };
37
+ }}
38
+ >
39
+ <span className="item-drop-down-menu-container--title">{item}</span>
40
+ <div className="item-drop-down-menu-container--icon">{icon}</div>
41
+ </div>
42
+ );
43
+ };
@@ -3,7 +3,6 @@ import React from 'react';
3
3
  import { FunctionTypeVoidToVoid } from '../../../../../Views/Base/BaseViewModel';
4
4
  import { DialogEntity } from '../../../../../../Domain/entity/DialogEntity';
5
5
  import GroupChat from '../../../svgs/Icons/Contents/GroupChat';
6
- import Phone from '../../../svgs/Icons/Actions/Phone';
7
6
  import InformationFill from '../../../svgs/Icons/Status/InformationFill';
8
7
  import ActiveSvg from '../../../svgs/ActiveSvg/ActiveSvg';
9
8
  import { DialogType } from '../../../../../../Domain/entity/DialogTypes';
@@ -26,6 +25,7 @@ const HeaderMessages: React.FC<HeaderMessagesProps> = ({
26
25
  dialog,
27
26
  countMembers = 0,
28
27
  InformationHandler,
28
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
29
29
  CallHandler,
30
30
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
31
31
  theme = undefined,
@@ -101,16 +101,19 @@ const HeaderMessages: React.FC<HeaderMessagesProps> = ({
101
101
  </div>
102
102
  </div>
103
103
  <div className="message-header-container--info-wrapper__detail-button">
104
- <div className="message-header-container--info-wrapper__detail-button__call">
105
- <ActiveSvg
106
- content={<Phone width="32" height="32" applyZoom />}
107
- clickAction={() => {
108
- if (CallHandler) CallHandler();
109
- }}
110
- touchAction={() => {
111
- if (CallHandler) CallHandler();
112
- }}
113
- />
104
+ <div
105
+ className="message-header-container--info-wrapper__detail-button__call"
106
+ style={{ width: '32px' }}
107
+ >
108
+ {/* <ActiveSvg */}
109
+ {/* content={<Phone width="32" height="32" applyZoom />} */}
110
+ {/* clickAction={() => { */}
111
+ {/* if (CallHandler) CallHandler(); */}
112
+ {/* }} */}
113
+ {/* touchAction={() => { */}
114
+ {/* if (CallHandler) CallHandler(); */}
115
+ {/* }} */}
116
+ {/* /> */}
114
117
  </div>
115
118
  <div className="message-header-container--info-wrapper__detail-button__info">
116
119
  <ActiveSvg
@@ -0,0 +1,39 @@
1
+
2
+ .avatar-wrap {
3
+ padding: 0px 0px 16px 0px;
4
+ display: flex;
5
+ flex-direction: row;
6
+ gap: 10px;
7
+ align-items: flex-end;
8
+ justify-content: flex-start;
9
+ flex-shrink: 0;
10
+ position: relative;
11
+ }
12
+ .avatar {
13
+ flex-shrink: 0;
14
+ width: 36px;
15
+ height: 36px;
16
+ position: relative;
17
+ }
18
+ .rectangle {
19
+ width: 36px;
20
+ height: 36px;
21
+ position: absolute;
22
+ left: 0px;
23
+ top: 0px;
24
+ }
25
+ .ellipse {
26
+ background: var(--secondary-secondary-100, #bcc1c5);
27
+ border-radius: 50%;
28
+ width: 36px;
29
+ height: 36px;
30
+ position: absolute;
31
+ left: 0px;
32
+ top: 0px;
33
+ }
34
+ .contents-user {
35
+ position: absolute;
36
+ left: 6.43px;
37
+ top: 6.43px;
38
+ overflow: visible;
39
+ }
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import './AvatarContentIncomingUser.scss';
3
+
4
+ export default function AvatarContentIncomingUser() {
5
+ return (
6
+ <div className="avatar-wrap">
7
+ <div className="avatar">
8
+ <div className="rectangle" />
9
+ <div className="ellipse" />
10
+ <svg
11
+ className="contents-user"
12
+ width="24"
13
+ height="24"
14
+ viewBox="0 0 24 24"
15
+ fill="none"
16
+ xmlns="http://www.w3.org/2000/svg"
17
+ >
18
+ <path
19
+ d="M11.9999 6.11828C13.1185 6.11828 14.0249 7.0247 14.0249 8.14328C14.0249 9.26185 13.1185 10.1683 11.9999 10.1683C10.8814 10.1683 9.97493 9.26185 9.97493 8.14328C9.97493 7.0247 10.8814 6.11828 11.9999 6.11828ZM11.9999 14.7968C14.8639 14.7968 17.8821 16.2047 17.8821 16.8218V17.8826H6.11779V16.8218C6.11779 16.2047 9.136 14.7968 11.9999 14.7968ZM11.9999 4.28613C9.86886 4.28613 8.14279 6.0122 8.14279 8.14328C8.14279 10.2743 9.86886 12.0004 11.9999 12.0004C14.131 12.0004 15.8571 10.2743 15.8571 8.14328C15.8571 6.0122 14.131 4.28613 11.9999 4.28613ZM11.9999 12.9647C9.42529 12.9647 4.28564 14.2568 4.28564 16.8218V19.7147H19.7142V16.8218C19.7142 14.2568 14.5746 12.9647 11.9999 12.9647Z"
20
+ fill="#636D78"
21
+ />
22
+ </svg>
23
+ </div>
24
+ </div>
25
+ );
26
+ }
@@ -0,0 +1,394 @@
1
+ .message-view-container--incoming-message-wrapper--context-menu{
2
+ cursor: pointer;
3
+ display: flex;
4
+ flex-direction: column;
5
+ justify-content: flex-end;
6
+ min-width: 35px;
7
+ }
8
+
9
+ .widget-ai-translate-with-choice-languages-container{
10
+ display: flex;
11
+ flex-direction: row;
12
+ justify-content: center;
13
+ align-items: center;
14
+
15
+ &--default-language{
16
+ cursor: pointer;
17
+ }
18
+ &--separator{
19
+ margin-left: 10px;
20
+ margin-right: 5px;
21
+ }
22
+
23
+ &--select-language{
24
+ cursor: pointer;
25
+ }
26
+ }
27
+
28
+ // --------
29
+ .incoming-text-message,
30
+ .incoming-text-message * {
31
+ box-sizing: border-box;
32
+ }
33
+ .incoming-text-message {
34
+ background: var(--secondary-background);
35
+ padding: 0px 16px 8px 8px;
36
+ display: flex;
37
+ flex-direction: row;
38
+ gap: 8px;
39
+ align-items: flex-end;
40
+ justify-content: flex-start;
41
+ flex-shrink: 0;
42
+ width: 680px;
43
+ position: relative;
44
+ }
45
+ //.incoming {
46
+ // display: flex;
47
+ // flex-direction: column;
48
+ // gap: 2px;
49
+ // align-items: flex-start;
50
+ // justify-content: flex-end;
51
+ // flex-shrink: 0;
52
+ // position: relative;
53
+ //}
54
+ //.name {
55
+ // padding: 0px 16px 0px 16px;
56
+ // display: flex;
57
+ // flex-direction: row;
58
+ // gap: 8px;
59
+ // align-items: flex-start;
60
+ // justify-content: flex-start;
61
+ // flex-shrink: 0;
62
+ // position: relative;
63
+ //}
64
+ //.caption {
65
+ // display: flex;
66
+ // flex-direction: row;
67
+ // gap: 0px;
68
+ // align-items: center;
69
+ // justify-content: flex-start;
70
+ // flex-shrink: 0;
71
+ // position: relative;
72
+ //}
73
+ //.name2 {
74
+ // color: var(--secondary-secondary-300, #636d78);
75
+ // text-align: left;
76
+ // font: var(--label-label-medium, 500 12px/16px "Roboto", sans-serif);
77
+ // position: relative;
78
+ //}
79
+ //.message {
80
+ // display: flex;
81
+ // flex-direction: row;
82
+ // gap: 8px;
83
+ // align-items: flex-end;
84
+ // justify-content: flex-start;
85
+ // flex-shrink: 0;
86
+ // position: relative;
87
+ //}
88
+ //.bubble {
89
+ // display: flex;
90
+ // flex-direction: column;
91
+ // gap: 4px;
92
+ // align-items: flex-end;
93
+ // justify-content: flex-end;
94
+ // flex-shrink: 0;
95
+ // position: relative;
96
+ //}
97
+ //.bubble-w {
98
+ // display: flex;
99
+ // flex-direction: row;
100
+ // align-items: flex-end;
101
+ // justify-content: flex-end;
102
+ // flex-shrink: 0;
103
+ // position: relative;
104
+ //}
105
+ //.chat-bubble-background {
106
+ // background: var(--secondary-secondary-50, #e4e6e8);
107
+ // border-radius: 22px 22px 22px 0px;
108
+ // padding: 8px 12px 8px 12px;
109
+ // display: flex;
110
+ // flex-direction: row;
111
+ // gap: 10px;
112
+ // align-items: flex-start;
113
+ // justify-content: flex-start;
114
+ // flex-shrink: 0;
115
+ // position: relative;
116
+ // min-width: 120px;
117
+ // max-width: 480px;
118
+ //}
119
+ //.message-in-a-single-line {
120
+ // color: var(--secondary-secondary-900, #0b121b);
121
+ // text-align: left;
122
+ // font: var(--body-body-medium, 400 14px/20px "Roboto", sans-serif);
123
+ // position: relative;
124
+ // display: flex;
125
+ // align-items: center;
126
+ // justify-content: flex-start;
127
+ //}
128
+ //.translate {
129
+ // padding: 0px 12px 0px 0px;
130
+ // display: flex;
131
+ // flex-direction: row;
132
+ // gap: 8px;
133
+ // align-items: center;
134
+ // justify-content: flex-end;
135
+ // align-self: stretch;
136
+ // flex-shrink: 0;
137
+ // position: relative;
138
+ // // margin-right: 32px;
139
+ //}
140
+ //.caption2 {
141
+ // display: flex;
142
+ // flex-direction: row;
143
+ // gap: 0px;
144
+ // align-items: center;
145
+ // justify-content: flex-end;
146
+ // flex: 1;
147
+ // position: relative;
148
+ //}
149
+ //.time {
150
+ // color: var(--secondary-secondary-300, #636d78);
151
+ // text-align: right;
152
+ // font: var(--label-label-small, 500 11px/16px "Roboto", sans-serif);
153
+ // position: relative;
154
+ //}
155
+ //.ai-translate-action {
156
+ // color: var(--secondary-secondary-300, #636d78);
157
+ // text-align: right;
158
+ // font: var(--label-label-small, 500 11px/16px "Roboto", sans-serif);
159
+ // position: relative;
160
+ // cursor: pointer;
161
+ //}
162
+ //.icon {
163
+ // border-radius: 4px;
164
+ // display: flex;
165
+ // flex-direction: row;
166
+ // gap: 0px;
167
+ // align-items: center;
168
+ // justify-content: center;
169
+ // flex-shrink: 0;
170
+ // width: 16px;
171
+ // height: 16px;
172
+ // position: relative;
173
+ //}
174
+ //.media-translate {
175
+ // align-self: stretch;
176
+ // flex: 1;
177
+ // position: relative;
178
+ // overflow: visible;
179
+ //}
180
+ //.caption3 {
181
+ // padding: 0px 0px 16px 0px;
182
+ // display: flex;
183
+ // flex-direction: row;
184
+ // gap: 0px;
185
+ // align-items: flex-start;
186
+ // justify-content: flex-start;
187
+ // flex-shrink: 0;
188
+ // position: relative;
189
+ //}
190
+
191
+ .incoming {
192
+ display: flex;
193
+ flex-direction: column;
194
+ gap: 2px;
195
+ align-items: flex-start;
196
+ justify-content: flex-end;
197
+ flex-shrink: 0;
198
+ position: relative;
199
+ }
200
+ .name {
201
+ padding: 0px 16px 0px 16px;
202
+ display: flex;
203
+ flex-direction: row;
204
+ gap: 8px;
205
+ align-items: flex-start;
206
+ justify-content: flex-start;
207
+ flex-shrink: 0;
208
+ position: relative;
209
+ }
210
+ .caption {
211
+ display: flex;
212
+ flex-direction: row;
213
+ gap: 0px;
214
+ align-items: center;
215
+ justify-content: flex-start;
216
+ flex-shrink: 0;
217
+ position: relative;
218
+ }
219
+ .name2 {
220
+ color: var(--secondary-secondary-300, #636d78);
221
+ text-align: left;
222
+ font: var(--label-label-medium, 500 12px/16px "Roboto", sans-serif);
223
+ position: relative;
224
+ }
225
+ .message {
226
+ display: flex;
227
+ flex-direction: row;
228
+ gap: 8px;
229
+ align-items: flex-end;
230
+ justify-content: flex-start;
231
+ flex-shrink: 0;
232
+ position: relative;
233
+ }
234
+ .bubble {
235
+ display: flex;
236
+ flex-direction: column;
237
+ gap: 4px;
238
+ align-items: flex-end;
239
+ justify-content: flex-end;
240
+ flex-shrink: 0;
241
+ position: relative;
242
+ }
243
+ .chat-bubble-background {
244
+ background: var(--incoming-background);
245
+ border-radius: 22px 22px 22px 0px;
246
+ padding: 8px 12px 8px 12px;
247
+ display: flex;
248
+ flex-direction: row;
249
+ gap: 10px;
250
+ align-items: flex-start;
251
+ justify-content: flex-start;
252
+ flex-shrink: 0;
253
+ position: relative;
254
+ min-width: 120px;
255
+ max-width: 480px;
256
+ }
257
+ .message-in-a-single-line {
258
+ color: var(--secondary-secondary-900, #0b121b);
259
+ text-align: left;
260
+ font: var(--body-body-medium, 400 14px/20px "Roboto", sans-serif);
261
+ position: relative;
262
+ display: flex;
263
+ align-items: center;
264
+ justify-content: flex-start;
265
+ }
266
+ .translate {
267
+ padding: 0px 12px 0px 0px;
268
+ display: flex;
269
+ flex-direction: row;
270
+ gap: 8px;
271
+ align-items: center;
272
+ justify-content: flex-end;
273
+ align-self: stretch;
274
+ flex-shrink: 0;
275
+ position: relative;
276
+ }
277
+ .caption2 {
278
+ display: flex;
279
+ flex-direction: row;
280
+ gap: 0px;
281
+ align-items: center;
282
+ justify-content: flex-end;
283
+ flex: 1;
284
+ position: relative;
285
+ }
286
+ .time {
287
+ color: var(--secondary-secondary-300, #636d78);
288
+ text-align: right;
289
+ font: var(--label-label-small, 500 11px/16px "Roboto", sans-serif);
290
+ position: relative;
291
+ }
292
+ .icon {
293
+ border-radius: 4px;
294
+ display: flex;
295
+ flex-direction: row;
296
+ gap: 0px;
297
+ align-items: center;
298
+ justify-content: center;
299
+ flex-shrink: 0;
300
+ width: 16px;
301
+ height: 16px;
302
+ position: relative;
303
+ }
304
+ .media-translate {
305
+ align-self: stretch;
306
+ flex: 1;
307
+ position: relative;
308
+ overflow: visible;
309
+ }
310
+ .assist-answer {
311
+ padding: 0px 0px 16px 0px;
312
+ display: flex;
313
+ flex-direction: row;
314
+ gap: 10px;
315
+ align-items: center;
316
+ justify-content: center;
317
+ align-self: stretch;
318
+ flex-shrink: 0;
319
+ position: relative;
320
+ }
321
+ .icon2 {
322
+ border-radius: 4px;
323
+ padding: 4px;
324
+ display: flex;
325
+ flex-direction: row;
326
+ gap: 0px;
327
+ align-items: center;
328
+ justify-content: center;
329
+ flex-shrink: 0;
330
+ width: 32px;
331
+ height: 32px;
332
+ position: relative;
333
+ }
334
+ .status-loader {
335
+ align-self: stretch;
336
+ flex: 1;
337
+ position: relative;
338
+ overflow: visible;
339
+ }
340
+ .caption3 {
341
+ padding: 0px 0px 16px 0px;
342
+ display: flex;
343
+ flex-direction: row;
344
+ gap: 0px;
345
+ align-items: flex-start;
346
+ justify-content: flex-start;
347
+ flex-shrink: 0;
348
+ position: relative;
349
+ }
350
+
351
+ .ai-translate-action {
352
+ color: var(--secondary-secondary-300, #636d78);
353
+ text-align: right;
354
+ font: var(--label-label-small, 500 11px/16px "Roboto", sans-serif);
355
+ position: relative;
356
+ cursor: pointer;
357
+ }
358
+
359
+
360
+ // --- AIAssist
361
+ .assist-answer {
362
+ display: flex;
363
+ flex-direction: row;
364
+ gap: 10px;
365
+ align-items: center;
366
+ justify-content: center;
367
+ align-self: stretch;
368
+ flex-shrink: 0;
369
+ position: relative;
370
+ cursor: pointer;
371
+ }
372
+ .icon {
373
+ border-radius: 4px;
374
+ padding: 4px;
375
+ display: flex;
376
+ flex-direction: row;
377
+ gap: 0px;
378
+ align-items: center;
379
+ justify-content: center;
380
+ flex-shrink: 0;
381
+ width: 32px;
382
+ height: 32px;
383
+ position: relative;
384
+ }
385
+ .actions-assist-answer {
386
+ padding: 5px 3px 5px 3px;
387
+ align-self: stretch;
388
+ flex: 1;
389
+ position: relative;
390
+ overflow: visible;
391
+ }
392
+
393
+
394
+ //