tas-uell-sdk 0.0.1 → 0.0.3

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 (31) hide show
  1. package/INSTALL_AND_TEST.md +427 -0
  2. package/README.md +122 -229
  3. package/esm2020/lib/components/tas-btn/tas-btn.component.mjs +79 -95
  4. package/esm2020/lib/components/tas-floating-call/tas-floating-call.component.mjs +74 -24
  5. package/esm2020/lib/components/tas-videocall/tas-videocall.component.mjs +50 -45
  6. package/esm2020/lib/components/tas-waiting-room/tas-waiting-room.component.mjs +179 -0
  7. package/esm2020/lib/config/tas.config.mjs +10 -0
  8. package/esm2020/lib/interfaces/tas.interfaces.mjs +32 -2
  9. package/esm2020/lib/services/tas.service.mjs +27 -48
  10. package/esm2020/lib/tas-uell-sdk.module.mjs +82 -0
  11. package/esm2020/public-api.mjs +13 -12
  12. package/esm2020/tas-uell-sdk.mjs +1 -1
  13. package/fesm2015/tas-uell-sdk.mjs +440 -218
  14. package/fesm2015/tas-uell-sdk.mjs.map +1 -1
  15. package/fesm2020/tas-uell-sdk.mjs +437 -216
  16. package/fesm2020/tas-uell-sdk.mjs.map +1 -1
  17. package/lib/components/tas-btn/tas-btn.component.d.ts +15 -11
  18. package/lib/components/tas-floating-call/tas-floating-call.component.d.ts +3 -2
  19. package/lib/components/tas-videocall/tas-videocall.component.d.ts +4 -3
  20. package/lib/components/tas-waiting-room/tas-waiting-room.component.d.ts +56 -0
  21. package/lib/config/tas.config.d.ts +28 -0
  22. package/lib/interfaces/tas.interfaces.d.ts +41 -6
  23. package/lib/services/tas.service.d.ts +6 -16
  24. package/lib/tas-uell-sdk.module.d.ts +46 -0
  25. package/package.json +36 -23
  26. package/public-api.d.ts +8 -7
  27. package/src/lib/styles/tas-global.scss +37 -0
  28. package/esm2020/lib/tas.config.mjs +0 -14
  29. package/esm2020/lib/tas.module.mjs +0 -73
  30. package/lib/tas.config.d.ts +0 -51
  31. package/lib/tas.module.d.ts +0 -34
