@tuki-io/tuki-widgets 0.0.219-dev.24 → 0.0.219-dev.25

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 (29) hide show
  1. package/esm2020/meetings/public-api.mjs +8 -0
  2. package/esm2020/meetings/src/components/live-meetings/live-meetings.component.mjs +61 -0
  3. package/esm2020/meetings/src/components/meeting-spaces/meeting-spaces.component.mjs +40 -0
  4. package/esm2020/meetings/src/material.module.mjs +62 -0
  5. package/esm2020/meetings/src/meetings.component.mjs +35 -0
  6. package/esm2020/meetings/src/meetings.module.mjs +42 -0
  7. package/esm2020/meetings/src/services/api.service.mjs +67 -0
  8. package/esm2020/meetings/src/services/live-meetings.service.mjs +85 -0
  9. package/esm2020/meetings/src/services/meeting-spaces.service.mjs +29 -0
  10. package/esm2020/meetings/src/types/live-meeting.mjs +2 -0
  11. package/esm2020/meetings/src/types/meeting-space.mjs +2 -0
  12. package/esm2020/meetings/tuki-io-tuki-widgets-meetings.mjs +5 -0
  13. package/fesm2015/tuki-io-tuki-widgets-meetings.mjs +405 -0
  14. package/fesm2015/tuki-io-tuki-widgets-meetings.mjs.map +1 -0
  15. package/fesm2020/tuki-io-tuki-widgets-meetings.mjs +405 -0
  16. package/fesm2020/tuki-io-tuki-widgets-meetings.mjs.map +1 -0
  17. package/meetings/index.d.ts +5 -0
  18. package/meetings/public-api.d.ts +2 -0
  19. package/meetings/src/components/live-meetings/live-meetings.component.d.ts +27 -0
  20. package/meetings/src/components/meeting-spaces/meeting-spaces.component.d.ts +16 -0
  21. package/meetings/src/material.module.d.ts +13 -0
  22. package/meetings/src/meetings.component.d.ts +16 -0
  23. package/meetings/src/meetings.module.d.ts +13 -0
  24. package/meetings/src/services/api.service.d.ts +18 -0
  25. package/meetings/src/services/live-meetings.service.d.ts +8 -0
  26. package/meetings/src/services/meeting-spaces.service.d.ts +8 -0
  27. package/meetings/src/types/live-meeting.d.ts +33 -0
  28. package/meetings/src/types/meeting-space.d.ts +8 -0
  29. package/package.json +9 -1
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Public API Surface of @tuki-io/tuki-widgets
3
+ */
4
+ // Widget Modules
5
+ export * from './src/meetings.module';
6
+ // Components
7
+ export * from './src/meetings.component';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9tZWV0aW5ncy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsaUJBQWlCO0FBQ2pCLGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsYUFBYTtBQUNiLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIEB0dWtpLWlvL3R1a2ktd2lkZ2V0c1xuICovXG5cbi8vIFdpZGdldCBNb2R1bGVzXG5leHBvcnQgKiBmcm9tICcuL3NyYy9tZWV0aW5ncy5tb2R1bGUnO1xuXG4vLyBDb21wb25lbnRzXG5leHBvcnQgKiBmcm9tICcuL3NyYy9tZWV0aW5ncy5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,61 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../services/live-meetings.service";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/forms";
6
+ import * as i4 from "@angular/material/icon";
7
+ export class LiveMeetingsComponent {
8
+ constructor(liveMeetingsService) {
9
+ this.liveMeetingsService = liveMeetingsService;
10
+ this.meetings = [];
11
+ this.summary = null;
12
+ this.searchTerm = '';
13
+ this.isAutoRefreshOn = true;
14
+ this.lastUpdatedLabel = 'Updated just now';
15
+ }
16
+ ngOnInit() {
17
+ this.load();
18
+ }
19
+ get statCards() {
20
+ if (!this.summary) {
21
+ return [];
22
+ }
23
+ return [
24
+ { label: 'Active meetings', value: this.summary.activeMeetings },
25
+ { label: 'Connected participants', value: this.summary.connectedParticipants },
26
+ { label: 'Waiting in lobby', value: this.summary.waitingInLobby },
27
+ { label: 'Recording', value: this.summary.recording, icon: 'record-active-regular' },
28
+ { label: 'Streaming', value: this.summary.streaming, icon: 'wifi-signal-good-regular' },
29
+ { label: 'Quality warnings', value: this.summary.qualityWarnings },
30
+ ];
31
+ }
32
+ get filteredMeetings() {
33
+ const term = this.searchTerm.trim().toLowerCase();
34
+ if (!term) {
35
+ return this.meetings;
36
+ }
37
+ return this.meetings.filter(meeting => meeting.title.toLowerCase().includes(term) ||
38
+ meeting.ownerEmail.toLowerCase().includes(term) ||
39
+ meeting.ownerName.toLowerCase().includes(term));
40
+ }
41
+ toggleAutoRefresh() {
42
+ this.isAutoRefreshOn = !this.isAutoRefreshOn;
43
+ }
44
+ refresh() {
45
+ this.load();
46
+ this.lastUpdatedLabel = 'Updated just now';
47
+ }
48
+ load() {
49
+ this.liveMeetingsService.fetchLiveMeetings().subscribe(snapshot => {
50
+ this.summary = snapshot.summary;
51
+ this.meetings = snapshot.meetings;
52
+ });
53
+ }
54
+ }
55
+ LiveMeetingsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LiveMeetingsComponent, deps: [{ token: i1.LiveMeetingsService }], target: i0.ɵɵFactoryTarget.Component });
56
+ LiveMeetingsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: LiveMeetingsComponent, selector: "tk-live-meetings", ngImport: i0, template: "<div class=\"tk-live-meetings\">\n <div class=\"tk-live-meetings__stats\">\n <div class=\"tk-live-meetings__stat-card\" *ngFor=\"let stat of statCards\">\n <span class=\"tk-live-meetings__stat-label\">\n <img *ngIf=\"stat.icon\" class=\"tk-live-meetings__stat-icon\" [src]=\"'assets/icons/' + stat.icon + '.svg'\" alt=\"\">\n {{ stat.label }}\n </span>\n <span class=\"tk-live-meetings__stat-value\">{{ stat.value }}</span>\n </div>\n </div>\n\n <div class=\"tk-live-meetings__toolbar\">\n <div class=\"tk-live-meetings__search\">\n <mat-icon class=\"tk-live-meetings__search-icon\">search</mat-icon>\n <input\n type=\"text\"\n class=\"tk-live-meetings__search-input\"\n placeholder=\"Search by Name, URI or Meeting ID\"\n [(ngModel)]=\"searchTerm\">\n </div>\n\n <button type=\"button\" class=\"tk-live-meetings__filter-button\">\n <img class=\"tk-live-meetings__filter-icon\" src=\"assets/icons/filter-regular.svg\" alt=\"filter_list\" title=\"filter_list\">\n Filter\n </button>\n\n <span class=\"tk-live-meetings__count\">{{ filteredMeetings.length }} meetings</span>\n </div>\n\n <table class=\"tk-live-meetings__table\">\n <thead>\n <tr>\n <th>Meeting Title</th>\n <th>Owner</th>\n <th>Participants</th>\n <th>Lobby</th>\n <th>Lock</th>\n <th>Activity</th>\n <th>Start</th>\n <th>Duration</th>\n <th>Cluster</th>\n <th>Actions</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let meeting of filteredMeetings\">\n <td class=\"tk-live-meetings__title-cell\">\n <a href=\"javascript:void(0)\" class=\"tk-live-meetings__title-link\">{{ meeting.title }}</a>\n <span class=\"tk-live-meetings__title-subtext\">{{ meeting.ownerEmail }}</span>\n </td>\n <td>{{ meeting.ownerName }}</td>\n <td>{{ meeting.participants }}</td>\n <td>{{ meeting.lobbyCount }}</td>\n <td>\n <span\n class=\"tk-live-meetings__lock-badge\"\n [class.tk-live-meetings__lock-badge--locked]=\"meeting.lockState === 'locked'\">\n <ng-container *ngIf=\"meeting.lockState === 'locked'; else unlockedLabel\">\n <span class=\"tk-live-meetings__lock-dot\"></span>\n <img class=\"tk-live-meetings__lock-icon\" src=\"assets/icons/secure-lock-regular.svg\" alt=\"\">\n Locked\n </ng-container>\n <ng-template #unlockedLabel>Unlocked</ng-template>\n </span>\n </td>\n <td>\n <span class=\"tk-live-meetings__activity\">\n <ng-container *ngIf=\"meeting.activity.recording || meeting.activity.streaming || meeting.activity.presenting; else noActivity\">\n <img *ngIf=\"meeting.activity.recording\" class=\"tk-live-meetings__activity-icon tk-live-meetings__activity-icon--recording\" src=\"assets/icons/record-active-regular.svg\" alt=\"Recording\" title=\"Recording\">\n <img *ngIf=\"meeting.activity.streaming\" class=\"tk-live-meetings__activity-icon\" src=\"assets/icons/wifi-signal-good-regular.svg\" alt=\"Streaming\" title=\"Streaming\">\n <img *ngIf=\"meeting.activity.presenting\" class=\"tk-live-meetings__activity-icon\" src=\"assets/icons/display-regular.svg\" alt=\"Presenting\" title=\"Presenting\">\n </ng-container>\n <ng-template #noActivity>&mdash;</ng-template>\n </span>\n </td>\n <td>{{ meeting.startTime }}</td>\n <td>{{ meeting.duration }}</td>\n <td>{{ meeting.cluster }}</td>\n <td>\n <span class=\"tk-live-meetings__action-link\">Open controls</span>\n </td>\n </tr>\n <tr *ngIf=\"!filteredMeetings.length\">\n <td colspan=\"11\" class=\"tk-live-meetings__empty\">No live meetings match your search.</td>\n </tr>\n </tbody>\n </table>\n</div>\n", styles: [".tk-live-meetings{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2}.tk-live-meetings__stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.tk-live-meetings__stat-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:8px}.tk-live-meetings__stat-label{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;color:#0009}.tk-live-meetings__stat-icon{width:.875rem;height:.875rem}.tk-live-meetings__stat-value{font-size:1.5rem;font-weight:600;color:#000000f2}.tk-live-meetings__toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.tk-live-meetings__search{display:flex;align-items:center;gap:.5rem;flex:1;max-width:22rem;padding:.5rem .75rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:6px}.tk-live-meetings__search-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-live-meetings__search-input{flex:1;border:none;outline:none;font-family:inherit;font-size:.8125rem;color:#000000f2}.tk-live-meetings__search-input::placeholder{color:#0006}.tk-live-meetings__filter-button{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:6px;font-family:inherit;font-size:.8125rem;font-weight:500;color:#000000f2;cursor:pointer}.tk-live-meetings__filter-button:hover{background:rgba(0,0,0,.03)}.tk-live-meetings__filter-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-live-meetings__filter-icon{font-size:1rem;height:1rem;width:1rem;opacity:.6}.tk-live-meetings__refresh{display:inline-flex;align-items:center;gap:.5rem;margin-left:auto;font-size:.8125rem;color:#0009;white-space:nowrap}.tk-live-meetings__refresh-dot{width:.5rem;height:.5rem;border-radius:50%;background:#1d805f}.tk-live-meetings__refresh-dot--off{background:rgba(0,0,0,.3)}.tk-live-meetings__refresh-toggle{background:none;border:none;padding:0;font-family:inherit;font-size:.8125rem;font-weight:500;color:#0353a8;cursor:pointer}.tk-live-meetings__refresh-button{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer;color:#0009}.tk-live-meetings__refresh-button:hover{color:#000000f2}.tk-live-meetings__refresh-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-live-meetings__table{width:100%;border-collapse:collapse}.tk-live-meetings__table th{padding:.625rem .75rem;border-bottom:1px solid rgba(0,0,0,.12);text-align:left;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#0009;white-space:nowrap}.tk-live-meetings__table td{padding:.75rem;border-bottom:1px solid rgba(0,0,0,.12);font-size:.8125rem;color:#000000f2;white-space:nowrap}.tk-live-meetings__table tbody tr:hover td{background:rgba(0,0,0,.02)}.tk-live-meetings__table tbody tr:last-child td{border-bottom:none}.tk-live-meetings__title-cell{display:flex;flex-direction:column;gap:.125rem}.tk-live-meetings__title-link{color:#0353a8;font-weight:500;text-decoration:none}.tk-live-meetings__title-link:hover{text-decoration:underline}.tk-live-meetings__title-subtext{font-size:.75rem;color:#0009}.tk-live-meetings__lock-badge{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:500;color:#0009}.tk-live-meetings__lock-badge--locked{padding:.125rem .625rem;border-radius:999px;background:#e8e8ea;color:#47484c}.tk-live-meetings__lock-dot{width:.375rem;height:.375rem;border-radius:50%;background:currentColor}.tk-live-meetings__lock-icon{height:.75rem;width:.75rem;opacity:.75}.tk-live-meetings__activity{display:inline-flex;align-items:center;gap:.5rem;color:#0009}.tk-live-meetings__activity-icon{width:1rem;height:1rem;opacity:.7}.tk-live-meetings__activity-icon--recording{opacity:1;filter:invert(24%) sepia(89%) saturate(3000%) hue-rotate(340deg) brightness(90%) contrast(90%)}.tk-live-meetings__quality-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.125rem .625rem;border-radius:999px;background:rgba(0,0,0,.04);font-size:.75rem;font-weight:500;color:#000000f2}.tk-live-meetings__quality-dot{width:.5rem;height:.5rem;border-radius:50%}.tk-live-meetings__quality-badge--good .tk-live-meetings__quality-dot{background:#1d805f}.tk-live-meetings__quality-badge--fair .tk-live-meetings__quality-dot{background:#b5860b}.tk-live-meetings__quality-badge--poor .tk-live-meetings__quality-dot{background:#c73636}.tk-live-meetings__action-link{font-weight:500;text-decoration:none}.tk-live-meetings__action-link:hover{cursor:pointer}.tk-live-meetings__empty{padding:1.5rem;text-align:center;color:#0009}.tk-live-meetings__count{margin-left:auto;font-size:.8125rem;color:#0009;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LiveMeetingsComponent, decorators: [{
58
+ type: Component,
59
+ args: [{ selector: 'tk-live-meetings', template: "<div class=\"tk-live-meetings\">\n <div class=\"tk-live-meetings__stats\">\n <div class=\"tk-live-meetings__stat-card\" *ngFor=\"let stat of statCards\">\n <span class=\"tk-live-meetings__stat-label\">\n <img *ngIf=\"stat.icon\" class=\"tk-live-meetings__stat-icon\" [src]=\"'assets/icons/' + stat.icon + '.svg'\" alt=\"\">\n {{ stat.label }}\n </span>\n <span class=\"tk-live-meetings__stat-value\">{{ stat.value }}</span>\n </div>\n </div>\n\n <div class=\"tk-live-meetings__toolbar\">\n <div class=\"tk-live-meetings__search\">\n <mat-icon class=\"tk-live-meetings__search-icon\">search</mat-icon>\n <input\n type=\"text\"\n class=\"tk-live-meetings__search-input\"\n placeholder=\"Search by Name, URI or Meeting ID\"\n [(ngModel)]=\"searchTerm\">\n </div>\n\n <button type=\"button\" class=\"tk-live-meetings__filter-button\">\n <img class=\"tk-live-meetings__filter-icon\" src=\"assets/icons/filter-regular.svg\" alt=\"filter_list\" title=\"filter_list\">\n Filter\n </button>\n\n <span class=\"tk-live-meetings__count\">{{ filteredMeetings.length }} meetings</span>\n </div>\n\n <table class=\"tk-live-meetings__table\">\n <thead>\n <tr>\n <th>Meeting Title</th>\n <th>Owner</th>\n <th>Participants</th>\n <th>Lobby</th>\n <th>Lock</th>\n <th>Activity</th>\n <th>Start</th>\n <th>Duration</th>\n <th>Cluster</th>\n <th>Actions</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let meeting of filteredMeetings\">\n <td class=\"tk-live-meetings__title-cell\">\n <a href=\"javascript:void(0)\" class=\"tk-live-meetings__title-link\">{{ meeting.title }}</a>\n <span class=\"tk-live-meetings__title-subtext\">{{ meeting.ownerEmail }}</span>\n </td>\n <td>{{ meeting.ownerName }}</td>\n <td>{{ meeting.participants }}</td>\n <td>{{ meeting.lobbyCount }}</td>\n <td>\n <span\n class=\"tk-live-meetings__lock-badge\"\n [class.tk-live-meetings__lock-badge--locked]=\"meeting.lockState === 'locked'\">\n <ng-container *ngIf=\"meeting.lockState === 'locked'; else unlockedLabel\">\n <span class=\"tk-live-meetings__lock-dot\"></span>\n <img class=\"tk-live-meetings__lock-icon\" src=\"assets/icons/secure-lock-regular.svg\" alt=\"\">\n Locked\n </ng-container>\n <ng-template #unlockedLabel>Unlocked</ng-template>\n </span>\n </td>\n <td>\n <span class=\"tk-live-meetings__activity\">\n <ng-container *ngIf=\"meeting.activity.recording || meeting.activity.streaming || meeting.activity.presenting; else noActivity\">\n <img *ngIf=\"meeting.activity.recording\" class=\"tk-live-meetings__activity-icon tk-live-meetings__activity-icon--recording\" src=\"assets/icons/record-active-regular.svg\" alt=\"Recording\" title=\"Recording\">\n <img *ngIf=\"meeting.activity.streaming\" class=\"tk-live-meetings__activity-icon\" src=\"assets/icons/wifi-signal-good-regular.svg\" alt=\"Streaming\" title=\"Streaming\">\n <img *ngIf=\"meeting.activity.presenting\" class=\"tk-live-meetings__activity-icon\" src=\"assets/icons/display-regular.svg\" alt=\"Presenting\" title=\"Presenting\">\n </ng-container>\n <ng-template #noActivity>&mdash;</ng-template>\n </span>\n </td>\n <td>{{ meeting.startTime }}</td>\n <td>{{ meeting.duration }}</td>\n <td>{{ meeting.cluster }}</td>\n <td>\n <span class=\"tk-live-meetings__action-link\">Open controls</span>\n </td>\n </tr>\n <tr *ngIf=\"!filteredMeetings.length\">\n <td colspan=\"11\" class=\"tk-live-meetings__empty\">No live meetings match your search.</td>\n </tr>\n </tbody>\n </table>\n</div>\n", styles: [".tk-live-meetings{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2}.tk-live-meetings__stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.tk-live-meetings__stat-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:8px}.tk-live-meetings__stat-label{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;color:#0009}.tk-live-meetings__stat-icon{width:.875rem;height:.875rem}.tk-live-meetings__stat-value{font-size:1.5rem;font-weight:600;color:#000000f2}.tk-live-meetings__toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.tk-live-meetings__search{display:flex;align-items:center;gap:.5rem;flex:1;max-width:22rem;padding:.5rem .75rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:6px}.tk-live-meetings__search-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-live-meetings__search-input{flex:1;border:none;outline:none;font-family:inherit;font-size:.8125rem;color:#000000f2}.tk-live-meetings__search-input::placeholder{color:#0006}.tk-live-meetings__filter-button{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:6px;font-family:inherit;font-size:.8125rem;font-weight:500;color:#000000f2;cursor:pointer}.tk-live-meetings__filter-button:hover{background:rgba(0,0,0,.03)}.tk-live-meetings__filter-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-live-meetings__filter-icon{font-size:1rem;height:1rem;width:1rem;opacity:.6}.tk-live-meetings__refresh{display:inline-flex;align-items:center;gap:.5rem;margin-left:auto;font-size:.8125rem;color:#0009;white-space:nowrap}.tk-live-meetings__refresh-dot{width:.5rem;height:.5rem;border-radius:50%;background:#1d805f}.tk-live-meetings__refresh-dot--off{background:rgba(0,0,0,.3)}.tk-live-meetings__refresh-toggle{background:none;border:none;padding:0;font-family:inherit;font-size:.8125rem;font-weight:500;color:#0353a8;cursor:pointer}.tk-live-meetings__refresh-button{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer;color:#0009}.tk-live-meetings__refresh-button:hover{color:#000000f2}.tk-live-meetings__refresh-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-live-meetings__table{width:100%;border-collapse:collapse}.tk-live-meetings__table th{padding:.625rem .75rem;border-bottom:1px solid rgba(0,0,0,.12);text-align:left;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#0009;white-space:nowrap}.tk-live-meetings__table td{padding:.75rem;border-bottom:1px solid rgba(0,0,0,.12);font-size:.8125rem;color:#000000f2;white-space:nowrap}.tk-live-meetings__table tbody tr:hover td{background:rgba(0,0,0,.02)}.tk-live-meetings__table tbody tr:last-child td{border-bottom:none}.tk-live-meetings__title-cell{display:flex;flex-direction:column;gap:.125rem}.tk-live-meetings__title-link{color:#0353a8;font-weight:500;text-decoration:none}.tk-live-meetings__title-link:hover{text-decoration:underline}.tk-live-meetings__title-subtext{font-size:.75rem;color:#0009}.tk-live-meetings__lock-badge{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:500;color:#0009}.tk-live-meetings__lock-badge--locked{padding:.125rem .625rem;border-radius:999px;background:#e8e8ea;color:#47484c}.tk-live-meetings__lock-dot{width:.375rem;height:.375rem;border-radius:50%;background:currentColor}.tk-live-meetings__lock-icon{height:.75rem;width:.75rem;opacity:.75}.tk-live-meetings__activity{display:inline-flex;align-items:center;gap:.5rem;color:#0009}.tk-live-meetings__activity-icon{width:1rem;height:1rem;opacity:.7}.tk-live-meetings__activity-icon--recording{opacity:1;filter:invert(24%) sepia(89%) saturate(3000%) hue-rotate(340deg) brightness(90%) contrast(90%)}.tk-live-meetings__quality-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.125rem .625rem;border-radius:999px;background:rgba(0,0,0,.04);font-size:.75rem;font-weight:500;color:#000000f2}.tk-live-meetings__quality-dot{width:.5rem;height:.5rem;border-radius:50%}.tk-live-meetings__quality-badge--good .tk-live-meetings__quality-dot{background:#1d805f}.tk-live-meetings__quality-badge--fair .tk-live-meetings__quality-dot{background:#b5860b}.tk-live-meetings__quality-badge--poor .tk-live-meetings__quality-dot{background:#c73636}.tk-live-meetings__action-link{font-weight:500;text-decoration:none}.tk-live-meetings__action-link:hover{cursor:pointer}.tk-live-meetings__empty{padding:1.5rem;text-align:center;color:#0009}.tk-live-meetings__count{margin-left:auto;font-size:.8125rem;color:#0009;white-space:nowrap}\n"] }]
60
+ }], ctorParameters: function () { return [{ type: i1.LiveMeetingsService }]; } });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS1tZWV0aW5ncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvbWVldGluZ3Mvc3JjL2NvbXBvbmVudHMvbGl2ZS1tZWV0aW5ncy9saXZlLW1lZXRpbmdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9tZWV0aW5ncy9zcmMvY29tcG9uZW50cy9saXZlLW1lZXRpbmdzL2xpdmUtbWVldGluZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBZWxELE1BQU0sT0FBTyxxQkFBcUI7SUFPaEMsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFONUQsYUFBUSxHQUFrQixFQUFFLENBQUM7UUFDN0IsWUFBTyxHQUErQixJQUFJLENBQUM7UUFDM0MsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QixxQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQztJQUUwQixDQUFDO0lBRWpFLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELE9BQU87WUFDTCxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUU7WUFDaEUsRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUU7WUFDOUUsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFO1lBQ2pFLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixFQUFFO1lBQ3BGLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixFQUFFO1lBQ3ZGLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRTtTQUNuRSxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN0QjtRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FDcEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQzFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUMvQyxPQUFPLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FDL0MsQ0FBQztJQUNKLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUMvQyxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQztJQUM3QyxDQUFDO0lBRU8sSUFBSTtRQUNWLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNoRSxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7bUhBckRVLHFCQUFxQjt1R0FBckIscUJBQXFCLHdEQ2ZsQyw0NEhBd0ZBOzRGRHpFYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpdmVNZWV0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9saXZlLW1lZXRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGl2ZU1lZXRpbmcsIExpdmVNZWV0aW5nc1N1bW1hcnkgfSBmcm9tICcuLi8uLi90eXBlcy9saXZlLW1lZXRpbmcnO1xuXG5pbnRlcmZhY2UgTGl2ZU1lZXRpbmdzU3RhdENhcmQge1xuICBsYWJlbDogc3RyaW5nO1xuICB2YWx1ZTogbnVtYmVyO1xuICBpY29uPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ay1saXZlLW1lZXRpbmdzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpdmUtbWVldGluZ3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXZlLW1lZXRpbmdzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIExpdmVNZWV0aW5nc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG1lZXRpbmdzOiBMaXZlTWVldGluZ1tdID0gW107XG4gIHN1bW1hcnk6IExpdmVNZWV0aW5nc1N1bW1hcnkgfCBudWxsID0gbnVsbDtcbiAgc2VhcmNoVGVybSA9ICcnO1xuICBpc0F1dG9SZWZyZXNoT24gPSB0cnVlO1xuICBsYXN0VXBkYXRlZExhYmVsID0gJ1VwZGF0ZWQganVzdCBub3cnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbGl2ZU1lZXRpbmdzU2VydmljZTogTGl2ZU1lZXRpbmdzU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkKCk7XG4gIH1cblxuICBnZXQgc3RhdENhcmRzKCk6IExpdmVNZWV0aW5nc1N0YXRDYXJkW10ge1xuICAgIGlmICghdGhpcy5zdW1tYXJ5KSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIHJldHVybiBbXG4gICAgICB7IGxhYmVsOiAnQWN0aXZlIG1lZXRpbmdzJywgdmFsdWU6IHRoaXMuc3VtbWFyeS5hY3RpdmVNZWV0aW5ncyB9LFxuICAgICAgeyBsYWJlbDogJ0Nvbm5lY3RlZCBwYXJ0aWNpcGFudHMnLCB2YWx1ZTogdGhpcy5zdW1tYXJ5LmNvbm5lY3RlZFBhcnRpY2lwYW50cyB9LFxuICAgICAgeyBsYWJlbDogJ1dhaXRpbmcgaW4gbG9iYnknLCB2YWx1ZTogdGhpcy5zdW1tYXJ5LndhaXRpbmdJbkxvYmJ5IH0sXG4gICAgICB7IGxhYmVsOiAnUmVjb3JkaW5nJywgdmFsdWU6IHRoaXMuc3VtbWFyeS5yZWNvcmRpbmcsIGljb246ICdyZWNvcmQtYWN0aXZlLXJlZ3VsYXInIH0sXG4gICAgICB7IGxhYmVsOiAnU3RyZWFtaW5nJywgdmFsdWU6IHRoaXMuc3VtbWFyeS5zdHJlYW1pbmcsIGljb246ICd3aWZpLXNpZ25hbC1nb29kLXJlZ3VsYXInIH0sXG4gICAgICB7IGxhYmVsOiAnUXVhbGl0eSB3YXJuaW5ncycsIHZhbHVlOiB0aGlzLnN1bW1hcnkucXVhbGl0eVdhcm5pbmdzIH0sXG4gICAgXTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJlZE1lZXRpbmdzKCk6IExpdmVNZWV0aW5nW10ge1xuICAgIGNvbnN0IHRlcm0gPSB0aGlzLnNlYXJjaFRlcm0udHJpbSgpLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKCF0ZXJtKSB7XG4gICAgICByZXR1cm4gdGhpcy5tZWV0aW5ncztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubWVldGluZ3MuZmlsdGVyKG1lZXRpbmcgPT5cbiAgICAgIG1lZXRpbmcudGl0bGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtKSB8fFxuICAgICAgbWVldGluZy5vd25lckVtYWlsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGVybSkgfHxcbiAgICAgIG1lZXRpbmcub3duZXJOYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGVybSlcbiAgICApO1xuICB9XG5cbiAgdG9nZ2xlQXV0b1JlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5pc0F1dG9SZWZyZXNoT24gPSAhdGhpcy5pc0F1dG9SZWZyZXNoT247XG4gIH1cblxuICByZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMubG9hZCgpO1xuICAgIHRoaXMubGFzdFVwZGF0ZWRMYWJlbCA9ICdVcGRhdGVkIGp1c3Qgbm93JztcbiAgfVxuXG4gIHByaXZhdGUgbG9hZCgpOiB2b2lkIHtcbiAgICB0aGlzLmxpdmVNZWV0aW5nc1NlcnZpY2UuZmV0Y2hMaXZlTWVldGluZ3MoKS5zdWJzY3JpYmUoc25hcHNob3QgPT4ge1xuICAgICAgdGhpcy5zdW1tYXJ5ID0gc25hcHNob3Quc3VtbWFyeTtcbiAgICAgIHRoaXMubWVldGluZ3MgPSBzbmFwc2hvdC5tZWV0aW5ncztcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRrLWxpdmUtbWVldGluZ3NcIj5cbiAgPGRpdiBjbGFzcz1cInRrLWxpdmUtbWVldGluZ3NfX3N0YXRzXCI+XG4gICAgPGRpdiBjbGFzcz1cInRrLWxpdmUtbWVldGluZ3NfX3N0YXQtY2FyZFwiICpuZ0Zvcj1cImxldCBzdGF0IG9mIHN0YXRDYXJkc1wiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ay1saXZlLW1lZXRpbmdzX19zdGF0LWxhYmVsXCI+XG4gICAgICAgIDxpbWcgKm5nSWY9XCJzdGF0Lmljb25cIiBjbGFzcz1cInRrLWxpdmUtbWVldGluZ3NfX3N0YXQtaWNvblwiIFtzcmNdPVwiJ2Fzc2V0cy9pY29ucy8nICsgc3RhdC5pY29uICsgJy5zdmcnXCIgYWx0PVwiXCI+XG4gICAgICAgIHt7IHN0YXQubGFiZWwgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGstbGl2ZS1tZWV0aW5nc19fc3RhdC12YWx1ZVwiPnt7IHN0YXQudmFsdWUgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJ0ay1saXZlLW1lZXRpbmdzX190b29sYmFyXCI+XG4gICAgPGRpdiBjbGFzcz1cInRrLWxpdmUtbWVldGluZ3NfX3NlYXJjaFwiPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwidGstbGl2ZS1tZWV0aW5nc19fc2VhcmNoLWljb25cIj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgY2xhc3M9XCJ0ay1saXZlLW1lZXRpbmdzX19zZWFyY2gtaW5wdXRcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBieSBOYW1lLCBVUkkgb3IgTWVldGluZyBJRFwiXG4gICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVGVybVwiPlxuICAgIDwvZGl2PlxuXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0ay1saXZlLW1lZXRpbmdzX19maWx0ZXItYnV0dG9uXCI+XG4gICAgICA8aW1nIGNsYXNzPVwidGstbGl2ZS1tZWV0aW5nc19fZmlsdGVyLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvZmlsdGVyLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiZmlsdGVyX2xpc3RcIiB0aXRsZT1cImZpbHRlcl9saXN0XCI+XG4gICAgICAgIEZpbHRlclxuICAgIDwvYnV0dG9uPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJ0ay1saXZlLW1lZXRpbmdzX19jb3VudFwiPnt7IGZpbHRlcmVkTWVldGluZ3MubGVuZ3RoIH19IG1lZXRpbmdzPC9zcGFuPlxuICA8L2Rpdj5cblxuICA8dGFibGUgY2xhc3M9XCJ0ay1saXZlLW1lZXRpbmdzX190YWJsZVwiPlxuICAgIDx0aGVhZD5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRoPk1lZXRpbmcgVGl0bGU8L3RoPlxuICAgICAgICA8dGg+T3duZXI8L3RoPlxuICAgICAgICA8dGg+UGFydGljaXBhbnRzPC90aD5cbiAgICAgICAgPHRoPkxvYmJ5PC90aD5cbiAgICAgICAgPHRoPkxvY2s8L3RoPlxuICAgICAgICA8dGg+QWN0aXZpdHk8L3RoPlxuICAgICAgICA8dGg+U3RhcnQ8L3RoPlxuICAgICAgICA8dGg+RHVyYXRpb248L3RoPlxuICAgICAgICA8dGg+Q2x1c3RlcjwvdGg+XG4gICAgICAgIDx0aD5BY3Rpb25zPC90aD5cbiAgICAgIDwvdHI+XG4gICAgPC90aGVhZD5cbiAgICA8dGJvZHk+XG4gICAgICA8dHIgKm5nRm9yPVwibGV0IG1lZXRpbmcgb2YgZmlsdGVyZWRNZWV0aW5nc1wiPlxuICAgICAgICA8dGQgY2xhc3M9XCJ0ay1saXZlLW1lZXRpbmdzX190aXRsZS1jZWxsXCI+XG4gICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIGNsYXNzPVwidGstbGl2ZS1tZWV0aW5nc19fdGl0bGUtbGlua1wiPnt7IG1lZXRpbmcudGl0bGUgfX08L2E+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay1saXZlLW1lZXRpbmdzX190aXRsZS1zdWJ0ZXh0XCI+e3sgbWVldGluZy5vd25lckVtYWlsIH19PC9zcGFuPlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQ+e3sgbWVldGluZy5vd25lck5hbWUgfX08L3RkPlxuICAgICAgICA8dGQ+e3sgbWVldGluZy5wYXJ0aWNpcGFudHMgfX08L3RkPlxuICAgICAgICA8dGQ+e3sgbWVldGluZy5sb2JieUNvdW50IH19PC90ZD5cbiAgICAgICAgPHRkPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInRrLWxpdmUtbWVldGluZ3NfX2xvY2stYmFkZ2VcIlxuICAgICAgICAgICAgW2NsYXNzLnRrLWxpdmUtbWVldGluZ3NfX2xvY2stYmFkZ2UtLWxvY2tlZF09XCJtZWV0aW5nLmxvY2tTdGF0ZSA9PT0gJ2xvY2tlZCdcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtZWV0aW5nLmxvY2tTdGF0ZSA9PT0gJ2xvY2tlZCc7IGVsc2UgdW5sb2NrZWRMYWJlbFwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRrLWxpdmUtbWVldGluZ3NfX2xvY2stZG90XCI+PC9zcGFuPlxuICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstbGl2ZS1tZWV0aW5nc19fbG9jay1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL3NlY3VyZS1sb2NrLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCI+XG4gICAgICAgICAgICAgIExvY2tlZFxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3VubG9ja2VkTGFiZWw+VW5sb2NrZWQ8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstbGl2ZS1tZWV0aW5nc19fYWN0aXZpdHlcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtZWV0aW5nLmFjdGl2aXR5LnJlY29yZGluZyB8fCBtZWV0aW5nLmFjdGl2aXR5LnN0cmVhbWluZyB8fCBtZWV0aW5nLmFjdGl2aXR5LnByZXNlbnRpbmc7IGVsc2Ugbm9BY3Rpdml0eVwiPlxuICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwibWVldGluZy5hY3Rpdml0eS5yZWNvcmRpbmdcIiBjbGFzcz1cInRrLWxpdmUtbWVldGluZ3NfX2FjdGl2aXR5LWljb24gdGstbGl2ZS1tZWV0aW5nc19fYWN0aXZpdHktaWNvbi0tcmVjb3JkaW5nXCIgc3JjPVwiYXNzZXRzL2ljb25zL3JlY29yZC1hY3RpdmUtcmVndWxhci5zdmdcIiBhbHQ9XCJSZWNvcmRpbmdcIiB0aXRsZT1cIlJlY29yZGluZ1wiPlxuICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwibWVldGluZy5hY3Rpdml0eS5zdHJlYW1pbmdcIiBjbGFzcz1cInRrLWxpdmUtbWVldGluZ3NfX2FjdGl2aXR5LWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvd2lmaS1zaWduYWwtZ29vZC1yZWd1bGFyLnN2Z1wiIGFsdD1cIlN0cmVhbWluZ1wiIHRpdGxlPVwiU3RyZWFtaW5nXCI+XG4gICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJtZWV0aW5nLmFjdGl2aXR5LnByZXNlbnRpbmdcIiBjbGFzcz1cInRrLWxpdmUtbWVldGluZ3NfX2FjdGl2aXR5LWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvZGlzcGxheS1yZWd1bGFyLnN2Z1wiIGFsdD1cIlByZXNlbnRpbmdcIiB0aXRsZT1cIlByZXNlbnRpbmdcIj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub0FjdGl2aXR5PiZtZGFzaDs8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkPnt7IG1lZXRpbmcuc3RhcnRUaW1lIH19PC90ZD5cbiAgICAgICAgPHRkPnt7IG1lZXRpbmcuZHVyYXRpb24gfX08L3RkPlxuICAgICAgICA8dGQ+e3sgbWVldGluZy5jbHVzdGVyIH19PC90ZD5cbiAgICAgICAgPHRkPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstbGl2ZS1tZWV0aW5nc19fYWN0aW9uLWxpbmtcIj5PcGVuIGNvbnRyb2xzPC9zcGFuPlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0ciAqbmdJZj1cIiFmaWx0ZXJlZE1lZXRpbmdzLmxlbmd0aFwiPlxuICAgICAgICA8dGQgY29sc3Bhbj1cIjExXCIgY2xhc3M9XCJ0ay1saXZlLW1lZXRpbmdzX19lbXB0eVwiPk5vIGxpdmUgbWVldGluZ3MgbWF0Y2ggeW91ciBzZWFyY2guPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC90Ym9keT5cbiAgPC90YWJsZT5cbjwvZGl2PlxuIl19
@@ -0,0 +1,40 @@
1
+ import { Component, EventEmitter, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../services/meeting-spaces.service";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/forms";
6
+ import * as i4 from "@angular/material/icon";
7
+ export class MeetingSpacesComponent {
8
+ constructor(meetingSpacesService) {
9
+ this.meetingSpacesService = meetingSpacesService;
10
+ this.createMeetingSpace = new EventEmitter();
11
+ this.meetingSpaces = [];
12
+ this.searchTerm = '';
13
+ }
14
+ ngOnInit() {
15
+ this.meetingSpacesService.fetchMeetingSpaces().subscribe(meetingSpaces => {
16
+ this.meetingSpaces = meetingSpaces;
17
+ });
18
+ }
19
+ get filteredMeetingSpaces() {
20
+ const term = this.searchTerm.trim().toLowerCase();
21
+ if (!term) {
22
+ return this.meetingSpaces;
23
+ }
24
+ return this.meetingSpaces.filter(space => space.name.toLowerCase().includes(term) ||
25
+ space.uri.toLowerCase().includes(term) ||
26
+ space.meetingId.toLowerCase().includes(term));
27
+ }
28
+ onCreateMeetingSpace() {
29
+ this.createMeetingSpace.emit();
30
+ }
31
+ }
32
+ MeetingSpacesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MeetingSpacesComponent, deps: [{ token: i1.MeetingSpacesService }], target: i0.ɵɵFactoryTarget.Component });
33
+ MeetingSpacesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MeetingSpacesComponent, selector: "tk-meeting-spaces", outputs: { createMeetingSpace: "createMeetingSpace" }, ngImport: i0, template: "<div class=\"tk-meeting-spaces__header\">\n <h2 class=\"tk-meeting-spaces__title\">Meeting Spaces</h2>\n <button type=\"button\" class=\"tk-meeting-spaces__create-button\" (click)=\"onCreateMeetingSpace()\">\n <mat-icon class=\"tk-meeting-spaces__create-icon\">add</mat-icon>\n Create meeting space\n </button>\n</div>\n\n<div class=\"tk-meeting-spaces__toolbar\">\n <div class=\"tk-meeting-spaces__search\">\n <mat-icon class=\"tk-meeting-spaces__search-icon\">search</mat-icon>\n <input\n type=\"text\"\n class=\"tk-meeting-spaces__search-input\"\n placeholder=\"Search by Name, URI or Meeting ID\"\n [(ngModel)]=\"searchTerm\">\n </div>\n\n <button type=\"button\" class=\"tk-meeting-spaces__filter-button\">\n <img class=\"tk-meeting-spaces__filter-icon\" src=\"assets/icons/filter-regular.svg\" alt=\"filter_list\" title=\"filter_list\">\n Filter\n </button>\n\n <span class=\"tk-meeting-spaces__count\">{{ filteredMeetingSpaces.length }} spaces</span>\n</div>\n\n<table class=\"tk-meeting-spaces__table\">\n <thead>\n <tr>\n <th>Meeting Name</th>\n <th>URI</th>\n <th>Meeting ID</th>\n <th>Participants</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let space of filteredMeetingSpaces\">\n <td class=\"tk-meeting-spaces__name-cell\">\n <a href=\"javascript:void(0)\" class=\"tk-meeting-spaces__name-link\">{{ space.name }}</a>\n <span *ngIf=\"space.managed\" class=\"tk-meeting-spaces__badge\">Managed</span>\n </td>\n <td>{{ space.uri }}</td>\n <td>{{ space.meetingId }}</td>\n <td>{{ space.participants }}</td>\n </tr>\n <tr *ngIf=\"!filteredMeetingSpaces.length\">\n <td colspan=\"4\" class=\"tk-meeting-spaces__empty\">No meeting spaces match your search.</td>\n </tr>\n </tbody>\n</table>\n\n<div class=\"tk-meeting-spaces__footer\">\n <span class=\"tk-meeting-spaces__footer-text\">\n Showing {{ filteredMeetingSpaces.length ? 1 : 0 }}-{{ filteredMeetingSpaces.length }} of {{ meetingSpaces.length }}\n </span>\n <div class=\"tk-meeting-spaces__pagination\">\n <button type=\"button\" class=\"tk-meeting-spaces__pagination-button\" disabled>Previous</button>\n <button type=\"button\" class=\"tk-meeting-spaces__pagination-button\" disabled>Next</button>\n </div>\n</div>\n", styles: [":host{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2}.tk-meeting-spaces__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tk-meeting-spaces__title{margin:0;font-size:1.125rem;font-weight:600}.tk-meeting-spaces__create-button{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:#000;color:#fff;border:none;border-radius:6px;font-family:inherit;font-size:.8125rem;font-weight:500;cursor:pointer}.tk-meeting-spaces__create-button:hover{background:#222}.tk-meeting-spaces__create-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-meeting-spaces__toolbar{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0 1rem}.tk-meeting-spaces__search{display:flex;align-items:center;gap:.5rem;flex:1;max-width:22rem;padding:.5rem .75rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:6px}.tk-meeting-spaces__search-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-meeting-spaces__search-input{flex:1;border:none;outline:none;font-family:inherit;font-size:.8125rem;color:#000000f2}.tk-meeting-spaces__search-input::placeholder{color:#0006}.tk-meeting-spaces__filter-button{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:6px;font-family:inherit;font-size:.8125rem;font-weight:500;color:#000000f2;cursor:pointer}.tk-meeting-spaces__filter-button:hover{background:rgba(0,0,0,.03)}.tk-meeting-spaces__filter-icon{font-size:1rem;height:1rem;width:1rem;opacity:.6}.tk-meeting-spaces__count{margin-left:auto;font-size:.8125rem;color:#0009;white-space:nowrap}.tk-meeting-spaces__table{width:100%;border-collapse:collapse}.tk-meeting-spaces__table th{padding:.625rem .75rem;border-bottom:1px solid rgba(0,0,0,.12);text-align:left;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#0009}.tk-meeting-spaces__table td{padding:.75rem;border-bottom:1px solid rgba(0,0,0,.12);font-size:.8125rem;color:#000000f2}.tk-meeting-spaces__table tbody tr:hover td{background:rgba(0,0,0,.02)}.tk-meeting-spaces__table tbody tr:last-child td{border-bottom:none}.tk-meeting-spaces__name-cell{display:flex;align-items:center;gap:.5rem}.tk-meeting-spaces__name-link{color:#0353a8;font-weight:500;text-decoration:none}.tk-meeting-spaces__name-link:hover{text-decoration:underline}.tk-meeting-spaces__badge{padding:.125rem .5rem;border-radius:999px;background:rgba(0,0,0,.06);font-size:.6875rem;font-weight:500;color:#0009;white-space:nowrap}.tk-meeting-spaces__empty{padding:1.5rem;text-align:center;color:#0009}.tk-meeting-spaces__footer{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;font-size:.8125rem;color:#0009}.tk-meeting-spaces__pagination{display:flex;gap:1rem}.tk-meeting-spaces__pagination-button{background:none;border:none;padding:0;font-family:inherit;font-size:.8125rem;color:#0009;cursor:pointer}.tk-meeting-spaces__pagination-button:disabled{color:#0000004d;cursor:default}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MeetingSpacesComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'tk-meeting-spaces', template: "<div class=\"tk-meeting-spaces__header\">\n <h2 class=\"tk-meeting-spaces__title\">Meeting Spaces</h2>\n <button type=\"button\" class=\"tk-meeting-spaces__create-button\" (click)=\"onCreateMeetingSpace()\">\n <mat-icon class=\"tk-meeting-spaces__create-icon\">add</mat-icon>\n Create meeting space\n </button>\n</div>\n\n<div class=\"tk-meeting-spaces__toolbar\">\n <div class=\"tk-meeting-spaces__search\">\n <mat-icon class=\"tk-meeting-spaces__search-icon\">search</mat-icon>\n <input\n type=\"text\"\n class=\"tk-meeting-spaces__search-input\"\n placeholder=\"Search by Name, URI or Meeting ID\"\n [(ngModel)]=\"searchTerm\">\n </div>\n\n <button type=\"button\" class=\"tk-meeting-spaces__filter-button\">\n <img class=\"tk-meeting-spaces__filter-icon\" src=\"assets/icons/filter-regular.svg\" alt=\"filter_list\" title=\"filter_list\">\n Filter\n </button>\n\n <span class=\"tk-meeting-spaces__count\">{{ filteredMeetingSpaces.length }} spaces</span>\n</div>\n\n<table class=\"tk-meeting-spaces__table\">\n <thead>\n <tr>\n <th>Meeting Name</th>\n <th>URI</th>\n <th>Meeting ID</th>\n <th>Participants</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let space of filteredMeetingSpaces\">\n <td class=\"tk-meeting-spaces__name-cell\">\n <a href=\"javascript:void(0)\" class=\"tk-meeting-spaces__name-link\">{{ space.name }}</a>\n <span *ngIf=\"space.managed\" class=\"tk-meeting-spaces__badge\">Managed</span>\n </td>\n <td>{{ space.uri }}</td>\n <td>{{ space.meetingId }}</td>\n <td>{{ space.participants }}</td>\n </tr>\n <tr *ngIf=\"!filteredMeetingSpaces.length\">\n <td colspan=\"4\" class=\"tk-meeting-spaces__empty\">No meeting spaces match your search.</td>\n </tr>\n </tbody>\n</table>\n\n<div class=\"tk-meeting-spaces__footer\">\n <span class=\"tk-meeting-spaces__footer-text\">\n Showing {{ filteredMeetingSpaces.length ? 1 : 0 }}-{{ filteredMeetingSpaces.length }} of {{ meetingSpaces.length }}\n </span>\n <div class=\"tk-meeting-spaces__pagination\">\n <button type=\"button\" class=\"tk-meeting-spaces__pagination-button\" disabled>Previous</button>\n <button type=\"button\" class=\"tk-meeting-spaces__pagination-button\" disabled>Next</button>\n </div>\n</div>\n", styles: [":host{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2}.tk-meeting-spaces__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tk-meeting-spaces__title{margin:0;font-size:1.125rem;font-weight:600}.tk-meeting-spaces__create-button{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:#000;color:#fff;border:none;border-radius:6px;font-family:inherit;font-size:.8125rem;font-weight:500;cursor:pointer}.tk-meeting-spaces__create-button:hover{background:#222}.tk-meeting-spaces__create-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-meeting-spaces__toolbar{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0 1rem}.tk-meeting-spaces__search{display:flex;align-items:center;gap:.5rem;flex:1;max-width:22rem;padding:.5rem .75rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:6px}.tk-meeting-spaces__search-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-meeting-spaces__search-input{flex:1;border:none;outline:none;font-family:inherit;font-size:.8125rem;color:#000000f2}.tk-meeting-spaces__search-input::placeholder{color:#0006}.tk-meeting-spaces__filter-button{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:6px;font-family:inherit;font-size:.8125rem;font-weight:500;color:#000000f2;cursor:pointer}.tk-meeting-spaces__filter-button:hover{background:rgba(0,0,0,.03)}.tk-meeting-spaces__filter-icon{font-size:1rem;height:1rem;width:1rem;opacity:.6}.tk-meeting-spaces__count{margin-left:auto;font-size:.8125rem;color:#0009;white-space:nowrap}.tk-meeting-spaces__table{width:100%;border-collapse:collapse}.tk-meeting-spaces__table th{padding:.625rem .75rem;border-bottom:1px solid rgba(0,0,0,.12);text-align:left;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#0009}.tk-meeting-spaces__table td{padding:.75rem;border-bottom:1px solid rgba(0,0,0,.12);font-size:.8125rem;color:#000000f2}.tk-meeting-spaces__table tbody tr:hover td{background:rgba(0,0,0,.02)}.tk-meeting-spaces__table tbody tr:last-child td{border-bottom:none}.tk-meeting-spaces__name-cell{display:flex;align-items:center;gap:.5rem}.tk-meeting-spaces__name-link{color:#0353a8;font-weight:500;text-decoration:none}.tk-meeting-spaces__name-link:hover{text-decoration:underline}.tk-meeting-spaces__badge{padding:.125rem .5rem;border-radius:999px;background:rgba(0,0,0,.06);font-size:.6875rem;font-weight:500;color:#0009;white-space:nowrap}.tk-meeting-spaces__empty{padding:1.5rem;text-align:center;color:#0009}.tk-meeting-spaces__footer{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;font-size:.8125rem;color:#0009}.tk-meeting-spaces__pagination{display:flex;gap:1rem}.tk-meeting-spaces__pagination-button{background:none;border:none;padding:0;font-family:inherit;font-size:.8125rem;color:#0009;cursor:pointer}.tk-meeting-spaces__pagination-button:disabled{color:#0000004d;cursor:default}\n"] }]
37
+ }], ctorParameters: function () { return [{ type: i1.MeetingSpacesService }]; }, propDecorators: { createMeetingSpace: [{
38
+ type: Output
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZy1zcGFjZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL21lZXRpbmdzL3NyYy9jb21wb25lbnRzL21lZXRpbmctc3BhY2VzL21lZXRpbmctc3BhY2VzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9tZWV0aW5ncy9zcmMvY29tcG9uZW50cy9tZWV0aW5nLXNwYWNlcy9tZWV0aW5nLXNwYWNlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVN4RSxNQUFNLE9BQU8sc0JBQXNCO0lBTWpDLFlBQW9CLG9CQUEwQztRQUExQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBTHBELHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFeEQsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBQ25DLGVBQVUsR0FBRyxFQUFFLENBQUM7SUFFa0QsQ0FBQztJQUVuRSxRQUFRO1FBQ04sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixFQUFFLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUkscUJBQXFCO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUMzQjtRQUNELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDdkMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ3ZDLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUN0QyxLQUFLLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FDN0MsQ0FBQztJQUNKLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7O29IQTVCVSxzQkFBc0I7d0dBQXRCLHNCQUFzQixnSENUbkMsOHhFQTREQTs0RkRuRGEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLG1CQUFtQjsyR0FLbkIsa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZWV0aW5nU3BhY2VzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lZXRpbmctc3BhY2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWVldGluZ1NwYWNlIH0gZnJvbSAnLi4vLi4vdHlwZXMvbWVldGluZy1zcGFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RrLW1lZXRpbmctc3BhY2VzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lZXRpbmctc3BhY2VzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVldGluZy1zcGFjZXMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTWVldGluZ1NwYWNlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBPdXRwdXQoKSBjcmVhdGVNZWV0aW5nU3BhY2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgbWVldGluZ1NwYWNlczogTWVldGluZ1NwYWNlW10gPSBbXTtcbiAgc2VhcmNoVGVybSA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWVldGluZ1NwYWNlc1NlcnZpY2U6IE1lZXRpbmdTcGFjZXNTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1lZXRpbmdTcGFjZXNTZXJ2aWNlLmZldGNoTWVldGluZ1NwYWNlcygpLnN1YnNjcmliZShtZWV0aW5nU3BhY2VzID0+IHtcbiAgICAgIHRoaXMubWVldGluZ1NwYWNlcyA9IG1lZXRpbmdTcGFjZXM7XG4gICAgfSk7XG4gIH1cblxuICBnZXQgZmlsdGVyZWRNZWV0aW5nU3BhY2VzKCk6IE1lZXRpbmdTcGFjZVtdIHtcbiAgICBjb25zdCB0ZXJtID0gdGhpcy5zZWFyY2hUZXJtLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICAgIGlmICghdGVybSkge1xuICAgICAgcmV0dXJuIHRoaXMubWVldGluZ1NwYWNlcztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubWVldGluZ1NwYWNlcy5maWx0ZXIoc3BhY2UgPT5cbiAgICAgIHNwYWNlLm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtKSB8fFxuICAgICAgc3BhY2UudXJpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGVybSkgfHxcbiAgICAgIHNwYWNlLm1lZXRpbmdJZC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0pXG4gICAgKTtcbiAgfVxuXG4gIG9uQ3JlYXRlTWVldGluZ1NwYWNlKCk6IHZvaWQge1xuICAgIHRoaXMuY3JlYXRlTWVldGluZ1NwYWNlLmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19oZWFkZXJcIj5cbiAgPGgyIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX3RpdGxlXCI+TWVldGluZyBTcGFjZXM8L2gyPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19jcmVhdGUtYnV0dG9uXCIgKGNsaWNrKT1cIm9uQ3JlYXRlTWVldGluZ1NwYWNlKClcIj5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fY3JlYXRlLWljb25cIj5hZGQ8L21hdC1pY29uPlxuICAgIENyZWF0ZSBtZWV0aW5nIHNwYWNlXG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fdG9vbGJhclwiPlxuICA8ZGl2IGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX3NlYXJjaFwiPlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19zZWFyY2gtaWNvblwiPnNlYXJjaDwvbWF0LWljb24+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19zZWFyY2gtaW5wdXRcIlxuICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggYnkgTmFtZSwgVVJJIG9yIE1lZXRpbmcgSURcIlxuICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXJtXCI+XG4gIDwvZGl2PlxuXG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2ZpbHRlci1idXR0b25cIj5cbiAgICA8aW1nIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2ZpbHRlci1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2ZpbHRlci1yZWd1bGFyLnN2Z1wiIGFsdD1cImZpbHRlcl9saXN0XCIgdGl0bGU9XCJmaWx0ZXJfbGlzdFwiPlxuICAgIEZpbHRlclxuICA8L2J1dHRvbj5cblxuICA8c3BhbiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19jb3VudFwiPnt7IGZpbHRlcmVkTWVldGluZ1NwYWNlcy5sZW5ndGggfX0gc3BhY2VzPC9zcGFuPlxuPC9kaXY+XG5cbjx0YWJsZSBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX190YWJsZVwiPlxuICA8dGhlYWQ+XG4gICAgPHRyPlxuICAgICAgPHRoPk1lZXRpbmcgTmFtZTwvdGg+XG4gICAgICA8dGg+VVJJPC90aD5cbiAgICAgIDx0aD5NZWV0aW5nIElEPC90aD5cbiAgICAgIDx0aD5QYXJ0aWNpcGFudHM8L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keT5cbiAgICA8dHIgKm5nRm9yPVwibGV0IHNwYWNlIG9mIGZpbHRlcmVkTWVldGluZ1NwYWNlc1wiPlxuICAgICAgPHRkIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX25hbWUtY2VsbFwiPlxuICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fbmFtZS1saW5rXCI+e3sgc3BhY2UubmFtZSB9fTwvYT5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJzcGFjZS5tYW5hZ2VkXCIgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fYmFkZ2VcIj5NYW5hZ2VkPC9zcGFuPlxuICAgICAgPC90ZD5cbiAgICAgIDx0ZD57eyBzcGFjZS51cmkgfX08L3RkPlxuICAgICAgPHRkPnt7IHNwYWNlLm1lZXRpbmdJZCB9fTwvdGQ+XG4gICAgICA8dGQ+e3sgc3BhY2UucGFydGljaXBhbnRzIH19PC90ZD5cbiAgICA8L3RyPlxuICAgIDx0ciAqbmdJZj1cIiFmaWx0ZXJlZE1lZXRpbmdTcGFjZXMubGVuZ3RoXCI+XG4gICAgICA8dGQgY29sc3Bhbj1cIjRcIiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19lbXB0eVwiPk5vIG1lZXRpbmcgc3BhY2VzIG1hdGNoIHlvdXIgc2VhcmNoLjwvdGQ+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbjwvdGFibGU+XG5cbjxkaXYgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fZm9vdGVyXCI+XG4gIDxzcGFuIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2Zvb3Rlci10ZXh0XCI+XG4gICAgU2hvd2luZyB7eyBmaWx0ZXJlZE1lZXRpbmdTcGFjZXMubGVuZ3RoID8gMSA6IDAgfX0te3sgZmlsdGVyZWRNZWV0aW5nU3BhY2VzLmxlbmd0aCB9fSBvZiB7eyBtZWV0aW5nU3BhY2VzLmxlbmd0aCB9fVxuICA8L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fcGFnaW5hdGlvblwiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX3BhZ2luYXRpb24tYnV0dG9uXCIgZGlzYWJsZWQ+UHJldmlvdXM8L2J1dHRvbj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19wYWdpbmF0aW9uLWJ1dHRvblwiIGRpc2FibGVkPk5leHQ8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,62 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { MatButtonModule } from '@angular/material/button';
3
+ import { MatIconModule } from '@angular/material/icon';
4
+ import { MatTableModule } from '@angular/material/table';
5
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
6
+ import { MatFormFieldModule } from '@angular/material/form-field';
7
+ import { MatInputModule } from '@angular/material/input';
8
+ import { MatTabsModule } from '@angular/material/tabs';
9
+ import * as i0 from "@angular/core";
10
+ export class MaterialModule {
11
+ }
12
+ MaterialModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ MaterialModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MaterialModule, imports: [MatButtonModule,
14
+ MatIconModule,
15
+ MatTableModule,
16
+ MatProgressSpinnerModule,
17
+ MatFormFieldModule,
18
+ MatInputModule,
19
+ MatTabsModule], exports: [MatButtonModule,
20
+ MatIconModule,
21
+ MatTableModule,
22
+ MatProgressSpinnerModule,
23
+ MatFormFieldModule,
24
+ MatInputModule,
25
+ MatTabsModule] });
26
+ MaterialModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialModule, imports: [MatButtonModule,
27
+ MatIconModule,
28
+ MatTableModule,
29
+ MatProgressSpinnerModule,
30
+ MatFormFieldModule,
31
+ MatInputModule,
32
+ MatTabsModule, MatButtonModule,
33
+ MatIconModule,
34
+ MatTableModule,
35
+ MatProgressSpinnerModule,
36
+ MatFormFieldModule,
37
+ MatInputModule,
38
+ MatTabsModule] });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialModule, decorators: [{
40
+ type: NgModule,
41
+ args: [{
42
+ imports: [
43
+ MatButtonModule,
44
+ MatIconModule,
45
+ MatTableModule,
46
+ MatProgressSpinnerModule,
47
+ MatFormFieldModule,
48
+ MatInputModule,
49
+ MatTabsModule,
50
+ ],
51
+ exports: [
52
+ MatButtonModule,
53
+ MatIconModule,
54
+ MatTableModule,
55
+ MatProgressSpinnerModule,
56
+ MatFormFieldModule,
57
+ MatInputModule,
58
+ MatTabsModule,
59
+ ]
60
+ }]
61
+ }] });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL21lZXRpbmdzL3NyYy9tYXRlcmlhbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQXNCdkQsTUFBTSxPQUFPLGNBQWM7OzRHQUFkLGNBQWM7NkdBQWQsY0FBYyxZQWxCdkIsZUFBZTtRQUNmLGFBQWE7UUFDYixjQUFjO1FBQ2Qsd0JBQXdCO1FBQ3hCLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsYUFBYSxhQUdiLGVBQWU7UUFDZixhQUFhO1FBQ2IsY0FBYztRQUNkLHdCQUF3QjtRQUN4QixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGFBQWE7NkdBR0osY0FBYyxZQWxCdkIsZUFBZTtRQUNmLGFBQWE7UUFDYixjQUFjO1FBQ2Qsd0JBQXdCO1FBQ3hCLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsYUFBYSxFQUdiLGVBQWU7UUFDZixhQUFhO1FBQ2IsY0FBYztRQUNkLHdCQUF3QjtRQUN4QixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGFBQWE7NEZBR0osY0FBYztrQkFwQjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGFBQWE7cUJBQ2Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,35 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./services/api.service";
4
+ import * as i2 from "@angular/material/tabs";
5
+ import * as i3 from "./components/meeting-spaces/meeting-spaces.component";
6
+ import * as i4 from "./components/live-meetings/live-meetings.component";
7
+ export class MeetingsComponent {
8
+ constructor(apiService) {
9
+ this.apiService = apiService;
10
+ this.environmentStatusLabel = 'Meeting environment: Healthy';
11
+ this.environmentStatusState = 'healthy';
12
+ this.liveCount = 0;
13
+ }
14
+ ngOnInit() {
15
+ this.apiService.token = this.token;
16
+ this.apiService.apiUrl = this.host;
17
+ }
18
+ }
19
+ MeetingsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MeetingsComponent, deps: [{ token: i1.APIService }], target: i0.ɵɵFactoryTarget.Component });
20
+ MeetingsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MeetingsComponent, selector: "tk-meetings", inputs: { host: "host", token: "token", environmentStatusLabel: "environmentStatusLabel", environmentStatusState: "environmentStatusState", liveCount: "liveCount" }, ngImport: i0, template: "<div class=\"tk-meetings\">\n <header class=\"tk-meetings__header\">\n <div class=\"tk-meetings__heading\">\n <h1 class=\"tk-meetings__title\">Meetings</h1>\n <p class=\"tk-meetings__subtitle\">Configure meeting spaces and monitor everything happening live across your environment.</p>\n </div>\n </header>\n\n <mat-tab-group disableRipple class=\"tk-meetings__tabs\">\n <mat-tab label=\"Meetings\">\n <div class=\"tk-meetings__tab-content\">\n <tk-meeting-spaces></tk-meeting-spaces>\n </div>\n </mat-tab>\n\n <mat-tab>\n <ng-template mat-tab-label>\n <span>Live</span>\n <span class=\"tk-meetings__tab-count\">{{ liveCount }}</span>\n </ng-template>\n <div class=\"tk-meetings__tab-content\">\n <tk-live-meetings></tk-live-meetings>\n </div>\n </mat-tab>\n </mat-tab-group>\n</div>\n", styles: [".tk-meetings{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2}.tk-meetings__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1.25rem}.tk-meetings__heading{display:flex;flex-direction:column;gap:.25rem}.tk-meetings__title{margin:0;font-size:1.5rem;font-weight:600;color:#000000f2}.tk-meetings__subtitle{margin:0;font-size:.875rem;color:#0009}.tk-meetings__status-dot{width:.5rem;height:.5rem;border-radius:50%;background:#1d805f}.tk-meetings__status--warning .tk-meetings__status-dot{background:#b5860b}.tk-meetings__status--critical .tk-meetings__status-dot{background:#c73636}.tk-meetings__status-chevron{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-meetings__tabs ::ng-deep .mat-tab-header{border-bottom:1px solid rgba(0,0,0,.12)}.tk-meetings__tabs ::ng-deep .mat-tab-label{height:auto;min-width:auto;padding:0 0 .75rem;margin-right:1.5rem;opacity:1;font-size:.875rem;font-weight:500;color:#0009}.tk-meetings__tabs ::ng-deep .mat-tab-label.mat-tab-label-active{color:#000000f2}.tk-meetings__tabs ::ng-deep .mat-tab-labels{gap:0}.tk-meetings__tabs ::ng-deep .mat-ink-bar{background-color:#000;height:2px}.tk-meetings__tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;margin-left:.375rem;padding:0 .375rem;border-radius:999px;background:rgba(0,0,0,.06);font-size:.75rem;font-weight:500;color:#000000f2}.tk-meetings__tab-content{padding:1.5rem 0}\n"], dependencies: [{ kind: "component", type: i2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "directive", type: i2.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i3.MeetingSpacesComponent, selector: "tk-meeting-spaces", outputs: ["createMeetingSpace"] }, { kind: "component", type: i4.LiveMeetingsComponent, selector: "tk-live-meetings" }] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MeetingsComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'tk-meetings', template: "<div class=\"tk-meetings\">\n <header class=\"tk-meetings__header\">\n <div class=\"tk-meetings__heading\">\n <h1 class=\"tk-meetings__title\">Meetings</h1>\n <p class=\"tk-meetings__subtitle\">Configure meeting spaces and monitor everything happening live across your environment.</p>\n </div>\n </header>\n\n <mat-tab-group disableRipple class=\"tk-meetings__tabs\">\n <mat-tab label=\"Meetings\">\n <div class=\"tk-meetings__tab-content\">\n <tk-meeting-spaces></tk-meeting-spaces>\n </div>\n </mat-tab>\n\n <mat-tab>\n <ng-template mat-tab-label>\n <span>Live</span>\n <span class=\"tk-meetings__tab-count\">{{ liveCount }}</span>\n </ng-template>\n <div class=\"tk-meetings__tab-content\">\n <tk-live-meetings></tk-live-meetings>\n </div>\n </mat-tab>\n </mat-tab-group>\n</div>\n", styles: [".tk-meetings{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2}.tk-meetings__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1.25rem}.tk-meetings__heading{display:flex;flex-direction:column;gap:.25rem}.tk-meetings__title{margin:0;font-size:1.5rem;font-weight:600;color:#000000f2}.tk-meetings__subtitle{margin:0;font-size:.875rem;color:#0009}.tk-meetings__status-dot{width:.5rem;height:.5rem;border-radius:50%;background:#1d805f}.tk-meetings__status--warning .tk-meetings__status-dot{background:#b5860b}.tk-meetings__status--critical .tk-meetings__status-dot{background:#c73636}.tk-meetings__status-chevron{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-meetings__tabs ::ng-deep .mat-tab-header{border-bottom:1px solid rgba(0,0,0,.12)}.tk-meetings__tabs ::ng-deep .mat-tab-label{height:auto;min-width:auto;padding:0 0 .75rem;margin-right:1.5rem;opacity:1;font-size:.875rem;font-weight:500;color:#0009}.tk-meetings__tabs ::ng-deep .mat-tab-label.mat-tab-label-active{color:#000000f2}.tk-meetings__tabs ::ng-deep .mat-tab-labels{gap:0}.tk-meetings__tabs ::ng-deep .mat-ink-bar{background-color:#000;height:2px}.tk-meetings__tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;margin-left:.375rem;padding:0 .375rem;border-radius:999px;background:rgba(0,0,0,.06);font-size:.75rem;font-weight:500;color:#000000f2}.tk-meetings__tab-content{padding:1.5rem 0}\n"] }]
24
+ }], ctorParameters: function () { return [{ type: i1.APIService }]; }, propDecorators: { host: [{
25
+ type: Input
26
+ }], token: [{
27
+ type: Input
28
+ }], environmentStatusLabel: [{
29
+ type: Input
30
+ }], environmentStatusState: [{
31
+ type: Input
32
+ }], liveCount: [{
33
+ type: Input
34
+ }] } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL21lZXRpbmdzL3NyYy9tZWV0aW5ncy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvbWVldGluZ3Mvc3JjL21lZXRpbmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFVekQsTUFBTSxPQUFPLGlCQUFpQjtJQU81QixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSmpDLDJCQUFzQixHQUFHLDhCQUE4QixDQUFDO1FBQ3hELDJCQUFzQixHQUE2QixTQUFTLENBQUM7UUFDN0QsY0FBUyxHQUFHLENBQUMsQ0FBQztJQUV1QixDQUFDO0lBRS9DLFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ25DLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckMsQ0FBQzs7K0dBWlUsaUJBQWlCO21HQUFqQixpQkFBaUIseU5DVjlCLDYyQkEwQkE7NEZEaEJhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxhQUFhO2lHQUtkLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBUElTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hcGkuc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIE1lZXRpbmdFbnZpcm9ubWVudFN0YXR1cyA9ICdoZWFsdGh5JyB8ICd3YXJuaW5nJyB8ICdjcml0aWNhbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RrLW1lZXRpbmdzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lZXRpbmdzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVldGluZ3MuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTWVldGluZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBob3N0ITogc3RyaW5nO1xuICBASW5wdXQoKSB0b2tlbiE6IHN0cmluZztcbiAgQElucHV0KCkgZW52aXJvbm1lbnRTdGF0dXNMYWJlbCA9ICdNZWV0aW5nIGVudmlyb25tZW50OiBIZWFsdGh5JztcbiAgQElucHV0KCkgZW52aXJvbm1lbnRTdGF0dXNTdGF0ZTogTWVldGluZ0Vudmlyb25tZW50U3RhdHVzID0gJ2hlYWx0aHknO1xuICBASW5wdXQoKSBsaXZlQ291bnQgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpU2VydmljZTogQVBJU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hcGlTZXJ2aWNlLnRva2VuID0gdGhpcy50b2tlbjtcbiAgICB0aGlzLmFwaVNlcnZpY2UuYXBpVXJsID0gdGhpcy5ob3N0O1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGstbWVldGluZ3NcIj5cbiAgPGhlYWRlciBjbGFzcz1cInRrLW1lZXRpbmdzX19oZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGstbWVldGluZ3NfX2hlYWRpbmdcIj5cbiAgICAgIDxoMSBjbGFzcz1cInRrLW1lZXRpbmdzX190aXRsZVwiPk1lZXRpbmdzPC9oMT5cbiAgICAgIDxwIGNsYXNzPVwidGstbWVldGluZ3NfX3N1YnRpdGxlXCI+Q29uZmlndXJlIG1lZXRpbmcgc3BhY2VzIGFuZCBtb25pdG9yIGV2ZXJ5dGhpbmcgaGFwcGVuaW5nIGxpdmUgYWNyb3NzIHlvdXIgZW52aXJvbm1lbnQuPC9wPlxuICAgIDwvZGl2PlxuICA8L2hlYWRlcj5cblxuICA8bWF0LXRhYi1ncm91cCBkaXNhYmxlUmlwcGxlIGNsYXNzPVwidGstbWVldGluZ3NfX3RhYnNcIj5cbiAgICA8bWF0LXRhYiBsYWJlbD1cIk1lZXRpbmdzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidGstbWVldGluZ3NfX3RhYi1jb250ZW50XCI+XG4gICAgICAgIDx0ay1tZWV0aW5nLXNwYWNlcz48L3RrLW1lZXRpbmctc3BhY2VzPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdGFiPlxuXG4gICAgPG1hdC10YWI+XG4gICAgICA8bmctdGVtcGxhdGUgbWF0LXRhYi1sYWJlbD5cbiAgICAgICAgPHNwYW4+TGl2ZTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay1tZWV0aW5nc19fdGFiLWNvdW50XCI+e3sgbGl2ZUNvdW50IH19PC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0ay1tZWV0aW5nc19fdGFiLWNvbnRlbnRcIj5cbiAgICAgICAgPHRrLWxpdmUtbWVldGluZ3M+PC90ay1saXZlLW1lZXRpbmdzPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdGFiPlxuICA8L21hdC10YWItZ3JvdXA+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,42 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { HttpClientModule } from '@angular/common/http';
4
+ import { FormsModule } from '@angular/forms';
5
+ import { MaterialModule } from './material.module';
6
+ import { MeetingsComponent } from './meetings.component';
7
+ import { MeetingSpacesComponent } from './components/meeting-spaces/meeting-spaces.component';
8
+ import { LiveMeetingsComponent } from './components/live-meetings/live-meetings.component';
9
+ import * as i0 from "@angular/core";
10
+ export class MeetingsModule {
11
+ }
12
+ MeetingsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MeetingsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ MeetingsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MeetingsModule, declarations: [MeetingsComponent,
14
+ MeetingSpacesComponent,
15
+ LiveMeetingsComponent], imports: [CommonModule,
16
+ HttpClientModule,
17
+ FormsModule,
18
+ MaterialModule], exports: [MeetingsComponent] });
19
+ MeetingsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MeetingsModule, imports: [CommonModule,
20
+ HttpClientModule,
21
+ FormsModule,
22
+ MaterialModule] });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MeetingsModule, decorators: [{
24
+ type: NgModule,
25
+ args: [{
26
+ declarations: [
27
+ MeetingsComponent,
28
+ MeetingSpacesComponent,
29
+ LiveMeetingsComponent,
30
+ ],
31
+ imports: [
32
+ CommonModule,
33
+ HttpClientModule,
34
+ FormsModule,
35
+ MaterialModule,
36
+ ],
37
+ exports: [
38
+ MeetingsComponent,
39
+ ],
40
+ }]
41
+ }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZ3MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL21lZXRpbmdzL3NyYy9tZWV0aW5ncy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7QUFrQjNGLE1BQU0sT0FBTyxjQUFjOzs0R0FBZCxjQUFjOzZHQUFkLGNBQWMsaUJBZHZCLGlCQUFpQjtRQUNqQixzQkFBc0I7UUFDdEIscUJBQXFCLGFBR3JCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLGNBQWMsYUFHZCxpQkFBaUI7NkdBR1IsY0FBYyxZQVR2QixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLFdBQVc7UUFDWCxjQUFjOzRGQU1MLGNBQWM7a0JBaEIxQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixpQkFBaUI7d0JBQ2pCLHNCQUFzQjt3QkFDdEIscUJBQXFCO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsY0FBYztxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCO3FCQUNsQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQgeyBNZWV0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vbWVldGluZ3MuY29tcG9uZW50JztcbmltcG9ydCB7IE1lZXRpbmdTcGFjZXNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWVldGluZy1zcGFjZXMvbWVldGluZy1zcGFjZXMuY29tcG9uZW50JztcbmltcG9ydCB7IExpdmVNZWV0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9saXZlLW1lZXRpbmdzL2xpdmUtbWVldGluZ3MuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTWVldGluZ3NDb21wb25lbnQsXG4gICAgTWVldGluZ1NwYWNlc0NvbXBvbmVudCxcbiAgICBMaXZlTWVldGluZ3NDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRlcmlhbE1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE1lZXRpbmdzQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNZWV0aW5nc01vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,67 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpHeaders } from '@angular/common/http';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common/http";
5
+ export class APIService {
6
+ constructor(httpClient) {
7
+ this.httpClient = httpClient;
8
+ }
9
+ fetch(url, params, cache) {
10
+ const headers = this.getHeaders(cache);
11
+ params = params || {};
12
+ return this.httpClient.get(this.apiUrl + url, { params: this.prepareEncodedParams(params), headers });
13
+ }
14
+ post(url, body, params = {}) {
15
+ body = body || null;
16
+ const headers = this.getHeaders();
17
+ return this.httpClient.post(this.apiUrl + url, body, { params: this.prepareEncodedParams(params), headers });
18
+ }
19
+ put(url, body = null, params = {}) {
20
+ const headers = this.getHeaders();
21
+ return this.httpClient.put(this.apiUrl + url, body, { headers, params: this.prepareEncodedParams(params) });
22
+ }
23
+ delete(url, params = {}) {
24
+ const headers = this.getHeaders();
25
+ return this.httpClient.delete(this.apiUrl + url, { headers, params: this.prepareEncodedParams(params) });
26
+ }
27
+ prepareEncodedParams(params) {
28
+ const result = {};
29
+ if (!params) {
30
+ return {};
31
+ }
32
+ for (const key of Object.keys(params)) {
33
+ if (params[key]) {
34
+ const stringParam = params[key].toString();
35
+ result[key] = stringParam.includes('+') ? encodeURIComponent(stringParam) : stringParam;
36
+ }
37
+ }
38
+ return result;
39
+ }
40
+ getHeaders(cache) {
41
+ let headers = new HttpHeaders();
42
+ if (cache) {
43
+ headers = headers.append('_Cache', 'true ');
44
+ }
45
+ const token = this.token || this.getParameterByName('token');
46
+ headers = headers.append('Authorization', 'Bearer ' + token);
47
+ return headers;
48
+ }
49
+ getParameterByName(name, url = window.location.href) {
50
+ name = name.replace(/[\[\]]/g, '\\$&');
51
+ var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url);
52
+ if (!results)
53
+ return null;
54
+ if (!results[2])
55
+ return '';
56
+ return decodeURIComponent(results[2].replace(/\+/g, ' '));
57
+ }
58
+ }
59
+ APIService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
60
+ APIService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, providedIn: 'root' });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, decorators: [{
62
+ type: Injectable,
63
+ args: [{
64
+ providedIn: 'root'
65
+ }]
66
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvbWVldGluZ3Mvc3JjL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFNL0QsTUFBTSxPQUFPLFVBQVU7SUFJckIsWUFDVSxVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQzVCLENBQUM7SUFFTCxLQUFLLENBQUMsR0FBVyxFQUFFLE1BQVksRUFBRSxLQUFlO1FBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBRUQsSUFBSSxDQUFDLEdBQVcsRUFBRSxJQUFTLEVBQUUsTUFBTSxHQUFHLEVBQUU7UUFDdEMsSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUM7UUFDcEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQy9HLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLElBQUksR0FBRyxJQUFJLEVBQUUsTUFBTSxHQUFHLEVBQUU7UUFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBVyxFQUFFLE1BQU0sR0FBRyxFQUFFO1FBQzdCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxNQUFXO1FBQ3RDLE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUV2QixJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNyQyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDZixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzNDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO2FBQ3pGO1NBQ0Y7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sVUFBVSxDQUFDLEtBQWU7UUFDaEMsSUFBSSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNoQyxJQUFJLEtBQUssRUFBRTtZQUNULE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM3QztRQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdELE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxTQUFTLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDN0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVPLGtCQUFrQixDQUFDLElBQVMsRUFBRSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJO1FBQzlELElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2QyxJQUFJLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxHQUFHLG1CQUFtQixDQUFDLEVBQ3pELE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUMzQixPQUFPLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7d0dBOURVLFVBQVU7NEdBQVYsVUFBVSxjQUZULE1BQU07NEZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQVBJU2VydmljZSB7XG4gIHRva2VuITogc3RyaW5nO1xuICBhcGlVcmwhOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50XG4gICkgeyB9XG5cbiAgZmV0Y2godXJsOiBzdHJpbmcsIHBhcmFtcz86IGFueSwgY2FjaGU/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKGNhY2hlKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQodGhpcy5hcGlVcmwgKyB1cmwsIHsgcGFyYW1zOiB0aGlzLnByZXBhcmVFbmNvZGVkUGFyYW1zKHBhcmFtcyksIGhlYWRlcnMgfSk7XG4gIH1cblxuICBwb3N0KHVybDogc3RyaW5nLCBib2R5OiBhbnksIHBhcmFtcyA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBib2R5ID0gYm9keSB8fCBudWxsO1xuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmdldEhlYWRlcnMoKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QodGhpcy5hcGlVcmwgKyB1cmwsIGJvZHksIHsgcGFyYW1zOiB0aGlzLnByZXBhcmVFbmNvZGVkUGFyYW1zKHBhcmFtcyksIGhlYWRlcnMgfSk7XG4gIH1cblxuICBwdXQodXJsOiBzdHJpbmcsIGJvZHkgPSBudWxsLCBwYXJhbXMgPSB7fSkge1xuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmdldEhlYWRlcnMoKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnB1dCh0aGlzLmFwaVVybCArIHVybCwgYm9keSwgeyBoZWFkZXJzLCBwYXJhbXM6IHRoaXMucHJlcGFyZUVuY29kZWRQYXJhbXMocGFyYW1zKSB9KTtcbiAgfVxuXG4gIGRlbGV0ZSh1cmw6IHN0cmluZywgcGFyYW1zID0ge30pIHtcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5kZWxldGUodGhpcy5hcGlVcmwgKyB1cmwsIHsgaGVhZGVycywgcGFyYW1zOiB0aGlzLnByZXBhcmVFbmNvZGVkUGFyYW1zKHBhcmFtcykgfSk7XG4gIH1cblxuICBwcml2YXRlIHByZXBhcmVFbmNvZGVkUGFyYW1zKHBhcmFtczogYW55KSB7XG4gICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7fTtcblxuICAgIGlmICghcGFyYW1zKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHBhcmFtcykpIHtcbiAgICAgIGlmIChwYXJhbXNba2V5XSkge1xuICAgICAgICBjb25zdCBzdHJpbmdQYXJhbSA9IHBhcmFtc1trZXldLnRvU3RyaW5nKCk7XG4gICAgICAgIHJlc3VsdFtrZXldID0gc3RyaW5nUGFyYW0uaW5jbHVkZXMoJysnKSA/IGVuY29kZVVSSUNvbXBvbmVudChzdHJpbmdQYXJhbSkgOiBzdHJpbmdQYXJhbTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SGVhZGVycyhjYWNoZT86IGJvb2xlYW4pOiBIdHRwSGVhZGVycyB7XG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcbiAgICBpZiAoY2FjaGUpIHtcbiAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLmFwcGVuZCgnX0NhY2hlJywgJ3RydWUgJyk7XG4gICAgfVxuICAgIGNvbnN0IHRva2VuID0gdGhpcy50b2tlbiB8fCB0aGlzLmdldFBhcmFtZXRlckJ5TmFtZSgndG9rZW4nKTtcbiAgICBoZWFkZXJzID0gaGVhZGVycy5hcHBlbmQoJ0F1dGhvcml6YXRpb24nLCAnQmVhcmVyICcgKyB0b2tlbik7XG4gICAgcmV0dXJuIGhlYWRlcnM7XG4gIH1cblxuICBwcml2YXRlIGdldFBhcmFtZXRlckJ5TmFtZShuYW1lOiBhbnksIHVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmKSB7XG4gICAgbmFtZSA9IG5hbWUucmVwbGFjZSgvW1xcW1xcXV0vZywgJ1xcXFwkJicpO1xuICAgIHZhciByZWdleCA9IG5ldyBSZWdFeHAoJ1s/Jl0nICsgbmFtZSArICcoPShbXiYjXSopfCZ8I3wkKScpLFxuICAgICAgcmVzdWx0cyA9IHJlZ2V4LmV4ZWModXJsKTtcbiAgICBpZiAoIXJlc3VsdHMpIHJldHVybiBudWxsO1xuICAgIGlmICghcmVzdWx0c1syXSkgcmV0dXJuICcnO1xuICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQocmVzdWx0c1syXS5yZXBsYWNlKC9cXCsvZywgJyAnKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,85 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { of } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ const DUMMY_LIVE_MEETINGS_SNAPSHOT = {
5
+ summary: {
6
+ activeMeetings: 4,
7
+ connectedParticipants: 190,
8
+ waitingInLobby: 7,
9
+ recording: 2,
10
+ streaming: 1,
11
+ qualityWarnings: 1,
12
+ },
13
+ meetings: [
14
+ {
15
+ id: '1',
16
+ title: 'Executive Boardroom',
17
+ ownerName: 'Alex Morgan',
18
+ ownerEmail: 'exec.boardroom@tuki.io',
19
+ participants: 12,
20
+ lobbyCount: 2,
21
+ lockState: 'locked',
22
+ activity: { recording: true, streaming: false, presenting: true },
23
+ startTime: '09:00',
24
+ duration: '42:18',
25
+ quality: 'good',
26
+ cluster: 'us-east-1',
27
+ },
28
+ {
29
+ id: '2',
30
+ title: 'Company All Hands',
31
+ ownerName: 'Priya Shah',
32
+ ownerEmail: 'allhands@tuki.io',
33
+ participants: 148,
34
+ lobbyCount: 5,
35
+ lockState: 'unlocked',
36
+ activity: { recording: true, streaming: true, presenting: true },
37
+ startTime: '10:00',
38
+ duration: '18:42',
39
+ quality: 'good',
40
+ cluster: 'us-east-1',
41
+ },
42
+ {
43
+ id: '3',
44
+ title: 'Support War Room',
45
+ ownerName: 'Daniel Kim',
46
+ ownerEmail: 'support.warroom@tuki.io',
47
+ participants: 6,
48
+ lobbyCount: 0,
49
+ lockState: 'unlocked',
50
+ activity: { recording: false, streaming: false, presenting: false },
51
+ startTime: '06:30',
52
+ duration: '3:52:08',
53
+ quality: 'fair',
54
+ cluster: 'eu-west-1',
55
+ },
56
+ {
57
+ id: '4',
58
+ title: 'Engineering Standup',
59
+ ownerName: 'Marta Ribeiro',
60
+ ownerEmail: 'eng.standup@tuki.io',
61
+ participants: 24,
62
+ lobbyCount: 0,
63
+ lockState: 'unlocked',
64
+ activity: { recording: false, streaming: false, presenting: false },
65
+ startTime: '08:30',
66
+ duration: '12:04',
67
+ quality: 'good',
68
+ cluster: 'us-east-1',
69
+ },
70
+ ],
71
+ };
72
+ export class LiveMeetingsService {
73
+ fetchLiveMeetings() {
74
+ return of(DUMMY_LIVE_MEETINGS_SNAPSHOT);
75
+ }
76
+ }
77
+ LiveMeetingsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LiveMeetingsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
78
+ LiveMeetingsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LiveMeetingsService, providedIn: 'root' });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LiveMeetingsService, decorators: [{
80
+ type: Injectable,
81
+ args: [{
82
+ providedIn: 'root'
83
+ }]
84
+ }] });
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS1tZWV0aW5ncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL21lZXRpbmdzL3NyYy9zZXJ2aWNlcy9saXZlLW1lZXRpbmdzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUd0QyxNQUFNLDRCQUE0QixHQUF5QjtJQUN6RCxPQUFPLEVBQUU7UUFDUCxjQUFjLEVBQUUsQ0FBQztRQUNqQixxQkFBcUIsRUFBRSxHQUFHO1FBQzFCLGNBQWMsRUFBRSxDQUFDO1FBQ2pCLFNBQVMsRUFBRSxDQUFDO1FBQ1osU0FBUyxFQUFFLENBQUM7UUFDWixlQUFlLEVBQUUsQ0FBQztLQUNuQjtJQUNELFFBQVEsRUFBRTtRQUNSO1lBQ0UsRUFBRSxFQUFFLEdBQUc7WUFDUCxLQUFLLEVBQUUscUJBQXFCO1lBQzVCLFNBQVMsRUFBRSxhQUFhO1lBQ3hCLFVBQVUsRUFBRSx3QkFBd0I7WUFDcEMsWUFBWSxFQUFFLEVBQUU7WUFDaEIsVUFBVSxFQUFFLENBQUM7WUFDYixTQUFTLEVBQUUsUUFBUTtZQUNuQixRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRTtZQUNqRSxTQUFTLEVBQUUsT0FBTztZQUNsQixRQUFRLEVBQUUsT0FBTztZQUNqQixPQUFPLEVBQUUsTUFBTTtZQUNmLE9BQU8sRUFBRSxXQUFXO1NBQ3JCO1FBQ0Q7WUFDRSxFQUFFLEVBQUUsR0FBRztZQUNQLEtBQUssRUFBRSxtQkFBbUI7WUFDMUIsU0FBUyxFQUFFLFlBQVk7WUFDdkIsVUFBVSxFQUFFLGtCQUFrQjtZQUM5QixZQUFZLEVBQUUsR0FBRztZQUNqQixVQUFVLEVBQUUsQ0FBQztZQUNiLFNBQVMsRUFBRSxVQUFVO1lBQ3JCLFFBQVEsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFO1lBQ2hFLFNBQVMsRUFBRSxPQUFPO1lBQ2xCLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLE9BQU8sRUFBRSxNQUFNO1lBQ2YsT0FBTyxFQUFFLFdBQVc7U0FDckI7UUFDRDtZQUNFLEVBQUUsRUFBRSxHQUFHO1lBQ1AsS0FBSyxFQUFFLGtCQUFrQjtZQUN6QixTQUFTLEVBQUUsWUFBWTtZQUN2QixVQUFVLEVBQUUseUJBQXlCO1lBQ3JDLFlBQVksRUFBRSxDQUFDO1lBQ2YsVUFBVSxFQUFFLENBQUM7WUFDYixTQUFTLEVBQUUsVUFBVTtZQUNyQixRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRTtZQUNuRSxTQUFTLEVBQUUsT0FBTztZQUNsQixRQUFRLEVBQUUsU0FBUztZQUNuQixPQUFPLEVBQUUsTUFBTTtZQUNmLE9BQU8sRUFBRSxXQUFXO1NBQ3JCO1FBQ0Q7WUFDRSxFQUFFLEVBQUUsR0FBRztZQUNQLEtBQUssRUFBRSxxQkFBcUI7WUFDNUIsU0FBUyxFQUFFLGVBQWU7WUFDMUIsVUFBVSxFQUFFLHFCQUFxQjtZQUNqQyxZQUFZLEVBQUUsRUFBRTtZQUNoQixVQUFVLEVBQUUsQ0FBQztZQUNiLFNBQVMsRUFBRSxVQUFVO1lBQ3JCLFFBQVEsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFO1lBQ25FLFNBQVMsRUFBRSxPQUFPO1lBQ2xCLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLE9BQU8sRUFBRSxNQUFNO1lBQ2YsT0FBTyxFQUFFLFdBQVc7U0FDckI7S0FDRjtDQUNGLENBQUM7QUFLRixNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLGlCQUFpQjtRQUNmLE9BQU8sRUFBRSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDMUMsQ0FBQzs7aUhBSFUsbUJBQW1CO3FIQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExpdmVNZWV0aW5nc1NuYXBzaG90IH0gZnJvbSAnLi4vdHlwZXMvbGl2ZS1tZWV0aW5nJztcblxuY29uc3QgRFVNTVlfTElWRV9NRUVUSU5HU19TTkFQU0hPVDogTGl2ZU1lZXRpbmdzU25hcHNob3QgPSB7XG4gIHN1bW1hcnk6IHtcbiAgICBhY3RpdmVNZWV0aW5nczogNCxcbiAgICBjb25uZWN0ZWRQYXJ0aWNpcGFudHM6IDE5MCxcbiAgICB3YWl0aW5nSW5Mb2JieTogNyxcbiAgICByZWNvcmRpbmc6IDIsXG4gICAgc3RyZWFtaW5nOiAxLFxuICAgIHF1YWxpdHlXYXJuaW5nczogMSxcbiAgfSxcbiAgbWVldGluZ3M6IFtcbiAgICB7XG4gICAgICBpZDogJzEnLFxuICAgICAgdGl0bGU6ICdFeGVjdXRpdmUgQm9hcmRyb29tJyxcbiAgICAgIG93bmVyTmFtZTogJ0FsZXggTW9yZ2FuJyxcbiAgICAgIG93bmVyRW1haWw6ICdleGVjLmJvYXJkcm9vbUB0dWtpLmlvJyxcbiAgICAgIHBhcnRpY2lwYW50czogMTIsXG4gICAgICBsb2JieUNvdW50OiAyLFxuICAgICAgbG9ja1N0YXRlOiAnbG9ja2VkJyxcbiAgICAgIGFjdGl2aXR5OiB7IHJlY29yZGluZzogdHJ1ZSwgc3RyZWFtaW5nOiBmYWxzZSwgcHJlc2VudGluZzogdHJ1ZSB9LFxuICAgICAgc3RhcnRUaW1lOiAnMDk6MDAnLFxuICAgICAgZHVyYXRpb246ICc0MjoxOCcsXG4gICAgICBxdWFsaXR5OiAnZ29vZCcsXG4gICAgICBjbHVzdGVyOiAndXMtZWFzdC0xJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiAnMicsXG4gICAgICB0aXRsZTogJ0NvbXBhbnkgQWxsIEhhbmRzJyxcbiAgICAgIG93bmVyTmFtZTogJ1ByaXlhIFNoYWgnLFxuICAgICAgb3duZXJFbWFpbDogJ2FsbGhhbmRzQHR1a2kuaW8nLFxuICAgICAgcGFydGljaXBhbnRzOiAxNDgsXG4gICAgICBsb2JieUNvdW50OiA1LFxuICAgICAgbG9ja1N0YXRlOiAndW5sb2NrZWQnLFxuICAgICAgYWN0aXZpdHk6IHsgcmVjb3JkaW5nOiB0cnVlLCBzdHJlYW1pbmc6IHRydWUsIHByZXNlbnRpbmc6IHRydWUgfSxcbiAgICAgIHN0YXJ0VGltZTogJzEwOjAwJyxcbiAgICAgIGR1cmF0aW9uOiAnMTg6NDInLFxuICAgICAgcXVhbGl0eTogJ2dvb2QnLFxuICAgICAgY2x1c3RlcjogJ3VzLWVhc3QtMScsXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogJzMnLFxuICAgICAgdGl0bGU6ICdTdXBwb3J0IFdhciBSb29tJyxcbiAgICAgIG93bmVyTmFtZTogJ0RhbmllbCBLaW0nLFxuICAgICAgb3duZXJFbWFpbDogJ3N1cHBvcnQud2Fycm9vbUB0dWtpLmlvJyxcbiAgICAgIHBhcnRpY2lwYW50czogNixcbiAgICAgIGxvYmJ5Q291bnQ6IDAsXG4gICAgICBsb2NrU3RhdGU6ICd1bmxvY2tlZCcsXG4gICAgICBhY3Rpdml0eTogeyByZWNvcmRpbmc6IGZhbHNlLCBzdHJlYW1pbmc6IGZhbHNlLCBwcmVzZW50aW5nOiBmYWxzZSB9LFxuICAgICAgc3RhcnRUaW1lOiAnMDY6MzAnLFxuICAgICAgZHVyYXRpb246ICczOjUyOjA4JyxcbiAgICAgIHF1YWxpdHk6ICdmYWlyJyxcbiAgICAgIGNsdXN0ZXI6ICdldS13ZXN0LTEnLFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6ICc0JyxcbiAgICAgIHRpdGxlOiAnRW5naW5lZXJpbmcgU3RhbmR1cCcsXG4gICAgICBvd25lck5hbWU6ICdNYXJ0YSBSaWJlaXJvJyxcbiAgICAgIG93bmVyRW1haWw6ICdlbmcuc3RhbmR1cEB0dWtpLmlvJyxcbiAgICAgIHBhcnRpY2lwYW50czogMjQsXG4gICAgICBsb2JieUNvdW50OiAwLFxuICAgICAgbG9ja1N0YXRlOiAndW5sb2NrZWQnLFxuICAgICAgYWN0aXZpdHk6IHsgcmVjb3JkaW5nOiBmYWxzZSwgc3RyZWFtaW5nOiBmYWxzZSwgcHJlc2VudGluZzogZmFsc2UgfSxcbiAgICAgIHN0YXJ0VGltZTogJzA4OjMwJyxcbiAgICAgIGR1cmF0aW9uOiAnMTI6MDQnLFxuICAgICAgcXVhbGl0eTogJ2dvb2QnLFxuICAgICAgY2x1c3RlcjogJ3VzLWVhc3QtMScsXG4gICAgfSxcbiAgXSxcbn07XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExpdmVNZWV0aW5nc1NlcnZpY2Uge1xuICBmZXRjaExpdmVNZWV0aW5ncygpOiBPYnNlcnZhYmxlPExpdmVNZWV0aW5nc1NuYXBzaG90PiB7XG4gICAgcmV0dXJuIG9mKERVTU1ZX0xJVkVfTUVFVElOR1NfU05BUFNIT1QpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { of } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ const DUMMY_MEETING_SPACES = [
5
+ { id: '1', name: 'Executive Boardroom', uri: 'exec.boardroom@tuki.io', meetingId: '4427100', participants: 12 },
6
+ { id: '2', name: 'Company All Hands', uri: 'allhands@tuki.io', meetingId: '4427200', participants: 148 },
7
+ { id: '3', name: 'Support War Room', uri: 'support.warroom@tuki.io', meetingId: '4427305', participants: 6 },
8
+ { id: '4', name: 'Sales Weekly', uri: 'sales.weekly@tuki.io', meetingId: '4427412', participants: 0 },
9
+ { id: '5', name: 'Engineering Standup', uri: 'eng.standup@tuki.io', meetingId: '4427501', participants: 24 },
10
+ { id: '6', name: 'Partner Training Room', uri: 'partner.training@tuki.io', meetingId: '4427622', participants: 0 },
11
+ { id: '7', name: 'Incident Response', uri: 'incident.response@tuki.io', meetingId: '4427711', participants: 0, managed: true },
12
+ { id: '8', name: 'Customer Briefing Center', uri: 'briefing@tuki.io', meetingId: '4427820', participants: 0 },
13
+ { id: '9', name: 'Design Critique', uri: 'design.crit@tuki.io', meetingId: '4427905', participants: 0 },
14
+ { id: '10', name: 'APAC Ops Sync', uri: 'apac.ops@tuki.io', meetingId: '4428014', participants: 0 },
15
+ ];
16
+ export class MeetingSpacesService {
17
+ fetchMeetingSpaces() {
18
+ return of(DUMMY_MEETING_SPACES);
19
+ }
20
+ }
21
+ MeetingSpacesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MeetingSpacesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
22
+ MeetingSpacesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MeetingSpacesService, providedIn: 'root' });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MeetingSpacesService, decorators: [{
24
+ type: Injectable,
25
+ args: [{
26
+ providedIn: 'root'
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZy1zcGFjZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9tZWV0aW5ncy9zcmMvc2VydmljZXMvbWVldGluZy1zcGFjZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBR3RDLE1BQU0sb0JBQW9CLEdBQW1CO0lBQzNDLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxFQUFFLHdCQUF3QixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRTtJQUMvRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUU7SUFDeEcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxHQUFHLEVBQUUseUJBQXlCLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFO0lBQzVHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxzQkFBc0IsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUU7SUFDckcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFO0lBQzVHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUUsR0FBRyxFQUFFLDBCQUEwQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRTtJQUNsSCxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsRUFBRSwyQkFBMkIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtJQUM5SCxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixFQUFFLEdBQUcsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUU7SUFDN0csRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxHQUFHLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFO0lBQ3ZHLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUU7Q0FDcEcsQ0FBQztBQUtGLE1BQU0sT0FBTyxvQkFBb0I7SUFDL0Isa0JBQWtCO1FBQ2hCLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDbEMsQ0FBQzs7a0hBSFUsb0JBQW9CO3NIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1lZXRpbmdTcGFjZSB9IGZyb20gJy4uL3R5cGVzL21lZXRpbmctc3BhY2UnO1xuXG5jb25zdCBEVU1NWV9NRUVUSU5HX1NQQUNFUzogTWVldGluZ1NwYWNlW10gPSBbXG4gIHsgaWQ6ICcxJywgbmFtZTogJ0V4ZWN1dGl2ZSBCb2FyZHJvb20nLCB1cmk6ICdleGVjLmJvYXJkcm9vbUB0dWtpLmlvJywgbWVldGluZ0lkOiAnNDQyNzEwMCcsIHBhcnRpY2lwYW50czogMTIgfSxcbiAgeyBpZDogJzInLCBuYW1lOiAnQ29tcGFueSBBbGwgSGFuZHMnLCB1cmk6ICdhbGxoYW5kc0B0dWtpLmlvJywgbWVldGluZ0lkOiAnNDQyNzIwMCcsIHBhcnRpY2lwYW50czogMTQ4IH0sXG4gIHsgaWQ6ICczJywgbmFtZTogJ1N1cHBvcnQgV2FyIFJvb20nLCB1cmk6ICdzdXBwb3J0LndhcnJvb21AdHVraS5pbycsIG1lZXRpbmdJZDogJzQ0MjczMDUnLCBwYXJ0aWNpcGFudHM6IDYgfSxcbiAgeyBpZDogJzQnLCBuYW1lOiAnU2FsZXMgV2Vla2x5JywgdXJpOiAnc2FsZXMud2Vla2x5QHR1a2kuaW8nLCBtZWV0aW5nSWQ6ICc0NDI3NDEyJywgcGFydGljaXBhbnRzOiAwIH0sXG4gIHsgaWQ6ICc1JywgbmFtZTogJ0VuZ2luZWVyaW5nIFN0YW5kdXAnLCB1cmk6ICdlbmcuc3RhbmR1cEB0dWtpLmlvJywgbWVldGluZ0lkOiAnNDQyNzUwMScsIHBhcnRpY2lwYW50czogMjQgfSxcbiAgeyBpZDogJzYnLCBuYW1lOiAnUGFydG5lciBUcmFpbmluZyBSb29tJywgdXJpOiAncGFydG5lci50cmFpbmluZ0B0dWtpLmlvJywgbWVldGluZ0lkOiAnNDQyNzYyMicsIHBhcnRpY2lwYW50czogMCB9LFxuICB7IGlkOiAnNycsIG5hbWU6ICdJbmNpZGVudCBSZXNwb25zZScsIHVyaTogJ2luY2lkZW50LnJlc3BvbnNlQHR1a2kuaW8nLCBtZWV0aW5nSWQ6ICc0NDI3NzExJywgcGFydGljaXBhbnRzOiAwLCBtYW5hZ2VkOiB0cnVlIH0sXG4gIHsgaWQ6ICc4JywgbmFtZTogJ0N1c3RvbWVyIEJyaWVmaW5nIENlbnRlcicsIHVyaTogJ2JyaWVmaW5nQHR1a2kuaW8nLCBtZWV0aW5nSWQ6ICc0NDI3ODIwJywgcGFydGljaXBhbnRzOiAwIH0sXG4gIHsgaWQ6ICc5JywgbmFtZTogJ0Rlc2lnbiBDcml0aXF1ZScsIHVyaTogJ2Rlc2lnbi5jcml0QHR1a2kuaW8nLCBtZWV0aW5nSWQ6ICc0NDI3OTA1JywgcGFydGljaXBhbnRzOiAwIH0sXG4gIHsgaWQ6ICcxMCcsIG5hbWU6ICdBUEFDIE9wcyBTeW5jJywgdXJpOiAnYXBhYy5vcHNAdHVraS5pbycsIG1lZXRpbmdJZDogJzQ0MjgwMTQnLCBwYXJ0aWNpcGFudHM6IDAgfSxcbl07XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1lZXRpbmdTcGFjZXNTZXJ2aWNlIHtcbiAgZmV0Y2hNZWV0aW5nU3BhY2VzKCk6IE9ic2VydmFibGU8TWVldGluZ1NwYWNlW10+IHtcbiAgICByZXR1cm4gb2YoRFVNTVlfTUVFVElOR19TUEFDRVMpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS1tZWV0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL21lZXRpbmdzL3NyYy90eXBlcy9saXZlLW1lZXRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIExpdmVNZWV0aW5nTG9ja1N0YXRlID0gJ2xvY2tlZCcgfCAndW5sb2NrZWQnO1xuZXhwb3J0IHR5cGUgTGl2ZU1lZXRpbmdRdWFsaXR5ID0gJ2dvb2QnIHwgJ2ZhaXInIHwgJ3Bvb3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIExpdmVNZWV0aW5nQWN0aXZpdHkge1xuICByZWNvcmRpbmc6IGJvb2xlYW47XG4gIHN0cmVhbWluZzogYm9vbGVhbjtcbiAgcHJlc2VudGluZzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXZlTWVldGluZyB7XG4gIGlkOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIG93bmVyTmFtZTogc3RyaW5nO1xuICBvd25lckVtYWlsOiBzdHJpbmc7XG4gIHBhcnRpY2lwYW50czogbnVtYmVyO1xuICBsb2JieUNvdW50OiBudW1iZXI7XG4gIGxvY2tTdGF0ZTogTGl2ZU1lZXRpbmdMb2NrU3RhdGU7XG4gIGFjdGl2aXR5OiBMaXZlTWVldGluZ0FjdGl2aXR5O1xuICBzdGFydFRpbWU6IHN0cmluZztcbiAgZHVyYXRpb246IHN0cmluZztcbiAgcXVhbGl0eTogTGl2ZU1lZXRpbmdRdWFsaXR5O1xuICBjbHVzdGVyOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGl2ZU1lZXRpbmdzU3VtbWFyeSB7XG4gIGFjdGl2ZU1lZXRpbmdzOiBudW1iZXI7XG4gIGNvbm5lY3RlZFBhcnRpY2lwYW50czogbnVtYmVyO1xuICB3YWl0aW5nSW5Mb2JieTogbnVtYmVyO1xuICByZWNvcmRpbmc6IG51bWJlcjtcbiAgc3RyZWFtaW5nOiBudW1iZXI7XG4gIHF1YWxpdHlXYXJuaW5nczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpdmVNZWV0aW5nc1NuYXBzaG90IHtcbiAgc3VtbWFyeTogTGl2ZU1lZXRpbmdzU3VtbWFyeTtcbiAgbWVldGluZ3M6IExpdmVNZWV0aW5nW107XG59XG4iXX0=