quickblox-react-ui-kit 0.1.7 → 0.1.8

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 (39) hide show
  1. package/dist/Presentation/Views/Base/BaseViewModel.d.ts +7 -0
  2. package/dist/Presentation/Views/Dialogs/Dialogs.d.ts +3 -1
  3. package/dist/Presentation/components/UI/Dialogs/DialogInformation/DialogInformation.d.ts +3 -1
  4. package/dist/Presentation/components/UI/Dialogs/MessagesView/InputWidget/InputWidget.d.ts +8 -0
  5. package/dist/Presentation/components/UI/Dialogs/MessagesView/InputWidget/UseDefaultTextInputWidget.d.ts +2 -0
  6. package/dist/Presentation/components/UI/Dialogs/MessagesView/InputWidget/useDefaultVoiceInputWidget.d.ts +2 -0
  7. package/dist/Presentation/components/UI/Dialogs/MessagesView/MessagesView.d.ts +3 -1
  8. package/dist/Presentation/components/UI/svgs/Icons/Media/AIWidget/index.d.ts +4 -0
  9. package/dist/Presentation/components/layouts/TestStage/CompanyLogo/CompanyLogo.d.ts +3 -0
  10. package/dist/Presentation/components/providers/QuickBloxUIKitProvider/useQbInitializedDataContext.d.ts +3 -0
  11. package/dist/Presentation/components/providers/QuickBloxUIKitProvider/useQbUIKitDataContext.d.ts +3 -0
  12. package/dist/QBconfig.d.ts +12 -0
  13. package/dist/index-ui.d.ts +3 -2
  14. package/dist/index-ui.js +28 -17
  15. package/package.json +1 -1
  16. package/src/App.tsx +39 -18
  17. package/src/Presentation/Views/Base/BaseViewModel.ts +9 -1
  18. package/src/Presentation/Views/Dialogs/Dialogs.tsx +14 -8
  19. package/src/Presentation/Views/Dialogs/useDialogsViewModel.ts +1 -1
  20. package/src/Presentation/components/UI/Dialogs/DialogInformation/DialogInformation.tsx +17 -8
  21. package/src/Presentation/components/UI/Dialogs/DialogInformation/UsersList/useUsersListViewModel.ts +2 -2
  22. package/src/Presentation/components/UI/Dialogs/EditDialog/EditDialog.tsx +2 -2
  23. package/src/Presentation/components/UI/Dialogs/InviteMembers/useInviteMembersViewModel.ts +2 -2
  24. package/src/Presentation/components/UI/Dialogs/MessagesView/InputWidget/InputWidget.ts +15 -0
  25. package/src/Presentation/components/UI/Dialogs/MessagesView/InputWidget/UseDefaultTextInputWidget.tsx +60 -0
  26. package/src/Presentation/components/UI/Dialogs/MessagesView/InputWidget/useDefaultVoiceInputWidget.tsx +86 -0
  27. package/src/Presentation/components/UI/Dialogs/MessagesView/MessagesView.tsx +217 -48
  28. package/src/Presentation/components/UI/Dialogs/MessagesView/useMessagesViewModel.ts +2 -2
  29. package/src/Presentation/components/UI/svgs/Icons/Media/AIWidget/Send.svg +3 -0
  30. package/src/Presentation/components/UI/svgs/Icons/Media/AIWidget/index.tsx +39 -0
  31. package/src/Presentation/components/layouts/Desktop/QuickBloxUIKitDesktopLayout.tsx +50 -7
  32. package/src/Presentation/components/layouts/TestStage/CompanyLogo/CompanyLogo.tsx +27 -0
  33. package/src/Presentation/components/layouts/TestStage/LoginView/Login.tsx +2 -2
  34. package/src/Presentation/components/providers/QuickBloxUIKitProvider/useEventMessagesRepository.ts +2 -2
  35. package/src/Presentation/components/providers/QuickBloxUIKitProvider/{useQbDataContext.ts → useQbInitializedDataContext.ts} +2 -2
  36. package/src/Presentation/components/providers/QuickBloxUIKitProvider/useQbUIKitDataContext.ts +11 -0
  37. package/src/QBconfig.ts +13 -0
  38. package/src/index-ui.ts +4 -2
  39. package/dist/Presentation/components/providers/QuickBloxUIKitProvider/useQbDataContext.d.ts +0 -3
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { Pagination } from '../../../Domain/repository/Pagination';
2
3
  import { GroupDialogEntity } from '../../../Domain/entity/GroupDialogEntity';