@@ -0,0 +1,46 @@
1
+ import { ModuleWithProviders } from '@angular/core';
2
+ import { TasConfig, TasHttpClient } from './config/tas.config';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./components/tas-btn/tas-btn.component";
5
+ import * as i2 from "./components/tas-videocall/tas-videocall.component";
6
+ import * as i3 from "./components/tas-floating-call/tas-floating-call.component";
7
+ import * as i4 from "./components/tas-waiting-room/tas-waiting-room.component";
8
+ import * as i5 from "@angular/common";
9
+ export declare class TasUellSdkModule {
10
+ /**
11
+ * Use forRoot() to configure the TAS SDK module with required dependencies.
12
+ * This should only be called once in your root AppModule.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * import { TasUellSdkModule, TasHttpClient } from 'tas-uell-sdk';
17
+ *
18
+ * // Create an adapter that implements TasHttpClient
19
+ * @Injectable({ providedIn: 'root' })
20
+ * export class MyHttpAdapter implements TasHttpClient {
21
+ * constructor(private http: HttpClient) {}
22
+ * post<T>(url: string, options: { body: any; headers?: Record<string, string> }): Observable<T> {
23
+ * return this.http.post<T>(url, options.body, { headers: options.headers });
24
+ * }
25
+ * }
26
+ *
27
+ * // In your AppModule
28
+ * @NgModule({
29
+ * imports: [
30
+ * TasUellSdkModule.forRoot({
31
+ * config: { tokBoxApiKey: 'YOUR_TOKBOX_API_KEY' },
32
+ * httpClient: MyHttpAdapter
33
+ * })
34
+ * ]
35
+ * })
36
+ * export class AppModule { }
37
+ * ```
38
+ */
39
+ static forRoot(options: {
40
+ config: TasConfig;
41
+ httpClient: new (...args: any[]) => TasHttpClient;
42
+ }): ModuleWithProviders<TasUellSdkModule>;
43
+ static ɵfac: i0.ɵɵFactoryDeclaration<TasUellSdkModule, never>;
44
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TasUellSdkModule, [typeof i1.TasButtonComponent, typeof i2.TasVideocallComponent, typeof i3.TasFloatingCallComponent, typeof i4.TasWaitingRoomComponent], [typeof i5.CommonModule], [typeof i1.TasButtonComponent, typeof i2.TasVideocallComponent, typeof i3.TasFloatingCallComponent, typeof i4.TasWaitingRoomComponent]>;
45
+ static ɵinj: i0.ɵɵInjectorDeclaration<TasUellSdkModule>;
46
+ }
package/package.json CHANGED
@@ -1,36 +1,51 @@
1
1
  {
2
2
  "name": "tas-uell-sdk",
3
- "version": "0.0.1",
4
- "description": "TAS Video Call SDK",
5
- "main": "dist/tas-uell-sdk.umd.js",
6
- "module": "fesm2015/tas-uell-sdk.mjs",
7
- "es2015": "dist/tas-uell-sdk.js",
8
- "esm5": "dist/esm5/public-api.js",
9
- "esm2015": "dist/esm2015/public-api.js",
10
- "fesm5": "dist/fesm5/tas-uell-sdk.js",
11
- "fesm2015": "fesm2015/tas-uell-sdk.mjs",
12
- "typings": "tas-uell-sdk.d.ts",
13
- "metadata": "dist/tas-uell-sdk.metadata.json",
14
- "sideEffects": false,
3
+ "version": "0.0.3",
4
+ "description": "TAS (Telemedicine Assistance Service) SDK for Angular applications - Video call functionality using TokBox/Vonage",
15
5
  "peerDependencies": {
16
- "@angular/common": ">=13.0.0",
17
- "@angular/core": ">=13.0.0",
18
- "@ng-bootstrap/ng-bootstrap": ">=12.0.0",
19
- "@opentok/client": ">=2.20.0",
20
- "interactjs": ">=1.10.0",
21
- "rxjs": ">=7.0.0"
6
+ "@angular/common": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0",
7
+ "@angular/core": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0",
8
+ "@ng-bootstrap/ng-bootstrap": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0",
9
+ "@opentok/client": "^2.20.0",
10
+ "interactjs": "^1.10.0",
11
+ "rxjs": "^7.0.0",
12
+ "bootstrap": "^4.0.0 || ^5.0.0",
13
+ "font-awesome": "^4.7.0"
14
+ },
15
+ "dependencies": {
16
+ "tslib": "^2.3.0"
22
17
  },
23
18
  "keywords": [
24
19
  "angular",
25
20
  "video-call",
21
+ "telemedicine",
26
22
  "tokbox",
27
23
  "vonage",
28
- "tas"
24
+ "opentok",
25
+ "uell",
26
+ "tas",
27
+ "webrtc",
28
+ "angular-library"
29
29
  ],
30
- "license": "UNLICENSED",
30
+ "author": "UELL",
31
+ "license": "MIT",
32
+ "homepage": "https://github.com/your-org/tas-uell-sdk#readme",
33
+ "bugs": {
34
+ "url": "https://github.com/your-org/tas-uell-sdk/issues"
35
+ },
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "git+https://github.com/your-org/tas-uell-sdk.git"
39
+ },
40
+ "publishConfig": {
41
+ "access": "public"
42
+ },
43
+ "module": "fesm2015/tas-uell-sdk.mjs",
31
44
  "es2020": "fesm2020/tas-uell-sdk.mjs",
