@z-api/call 1.0.0-staging.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.
@@ -0,0 +1,37 @@
1
+ import type { VideoFrameInfo } from '../types';
2
+ export declare class VideoEngine {
3
+ private canvas;
4
+ private ctx;
5
+ private localVideo;
6
+ private localStream;
7
+ private captureCanvas;
8
+ private captureCtx;
9
+ private tempCanvas;
10
+ private tempCtx;
11
+ private captureInterval;
12
+ private h264Decoder;
13
+ private h264ErrorCount;
14
+ private orientationMap;
15
+ onCameraFrame: ((rgba: ArrayBuffer, width: number, height: number) => void) | null;
16
+ onEncodedCameraFrame: ((h264: ArrayBuffer, width: number, height: number, timestampSec: number, isKeyFrame: boolean, latencyMs: number) => void) | null;
17
+ private h264Encoder;
18
+ private encoderKeyFrameInterval;
19
+ private lastKeyFrameTs;
20
+ private h264NeedKeyFrame;
21
+ setRemoteCanvas(canvas: HTMLCanvasElement): void;
22
+ renderFrame(frame: VideoFrameInfo): void;
23
+ private h264GotKeyFrame;
24
+ private h264FrameIndex;
25
+ private decodeH264Frame;
26
+ private createH264Decoder;
27
+ private renderNV12Frame;
28
+ startCamera(videoEl: HTMLVideoElement, width?: number, height?: number, fps?: number): Promise<void>;
29
+ stopCamera(): void;
30
+ private canUseH264Encoder;
31
+ private startH264Capture;
32
+ private captureFrameRaw;
33
+ private nv12ToRgba;
34
+ clearCanvas(): void;
35
+ destroy(): void;
36
+ }
37
+ //# sourceMappingURL=VideoEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VideoEngine.d.ts","sourceRoot":"","sources":["../../src/core/VideoEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAM/C,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,GAAG,CAAyC;IACpD,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,UAAU,CAAyC;IAC3D,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,cAAc,CAA6B;IAEnD,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC1F,oBAAoB,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC/J,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,uBAAuB,CAAQ;IACvC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,gBAAgB,CAAS;IAEjC,eAAe,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAKhD,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAaxC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,eAAe;IAoCvB,OAAO,CAAC,iBAAiB;IAqDzB,OAAO,CAAC,eAAe;IAuEjB,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,SAAM,EAAE,MAAM,SAAM,EAAE,GAAG,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBhG,UAAU,IAAI,IAAI;IAqBlB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,gBAAgB;IAqExB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,UAAU;IAuBlB,WAAW,IAAI,IAAI;IAMnB,OAAO,IAAI,IAAI;CAUhB"}
@@ -0,0 +1,39 @@
1
+ import type { ZAPICallOptions, ZAPICallEvents, CallInfo, ContactInfo } from '../types';
2
+ import { EventEmitter } from './EventEmitter';
3
+ export declare class ZAPICallClient extends EventEmitter<ZAPICallEvents> {
4
+ private ws;
5
+ private audio;
6
+ private video;
7
+ private state;
8
+ private widget;
9
+ private opts;
10
+ private audioConfig;
11
+ private connected;
12
+ private micStarted;
13
+ private cameraStarted;
14
+ private destroyed;
15
+ private sdkId;
16
+ private contacts;
17
+ constructor(opts: ZAPICallOptions);
18
+ accept(callId: string): void;
19
+ reject(callId: string): void;
20
+ mute(muted: boolean): void;
21
+ setCamera(enabled: boolean): Promise<void>;
22
+ isCameraActive(): boolean;
23
+ makeCall(number: string, isVideo?: boolean): void;
24
+ getCalls(): CallInfo[];
25
+ getActiveCall(): CallInfo | undefined;
26
+ isConnected(): boolean;
27
+ getSdkId(): string;
28
+ requestContacts(): void;
29
+ requestProfilePicture(phone: string): void;
30
+ getContacts(): ContactInfo[];
31
+ destroy(): void;
32
+ private handleJsonMessage;
33
+ private handleBinaryMessage;
34
+ private handleConnectionChange;
35
+ private startCameraIfNeeded;
36
+ private rgbaToNv12;
37
+ private startMicIfNeeded;
38
+ }
39
+ //# sourceMappingURL=ZAPICallClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZAPICallClient.d.ts","sourceRoot":"","sources":["../../src/core/ZAPICallClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,QAAQ,EACR,WAAW,EAIZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAO9C,qBAAa,cAAe,SAAQ,YAAY,CAAC,cAAc,CAAC;IAC9D,OAAO,CAAC,EAAE,CAAgB;IAC1B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,WAAW,CAAmD;IACtE,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,QAAQ,CAAqB;gBAEzB,IAAI,EAAE,eAAe;IA8EjC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM5B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK5B,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAIpB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhD,cAAc,IAAI,OAAO;IAIzB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,IAAI;IAQ/C,QAAQ,IAAI,QAAQ,EAAE;IAItB,aAAa,IAAI,QAAQ,GAAG,SAAS;IAIrC,WAAW,IAAI,OAAO;IAItB,QAAQ,IAAI,MAAM;IAIlB,eAAe,IAAI,IAAI;IAIvB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI1C,WAAW,IAAI,WAAW,EAAE;IAI5B,OAAO,IAAI,IAAI;IAaf,OAAO,CAAC,iBAAiB;IAoKzB,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,sBAAsB;YAWhB,mBAAmB;IAcjC,OAAO,CAAC,UAAU;YAsBJ,gBAAgB;CAU/B"}
@@ -0,0 +1,31 @@
1
+ import { ZAPICallClient } from './core/ZAPICallClient';
2
+ import type { ZAPICallOptions } from './types';
3
+ export type { ZAPICallOptions, ZAPICallTheme, ThemeMode, WidgetPosition, CallState, CallInfo, AudioConfig, VideoFrameInfo, ZAPICallEvents, WsCallMakeMsg, } from './types';
4
+ export { VideoFormat, VideoOrientation } from './types';
5
+ export { ZAPICallClient } from './core/ZAPICallClient';
6
+ /**
7
+ * Initialize the SDK. Creates a WebSocket connection, optional widget,
8
+ * and returns a client for controlling calls.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * // ESM
13
+ * import { init } from '@z-api/call';
14
+ * const client = init({ instanceId: '123', getToken: async () => 'abc' });
15
+ *
16
+ * // or via namespace
17
+ * import { ZAPICall } from '@z-api/call';
18
+ * const client = ZAPICall.init({ instanceId: '123', getToken: async () => 'abc' });
19
+ *
20
+ * // Script tag
21
+ * // <script src="z-api-call.global.js"></script>
22
+ * // const client = ZAPICall.init({ instanceId: '123', getToken: async () => 'abc' });
23
+ * ```
24
+ */
25
+ export declare function init(opts: ZAPICallOptions): ZAPICallClient;
26
+ /** Namespace object for convenience. */
27
+ export declare const ZAPICall: {
28
+ init: typeof init;
29
+ Client: typeof ZAPICallClient;
30
+ };
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG/C,YAAY,EACV,eAAe,EACf,aAAa,EACb,SAAS,EACT,cAAc,EACd,SAAS,EACT,QAAQ,EACR,WAAW,EACX,cAAc,EACd,cAAc,EACd,aAAa,GACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGxD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,eAAe,GAAG,cAAc,CAE1D;AAED,wCAAwC;AACxC,eAAO,MAAM,QAAQ;;;CAGpB,CAAC"}
@@ -0,0 +1,155 @@
1
+ export type ThemeMode = 'dark' | 'light';
2
+ export interface ZAPICallTheme {
3
+ mode?: ThemeMode;
4
+ primaryColor?: string;
5
+ dangerColor?: string;
6
+ backgroundColor?: string;
7
+ surfaceColor?: string;
8
+ textColor?: string;
9
+ textSecondaryColor?: string;
10
+ borderRadius?: string;
11
+ fontFamily?: string;
12
+ }
13
+ export type WidgetPosition = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
14
+ export interface ZAPICallOptions {
15
+ instanceId: string;
16
+ getToken: () => Promise<string>;
17
+ autoWidget?: boolean;
18
+ showVideoDialButton?: boolean;
19
+ position?: WidgetPosition;
20
+ theme?: ZAPICallTheme;
21
+ onIncomingCall?: (call: CallInfo) => void;
22
+ onCallTerminated?: (callId: string) => void;
23
+ onConnectionChange?: (connected: boolean) => void;
24
+ onMakeCall?: (number: string) => void;
25
+ }
26
+ export type CallState = 'ringing' | 'calling' | 'preaccepted' | 'accepted' | 'active' | 'ended';
27
+ export interface CallInfo {
28
+ callId: string;
29
+ from: string;
30
+ notify?: string;
31
+ isVideo: boolean;
32
+ isGroup: boolean;
33
+ state: CallState;
34
+ timestamp: number;
35
+ }
36
+ export interface AudioConfig {
37
+ sampleRate: number;
38
+ channels: number;
39
+ }
40
+ export declare const VideoFormat: {
41
+ readonly NV12: 0;
42
+ readonly I420: 1;
43
+ readonly RGB24: 2;
44
+ readonly RGBA: 3;
45
+ readonly H264: 100;
46
+ };
47
+ export declare const VideoOrientation: {
48
+ readonly Unknown: 0;
49
+ readonly Normal: 1;
50
+ readonly Rotate90: 2;
51
+ readonly Rotate180: 3;
52
+ readonly Rotate270: 4;
53
+ };
54
+ export interface VideoFrameInfo {
55
+ width: number;
56
+ height: number;
57
+ format: number;
58
+ orientation: number;
59
+ isKeyFrame: boolean;
60
+ timestamp: number;
61
+ data: ArrayBuffer;
62
+ }
63
+ export interface WsConnectedMsg {
64
+ type: 'connected';
65
+ instanceId: string;
66
+ sdkId: string;
67
+ audioConfig: AudioConfig;
68
+ }
69
+ export interface WsCallIncomingMsg {
70
+ type: 'call:incoming';
71
+ callId: string;
72
+ from: string;
73
+ notify?: string;
74
+ isVideo: boolean;
75
+ isGroup: boolean;
76
+ state?: CallState;
77
+ timestamp: number;
78
+ }
79
+ export interface WsCallStateMsg {
80
+ type: 'call:state';
81
+ callId: string;
82
+ state: CallState;
83
+ }
84
+ export interface WsCallTerminatedMsg {
85
+ type: 'call:terminated';
86
+ callId: string;
87
+ reason?: string;
88
+ }
89
+ export interface WsPongMsg {
90
+ type: 'pong';
91
+ ts: number;
92
+ }
93
+ export interface WsCallMakeMsg {
94
+ type: 'call:make';
95
+ number: string;
96
+ }
97
+ export interface WsCallOutgoingMsg {
98
+ type: 'call:outgoing';
99
+ callId: string;
100
+ to: string;
101
+ isVideo: boolean;
102
+ }
103
+ export interface WsErrorMsg {
104
+ type: 'error';
105
+ command: string;
106
+ message: string;
107
+ }
108
+ export interface WsCallClaimedMsg {
109
+ type: 'call:claimed';
110
+ callId: string;
111
+ }
112
+ export interface WsCallDismissedMsg {
113
+ type: 'call:dismissed';
114
+ callId: string;
115
+ }
116
+ export interface WsCallVideoStateMsg {
117
+ type: 'call:video-state';
118
+ callId: string;
119
+ isVideo: boolean;
120
+ }
121
+ export interface ContactInfo {
122
+ name: string;
123
+ phone: string;
124
+ short: string;
125
+ imgUrl: string | null;
126
+ }
127
+ export interface WsContactsListMsg {
128
+ type: 'contacts:list';
129
+ contacts: ContactInfo[];
130
+ }
131
+ export interface WsProfilePictureMsg {
132
+ type: 'profile:picture';
133
+ phone: string;
134
+ url: string | null;
135
+ }
136
+ export type WsServerMessage = WsConnectedMsg | WsCallIncomingMsg | WsCallOutgoingMsg | WsCallStateMsg | WsCallTerminatedMsg | WsCallClaimedMsg | WsCallDismissedMsg | WsCallVideoStateMsg | WsContactsListMsg | WsProfilePictureMsg | WsPongMsg | WsErrorMsg;
137
+ export interface ZAPICallEvents {
138
+ 'connected': () => void;
139
+ 'disconnected': () => void;
140
+ 'call:incoming': (call: CallInfo) => void;
141
+ 'call:state': (callId: string, state: CallState) => void;
142
+ 'call:terminated': (callId: string, reason?: string) => void;
143
+ 'call:claimed': (callId: string) => void;
144
+ 'call:dismissed': (callId: string) => void;
145
+ 'call:video-state': (callId: string, isVideo: boolean) => void;
146
+ 'contacts:list': (contacts: ContactInfo[]) => void;
147
+ 'call:make': (number: string) => void;
148
+ 'call:outgoing': (call: CallInfo) => void;
149
+ 'audio:level': (level: number) => void;
150
+ 'video:frame': (frame: VideoFrameInfo) => void;
151
+ 'call:make:error': (number: string, reason: string) => void;
152
+ 'profile:picture': (phone: string, url: string | null) => void;
153
+ 'error': (error: Error) => void;
154
+ }
155
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /** Format millisecond duration as MM:SS */
2
+ export declare function formatDuration(ms: number): string;
3
+ /** Format phone number with country code for display */
4
+ export declare function formatPhone(phone: string): string;
5
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED,wDAAwD;AACxD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAcjD"}
@@ -0,0 +1,7 @@
1
+ /** Convert Int16LE array to Float32 [-1, 1] for Web Audio playback */
2
+ export declare function int16ToFloat32(int16: Int16Array): Float32Array;
3
+ /** Convert Float32 [-1, 1] to Int16LE for sending mic audio */
4
+ export declare function float32ToInt16(float32: Float32Array): Int16Array;
5
+ /** Calculate RMS level (0-1) from Float32 samples */
6
+ export declare function calculateRmsLevel(samples: Float32Array): number;
7
+ //# sourceMappingURL=pcm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pcm.d.ts","sourceRoot":"","sources":["../../src/utils/pcm.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,CAM9D;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,UAAU,CAShE;AAED,qDAAqD;AACrD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAO/D"}
@@ -0,0 +1,3 @@
1
+ import type { ZAPICallTheme } from '../types';
2
+ export declare function buildCSS(theme: ZAPICallTheme): string;
3
+ //# sourceMappingURL=CallWidget.css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CallWidget.css.d.ts","sourceRoot":"","sources":["../../src/widget/CallWidget.css.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAo0BrD"}
@@ -0,0 +1,86 @@
1
+ import type { CallInfo, ContactInfo, ZAPICallTheme, WidgetPosition } from '../types';
2
+ export interface CallWidgetConfig {
3
+ position: WidgetPosition;
4
+ theme: ZAPICallTheme;
5
+ showVideoDialButton: boolean;
6
+ onAccept: (callId: string) => void;
7
+ onReject: (callId: string) => void;
8
+ onMute: (muted: boolean) => void;
9
+ onCamera: (enabled: boolean) => void;
10
+ onResume: () => void;
11
+ onMakeCall: (number: string, isVideo: boolean) => void;
12
+ onRequestContacts: () => void;
13
+ onRequestProfilePicture: (phone: string) => void;
14
+ }
15
+ export declare class CallWidget {
16
+ private host;
17
+ private shadow;
18
+ private root;
19
+ private bubble;
20
+ private badge;
21
+ private connDot;
22
+ private panel;
23
+ private config;
24
+ private open;
25
+ private muted;
26
+ private timers;
27
+ private timerStarts;
28
+ private currentView;
29
+ private dialerView;
30
+ private callsView;
31
+ private contactsView;
32
+ private incallView;
33
+ private dialerInput;
34
+ private tabDialer;
35
+ private tabCalls;
36
+ private tabContacts;
37
+ private contactsLoaded;
38
+ private contactsCache;
39
+ private pictureCache;
40
+ private pictureRequested;
41
+ private incallTimerEl;
42
+ private incallPhoneEl;
43
+ private incallStateEl;
44
+ private incallMuteBtn;
45
+ private audioLevelBar;
46
+ private activeCallId;
47
+ private cameraOn;
48
+ private remoteVideoCanvas;
49
+ private videoContainer;
50
+ private videoPhoneEl;
51
+ private videoTimerEl;
52
+ constructor(config: CallWidgetConfig);
53
+ private buildDOM;
54
+ private buildDialerView;
55
+ private buildContactsView;
56
+ private loadContacts;
57
+ private filterContacts;
58
+ private renderContactsList;
59
+ updateContacts(contacts: ContactInfo[]): void;
60
+ private buildInCallView;
61
+ private handleMakeCall;
62
+ private switchView;
63
+ private togglePanel;
64
+ updateCalls(calls: CallInfo[], connected: boolean): void;
65
+ private renderCallsList;
66
+ private buildCallCard;
67
+ private stateLabel;
68
+ private startTimer;
69
+ private stopTimer;
70
+ private incallTimer;
71
+ private startInCallTimer;
72
+ private stopInCallTimer;
73
+ /** Show video container for video calls */
74
+ showVideo(isVideo: boolean): void;
75
+ getRemoteCanvas(): HTMLCanvasElement;
76
+ resetCamera(): void;
77
+ private updateMuteButtons;
78
+ private updateCameraButton;
79
+ showMakeCallError(reason: string): void;
80
+ updateAudioLevel(level: number): void;
81
+ private renderAvatar;
82
+ updateProfilePicture(phone: string, url: string | null): void;
83
+ private clearAllTimers;
84
+ destroy(): void;
85
+ }
86
+ //# sourceMappingURL=CallWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CallWidget.d.ts","sourceRoot":"","sources":["../../src/widget/CallWidget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export declare const ICON_PHONE = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M6.62 10.79a15.05 15.05 0 006.59 6.59l2.2-2.2a1 1 0 011.01-.24c1.12.37 2.33.57 3.57.57a1 1 0 011 1V20a1 1 0 01-1 1A17 17 0 013 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.25.2 2.45.57 3.57a1 1 0 01-.25 1.02l-2.2 2.2z\"/></svg>";
2
+ export declare const ICON_PHONE_END = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12 9c-1.6 0-3.15.25-4.6.72v3.1c0 .39-.23.74-.56.9-.98.49-1.87 1.12-2.66 1.85-.18.18-.43.28-.7.28-.28 0-.53-.11-.71-.29L.29 13.08a.956.956 0 010-1.36C3.34 8.75 7.46 7 12 7s8.66 1.75 11.71 4.72c.18.18.29.44.29.71 0 .28-.11.53-.29.71l-2.48 2.48c-.18.18-.43.29-.71.29-.27 0-.52-.11-.7-.28a11.27 11.27 0 00-2.67-1.85.99.99 0 01-.56-.9v-3.1C15.15 9.25 13.6 9 12 9z\"/></svg>";
3
+ export declare const ICON_PHONE_ACCEPT = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M20.01 15.38c-1.23 0-2.42-.2-3.53-.56a.977.977 0 00-1.01.24l-1.57 1.97c-2.83-1.35-5.48-3.9-6.89-6.83l1.95-1.66c.27-.28.35-.67.24-1.02-.37-1.11-.56-2.3-.56-3.53 0-.54-.45-.99-.99-.99H4.19C3.65 3 3 3.24 3 3.99 3 13.28 10.73 21 20.01 21c.71 0 .99-.63.99-1.18v-3.45c0-.54-.45-.99-.99-.99z\"/></svg>";
4
+ export declare const ICON_MIC = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3zm-1-9c0-.55.45-1 1-1s1 .45 1 1v6c0 .55-.45 1-1 1s-1-.45-1-1V5z\"/><path d=\"M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z\"/></svg>";
5
+ export declare const ICON_MIC_OFF = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 11h-1.7c0 .74-.16 1.43-.43 2.05l1.23 1.23c.56-.98.9-2.09.9-3.28zm-4.02.17c0-.06.02-.11.02-.17V5c0-1.66-1.34-3-3-3S9 3.34 9 5v.18l5.98 5.99zM4.27 3L3 4.27l6.01 6.01V11c0 1.66 1.33 3 2.99 3 .22 0 .44-.03.65-.08l1.66 1.66c-.71.33-1.5.52-2.31.52-2.76 0-5.3-2.1-5.3-5.1H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c.91-.13 1.77-.45 2.54-.9L19.73 21 21 19.73 4.27 3z\"/></svg>";
6
+ export declare const ICON_USER = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"/></svg>";
7
+ export declare const ICON_VIDEO = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17 10.5V7c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11l-4 4z\"/></svg>";
8
+ export declare const ICON_VIDEO_OFF = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M21 6.5l-4 4V7c0-.55-.45-1-1-1H9.82L21 17.18V6.5zM3.27 2L2 3.27 4.73 6H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.21 0 .39-.08.54-.18L19.73 21 21 19.73 3.27 2z\"/></svg>";
9
+ export declare const ICON_CLOSE = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z\"/></svg>";
10
+ export declare const ICON_BACKSPACE = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z\"/></svg>";
11
+ export declare const ICON_DIALPAD = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12 19c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zM6 1c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12-8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm-6 8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"/></svg>";
12
+ export declare const ICON_CALL_LIST = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M20 15.5c-1.25 0-2.45-.2-3.57-.57a1.02 1.02 0 00-1.02.24l-2.2 2.2a15.045 15.045 0 01-6.59-6.59l2.2-2.21a.96.96 0 00.25-1A11.36 11.36 0 018.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1zM19 12h2c0-4.97-4.03-9-9-9v2c3.87 0 7 3.13 7 7zm-4 0h2c0-2.76-2.24-5-5-5v2c1.66 0 3 1.34 3 3z\"/></svg>";
13
+ export declare const ICON_CONTACTS = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5s-3 1.34-3 3 1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z\"/></svg>";
14
+ export declare const ICON_SEARCH = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M15.5 14h-.79l-.28-.27a6.5 6.5 0 001.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 00-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 005.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\"/></svg>";
15
+ export declare const ICON_REFRESH = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17.65 6.35A7.958 7.958 0 0012 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0112 18c-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z\"/></svg>";
16
+ //# sourceMappingURL=icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/widget/icons.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,wRAAkR,CAAC;AAE1S,eAAO,MAAM,cAAc,ibAA2a,CAAC;AAEvc,eAAO,MAAM,iBAAiB,sWAAgW,CAAC;AAE/X,eAAO,MAAM,QAAQ,sUAA8T,CAAC;AAEpV,eAAO,MAAM,YAAY,8aAAwa,CAAC;AAElc,eAAO,MAAM,SAAS,uLAAiL,CAAC;AAExM,eAAO,MAAM,UAAU,+KAAyK,CAAC;AAEjM,eAAO,MAAM,cAAc,uOAAiO,CAAC;AAE7P,eAAO,MAAM,UAAU,uLAAiL,CAAC;AAEzM,eAAO,MAAM,cAAc,+RAAyR,CAAC;AAErT,eAAO,MAAM,YAAY,+iBAAyiB,CAAC;AAEnkB,eAAO,MAAM,cAAc,mZAA6Y,CAAC;AAEza,eAAO,MAAM,aAAa,6VAAuV,CAAC;AAElX,eAAO,MAAM,WAAW,iXAA2W,CAAC;AAEpY,eAAO,MAAM,YAAY,gRAA0Q,CAAC"}