3
4
  import { DialogEntity } from '../../../Domain/entity/DialogEntity';
@@ -13,6 +14,10 @@ export type EditDialogParams = {
13
14
  dialogTitle: string;
14
15
  dialogAvatar: File | string | null;
15
16
  };
17
+ export interface IChatMessage {
18
+ role: string;
19
+ content: string;
20
+ }
16
21
  export type FunctionTypeFileToToVoid = (file: File) => void;
17
22
  export type FunctionTypePaginationToVoid = (pagination: Pagination) => void;
18
23
  export type FunctionTypeVoidToVoid = () => void;
@@ -22,3 +27,5 @@ export type FunctionTypeEditDialogParamsToVoid = (params: EditDialogParams) => v
22
27
  export type FunctionTypeDialogEntityToDialogEntity = (entity: GroupDialogEntity) => Promise<DialogEntity>;
23
28
  export type FunctionTypeDialogEntityToBoolean = (entity: GroupDialogEntity) => Promise<boolean>;
24
29
  export type FunctionTypeFileToFileEntity = (file: File) => Promise<FileEntity>;
30
+ export type FunctionTypeJSXElement = () => JSX.Element;
31
+ export type FunctionTypeChatMessagesToVoid = (lastMessage: string, messages: IChatMessage) => void;
@@ -9,13 +9,15 @@ type DialogsComponentSettings = {
9
9
  themeName?: ThemeNames;
10
10
  withoutHeader?: boolean;
11
11
  useSubHeader?: boolean;
12
+ useUpHeader?: boolean;
12
13
  themeHeader?: UiKitTheme;
13
14
  themePreview?: UiKitTheme;
14
15
  };
15
16
  type DialogsProps = {
16
17
  header?: React.ReactNode;
17
18
  subHeaderContent?: React.ReactNode;
18
- itemSelectHandler?: FunctionTypeViewModelToVoid<DialogEntity>;
19
+ upHeaderContent?: React.ReactNode;
20
+ onDialogSelectHandler?: FunctionTypeViewModelToVoid<DialogEntity>;
19
21
  dialogsViewModel: DialogsViewModel;
20
22
  additionalSettings?: DialogsComponentSettings;
21
23
  };
@@ -7,8 +7,10 @@ import UiKitTheme from '../../../../assets/UiKitTheme';
7
7
  type HeaderDialogsProps = {
8
8
  dialog: DialogEntity;
9
9
  dialogViewModel: DialogsViewModel;
10
- closeInformationHandler: FunctionTypeVoidToVoid;
10
+ onCloseDialogInformationHandler: FunctionTypeVoidToVoid;
11
11
  theme?: UiKitTheme;
12
+ subHeaderContent?: React.ReactNode;
13
+ upHeaderContent?: React.ReactNode;
12
14
  };
13
15
  declare const DialogInformation: React.FC<HeaderDialogsProps>;
14
16
  export default DialogInformation;
@@ -0,0 +1,8 @@
1
+ import { FunctionTypeFileToToVoid, FunctionTypeJSXElement, FunctionTypeStringToVoid } from '../../../../../Views/Base/BaseViewModel';
2
+ export interface InputWidget {
3
+ renderWidget: FunctionTypeJSXElement;
4
+ textToWidget: FunctionTypeStringToVoid;
5
+ fileToWidget: FunctionTypeFileToToVoid;
6
+ textToInput: string | undefined;
7
+ fileToInput: File | undefined;
8
+ }
@@ -0,0 +1,2 @@
1
+ import { InputWidget } from './InputWidget';
2
+ export default function useDefaultTextInputWidget(): InputWidget;
@@ -0,0 +1,2 @@
1
+ import { InputWidget } from './InputWidget';
2
+ export default function useDefaultVoiceInputWidget(): InputWidget;
@@ -5,9 +5,11 @@ import UiKitTheme from '../../../../assets/UiKitTheme';
5
5
  import { DialogsViewModel } from '../../../../Views/Dialogs/DialogViewModel';
6
6
  type HeaderDialogsMessagesProps = {
7
7
  dialogsViewModel: DialogsViewModel;
8
- InformationHandler?: FunctionTypeVoidToVoid;
8
+ onDialogInformationHandler?: FunctionTypeVoidToVoid;
9
9
  maxWidthToResize?: string;
10
10
  theme?: UiKitTheme;
11
+ subHeaderContent?: React.ReactNode;
12
+ upHeaderContent?: React.ReactNode;
11
13
  };