32
45
  "esm2020": "esm2020/tas-uell-sdk.mjs",
33
46
  "fesm2020": "fesm2020/tas-uell-sdk.mjs",
47
+ "fesm2015": "fesm2015/tas-uell-sdk.mjs",
48
+ "typings": "tas-uell-sdk.d.ts",
34
49
  "exports": {
35
50
  "./package.json": {
36
51
  "default": "./package.json"
@@ -44,7 +59,5 @@
44
59
  "default": "./fesm2020/tas-uell-sdk.mjs"
45
60
  }
46
61
  },
47
- "dependencies": {
48
- "tslib": "^2.3.0"
49
- }
62
+ "sideEffects": false
50
63
  }
package/public-api.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- export * from "./lib/tas.module";
2
- export * from "./lib/tas.config";
3
- export * from "./lib/services/tas.service";
4
- export * from "./lib/components/tas-btn/tas-btn.component";
5
- export * from "./lib/components/tas-videocall/tas-videocall.component";
6
- export * from "./lib/components/tas-floating-call/tas-floating-call.component";
7
- export * from "./lib/interfaces/tas.interfaces";
1
+ export * from './lib/config/tas.config';
2
+ export * from './lib/interfaces/tas.interfaces';
3
+ export * from './lib/services/tas.service';
4
+ export * from './lib/components/tas-btn/tas-btn.component';
5
+ export * from './lib/components/tas-waiting-room/tas-waiting-room.component';
6
+ export * from './lib/components/tas-videocall/tas-videocall.component';
7
+ export * from './lib/components/tas-floating-call/tas-floating-call.component';
8
+ export * from './lib/tas-uell-sdk.module';
@@ -0,0 +1,37 @@
1
+ /* TAS SDK Global Styles - Add to your global styles.scss */
2
+
3
+ /* TAS Video Modal - global styles for NgbModal wrapper */
4
+ .tas-video-modal {
5
+ .modal-dialog {
6
+ max-width: 100vw;
7
+ margin: 0;
8
+ height: 100vh;
9
+ }
10
+ .modal-content {
11
+ height: 100vh;
12
+ border: none;
13
+ border-radius: 0;
14
+ background: #000;
15
+ }
16
+ .modal-body {
17
+ padding: 0;
18
+ }
19
+ }
20
+
21
+ /* TAS Waiting Room Modal - global styles for NgbModal wrapper */
22
+ .tas-waiting-room-modal {
23
+ .modal-dialog {
24
+ max-width: 480px;
25
+ }
26
+ .modal-content {
27
+ border: none;
28
+ border-radius: 5px;
29
+ background: #ffffff;
30
+ overflow: hidden;
31
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
32
+ }
33
+ .modal-body {
34
+ padding: 0;
35
+ }
36
+ }
37
+
@@ -1,14 +0,0 @@
1
- import { InjectionToken } from "@angular/core";
2
- /**
3
- * Injection token for TAS configuration
4
- */
5
- export const TAS_CONFIG = new InjectionToken("TAS_CONFIG");
6
- /**
7
- * Injection token for HTTP client
8
- */
9
- export const TAS_HTTP_CLIENT = new InjectionToken("TAS_HTTP_CLIENT");
10
- /**
11
- * Injection token for user data provider
12
- */
13
- export const TAS_USER_DATA_PROVIDER = new InjectionToken("TAS_USER_DATA_PROVIDER");
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdGFzLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBK0MvQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBWSxZQUFZLENBQUMsQ0FBQztBQUV0RTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FDL0MsaUJBQWlCLENBQ2xCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUN0RCx3QkFBd0IsQ0FDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gaW50ZXJmYWNlIGZvciB0aGUgVEFTIFNES1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhc0NvbmZpZyB7XG4gIC8qKlxuICAgKiBUb2tCb3gvVm9uYWdlIEFQSSBLZXlcbiAgICovXG4gIHRva0JveEFwaUtleTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCYXNlIFVSTCBmb3IgdGhlIFRBUyBBUEkgZW5kcG9pbnRzXG4gICAqL1xuICBhcGlCYXNlVXJsOiBzdHJpbmc7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBIVFRQIGNsaWVudCB0aGF0IHRoZSBTREsgd2lsbCB1c2UuXG4gKiBJbXBsZW1lbnQgdGhpcyBpbnRlcmZhY2UgaW4geW91ciBhcHAgYW5kIHByb3ZpZGUgaXQgdG8gdGhlIFNESy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYXNIdHRwQ2xpZW50IHtcbiAgcG9zdDxUPihcbiAgICB1cmw6IHN0cmluZyxcbiAgICBib2R5OiBhbnksXG4gICAgb3B0aW9ucz86IHsgaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfVxuICApOiBPYnNlcnZhYmxlPFQ+O1xufVxuXG4vKipcbiAqIFVzZXIgZGF0YSBpbnRlcmZhY2UgcmVxdWlyZWQgYnkgVGFzQnV0dG9uQ29tcG9uZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFzVXNlckRhdGEge1xuICBpZDogc3RyaW5nIHwgbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIHN1cm5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBVc2VyIGRhdGEgcHJvdmlkZXIgaW50ZXJmYWNlIC0gaW1wbGVtZW50IHRoaXMgdG8gcHJvdmlkZSB1c2VyIGRhdGEgdG8gdGhlIFNES1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhc1VzZXJEYXRhUHJvdmlkZXIge1xuICBnZXRVc2VyRGF0YSgpOiBUYXNVc2VyRGF0YSB8IG51bGw7XG4gIGdldFRlbmFudElkKCk6IHN0cmluZyB8IG51bGw7XG59XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIGZvciBUQVMgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgY29uc3QgVEFTX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUYXNDb25maWc+KFwiVEFTX0NPTkZJR1wiKTtcblxuLyoqXG4gKiBJbmplY3Rpb24gdG9rZW4gZm9yIEhUVFAgY2xpZW50XG4gKi9cbmV4cG9ydCBjb25zdCBUQVNfSFRUUF9DTElFTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48VGFzSHR0cENsaWVudD4oXG4gIFwiVEFTX0hUVFBfQ0xJRU5UXCJcbik7XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIGZvciB1c2VyIGRhdGEgcHJvdmlkZXJcbiAqL1xuZXhwb3J0IGNvbnN0IFRBU19VU0VSX0RBVEFfUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48VGFzVXNlckRhdGFQcm92aWRlcj4oXG4gIFwiVEFTX1VTRVJfREFUQV9QUk9WSURFUlwiXG4pO1xuIl19
@@ -1,73 +0,0 @@
1
- import { NgModule } from "@angular/core";
2
- import { CommonModule } from "@angular/common";
3
- import { NgbModalModule } from "@ng-bootstrap/ng-bootstrap";
4
- import { TasButtonComponent } from "./components/tas-btn/tas-btn.component";
5
- import { TasVideocallComponent } from "./components/tas-videocall/tas-videocall.component";
6
- import { TasFloatingCallComponent } from "./components/tas-floating-call/tas-floating-call.component";
7
- import { TAS_CONFIG, TAS_HTTP_CLIENT, TAS_USER_DATA_PROVIDER, } from "./tas.config";
8
- import * as i0 from "@angular/core";
9
- export class TasModule {
10
- /**
11
- * Use this method in your app module to configure the TAS SDK
12
- *
13
- * @example
14
- * ```typescript
15
- * TasModule.forRoot({
16
- * config: {
17
- * tokBoxApiKey: environment.tokBox,
18
- * apiBaseUrl: environment.apiUrl
19
- * },
20
- * httpClient: MyHttpClientAdapter,
21
- * userDataProvider: MyUserDataProvider
22
- * })
23
- * ```
24
- */
25
- static forRoot(moduleConfig) {
26
- const providers = [
27
- {
28
- provide: TAS_CONFIG,
29
- useValue: moduleConfig.config,
30
- },
31
- ];
32
- if (moduleConfig.httpClient) {
33
- providers.push({
34
- provide: TAS_HTTP_CLIENT,
35
- useClass: moduleConfig.httpClient,
36
- });
37
- }
38
- if (moduleConfig.userDataProvider) {
39
- providers.push({
40
- provide: TAS_USER_DATA_PROVIDER,
41
- useClass: moduleConfig.userDataProvider,
42
- });
43
- }
44
- return {
45
- ngModule: TasModule,
46
- providers,
47
- };
48
- }
49
- }
50
- TasModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TasModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
51
- TasModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TasModule, declarations: [TasButtonComponent,
52
- TasVideocallComponent,
53
- TasFloatingCallComponent], imports: [CommonModule, NgbModalModule], exports: [TasButtonComponent,
54
- TasVideocallComponent,
55
- TasFloatingCallComponent] });
56
- TasModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TasModule, imports: [[CommonModule, NgbModalModule]] });
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TasModule, decorators: [{
58
- type: NgModule,
59
- args: [{
60
- declarations: [
61
- TasButtonComponent,
62
- TasVideocallComponent,
63
- TasFloatingCallComponent,
64
- ],
65
- imports: [CommonModule, NgbModalModule],
66
- exports: [
67
- TasButtonComponent,
68
- TasVideocallComponent,
69
- TasFloatingCallComponent,
70
- ],
71
- }]
72
- }] });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdGFzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3RHLE9BQU8sRUFDTCxVQUFVLEVBQ1YsZUFBZSxFQUNmLHNCQUFzQixHQUl2QixNQUFNLGNBQWMsQ0FBQzs7QUFxQnRCLE1BQU0sT0FBTyxTQUFTO0lBQ3BCOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FDWixZQUE2QjtRQUU3QixNQUFNLFNBQVMsR0FBVTtZQUN2QjtnQkFDRSxPQUFPLEVBQUUsVUFBVTtnQkFDbkIsUUFBUSxFQUFFLFlBQVksQ0FBQyxNQUFNO2FBQzlCO1NBQ0YsQ0FBQztRQUVGLElBQUksWUFBWSxDQUFDLFVBQVUsRUFBRTtZQUMzQixTQUFTLENBQUMsSUFBSSxDQUFDO2dCQUNiLE9BQU8sRUFBRSxlQUFlO2dCQUN4QixRQUFRLEVBQUUsWUFBWSxDQUFDLFVBQVU7YUFDbEMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNqQyxTQUFTLENBQUMsSUFBSSxDQUFDO2dCQUNiLE9BQU8sRUFBRSxzQkFBc0I7Z0JBQy9CLFFBQVEsRUFBRSxZQUFZLENBQUMsZ0JBQWdCO2FBQ3hDLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTztZQUNMLFFBQVEsRUFBRSxTQUFTO1lBQ25CLFNBQVM7U0FDVixDQUFDO0lBQ0osQ0FBQzs7c0dBNUNVLFNBQVM7dUdBQVQsU0FBUyxpQkFYbEIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQix3QkFBd0IsYUFFaEIsWUFBWSxFQUFFLGNBQWMsYUFFcEMsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQix3QkFBd0I7dUdBR2YsU0FBUyxZQVBYLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQzsyRkFPNUIsU0FBUztrQkFickIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLHdCQUF3QjtxQkFDekI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQztvQkFDdkMsT0FBTyxFQUFFO3dCQUNQLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQix3QkFBd0I7cUJBQ3pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgTmdiTW9kYWxNb2R1bGUgfSBmcm9tIFwiQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXBcIjtcblxuaW1wb3J0IHsgVGFzQnV0dG9uQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy90YXMtYnRuL3Rhcy1idG4uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUYXNWaWRlb2NhbGxDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3Rhcy12aWRlb2NhbGwvdGFzLXZpZGVvY2FsbC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRhc0Zsb2F0aW5nQ2FsbENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvdGFzLWZsb2F0aW5nLWNhbGwvdGFzLWZsb2F0aW5nLWNhbGwuY29tcG9uZW50XCI7XG5pbXBvcnQge1xuICBUQVNfQ09ORklHLFxuICBUQVNfSFRUUF9DTElFTlQsXG4gIFRBU19VU0VSX0RBVEFfUFJPVklERVIsXG4gIFRhc0NvbmZpZyxcbiAgVGFzSHR0cENsaWVudCxcbiAgVGFzVXNlckRhdGFQcm92aWRlcixcbn0gZnJvbSBcIi4vdGFzLmNvbmZpZ1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhc01vZHVsZUNvbmZpZyB7XG4gIGNvbmZpZzogVGFzQ29uZmlnO1xuICBodHRwQ2xpZW50PzogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVGFzSHR0cENsaWVudDtcbiAgdXNlckRhdGFQcm92aWRlcj86IG5ldyAoLi4uYXJnczogYW55W10pID0+IFRhc1VzZXJEYXRhUHJvdmlkZXI7XG59XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFRhc0J1dHRvbkNvbXBvbmVudCxcbiAgICBUYXNWaWRlb2NhbGxDb21wb25lbnQsXG4gICAgVGFzRmxvYXRpbmdDYWxsQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ2JNb2RhbE1vZHVsZV0sXG4gIGV4cG9ydHM6IFtcbiAgICBUYXNCdXR0b25Db21wb25lbnQsXG4gICAgVGFzVmlkZW9jYWxsQ29tcG9uZW50LFxuICAgIFRhc0Zsb2F0aW5nQ2FsbENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFzTW9kdWxlIHtcbiAgLyoqXG4gICAqIFVzZSB0aGlzIG1ldGhvZCBpbiB5b3VyIGFwcCBtb2R1bGUgdG8gY29uZmlndXJlIHRoZSBUQVMgU0RLXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogVGFzTW9kdWxlLmZvclJvb3Qoe1xuICAgKiAgIGNvbmZpZzoge1xuICAgKiAgICAgdG9rQm94QXBpS2V5OiBlbnZpcm9ubWVudC50b2tCb3gsXG4gICAqICAgICBhcGlCYXNlVXJsOiBlbnZpcm9ubWVudC5hcGlVcmxcbiAgICogICB9LFxuICAgKiAgIGh0dHBDbGllbnQ6IE15SHR0cENsaWVudEFkYXB0ZXIsXG4gICAqICAgdXNlckRhdGFQcm92aWRlcjogTXlVc2VyRGF0YVByb3ZpZGVyXG4gICAqIH0pXG4gICAqIGBgYFxuICAgKi9cbiAgc3RhdGljIGZvclJvb3QoXG4gICAgbW9kdWxlQ29uZmlnOiBUYXNNb2R1bGVDb25maWdcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxUYXNNb2R1bGU+IHtcbiAgICBjb25zdCBwcm92aWRlcnM6IGFueVtdID0gW1xuICAgICAge1xuICAgICAgICBwcm92aWRlOiBUQVNfQ09ORklHLFxuICAgICAgICB1c2VWYWx1ZTogbW9kdWxlQ29uZmlnLmNvbmZpZyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGlmIChtb2R1bGVDb25maWcuaHR0cENsaWVudCkge1xuICAgICAgcHJvdmlkZXJzLnB1c2goe1xuICAgICAgICBwcm92aWRlOiBUQVNfSFRUUF9DTElFTlQsXG4gICAgICAgIHVzZUNsYXNzOiBtb2R1bGVDb25maWcuaHR0cENsaWVudCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChtb2R1bGVDb25maWcudXNlckRhdGFQcm92aWRlcikge1xuICAgICAgcHJvdmlkZXJzLnB1c2goe1xuICAgICAgICBwcm92aWRlOiBUQVNfVVNFUl9EQVRBX1BST1ZJREVSLFxuICAgICAgICB1c2VDbGFzczogbW9kdWxlQ29uZmlnLnVzZXJEYXRhUHJvdmlkZXIsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFRhc01vZHVsZSxcbiAgICAgIHByb3ZpZGVycyxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -1,51 +0,0 @@
1
- import { InjectionToken } from "@angular/core";
2
- import { Observable } from "rxjs";
3
- /**
4
- * Configuration interface for the TAS SDK
5
- */
6
- export interface TasConfig {
7
- /**
8
- * TokBox/Vonage API Key
9
- */
10
- tokBoxApiKey: string;
11
- /**
12
- * Base URL for the TAS API endpoints
13
- */
14
- apiBaseUrl: string;
15
- }
16
- /**
17
- * Interface for HTTP client that the SDK will use.
18
- * Implement this interface in your app and provide it to the SDK.
19
- */
20
- export interface TasHttpClient {
21
- post<T>(url: string, body: any, options?: {
22
- headers?: Record<string, string>;
23
- }): Observable<T>;
24
- }
25
- /**
26
- * User data interface required by TasButtonComponent
27
- */
28
- export interface TasUserData {
29
- id: string | number;
30
- name: string;
31
- surname: string;
32
- }
33
- /**
34
- * User data provider interface - implement this to provide user data to the SDK
35
- */
36
- export interface TasUserDataProvider {
37
- getUserData(): TasUserData | null;
38
- getTenantId(): string | null;
39
- }
40
- /**
41
- * Injection token for TAS configuration
42
- */
43
- export declare const TAS_CONFIG: InjectionToken<TasConfig>;
44
- /**
45
- * Injection token for HTTP client
46
- */
47
- export declare const TAS_HTTP_CLIENT: InjectionToken<TasHttpClient>;
48
- /**
49
- * Injection token for user data provider
50
- */
51
- export declare const TAS_USER_DATA_PROVIDER: InjectionToken<TasUserDataProvider>;
@@ -1,34 +0,0 @@
1
- import { ModuleWithProviders } from "@angular/core";
2
- import { TasConfig, TasHttpClient, TasUserDataProvider } from "./tas.config";
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./components/tas-btn/tas-btn.component";
5
- import * as i2 from "./components/tas-videocall/tas-videocall.component";
6
- import * as i3 from "./components/tas-floating-call/tas-floating-call.component";
7
- import * as i4 from "@angular/common";
8
- import * as i5 from "@ng-bootstrap/ng-bootstrap";
9
- export interface TasModuleConfig {
10
- config: TasConfig;
11
- httpClient?: new (...args: any[]) => TasHttpClient;
12
- userDataProvider?: new (...args: any[]) => TasUserDataProvider;
13
- }
14
- export declare class TasModule {
15
- /**
16
- * Use this method in your app module to configure the TAS SDK
17
- *
18
- * @example
19
- * ```typescript
20
- * TasModule.forRoot({
21
- * config: {
22
- * tokBoxApiKey: environment.tokBox,
23
- * apiBaseUrl: environment.apiUrl
24
- * },
25
- * httpClient: MyHttpClientAdapter,
26
- * userDataProvider: MyUserDataProvider
27
- * })
28
- * ```
29
- */
30
- static forRoot(moduleConfig: TasModuleConfig): ModuleWithProviders<TasModule>;
31
- static ɵfac: i0.ɵɵFactoryDeclaration<TasModule, never>;
32
- static ɵmod: i0.ɵɵNgModuleDeclaration<TasModule, [typeof i1.TasButtonComponent, typeof i2.TasVideocallComponent, typeof i3.TasFloatingCallComponent], [typeof i4.CommonModule, typeof i5.NgbModalModule], [typeof i1.TasButtonComponent, typeof i2.TasVideocallComponent, typeof i3.TasFloatingCallComponent]>;
33
- static ɵinj: i0.ɵɵInjectorDeclaration<TasModule>;
34
- }