vue-parley 4.0.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/LICENSE +21 -0
- package/README.md +276 -0
- package/dist/chat.css +3223 -0
- package/dist/chunks/Call-CTIujxDi.cjs +818 -0
- package/dist/chunks/Call-CTIujxDi.cjs.map +1 -0
- package/dist/chunks/Call-Dwuyd-Ut.mjs +818 -0
- package/dist/chunks/Call-Dwuyd-Ut.mjs.map +1 -0
- package/dist/chunks/index-D50Yn7q4.cjs +7031 -0
- package/dist/chunks/index-D50Yn7q4.cjs.map +1 -0
- package/dist/chunks/index-JU_JZkSC.mjs +7010 -0
- package/dist/chunks/index-JU_JZkSC.mjs.map +1 -0
- package/dist/chunks/session-B3KIrj3_.mjs +711 -0
- package/dist/chunks/session-B3KIrj3_.mjs.map +1 -0
- package/dist/chunks/session-BOfkV8PJ.cjs +711 -0
- package/dist/chunks/session-BOfkV8PJ.cjs.map +1 -0
- package/dist/fakes.cjs +335 -0
- package/dist/fakes.cjs.map +1 -0
- package/dist/fakes.mjs +335 -0
- package/dist/fakes.mjs.map +1 -0
- package/dist/index.cjs +24 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.mjs +24 -0
- package/dist/index.mjs.map +1 -0
- package/dist/types/app/components/ChatPage.vue.d.ts +60 -0
- package/dist/types/app/components/ChatPage.vue.d.ts.map +1 -0
- package/dist/types/app/components/call/Call.vue.d.ts +8 -0
- package/dist/types/app/components/call/Call.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/ChatBubble.vue.d.ts +64 -0
- package/dist/types/app/components/chat/ChatBubble.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/ChatInput.vue.d.ts +60 -0
- package/dist/types/app/components/chat/ChatInput.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/ChatMessages.vue.d.ts +45 -0
- package/dist/types/app/components/chat/ChatMessages.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/ChatPageBar.vue.d.ts +50 -0
- package/dist/types/app/components/chat/ChatPageBar.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/ChatProfileOverview.vue.d.ts +11 -0
- package/dist/types/app/components/chat/ChatProfileOverview.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/ChatView.vue.d.ts +244 -0
- package/dist/types/app/components/chat/ChatView.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/chat-bubbles/BubbleDivider.vue.d.ts +7 -0
- package/dist/types/app/components/chat/chat-bubbles/BubbleDivider.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/chat-bubbles/BubbleImages.vue.d.ts +13 -0
- package/dist/types/app/components/chat/chat-bubbles/BubbleImages.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/chat-bubbles/BubbleMeta.vue.d.ts +11 -0
- package/dist/types/app/components/chat/chat-bubbles/BubbleMeta.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/chat-bubbles/BubbleOptions.vue.d.ts +16 -0
- package/dist/types/app/components/chat/chat-bubbles/BubbleOptions.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/chat-bubbles/BubbleRequest.vue.d.ts +8 -0
- package/dist/types/app/components/chat/chat-bubbles/BubbleRequest.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/chat-bubbles/BubbleSelectionMark.vue.d.ts +7 -0
- package/dist/types/app/components/chat/chat-bubbles/BubbleSelectionMark.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/chat-bubbles/BubbleStatus.vue.d.ts +7 -0
- package/dist/types/app/components/chat/chat-bubbles/BubbleStatus.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/chat-bubbles/BubbleVideo.vue.d.ts +25 -0
- package/dist/types/app/components/chat/chat-bubbles/BubbleVideo.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/chat-bubbles/FileDisplay.vue.d.ts +13 -0
- package/dist/types/app/components/chat/chat-bubbles/FileDisplay.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/chat-bubbles/ImageGroupDisplay.vue.d.ts +14 -0
- package/dist/types/app/components/chat/chat-bubbles/ImageGroupDisplay.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/chat-bubbles/ReplyPreview.vue.d.ts +10 -0
- package/dist/types/app/components/chat/chat-bubbles/ReplyPreview.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/chat-bubbles/UploadProgressOverlay.vue.d.ts +10 -0
- package/dist/types/app/components/chat/chat-bubbles/UploadProgressOverlay.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/chat-bubbles/VoiceDisplay.vue.d.ts +12 -0
- package/dist/types/app/components/chat/chat-bubbles/VoiceDisplay.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/chat-input/AttachementFileDisplay.vue.d.ts +12 -0
- package/dist/types/app/components/chat/chat-input/AttachementFileDisplay.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/chat-input/InputActionBar.vue.d.ts +13 -0
- package/dist/types/app/components/chat/chat-input/InputActionBar.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/chat-input/InputAttachement.vue.d.ts +18 -0
- package/dist/types/app/components/chat/chat-input/InputAttachement.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/chat-input/PermissionPopup.vue.d.ts +8 -0
- package/dist/types/app/components/chat/chat-input/PermissionPopup.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/chat-input/RecordButton.vue.d.ts +27 -0
- package/dist/types/app/components/chat/chat-input/RecordButton.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/chat-input/RecordingStatus.vue.d.ts +12 -0
- package/dist/types/app/components/chat/chat-input/RecordingStatus.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/chat-input/VideoRecordDisplay.vue.d.ts +26 -0
- package/dist/types/app/components/chat/chat-input/VideoRecordDisplay.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/contact/ChatContactDisplay.vue.d.ts +8 -0
- package/dist/types/app/components/chat/contact/ChatContactDisplay.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/contact/ChatList.vue.d.ts +5 -0
- package/dist/types/app/components/chat/contact/ChatList.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/contact/ChatListSearch.vue.d.ts +16 -0
- package/dist/types/app/components/chat/contact/ChatListSearch.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/contact/ContactAvatar.vue.d.ts +10 -0
- package/dist/types/app/components/chat/contact/ContactAvatar.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/contact/ContactSkeleton.vue.d.ts +3 -0
- package/dist/types/app/components/chat/contact/ContactSkeleton.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/messages/FloatingDateHeader.vue.d.ts +9 -0
- package/dist/types/app/components/chat/messages/FloatingDateHeader.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/messages/MessagesSkeleton.vue.d.ts +8 -0
- package/dist/types/app/components/chat/messages/MessagesSkeleton.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/messages/ScrollToBottomButton.vue.d.ts +11 -0
- package/dist/types/app/components/chat/messages/ScrollToBottomButton.vue.d.ts.map +1 -0
- package/dist/types/app/components/chat/profile/FileDisplay.vue.d.ts +9 -0
- package/dist/types/app/components/chat/profile/FileDisplay.vue.d.ts.map +1 -0
- package/dist/types/app/components/general/ConfirmModal.vue.d.ts +21 -0
- package/dist/types/app/components/general/ConfirmModal.vue.d.ts.map +1 -0
- package/dist/types/app/components/general/FileFormatDisplay.vue.d.ts +16 -0
- package/dist/types/app/components/general/FileFormatDisplay.vue.d.ts.map +1 -0
- package/dist/types/app/components/general/IconButton.vue.d.ts +13 -0
- package/dist/types/app/components/general/IconButton.vue.d.ts.map +1 -0
- package/dist/types/app/components/general/LoadingStatus.vue.d.ts +16 -0
- package/dist/types/app/components/general/LoadingStatus.vue.d.ts.map +1 -0
- package/dist/types/app/components/general/MediaImage.vue.d.ts +30 -0
- package/dist/types/app/components/general/MediaImage.vue.d.ts.map +1 -0
- package/dist/types/app/components/general/NoDataDisplay.vue.d.ts +7 -0
- package/dist/types/app/components/general/NoDataDisplay.vue.d.ts.map +1 -0
- package/dist/types/app/components/general/ResponsiveDialog.vue.d.ts +28 -0
- package/dist/types/app/components/general/ResponsiveDialog.vue.d.ts.map +1 -0
- package/dist/types/app/components/general/SafeEmojiText.vue.d.ts +10 -0
- package/dist/types/app/components/general/SafeEmojiText.vue.d.ts.map +1 -0
- package/dist/types/app/components/global/BEmojiPicker.vue.d.ts +8 -0
- package/dist/types/app/components/global/BEmojiPicker.vue.d.ts.map +1 -0
- package/dist/types/app/components/global/BIcon.vue.d.ts +11 -0
- package/dist/types/app/components/global/BIcon.vue.d.ts.map +1 -0
- package/dist/types/app/components/global/BVirtualVerticalList.vue.d.ts +30 -0
- package/dist/types/app/components/global/BVirtualVerticalList.vue.d.ts.map +1 -0
- package/dist/types/app/composables/call/media.d.ts +204 -0
- package/dist/types/app/composables/call/media.d.ts.map +1 -0
- package/dist/types/app/composables/call/peer.d.ts +39 -0
- package/dist/types/app/composables/call/peer.d.ts.map +1 -0
- package/dist/types/app/composables/call/peers.d.ts +54 -0
- package/dist/types/app/composables/call/peers.d.ts.map +1 -0
- package/dist/types/app/composables/call/session.d.ts +284 -0
- package/dist/types/app/composables/call/session.d.ts.map +1 -0
- package/dist/types/app/composables/call/signaling.d.ts +36 -0
- package/dist/types/app/composables/call/signaling.d.ts.map +1 -0
- package/dist/types/app/composables/call/useCallUi.d.ts +27 -0
- package/dist/types/app/composables/call/useCallUi.d.ts.map +1 -0
- package/dist/types/app/composables/chat/useChatRecording.d.ts +75 -0
- package/dist/types/app/composables/chat/useChatRecording.d.ts.map +1 -0
- package/dist/types/app/composables/chat/useInputDraft.d.ts +14 -0
- package/dist/types/app/composables/chat/useInputDraft.d.ts.map +1 -0
- package/dist/types/app/composables/useAppPermissions.d.ts +25 -0
- package/dist/types/app/composables/useAppPermissions.d.ts.map +1 -0
- package/dist/types/app/composables/useAppToast.d.ts +13 -0
- package/dist/types/app/composables/useAppToast.d.ts.map +1 -0
- package/dist/types/app/composables/useAttachmentPicker.d.ts +18 -0
- package/dist/types/app/composables/useAttachmentPicker.d.ts.map +1 -0
- package/dist/types/app/composables/useCall.d.ts +91 -0
- package/dist/types/app/composables/useCall.d.ts.map +1 -0
- package/dist/types/app/composables/useChatMessageList.d.ts +18 -0
- package/dist/types/app/composables/useChatMessageList.d.ts.map +1 -0
- package/dist/types/app/composables/useDate.d.ts +7 -0
- package/dist/types/app/composables/useDate.d.ts.map +1 -0
- package/dist/types/app/composables/useDevice.d.ts +32 -0
- package/dist/types/app/composables/useDevice.d.ts.map +1 -0
- package/dist/types/app/composables/useFlippedVirtualScroll.d.ts +22 -0
- package/dist/types/app/composables/useFlippedVirtualScroll.d.ts.map +1 -0
- package/dist/types/app/composables/useHostI18n.d.ts +15 -0
- package/dist/types/app/composables/useHostI18n.d.ts.map +1 -0
- package/dist/types/app/composables/useLocalI18n.d.ts +5 -0
- package/dist/types/app/composables/useLocalI18n.d.ts.map +1 -0
- package/dist/types/app/composables/useLongPress.d.ts +6 -0
- package/dist/types/app/composables/useLongPress.d.ts.map +1 -0
- package/dist/types/app/composables/useRichTextEditor.d.ts +12 -0
- package/dist/types/app/composables/useRichTextEditor.d.ts.map +1 -0
- package/dist/types/app/directives/loading.d.ts +6 -0
- package/dist/types/app/directives/loading.d.ts.map +1 -0
- package/dist/types/app/index.d.ts +31 -0
- package/dist/types/app/index.d.ts.map +1 -0
- package/dist/types/app/plugin.d.ts +28 -0
- package/dist/types/app/plugin.d.ts.map +1 -0
- package/dist/types/app/provider/callProvider.d.ts +7 -0
- package/dist/types/app/provider/callProvider.d.ts.map +1 -0
- package/dist/types/app/stores/callStore.d.ts +1626 -0
- package/dist/types/app/stores/callStore.d.ts.map +1 -0
- package/dist/types/app/stores/chatStore.d.ts +126 -0
- package/dist/types/app/stores/chatStore.d.ts.map +1 -0
- package/dist/types/app/stores/mediaStore.d.ts +18 -0
- package/dist/types/app/stores/mediaStore.d.ts.map +1 -0
- package/dist/types/app/stores/messageStores.d.ts +2460 -0
- package/dist/types/app/stores/messageStores.d.ts.map +1 -0
- package/dist/types/app/stores/profileStore.d.ts +102 -0
- package/dist/types/app/stores/profileStore.d.ts.map +1 -0
- package/dist/types/app/types/components/chat-input.d.ts +4 -0
- package/dist/types/app/types/components/chat-input.d.ts.map +1 -0
- package/dist/types/app/types/components/menu-options.d.ts +7 -0
- package/dist/types/app/types/components/menu-options.d.ts.map +1 -0
- package/dist/types/app/types/components/modal.d.ts +17 -0
- package/dist/types/app/types/components/modal.d.ts.map +1 -0
- package/dist/types/app/types/index.d.ts +257 -0
- package/dist/types/app/types/index.d.ts.map +1 -0
- package/dist/types/app/utils/emojiParser.d.ts +5 -0
- package/dist/types/app/utils/emojiParser.d.ts.map +1 -0
- package/dist/types/app/utils/format.d.ts +4 -0
- package/dist/types/app/utils/format.d.ts.map +1 -0
- package/dist/types/fakes/backend.d.ts +25 -0
- package/dist/types/fakes/backend.d.ts.map +1 -0
- package/dist/types/fakes/call.d.ts +7 -0
- package/dist/types/fakes/call.d.ts.map +1 -0
- package/dist/types/fakes/data.d.ts +13 -0
- package/dist/types/fakes/data.d.ts.map +1 -0
- package/dist/types/fakes/index.d.ts +7 -0
- package/dist/types/fakes/index.d.ts.map +1 -0
- package/dist/types/fakes.d.ts +2 -0
- package/dist/types/i18n/locales/index.d.ts +3557 -0
- package/dist/types/i18n/locales/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/package.json +98 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
import { RemoteStream } from './peers';
|
|
3
|
+
export interface CallUiOptions {
|
|
4
|
+
localStream: Ref<MediaStream | null>;
|
|
5
|
+
screenStream: Ref<MediaStream | null>;
|
|
6
|
+
remoteVideos: Ref<Record<string, RemoteStream>>;
|
|
7
|
+
remoteScreens: Ref<Record<string, RemoteStream>>;
|
|
8
|
+
/** Re-attach streams when this changes: minimizing swaps the <video> elements. */
|
|
9
|
+
isMinimized: () => boolean;
|
|
10
|
+
}
|
|
11
|
+
/** The call screen's view state, and keeping each <video> element showing the right stream. */
|
|
12
|
+
export declare function useCallUi(opts: CallUiOptions): {
|
|
13
|
+
localVideo: Ref<HTMLVideoElement | null, HTMLVideoElement | null>;
|
|
14
|
+
localScreen: Ref<HTMLVideoElement | null, HTMLVideoElement | null>;
|
|
15
|
+
remoteRefs: Ref<Record<string, HTMLVideoElement | null>, Record<string, HTMLVideoElement | null>>;
|
|
16
|
+
remoteScreenRefs: Ref<Record<string, HTMLVideoElement | undefined>, Record<string, HTMLVideoElement | undefined>>;
|
|
17
|
+
remoteParents: Ref<Record<string, HTMLElement>, Record<string, HTMLElement>>;
|
|
18
|
+
showControls: Ref<boolean, boolean>;
|
|
19
|
+
resetControlsTimeout: () => void;
|
|
20
|
+
isFullscreen: Ref<boolean, boolean>;
|
|
21
|
+
toggleFullscreen: () => void;
|
|
22
|
+
toggleRemote: (tileId: string, el?: HTMLElement) => void;
|
|
23
|
+
videoPaused: Ref<Record<string, boolean>, Record<string, boolean>>;
|
|
24
|
+
toggleVideoPause: (tileId: string, el: HTMLVideoElement | null | undefined) => void;
|
|
25
|
+
detachAll: () => void;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=useCallUi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCallUi.d.ts","sourceRoot":"","sources":["../../../../../app/composables/call/useCallUi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgD,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACrC,YAAY,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACtC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAChD,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IACjD,kFAAkF;IAClF,WAAW,EAAE,MAAM,OAAO,CAAC;CAC5B;AAID,+FAA+F;AAC/F,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa;;;;;;;;;;2BA4Cb,MAAM,OAAO,WAAW;;+BAOpB,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,SAAS;;EA4ElF"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
export declare function useChatRecording(inputWidth: Ref<number | undefined>, callbacks: {
|
|
3
|
+
onStart: () => void;
|
|
4
|
+
onCancel: () => void;
|
|
5
|
+
onSend?: (mediaUrl?: string) => void;
|
|
6
|
+
requestPermission: () => Promise<boolean>;
|
|
7
|
+
getMode?: () => "video" | "voice";
|
|
8
|
+
}): {
|
|
9
|
+
isRecording: Ref<boolean, boolean>;
|
|
10
|
+
isLocked: Ref<boolean, boolean>;
|
|
11
|
+
isPaused: Ref<boolean, boolean>;
|
|
12
|
+
formattedTime: globalThis.ComputedRef<string>;
|
|
13
|
+
dragOffset: Ref<{
|
|
14
|
+
x: number;
|
|
15
|
+
y: number;
|
|
16
|
+
}, {
|
|
17
|
+
x: number;
|
|
18
|
+
y: number;
|
|
19
|
+
} | {
|
|
20
|
+
x: number;
|
|
21
|
+
y: number;
|
|
22
|
+
}>;
|
|
23
|
+
isDragging: Ref<boolean, boolean>;
|
|
24
|
+
lockOpacity: globalThis.ComputedRef<0 | 1>;
|
|
25
|
+
cancelOpacity: globalThis.ComputedRef<number>;
|
|
26
|
+
isLongPress: Ref<boolean, boolean>;
|
|
27
|
+
onPointerDown: (event: PointerEvent) => void;
|
|
28
|
+
mediaStream: Ref<{
|
|
29
|
+
readonly active: boolean;
|
|
30
|
+
readonly id: string;
|
|
31
|
+
onaddtrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;
|
|
32
|
+
onremovetrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;
|
|
33
|
+
addTrack: (track: MediaStreamTrack) => void;
|
|
34
|
+
clone: () => MediaStream;
|
|
35
|
+
getAudioTracks: () => MediaStreamTrack[];
|
|
36
|
+
getTrackById: (trackId: string) => MediaStreamTrack | null;
|
|
37
|
+
getTracks: () => MediaStreamTrack[];
|
|
38
|
+
getVideoTracks: () => MediaStreamTrack[];
|
|
39
|
+
removeTrack: (track: MediaStreamTrack) => void;
|
|
40
|
+
addEventListener: {
|
|
41
|
+
<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
42
|
+
(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
43
|
+
};
|
|
44
|
+
removeEventListener: {
|
|
45
|
+
<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
46
|
+
(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
47
|
+
};
|
|
48
|
+
dispatchEvent: (event: Event) => boolean;
|
|
49
|
+
} | null, MediaStream | {
|
|
50
|
+
readonly active: boolean;
|
|
51
|
+
readonly id: string;
|
|
52
|
+
onaddtrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;
|
|
53
|
+
onremovetrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;
|
|
54
|
+
addTrack: (track: MediaStreamTrack) => void;
|
|
55
|
+
clone: () => MediaStream;
|
|
56
|
+
getAudioTracks: () => MediaStreamTrack[];
|
|
57
|
+
getTrackById: (trackId: string) => MediaStreamTrack | null;
|
|
58
|
+
getTracks: () => MediaStreamTrack[];
|
|
59
|
+
getVideoTracks: () => MediaStreamTrack[];
|
|
60
|
+
removeTrack: (track: MediaStreamTrack) => void;
|
|
61
|
+
addEventListener: {
|
|
62
|
+
<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
63
|
+
(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
64
|
+
};
|
|
65
|
+
removeEventListener: {
|
|
66
|
+
<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
67
|
+
(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
68
|
+
};
|
|
69
|
+
dispatchEvent: (event: Event) => boolean;
|
|
70
|
+
} | null>;
|
|
71
|
+
toggleCamera: () => Promise<void>;
|
|
72
|
+
togglePause: () => void;
|
|
73
|
+
stopRecording: (triggerSend?: boolean) => void;
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=useChatRecording.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChatRecording.d.ts","sourceRoot":"","sources":["../../../../../app/composables/chat/useChatRecording.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkC,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAE/D,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,EACnC,SAAS,EAAE;IACT,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,iBAAiB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC;CACnC;;;;;;;;;;;;;;;;;;;2BAyL6B,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+G3C"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
interface DraftEditor {
|
|
3
|
+
messageText: Ref<string>;
|
|
4
|
+
setText: (text: string) => void;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Keeps the input's unsent text per conversation: saved as it is typed, swapped when the open
|
|
8
|
+
* conversation changes, and restored on mount. Text typed while editing a message is not a draft.
|
|
9
|
+
*/
|
|
10
|
+
export declare function useInputDraft(editor: DraftEditor, isEditing: () => boolean): {
|
|
11
|
+
restoreDraft: () => void;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=useInputDraft.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInputDraft.d.ts","sourceRoot":"","sources":["../../../../../app/composables/chat/useInputDraft.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAIjD,UAAU,WAAW;IACnB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO;;EA8B1E"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type PopupState = "permission" | "mic-error" | "cam-error" | "mic-permission" | "cam-permission" | "screen-share-error" | "screen-share-permission";
|
|
2
|
+
export declare function useAppPermissions(): {
|
|
3
|
+
checkMediaStatus: () => Promise<{
|
|
4
|
+
mic: string;
|
|
5
|
+
cam: string;
|
|
6
|
+
}>;
|
|
7
|
+
requestMediaAccess: (need: "audio" | "video" | "both") => Promise<{
|
|
8
|
+
success: boolean;
|
|
9
|
+
hardwareWarning?: undefined;
|
|
10
|
+
error?: undefined;
|
|
11
|
+
} | {
|
|
12
|
+
success: boolean;
|
|
13
|
+
hardwareWarning: string;
|
|
14
|
+
error?: undefined;
|
|
15
|
+
} | {
|
|
16
|
+
success: boolean;
|
|
17
|
+
error: any;
|
|
18
|
+
hardwareWarning?: undefined;
|
|
19
|
+
}>;
|
|
20
|
+
requestLocation: () => Promise<GeolocationPosition>;
|
|
21
|
+
requestScreenShare: () => Promise<boolean>;
|
|
22
|
+
requestWithPopup: (state: PopupState) => Promise<boolean>;
|
|
23
|
+
getNativeScreenShare: () => Promise<MediaStream>;
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=useAppPermissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAppPermissions.d.ts","sourceRoot":"","sources":["../../../../app/composables/useAppPermissions.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAClB,YAAY,GACZ,WAAW,GACX,WAAW,GACX,gBAAgB,GAChB,gBAAgB,GAChB,oBAAoB,GACpB,yBAAyB,CAAC;AAQ9B,wBAAgB,iBAAiB;;;;;+BAgBS,OAAO,GAAG,OAAO,GAAG,MAAM;;;;;;;;;;;;;2BAwChC,OAAO,CAAC,mBAAmB,CAAC;8BAOzB,OAAO,CAAC,OAAO,CAAC;8BAIpB,UAAU;gCAMJ,OAAO,CAAC,WAAW,CAAC;EAe5D"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Rendered by `<Toast group="vue-parley" />` in ChatView, so the host's own toasts stay apart. */
|
|
2
|
+
export declare const TOAST_GROUP = "vue-parley";
|
|
3
|
+
declare const SEVERITY: {
|
|
4
|
+
readonly success: "success";
|
|
5
|
+
readonly error: "error";
|
|
6
|
+
readonly warning: "warn";
|
|
7
|
+
readonly info: "info";
|
|
8
|
+
};
|
|
9
|
+
export declare const useAppToast: () => {
|
|
10
|
+
openToast: (message: string, type?: keyof typeof SEVERITY) => void;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=useAppToast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAppToast.d.ts","sourceRoot":"","sources":["../../../../app/composables/useAppToast.ts"],"names":[],"mappings":"AAEA,mGAAmG;AACnG,eAAO,MAAM,WAAW,eAAe,CAAC;AAExC,QAAA,MAAM,QAAQ;;;;;CAKJ,CAAC;AAEX,eAAO,MAAM,WAAW;yBAIX,MAAM,SACT,MAAM,OAAO,QAAQ;CAW9B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface PickedImage {
|
|
2
|
+
file: File;
|
|
3
|
+
path: string;
|
|
4
|
+
}
|
|
5
|
+
export interface PickedFile extends PickedImage {
|
|
6
|
+
name: string;
|
|
7
|
+
format: string;
|
|
8
|
+
size: number;
|
|
9
|
+
}
|
|
10
|
+
/** Opens the browser's file chooser for images or files and hands back object URLs. */
|
|
11
|
+
export declare function useAttachmentPicker(handlers: {
|
|
12
|
+
onImages: (images: PickedImage[]) => void;
|
|
13
|
+
onFiles: (files: PickedFile[]) => void;
|
|
14
|
+
}): {
|
|
15
|
+
pickImages: () => void;
|
|
16
|
+
pickFiles: () => void;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=useAttachmentPicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAttachmentPicker.d.ts","sourceRoot":"","sources":["../../../../app/composables/useAttachmentPicker.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAW,SAAQ,WAAW;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAID,uFAAuF;AACvF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE;IAC5C,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IAC1C,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;CACxC;;;EAgCA"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The view side of the running call, for Call.vue. The call itself (signalling, peers, media)
|
|
3
|
+
* lives in the call store, so unmounting this view doesn't end it.
|
|
4
|
+
*/
|
|
5
|
+
export default function useCall(): {
|
|
6
|
+
participantCount: globalThis.ComputedRef<number>;
|
|
7
|
+
tileCount: globalThis.ComputedRef<number>;
|
|
8
|
+
localStream: globalThis.Ref<{
|
|
9
|
+
readonly active: boolean;
|
|
10
|
+
readonly id: string;
|
|
11
|
+
onaddtrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;
|
|
12
|
+
onremovetrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;
|
|
13
|
+
addTrack: (track: MediaStreamTrack) => void;
|
|
14
|
+
clone: () => MediaStream;
|
|
15
|
+
getAudioTracks: () => MediaStreamTrack[];
|
|
16
|
+
getTrackById: (trackId: string) => MediaStreamTrack | null;
|
|
17
|
+
getTracks: () => MediaStreamTrack[];
|
|
18
|
+
getVideoTracks: () => MediaStreamTrack[];
|
|
19
|
+
removeTrack: (track: MediaStreamTrack) => void;
|
|
20
|
+
addEventListener: {
|
|
21
|
+
<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
22
|
+
(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
23
|
+
};
|
|
24
|
+
removeEventListener: {
|
|
25
|
+
<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
26
|
+
(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
27
|
+
};
|
|
28
|
+
dispatchEvent: (event: Event) => boolean;
|
|
29
|
+
} | null, MediaStream | {
|
|
30
|
+
readonly active: boolean;
|
|
31
|
+
readonly id: string;
|
|
32
|
+
onaddtrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;
|
|
33
|
+
onremovetrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;
|
|
34
|
+
addTrack: (track: MediaStreamTrack) => void;
|
|
35
|
+
clone: () => MediaStream;
|
|
36
|
+
getAudioTracks: () => MediaStreamTrack[];
|
|
37
|
+
getTrackById: (trackId: string) => MediaStreamTrack | null;
|
|
38
|
+
getTracks: () => MediaStreamTrack[];
|
|
39
|
+
getVideoTracks: () => MediaStreamTrack[];
|
|
40
|
+
removeTrack: (track: MediaStreamTrack) => void;
|
|
41
|
+
addEventListener: {
|
|
42
|
+
<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
43
|
+
(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
44
|
+
};
|
|
45
|
+
removeEventListener: {
|
|
46
|
+
<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
47
|
+
(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
48
|
+
};
|
|
49
|
+
dispatchEvent: (event: Event) => boolean;
|
|
50
|
+
} | null>;
|
|
51
|
+
remoteVideos: globalThis.Ref<Record<string, import('./call/peers').RemoteStream>, Record<string, import('./call/peers').RemoteStream>>;
|
|
52
|
+
remoteScreens: globalThis.Ref<Record<string, import('./call/peers').RemoteStream>, Record<string, import('./call/peers').RemoteStream>>;
|
|
53
|
+
cameras: globalThis.Ref<{
|
|
54
|
+
readonly deviceId: string;
|
|
55
|
+
readonly groupId: string;
|
|
56
|
+
readonly kind: MediaDeviceKind;
|
|
57
|
+
readonly label: string;
|
|
58
|
+
toJSON: () => any;
|
|
59
|
+
}[], MediaDeviceInfo[] | {
|
|
60
|
+
readonly deviceId: string;
|
|
61
|
+
readonly groupId: string;
|
|
62
|
+
readonly kind: MediaDeviceKind;
|
|
63
|
+
readonly label: string;
|
|
64
|
+
toJSON: () => any;
|
|
65
|
+
}[]>;
|
|
66
|
+
isAudioOn: globalThis.Ref<boolean, boolean>;
|
|
67
|
+
isVideoOn: globalThis.Ref<boolean, boolean>;
|
|
68
|
+
isScreenSharing: globalThis.Ref<boolean, boolean>;
|
|
69
|
+
isFlashlightOn: globalThis.Ref<boolean, boolean>;
|
|
70
|
+
isFlashlightSupported: globalThis.ComputedRef<boolean>;
|
|
71
|
+
toggleAudio: () => void;
|
|
72
|
+
toggleVideo: () => void;
|
|
73
|
+
toggleFlashlight: () => Promise<void>;
|
|
74
|
+
toggleScreenShare: () => Promise<void>;
|
|
75
|
+
switchCamera: (deviceId: string) => Promise<void>;
|
|
76
|
+
endCall: () => void;
|
|
77
|
+
showCameraModal: globalThis.Ref<boolean, boolean>;
|
|
78
|
+
showControls: globalThis.Ref<boolean, boolean>;
|
|
79
|
+
resetControlsTimeout: () => void;
|
|
80
|
+
isFullscreen: globalThis.Ref<boolean, boolean>;
|
|
81
|
+
toggleFullscreen: () => void;
|
|
82
|
+
toggleRemote: (tileId: string, el?: HTMLElement) => void;
|
|
83
|
+
videoPaused: globalThis.Ref<Record<string, boolean>, Record<string, boolean>>;
|
|
84
|
+
toggleVideoPause: (tileId: string, el: HTMLVideoElement | null | undefined) => void;
|
|
85
|
+
localVideo: globalThis.Ref<HTMLVideoElement | null, HTMLVideoElement | null>;
|
|
86
|
+
localScreen: globalThis.Ref<HTMLVideoElement | null, HTMLVideoElement | null>;
|
|
87
|
+
remoteRefs: globalThis.Ref<Record<string, HTMLVideoElement | null>, Record<string, HTMLVideoElement | null>>;
|
|
88
|
+
remoteScreenRefs: globalThis.Ref<Record<string, HTMLVideoElement | undefined>, Record<string, HTMLVideoElement | undefined>>;
|
|
89
|
+
remoteParents: globalThis.Ref<Record<string, HTMLElement>, Record<string, HTMLElement>>;
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=useCall.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCall.d.ts","sourceRoot":"","sources":["../../../../app/composables/useCall.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAgBS,MAAM;;;;;;;;;;;;;;;EAyC7C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ComputedRef } from 'vue';
|
|
2
|
+
import { Message, ExtendedMessage } from '../types';
|
|
3
|
+
export declare function useChatMessageList(chatId: ComputedRef<string | null>): {
|
|
4
|
+
messages: ComputedRef<Message[]>;
|
|
5
|
+
reversedMessages: ComputedRef<ExtendedMessage[]>;
|
|
6
|
+
firstUnreadId: ComputedRef<string | null>;
|
|
7
|
+
isLoading: ComputedRef<boolean>;
|
|
8
|
+
animatingIds: globalThis.Ref<Set<string> & Omit<Set<string>, keyof Set<any>>, Set<string> | (Set<string> & Omit<Set<string>, keyof Set<any>>)>;
|
|
9
|
+
deletingIds: globalThis.Ref<Set<string> & Omit<Set<string>, keyof Set<any>>, Set<string> | (Set<string> & Omit<Set<string>, keyof Set<any>>)>;
|
|
10
|
+
fetchMessages: (page: number) => Promise<void>;
|
|
11
|
+
loadNextPage: () => void;
|
|
12
|
+
subscribeToBus: (callbacks: {
|
|
13
|
+
onSend: (hasMyMessage: boolean) => void;
|
|
14
|
+
onDelete: (ids: string[]) => void;
|
|
15
|
+
}) => void;
|
|
16
|
+
executeDelete: (idsToDelete: string[], onDone: () => void) => void;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=useChatMessageList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChatMessageList.d.ts","sourceRoot":"","sources":["../../../../app/composables/useChatMessageList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAKxD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC;;;;;;;0BAoEhC,MAAM;;gCA+EN;QACjC,MAAM,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;QACxC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;KACnC;iCAzCmC,MAAM,EAAE,UAAU,MAAM,IAAI;EAqEjE"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const useDate: () => {
|
|
2
|
+
formatRelativeDate: (dateInput: string | Date) => string;
|
|
3
|
+
getYearsPassed: (date: Date) => number;
|
|
4
|
+
formatDateShort: (dateInput: string | Date) => string;
|
|
5
|
+
formatTime: (dateInput: string | Date) => string;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=useDate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDate.d.ts","sourceRoot":"","sources":["../../../../app/composables/useDate.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO;oCAwBqB,MAAM,GAAG,IAAI,KAAG,MAAM;2BAuF/B,IAAI,KAAG,MAAM;iCAxBP,MAAM,GAAG,IAAI,KAAG,MAAM;4BAzE3B,MAAM,GAAG,IAAI,KAAG,MAAM;CAqHtD,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export interface DevicePlatform {
|
|
2
|
+
isTauri: boolean;
|
|
3
|
+
isTauriAndroid: boolean;
|
|
4
|
+
isTauriiOS: boolean;
|
|
5
|
+
isTauriDesktop: boolean;
|
|
6
|
+
isPWAInstalled: boolean;
|
|
7
|
+
isWeb: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface DeviceHardware {
|
|
10
|
+
hasMicrophone: boolean;
|
|
11
|
+
hasCamera: boolean;
|
|
12
|
+
isChecking: boolean;
|
|
13
|
+
error: string | null;
|
|
14
|
+
}
|
|
15
|
+
export declare function useDevice(): {
|
|
16
|
+
platform: {
|
|
17
|
+
readonly isTauri: boolean;
|
|
18
|
+
readonly isTauriAndroid: boolean;
|
|
19
|
+
readonly isTauriiOS: boolean;
|
|
20
|
+
readonly isTauriDesktop: boolean;
|
|
21
|
+
readonly isPWAInstalled: boolean;
|
|
22
|
+
readonly isWeb: boolean;
|
|
23
|
+
};
|
|
24
|
+
hardware: {
|
|
25
|
+
readonly hasMicrophone: boolean;
|
|
26
|
+
readonly hasCamera: boolean;
|
|
27
|
+
readonly isChecking: boolean;
|
|
28
|
+
readonly error: string | null;
|
|
29
|
+
};
|
|
30
|
+
refreshHardwareCheck: () => Promise<void>;
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=useDevice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDevice.d.ts","sourceRoot":"","sources":["../../../../app/composables/useDevice.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,wBAAgB,SAAS;;0BAfd,OAAO;iCACA,OAAO;6BACX,OAAO;iCACH,OAAO;iCACP,OAAO;wBAChB,OAAO;;;gCAIC,OAAO;4BACX,OAAO;6BACN,OAAO;wBACZ,MAAM,GAAG,IAAI;;;EAqFrB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
interface ScrollOptions {
|
|
3
|
+
scrollContainer: Ref<HTMLElement | null>;
|
|
4
|
+
hasCall: Ref<boolean>;
|
|
5
|
+
isLoading: Ref<boolean>;
|
|
6
|
+
isLocked: Ref<boolean>;
|
|
7
|
+
onLoadMore: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function useFlippedVirtualScroll(options: ScrollOptions): {
|
|
10
|
+
virtualizer: Ref<import('@tanstack/vue-virtual').Virtualizer<HTMLElement, Element>, import('@tanstack/vue-virtual').Virtualizer<HTMLElement, Element>>;
|
|
11
|
+
headerOpacity: Ref<number, number>;
|
|
12
|
+
canScroll: globalThis.ComputedRef<boolean>;
|
|
13
|
+
topVisibleMessageIndex: Ref<number, number>;
|
|
14
|
+
handleScroll: () => void;
|
|
15
|
+
handleWheel: (e: WheelEvent) => void;
|
|
16
|
+
resetScroll: () => void;
|
|
17
|
+
cleanup: () => void;
|
|
18
|
+
setItemCount: (count: number) => void;
|
|
19
|
+
setGetItemKey: (fn: (index: number) => string | number) => void;
|
|
20
|
+
};
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=useFlippedVirtualScroll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFlippedVirtualScroll.d.ts","sourceRoot":"","sources":["../../../../app/composables/useFlippedVirtualScroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAG9C,UAAU,aAAa;IACrB,eAAe,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACzC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACtB,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACxB,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,aAAa;;;;;;qBAkFpC,UAAU;;;0BA4DV,MAAM;wBAGR,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM;EAIzD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { App, ComputedRef } from 'vue';
|
|
2
|
+
export declare function provideHostI18n(app: App): void;
|
|
3
|
+
/**
|
|
4
|
+
* The host's current locale. Unlike useI18n(), works in a store as well as a component, so a
|
|
5
|
+
* store can be created anywhere (a Nuxt plugin, a route guard), not only in a component's setup.
|
|
6
|
+
*/
|
|
7
|
+
export declare function useHostLocale(): ComputedRef<string>;
|
|
8
|
+
/**
|
|
9
|
+
* Translations for a store: `messages` on their own, following the host's locale. A component
|
|
10
|
+
* uses useLocalI18n() instead, which scopes them to the component.
|
|
11
|
+
*/
|
|
12
|
+
export declare function useStoreI18n(messages: Record<string, any>): {
|
|
13
|
+
t: (key: string) => string;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=useHostI18n.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHostI18n.d.ts","sourceRoot":"","sources":["../../../../app/composables/useHostI18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,GAAG,EACR,KAAK,WAAW,EAGjB,MAAM,KAAK,CAAC;AAcb,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,QAGvC;AAoBD;;;GAGG;AACH,wBAAgB,aAAa,IAAI,WAAW,CAAC,MAAM,CAAC,CAGnD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IAAE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;CAAE,CAc1F"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export default function useLocalI18n(...messages: Record<string, any>[]): import('vue-i18n').Composer<Record<string, any>, {}, {}, string, string, string>;
|
|
2
|
+
export declare function useDirection(): {
|
|
3
|
+
dir: globalThis.ComputedRef<"rtl" | "ltr">;
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=useLocalI18n.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLocalI18n.d.ts","sourceRoot":"","sources":["../../../../app/composables/useLocalI18n.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,oFAMtE;AAED,wBAAgB,YAAY;;EAgB3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLongPress.d.ts","sourceRoot":"","sources":["../../../../app/composables/useLongPress.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI;2BAIpC,YAAY;2BAUZ,YAAY;;EAsB3C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
export declare function useRichTextEditor(inputRef: Ref<HTMLDivElement | null>): {
|
|
3
|
+
messageText: Ref<string, string>;
|
|
4
|
+
isSelectingEmoji: Ref<boolean, boolean>;
|
|
5
|
+
saveCursorPosition: () => void;
|
|
6
|
+
handleContentInput: () => void;
|
|
7
|
+
handleEmojiSelect: (emoji: string, shouldBlurAfter?: boolean) => void;
|
|
8
|
+
clearInput: () => void;
|
|
9
|
+
setText: (text: string) => void;
|
|
10
|
+
adjustHeight: () => void;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=useRichTextEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRichTextEditor.d.ts","sourceRoot":"","sources":["../../../../app/composables/useRichTextEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAG9C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC;;;;;+BAgClC,MAAM;;oBAkDjB,MAAM;;EAuB9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading.d.ts","sourceRoot":"","sources":["../../../../app/directives/loading.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAkBvD,QAAA,MAAM,gBAAgB,EAAE,SAAS,GAAG;IAClC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAkDrE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { useCallStore } from './stores/callStore';
|
|
2
|
+
import { useChatStore } from './stores/chatStore';
|
|
3
|
+
import { useMessagesStore } from './stores/messageStores';
|
|
4
|
+
import { useMediaStore } from './stores/mediaStore';
|
|
5
|
+
import { useProfileStore } from './stores/profileStore';
|
|
6
|
+
export { default as ChatPage } from './components/ChatPage.vue';
|
|
7
|
+
export declare const Call: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
|
|
8
|
+
minimizedRef: HTMLDivElement;
|
|
9
|
+
pipVideoRef: HTMLVideoElement;
|
|
10
|
+
localScreen: HTMLVideoElement;
|
|
11
|
+
localVideo: HTMLVideoElement;
|
|
12
|
+
}, any>;
|
|
13
|
+
export { default as ChatList } from './components/chat/contact/ChatList.vue';
|
|
14
|
+
export { default as ChatConversation } from './components/chat/ChatView.vue';
|
|
15
|
+
export { default as ChatHeader } from './components/chat/ChatPageBar.vue';
|
|
16
|
+
export { default as ChatMessages } from './components/chat/ChatMessages.vue';
|
|
17
|
+
export { default as ChatInput } from './components/chat/ChatInput.vue';
|
|
18
|
+
export { default as ChatBubble } from './components/chat/ChatBubble.vue';
|
|
19
|
+
export { default as BVirtualVerticalList } from './components/global/BVirtualVerticalList.vue';
|
|
20
|
+
export { default as BEmojiPicker } from './components/global/BEmojiPicker.vue';
|
|
21
|
+
export { default as BIcon } from './components/global/BIcon.vue';
|
|
22
|
+
export * from './types';
|
|
23
|
+
export * from './stores/messageStores';
|
|
24
|
+
export * from './stores/chatStore';
|
|
25
|
+
export * from './stores/mediaStore';
|
|
26
|
+
export * from './stores/profileStore';
|
|
27
|
+
export { provideCallHandlers } from './provider/callProvider';
|
|
28
|
+
export { createChat } from './plugin';
|
|
29
|
+
export type { ChatOptions, ChatUser } from './plugin';
|
|
30
|
+
export { useChatStore, useCallStore, useMessagesStore, useMediaStore, useProfileStore, };
|
|
31
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../app/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAEhE,eAAO,MAAM,IAAI;;;;;OAAmE,CAAC;AAIrF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAC/F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAEjE,cAAc,SAAS,CAAC;AACxB,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,eAAe,GAChB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Plugin } from 'vue';
|
|
2
|
+
import { CallHandlers, ChatHandlers, MediaHandlers, MessagesHandlers, ProfileHandlers } from './types';
|
|
3
|
+
export interface ChatUser {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
avatar?: Blob;
|
|
7
|
+
}
|
|
8
|
+
export interface ChatOptions {
|
|
9
|
+
chat: ChatHandlers;
|
|
10
|
+
messages: MessagesHandlers;
|
|
11
|
+
media: MediaHandlers;
|
|
12
|
+
/** Needed for the profile panel's media and files tabs. */
|
|
13
|
+
profile?: ProfileHandlers;
|
|
14
|
+
/** Omit to leave calling out; `provideCallHandlers()` can still supply them later. */
|
|
15
|
+
call?: CallHandlers;
|
|
16
|
+
/** The signed-in user. Can also be set later through `useProfileStore()`. */
|
|
17
|
+
user?: ChatUser;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Wires the chat into an app in one call:
|
|
21
|
+
*
|
|
22
|
+
* app.use(createPinia()).use(i18n).use(PrimeVue, { theme }).use(createChat({ chat, messages, media, user }))
|
|
23
|
+
*
|
|
24
|
+
* Pinia, vue-i18n and PrimeVue must be installed first; the stores, translations and UI depend
|
|
25
|
+
* on them.
|
|
26
|
+
*/
|
|
27
|
+
export declare function createChat(options: ChatOptions): Plugin;
|
|
28
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../app/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAO,MAAM,EAAE,MAAM,KAAK,CAAC;AAGvC,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,eAAe,EAChB,MAAM,SAAS,CAAC;AAQjB,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,IAAI,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,sFAAsF;IACtF,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAsDvD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CallHandlers } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Gives the chat its call handlers from inside a component's setup. `createChat({ call })` does
|
|
4
|
+
* the same app-wide; use this when the handlers only exist further down the tree.
|
|
5
|
+
*/
|
|
6
|
+
export declare function provideCallHandlers(handlers: CallHandlers): void;
|
|
7
|
+
//# sourceMappingURL=callProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callProvider.d.ts","sourceRoot":"","sources":["../../../../app/provider/callProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,QAEzD"}
|