12
14
  declare const MessagesView: React.FC<HeaderDialogsMessagesProps>;
13
15
  export default MessagesView;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { IconTheme } from '../../IconsCommonTypes';
3
+ declare function AIWidgetIcon(theme?: IconTheme | undefined): JSX.Element;
4
+ export default AIWidgetIcon;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const CompanyLogo: React.FC;
3
+ export default CompanyLogo;
@@ -0,0 +1,3 @@
1
+ import { QBDataContextType } from './QuickBloxUIKitProvider';
2
+ declare const useQbInitializedDataContext: () => QBDataContextType;
3
+ export default useQbInitializedDataContext;
@@ -0,0 +1,3 @@
1
+ import { QBDataContextType } from './QuickBloxUIKitProvider';
2
+ declare const useQbUIKitDataContext: () => QBDataContextType;
3
+ export default useQbUIKitDataContext;
@@ -6,6 +6,18 @@ export declare const QBConfig: {
6
6
  authSecret: string;
7
7
  sessionToken: string;
8
8
  };
9
+ configAIApi: {
10
+ AIAnswerAssistWidgetConfig: {
11
+ apiKey: string;
12
+ useDefault: boolean;
13
+ proxyConfig: {
14
+ api: string;
15
+ servername: string;
16
+ port: string;
17
+ sessionToken: string;
18
+ };
19
+ };
20
+ };
9
21
  appConfig: {
10
22
  maxFileSize: number;
11
23
  sessionTimeOut: number;
@@ -3,7 +3,7 @@ import MainButton, { TypeButton } from './Presentation/components/UI/Buttons/Mai
3
3
  import QuickBloxUIKitProvider, { qbDataContext, QBDataContextType } from './Presentation/components/providers/QuickBloxUIKitProvider/QuickBloxUIKitProvider';
4
4
  import { LocalDataSource } from './Data/source/local/LocalDataSource';
5
5
  import useQBConnection from './Presentation/components/providers/QuickBloxUIKitProvider/useQBConnection';
6
- import useQbDataContext from './Presentation/components/providers/QuickBloxUIKitProvider/useQbDataContext';
6
+ import useQbInitializedDataContext from './Presentation/components/providers/QuickBloxUIKitProvider/useQbInitializedDataContext';
7
7
  import useEventMessagesRepository from './Presentation/components/providers/QuickBloxUIKitProvider/useEventMessagesRepository';
8
8
  import { DialogsViewModel } from './Presentation/Views/Dialogs/DialogViewModel';
9
9
  import useDialogsViewModel from './Presentation/Views/Dialogs/useDialogsViewModel';
@@ -23,4 +23,5 @@ import { LoginData, AuthorizationData, RemoteDataSource } from './Data/source/re
23
23
  import QuickBloxUIKitDesktopLayout from './Presentation/components/layouts/Desktop/QuickBloxUIKitDesktopLayout';
24
24
  import DefaultTheme from './Presentation/assets/DefaultThemes/DefaultTheme';
25
25
  import UiKitTheme from './Presentation/assets/UiKitTheme';
26
- export { MainButton, TypeButton, type LoginData, type AuthorizationData, QuickBloxUIKitProvider, qbDataContext, type QBDataContextType, RemoteDataSource, LocalDataSource, useQBConnection, useQbDataContext, useEventMessagesRepository, type DialogsViewModel, useDialogsViewModel, SubscribeToDialogEventsUseCase, Pagination, type DialogEventInfo, EventMessageType, NotificationTypes, stringifyError, DesktopLayout, DialogsComponent, MessagesView, DialogInformation, type DialogEntity, BaseViewModel, QuickBloxUIKitDesktopLayout, DefaultTheme, type UiKitTheme, };
26
+ import useQbUIKitDataContext from './Presentation/components/providers/QuickBloxUIKitProvider/useQbUIKitDataContext';
27
+ export { MainButton, TypeButton, type LoginData, type AuthorizationData, QuickBloxUIKitProvider, qbDataContext, type QBDataContextType, RemoteDataSource, LocalDataSource, useQBConnection, useQbInitializedDataContext, useQbUIKitDataContext, useEventMessagesRepository, type DialogsViewModel, useDialogsViewModel, SubscribeToDialogEventsUseCase, Pagination, type DialogEventInfo, EventMessageType, NotificationTypes, stringifyError, DesktopLayout, DialogsComponent, MessagesView, DialogInformation, type DialogEntity, BaseViewModel, QuickBloxUIKitDesktopLayout, DefaultTheme, type UiKitTheme, };