@naniteninja/dashboard-components-lib 2.1.0 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { TemplateRef, OnInit, AfterViewInit, ElementRef, EventEmitter, ChangeDetectorRef, PipeTransform, ModuleWithProviders, OnDestroy, OnChanges, SimpleChanges, Renderer2, ViewContainerRef, InjectionToken } from '@angular/core';
2
+ import { TemplateRef, OnInit, AfterViewInit, ElementRef, EventEmitter, ChangeDetectorRef, PipeTransform, ModuleWithProviders, OnDestroy, OnChanges, SimpleChanges, Renderer2, ViewContainerRef, NgZone, InjectionToken } from '@angular/core';
3
3
  import * as i6 from '@naniteninja/ionic-lib';
4
- import { LibMenuItem, LocationModel, SelectOption, ImageModel, PopupModalService, BaseComponent, FormFieldType as FormFieldType$1, EmojiPickerConfig, InputFieldComponent, Profile } from '@naniteninja/ionic-lib';
4
+ import { LibMenuItem, LocationModel, SelectOption, ImageModel, PopupModalService, BaseComponent, EmojiPickerConfig, InputFieldComponent, Profile } from '@naniteninja/ionic-lib';
5
5
  import * as rxjs from 'rxjs';
6
6
  import { Observable, BehaviorSubject } from 'rxjs';
7
7
  import * as i2 from '@angular/common';
@@ -11,20 +11,24 @@ import { TranslateService } from '@ngx-translate/core';
11
11
  import * as i5 from '@angular/forms';
12
12
  import { FormControl, FormGroup, FormBuilder } from '@angular/forms';
13
13
  import { Frequency } from 'rrule/dist/esm/types';
14
- import { JSONSchema } from '@ngx-pwa/local-storage';
15
14
  import * as i4$1 from '@angular/material/input';
16
15
  import * as i5$1 from '@angular/material/select';
17
16
  import * as i6$1 from '@angular/material/form-field';
18
17
  import * as i9 from 'ngx-infinite-scroll';
18
+ import * as i12 from '@angular/cdk/overlay';
19
+ import * as i13 from '@angular/cdk/portal';
20
+ import { JSONSchema } from '@ngx-pwa/local-storage';
19
21
  import * as i10 from '@naniteninja/trait-visual';
20
22
  import { INodeData } from '@naniteninja/trait-visual';
21
23
  import * as d3 from 'd3';
22
24
  import * as i3$1 from '@angular/cdk/drag-drop';
23
- import { CdkDragMove, CdkDrag, CdkDropList, CdkDragStart, CdkDragDrop } from '@angular/cdk/drag-drop';
25
+ import { CdkDrag, CdkDropList, CdkDragStart, CdkDragEnd, CdkDragMove, CdkDragDrop } from '@angular/cdk/drag-drop';
24
26
  import { SwiperOptions } from 'swiper/types';
25
- import { Router } from '@angular/router';
27
+ import { SafeHtml, DomSanitizer } from '@angular/platform-browser';
28
+ import { Router, ActivatedRoute } from '@angular/router';
26
29
  import * as i8 from '@naniteninja/profile-comparison-lib';
27
30
  import { IProfileConfig } from '@naniteninja/profile-comparison-lib';
31
+ export { IProfileConfig, PROFILE_COMPARISON_API_BASE_URL } from '@naniteninja/profile-comparison-lib';
28
32
 
29
33
  interface IAd {
30
34
  id?: string;
@@ -500,6 +504,8 @@ interface IDataset {
500
504
  keys: string[];
501
505
  values: Record<string, number>;
502
506
  polygon_color?: IPolygonColor;
507
+ image?: string;
508
+ score?: number;
503
509
  }
504
510
 
505
511
  interface IDateMessages {
@@ -640,6 +646,9 @@ interface IHomeDashboardInputs {
640
646
  showValueProportionLabel?: boolean;
641
647
  hideProgressBar?: boolean;
642
648
  showProgressUnderHeads?: boolean;
649
+ mainSwiperHeight?: string;
650
+ subMainSwiperHeight?: string;
651
+ showRejectMenu?: boolean;
643
652
  }
644
653
 
645
654
  interface IInnerPartialCircleProgressColors {
@@ -907,12 +916,6 @@ interface ISchedulerEventSlots {
907
916
  events: ISchedulerEvent[];
908
917
  }
909
918
 
910
- interface SelectOptionWithTemplate<T> {
911
- label: string;
912
- value: T;
913
- addOnTemplateRef?: any;
914
- }
915
-
916
919
  interface ISendOptionsMessage {
917
920
  type: SendMessageType;
918
921
  arrivalDate?: Date;
@@ -1191,6 +1194,7 @@ declare class LibSchedulerComponent implements OnInit, OnDestroy {
1191
1194
  startDate: Date;
1192
1195
  endDate: Date;
1193
1196
  default: boolean;
1197
+ role: 'client' | 'matcher';
1194
1198
  bookEvent: EventEmitter<ISchedulerAction>;
1195
1199
  removeSuggestion: EventEmitter<ISchedulerAction>;
1196
1200
  eventsDays: ISchedulerEventDay[];
@@ -1205,10 +1209,12 @@ declare class LibSchedulerComponent implements OnInit, OnDestroy {
1205
1209
  acceptSuggestion(dayIndex: number, eventIndex: number, suggestionIndex: number): void;
1206
1210
  cancelSuggestion(dayIndex: number, eventIndex: number, suggestionIndex: number): void;
1207
1211
  updateSuggestionsCounts(): void;
1212
+ getStatusLabel(event: ISchedulerEvent): 'BOOKED' | 'SUGGESTED' | 'FREE';
1213
+ private checkAllDecided;
1208
1214
  private groupEventsByDay;
1209
1215
  private buildEvents;
1210
1216
  static ɵfac: i0.ɵɵFactoryDeclaration<LibSchedulerComponent, never>;
1211
- static ɵcmp: i0.ɵɵComponentDeclaration<LibSchedulerComponent, "lib-scheduler", never, { "adsTemplate": { "alias": "adsTemplate"; "required": false; }; "loading$": { "alias": "loading$"; "required": false; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; }; "displayBookedStatuses": { "alias": "displayBookedStatuses"; "required": false; }; "displayEmptyDays": { "alias": "displayEmptyDays"; "required": false; }; "events$": { "alias": "events$"; "required": false; }; "startDate": { "alias": "startDate"; "required": false; }; "endDate": { "alias": "endDate"; "required": false; }; "default": { "alias": "default"; "required": false; }; }, { "bookEvent": "bookEvent"; "removeSuggestion": "removeSuggestion"; }, never, never, true, never>;
1217
+ static ɵcmp: i0.ɵɵComponentDeclaration<LibSchedulerComponent, "lib-scheduler", never, { "adsTemplate": { "alias": "adsTemplate"; "required": false; }; "loading$": { "alias": "loading$"; "required": false; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; }; "displayBookedStatuses": { "alias": "displayBookedStatuses"; "required": false; }; "displayEmptyDays": { "alias": "displayEmptyDays"; "required": false; }; "events$": { "alias": "events$"; "required": false; }; "startDate": { "alias": "startDate"; "required": false; }; "endDate": { "alias": "endDate"; "required": false; }; "default": { "alias": "default"; "required": false; }; "role": { "alias": "role"; "required": false; }; }, { "bookEvent": "bookEvent"; "removeSuggestion": "removeSuggestion"; }, never, never, true, never>;
1212
1218
  }
1213
1219
 
1214
1220
  declare class ChatSuggestionComponent {
@@ -1218,45 +1224,49 @@ declare class ChatSuggestionComponent {
1218
1224
  static ɵcmp: i0.ɵɵComponentDeclaration<ChatSuggestionComponent, "lib-chat-suggestion", never, { "chatSuggestions": { "alias": "chatSuggestions"; "required": false; }; }, { "suggestClicked": "suggestClicked"; }, never, never, true, never>;
1219
1225
  }
1220
1226
 
1221
- declare abstract class AbstractCacheService {
1222
- abstract saveLocalStorage(key: string, value: unknown, schema?: JSONSchema): void;
1223
- abstract getLocalStorage<T>(key: string): Observable<T>;
1224
- static ɵfac: i0.ɵɵFactoryDeclaration<AbstractCacheService, never>;
1225
- static ɵprov: i0.ɵɵInjectableDeclaration<AbstractCacheService>;
1226
- }
1227
-
1228
- declare class ChatService$1 {
1229
- cacheService: AbstractCacheService;
1230
- constructor(cacheService: AbstractCacheService);
1231
- setLongPressForSendImmediately(enabled: boolean): void;
1232
- isLongPressForSendImmediately(): Observable<boolean>;
1233
- transformMessages(messages: IMessage[]): IDateMessages[];
1234
- updateDateMessages(dateMessages: IDateMessages[]): IDateMessages[];
1235
- static ɵfac: i0.ɵɵFactoryDeclaration<ChatService$1, never>;
1236
- static ɵprov: i0.ɵɵInjectableDeclaration<ChatService$1>;
1237
- }
1238
-
1239
- declare class LibMessageModalComponent implements OnInit {
1240
- private fb;
1241
- private popupModalService;
1242
- private chatService;
1243
- modalData?: {
1244
- responseTime: string;
1245
- };
1246
- toggleTemplate: TemplateRef<HTMLElement>;
1247
- options: SelectOptionWithTemplate<string>[];
1248
- messageType: FormControl<string>;
1249
- dateTimePicker: FormControl<Date>;
1250
- toggleLongPress: FormControl<boolean>;
1251
- type: FormFieldType$1;
1252
- formTime: FormGroup;
1253
- constructor(fb: FormBuilder, popupModalService: PopupModalService, chatService: ChatService$1, modalData?: {
1254
- responseTime: string;
1255
- });
1256
- ngOnInit(): void;
1257
- onSubmit(): void;
1258
- static ɵfac: i0.ɵɵFactoryDeclaration<LibMessageModalComponent, [null, null, null, { optional: true; }]>;
1259
- static ɵcmp: i0.ɵɵComponentDeclaration<LibMessageModalComponent, "lib-message-modal", never, {}, {}, never, never, true, never>;
1227
+ declare enum MessageOption {
1228
+ REPLY_DELAY = "Reply delay",
1229
+ SEND_IMMEDIATELY = "Send immediately",
1230
+ SEND_AFTER = "Send after"
1231
+ }
1232
+ declare class LibMessageModalComponent {
1233
+ close: EventEmitter<void>;
1234
+ send: EventEmitter<ISendOptionsMessage>;
1235
+ MessageOption: typeof MessageOption;
1236
+ selectedOption: MessageOption;
1237
+ defaultTime: string;
1238
+ showTimePicker: boolean;
1239
+ showReplyDelayInfo: boolean;
1240
+ longPressOption: boolean;
1241
+ hours: number;
1242
+ minutes: number;
1243
+ seconds: number;
1244
+ private replyDelayMs;
1245
+ private pressTimer;
1246
+ options: {
1247
+ value: MessageOption;
1248
+ label: string;
1249
+ }[];
1250
+ onClose(): void;
1251
+ onTimeInputClick(): void;
1252
+ toggleLongPress(): void;
1253
+ toggleReplyDelayInfo(event: Event): void;
1254
+ closeReplyDelayInfo(): void;
1255
+ increment(unit: 'h' | 'm' | 's'): void;
1256
+ decrement(unit: 'h' | 'm' | 's'): void;
1257
+ updateDefaultTime(): void;
1258
+ setDefaultTimeFromMs(ms: number): void;
1259
+ confirmTime(): void;
1260
+ clearTime(): void;
1261
+ pad(num: number): string;
1262
+ selectOption(option: MessageOption): void;
1263
+ onPressStart(): void;
1264
+ onPressEnd(): void;
1265
+ onSendClick(): void;
1266
+ executeSend(): void;
1267
+ onSend(): void;
1268
+ static ɵfac: i0.ɵɵFactoryDeclaration<LibMessageModalComponent, never>;
1269
+ static ɵcmp: i0.ɵɵComponentDeclaration<LibMessageModalComponent, "lib-message-modal", never, {}, { "close": "close"; "send": "send"; }, never, never, true, never>;
1260
1270
  }
1261
1271
 
1262
1272
  declare class ChatComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {
@@ -1273,15 +1283,20 @@ declare class ChatComponent implements OnInit, AfterViewInit, OnChanges, OnDestr
1273
1283
  sendMessage: EventEmitter<IMessage>;
1274
1284
  getMessages: EventEmitter<boolean>;
1275
1285
  disabled: boolean;
1286
+ hasShadow: boolean;
1276
1287
  emojiPickerRef: ElementRef;
1277
1288
  scrollableContainer: ElementRef;
1278
1289
  chatInput: InputFieldComponent;
1290
+ emojiContainer: ElementRef;
1291
+ messageSender: ElementRef;
1279
1292
  private cdr;
1280
1293
  private elementRef;
1281
1294
  private popupModalService;
1282
1295
  private chatService;
1283
1296
  private pendingMessage;
1284
1297
  private renderer;
1298
+ private sendingGuard;
1299
+ private emojiObserver;
1285
1300
  scrollThreshold: number;
1286
1301
  messages: IDateMessages[];
1287
1302
  textControl: FormControl<string>;
@@ -1290,13 +1305,19 @@ declare class ChatComponent implements OnInit, AfterViewInit, OnChanges, OnDestr
1290
1305
  gifVisibility: boolean;
1291
1306
  isAtStartChat: boolean;
1292
1307
  emojiPickerOpened: boolean;
1308
+ isClearing: boolean;
1293
1309
  pos: string;
1294
1310
  get newTextMessage(): string;
1295
1311
  longPressEnabled: boolean;
1296
1312
  throttle: number;
1297
1313
  distance: number;
1298
1314
  readonly ModalComponent: typeof LibMessageModalComponent;
1315
+ private overlayRef;
1316
+ private overlay;
1317
+ private viewContainerRef;
1299
1318
  private documentClickListener;
1319
+ private getEmojiPickerDefaultStyle;
1320
+ private styleEmojiPickerShadow;
1300
1321
  ngOnInit(): void;
1301
1322
  ngOnDestroy(): void;
1302
1323
  ngAfterViewInit(): void;
@@ -1305,21 +1326,26 @@ declare class ChatComponent implements OnInit, AfterViewInit, OnChanges, OnDestr
1305
1326
  handleScrollNewMessage(): void;
1306
1327
  onScrollMessages(event: Event): void;
1307
1328
  scrollToBottom(): void;
1329
+ private adjustPickerSizeAndPosition;
1308
1330
  onEmojiclick(event: CustomEvent): void;
1309
1331
  handleEmojiPickerClick(): void;
1332
+ onInputFocus(): void;
1310
1333
  handleGifPickerClick(): void;
1311
1334
  onGifClick(url: string): void;
1312
1335
  onSendMessageModal(): void;
1336
+ onCloseMessageModal(): void;
1313
1337
  onSendText(): void;
1314
1338
  savePendingMessage(): void;
1315
1339
  onSend(): void;
1340
+ handleSendClick(event: MouseEvent): void;
1341
+ private appendOptimisticMessage;
1316
1342
  onKeyDown(event: KeyboardEvent): void;
1317
1343
  private onLongPress;
1318
1344
  private onBlurPickerSpace;
1319
1345
  private setupEmojiPickerClickListener;
1320
1346
  private removeEmojiPickerClickListener;
1321
1347
  static ɵfac: i0.ɵɵFactoryDeclaration<ChatComponent, never>;
1322
- static ɵcmp: i0.ɵɵComponentDeclaration<ChatComponent, "lib-chat", never, { "default": { "alias": "default"; "required": false; }; "responseTime": { "alias": "responseTime"; "required": false; }; "inputValue": { "alias": "inputValue"; "required": false; }; "emojiPickerConfig": { "alias": "emojiPickerConfig"; "required": false; }; "includeGifMessage": { "alias": "includeGifMessage"; "required": false; }; "includeTime": { "alias": "includeTime"; "required": false; }; "dateMessages": { "alias": "dateMessages"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "enableGifPicker": { "alias": "enableGifPicker"; "required": false; }; "prospectJoinDate": { "alias": "prospectJoinDate"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "sendMessage": "sendMessage"; "getMessages": "getMessages"; }, never, never, false, never>;
1348
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChatComponent, "lib-chat", never, { "default": { "alias": "default"; "required": false; }; "responseTime": { "alias": "responseTime"; "required": false; }; "inputValue": { "alias": "inputValue"; "required": false; }; "emojiPickerConfig": { "alias": "emojiPickerConfig"; "required": false; }; "includeGifMessage": { "alias": "includeGifMessage"; "required": false; }; "includeTime": { "alias": "includeTime"; "required": false; }; "dateMessages": { "alias": "dateMessages"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "enableGifPicker": { "alias": "enableGifPicker"; "required": false; }; "prospectJoinDate": { "alias": "prospectJoinDate"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "hasShadow": { "alias": "hasShadow"; "required": false; }; }, { "sendMessage": "sendMessage"; "getMessages": "getMessages"; }, never, never, false, never>;
1323
1349
  }
1324
1350
 
1325
1351
  declare class GifSelectorComponent implements OnInit, OnDestroy {
@@ -1348,10 +1374,17 @@ declare class LibChatComponentModule {
1348
1374
  tenorURL: string;
1349
1375
  }): ModuleWithProviders<LibChatComponentModule>;
1350
1376
  static ɵfac: i0.ɵɵFactoryDeclaration<LibChatComponentModule, never>;
1351
- static ɵmod: i0.ɵɵNgModuleDeclaration<LibChatComponentModule, [typeof ChatComponent], [typeof i2.CommonModule, typeof i6.ImageCardModule, typeof i4$1.MatInputModule, typeof i5$1.MatSelectModule, typeof i6$1.MatFormFieldModule, typeof i6.InputFieldModule, typeof i5.FormsModule, typeof i5.ReactiveFormsModule, typeof GifSelectorComponent, typeof i6.LibModalModule, typeof i9.InfiniteScrollModule, typeof i4.TranslateModule], [typeof ChatComponent]>;
1377
+ static ɵmod: i0.ɵɵNgModuleDeclaration<LibChatComponentModule, [typeof ChatComponent], [typeof i2.CommonModule, typeof i6.ImageCardModule, typeof i4$1.MatInputModule, typeof i5$1.MatSelectModule, typeof i6$1.MatFormFieldModule, typeof i6.InputFieldModule, typeof i5.FormsModule, typeof i5.ReactiveFormsModule, typeof GifSelectorComponent, typeof i6.LibModalModule, typeof i9.InfiniteScrollModule, typeof i4.TranslateModule, typeof LibMessageModalComponent, typeof i12.OverlayModule, typeof i13.PortalModule], [typeof ChatComponent]>;
1352
1378
  static ɵinj: i0.ɵɵInjectorDeclaration<LibChatComponentModule>;
1353
1379
  }
1354
1380
 
1381
+ declare abstract class AbstractCacheService {
1382
+ abstract saveLocalStorage(key: string, value: unknown, schema?: JSONSchema): void;
1383
+ abstract getLocalStorage<T>(key: string): Observable<T>;
1384
+ static ɵfac: i0.ɵɵFactoryDeclaration<AbstractCacheService, never>;
1385
+ static ɵprov: i0.ɵɵInjectableDeclaration<AbstractCacheService>;
1386
+ }
1387
+
1355
1388
  declare class ChatService {
1356
1389
  cacheService: AbstractCacheService;
1357
1390
  constructor(cacheService: AbstractCacheService);
@@ -1418,11 +1451,18 @@ interface IGroupWrapper {
1418
1451
  data: ITabGroup;
1419
1452
  }
1420
1453
  type TabNode = ITabWrapper | IGroupWrapper;
1421
- declare class LibDashboardSwipeableTabsComponent implements AfterViewInit, OnChanges {
1454
+ interface IColorChangeNotification {
1455
+ itemId: string;
1456
+ flag: CONVERSATION_FLAG;
1457
+ }
1458
+ /** The grouping rule captured at Store-time. */
1459
+ type StoredRule = 'response' | 'client' | 'none';
1460
+ declare class LibDashboardSwipeableTabsComponent implements AfterViewInit, OnChanges, OnDestroy {
1422
1461
  private cdr;
1423
1462
  private elementRef;
1424
1463
  private renderer;
1425
1464
  private viewContainerRef;
1465
+ private ngZone;
1426
1466
  thumbSwiper: ElementRef<{
1427
1467
  initialize: () => {};
1428
1468
  }>;
@@ -1440,6 +1480,8 @@ declare class LibDashboardSwipeableTabsComponent implements AfterViewInit, OnCha
1440
1480
  thumbsSwiperHeight: string;
1441
1481
  generalSwiperHeight: string;
1442
1482
  enableGrouping: boolean;
1483
+ enableDragAndDrop: boolean;
1484
+ enableTabBarScrollDrag: boolean;
1443
1485
  items: any[];
1444
1486
  thumbTemplate: TemplateRef<any>;
1445
1487
  contentTemplate: TemplateRef<any>;
@@ -1453,6 +1495,8 @@ declare class LibDashboardSwipeableTabsComponent implements AfterViewInit, OnCha
1453
1495
  menuPosition: MenuPosition;
1454
1496
  repositionModeChange: EventEmitter<boolean>;
1455
1497
  activeIndexChange: EventEmitter<number>;
1498
+ itemClicked: EventEmitter<any>;
1499
+ expandedIdChange: EventEmitter<string>;
1456
1500
  private thumbsSwiperInstance;
1457
1501
  private mainSwiperInstance;
1458
1502
  tabNodes: TabNode[];
@@ -1468,6 +1512,17 @@ declare class LibDashboardSwipeableTabsComponent implements AfterViewInit, OnCha
1468
1512
  contextMenuTemplate: TemplateRef<any>;
1469
1513
  private contextMenuViewRef;
1470
1514
  private contextMenuClickListener;
1515
+ confirmTemplate: TemplateRef<any>;
1516
+ private confirmViewRef;
1517
+ private pendingGroupByMode;
1518
+ confirmTitle: string;
1519
+ confirmDescription: string;
1520
+ alertTemplate: TemplateRef<any>;
1521
+ private alertViewRef;
1522
+ private alertDismissTimer;
1523
+ alertTitle: string;
1524
+ alertDescription: string;
1525
+ alertTimeState: number;
1471
1526
  rootDropListId: string;
1472
1527
  connectedDropLists: string[];
1473
1528
  private isInitialized;
@@ -1475,58 +1530,182 @@ declare class LibDashboardSwipeableTabsComponent implements AfterViewInit, OnCha
1475
1530
  private isTransferDrag;
1476
1531
  private readonly DOUBLE_CLICK_THRESHOLD;
1477
1532
  repositionMode: boolean;
1533
+ repositionTargetId: string | null;
1534
+ repositionTargetGroupId: string | null;
1478
1535
  private dragMoveSubject;
1479
1536
  private destroy$;
1480
- constructor(cdr: ChangeDetectorRef, elementRef: ElementRef, renderer: Renderer2, viewContainerRef: ViewContainerRef);
1537
+ recentlyDroppedId: string | null;
1538
+ private colorChangeSubject;
1539
+ private readonly COLOR_CHANGE_DEBOUNCE_MS;
1540
+ isScrollDragging: boolean;
1541
+ private scrollDragPending;
1542
+ private scrollPointerId;
1543
+ private startX;
1544
+ private startY;
1545
+ private scrollLeft;
1546
+ hasDragged: boolean;
1547
+ private readonly SCROLL_DRAG_THRESHOLD;
1548
+ private scrollDragListenersAttached;
1549
+ potentialGroupTargetId: string | null;
1550
+ draggedItemData: any;
1551
+ groupingProcessed: boolean;
1552
+ groupingAnimating: boolean;
1553
+ private readonly EDGE_SCROLL_ZONE;
1554
+ private readonly EDGE_SCROLL_MAX_SPEED;
1555
+ private edgeScrollRaf;
1556
+ private edgeScrollDirection;
1557
+ private lastPointerX;
1558
+ private lastPointerY;
1559
+ tabBarContainer: ElementRef;
1560
+ portalRect: {
1561
+ left: number;
1562
+ top: number;
1563
+ width: number;
1564
+ } | null;
1565
+ expandedPortalTemplate: TemplateRef<any>;
1566
+ private expandedPortalViewRef;
1567
+ private expandedPortalEl;
1568
+ private scrollListener;
1569
+ private resizeObserver;
1570
+ private intersectionObserver;
1571
+ private isIntersecting;
1572
+ private rafId;
1573
+ expandedItemId: string | null;
1574
+ expandedItemLeft: number;
1575
+ expandedItemRef: any;
1576
+ constructor(cdr: ChangeDetectorRef, elementRef: ElementRef, renderer: Renderer2, viewContainerRef: ViewContainerRef, ngZone: NgZone);
1577
+ /** Called by the host when a tab's ring color changes. */
1578
+ notifyItemColorChange(itemId: string, flag: CONVERSATION_FLAG): void;
1579
+ ngAfterViewInit(): void;
1580
+ ngOnChanges(changes: SimpleChanges): void;
1481
1581
  ngOnDestroy(): void;
1582
+ private attachScrollDragListeners;
1583
+ private detachScrollDragListeners;
1482
1584
  toggleGlobalMenu(event?: Event): void;
1585
+ /**
1586
+ * Entry point from the global menu for all groupBy requests.
1587
+ * If the user has manual groups and tries to switch to a destructive mode,
1588
+ * show a confirmation dialog first.
1589
+ */
1590
+ requestGroupBy(mode: TabGroupingMode): void;
1591
+ confirmGroupBy(): void;
1592
+ cancelGroupBy(): void;
1593
+ ungroupAll(): void;
1594
+ /**
1595
+ * Captures the current structure + active rule.
1596
+ * Only one snapshot slot — overwrites the previous.
1597
+ */
1483
1598
  storeCustomGroups(): void;
1599
+ /**
1600
+ * Restores the last snapshot.
1601
+ * New tabs are placed according to the stored rule.
1602
+ * If no snapshot exists, shows a toastr and does nothing.
1603
+ */
1484
1604
  restoreCustomGroups(): void;
1485
- ungroupAll(): void;
1605
+ private openConfirm;
1606
+ closeConfirm(): void;
1607
+ showAlert(title: string, description: string, durationMs?: number): void;
1608
+ dismissAlert(): void;
1609
+ groupBy(mode: TabGroupingMode): void;
1610
+ private buildResponseGroups;
1611
+ private sortByResponseTime;
1612
+ private getResponseTime;
1613
+ private applyAutoSort;
1614
+ private autoSortWithinClientGroup;
1615
+ private mergeNewItems;
1616
+ /**
1617
+ * After Restore: re-integrate items created since the Store.
1618
+ * Placement follows the stored rule exactly.
1619
+ */
1620
+ private mergeNewItemsAfterRestore;
1621
+ private mergeAsUngroupedLeft;
1622
+ private mergePerResponseRule;
1623
+ private mergeIntoClientGroups;
1624
+ private collectCurrentIds;
1625
+ private getStoredRule;
1626
+ private currentGroupingModeAsStoredRule;
1486
1627
  onContextMenu(event: Event, node: TabNode): void;
1487
- onNodeDown(event: MouseEvent | TouchEvent, item?: any, parentGroup?: TabNode): void;
1488
- onNodeMouseUp(): void;
1489
- private moveItemOut;
1490
- private openContextMenu;
1628
+ openContextMenu(event: MouseEvent | TouchEvent, node: TabNode): void;
1491
1629
  private openContextMenuAt;
1492
- toggleRepositionMode(): void;
1493
- activateRepositionMode(): void;
1494
- deactivateRepositionMode(): void;
1495
- private handleAutoDrop;
1496
- onDragMoved(event: CdkDragMove): void;
1497
1630
  closeMenus(): void;
1498
1631
  handleMenuAction(action: 'reposition' | 'ungroup', node: TabNode): void;
1499
- private serializeNodes;
1500
- ngOnChanges(changes: SimpleChanges): void;
1501
- trackByNode(index: number, node: TabNode): string;
1502
- trackByItem(index: number, item: any): string;
1503
- private getSafeId;
1504
- ngAfterViewInit(): void;
1505
- isGroup(node: TabNode): node is IGroupWrapper;
1506
- isItem(node: TabNode): node is ITabWrapper;
1507
- hasExpandedItem(group: ITabGroup): boolean;
1632
+ toggleRepositionMode(targetItem?: any): void;
1633
+ activateRepositionMode(targetItem?: any): void;
1634
+ deactivateRepositionMode(): void;
1635
+ private handleAutoDrop;
1508
1636
  canDropToRoot: (drag: CdkDrag, drop: CdkDropList) => boolean;
1509
1637
  canDropToGroup: (drag: CdkDrag, drop: CdkDropList) => boolean;
1638
+ /**
1639
+ * Controls cdkDragDisabled for items INSIDE a group's drop-list.
1640
+ *
1641
+ * CDK only animates siblings sliding aside when they are drag-ENABLED.
1642
+ * Disabled items are treated as static DOM and never shift — meaning
1643
+ * you can never see a drop indicator inside the group.
1644
+ *
1645
+ * When the reposition target lives in THIS group, unlock EVERY item in
1646
+ * the group so CDK's sort animation works for all siblings.
1647
+ * Siblings won't accidentally start their own drag because the pointer
1648
+ * is already captured by the active drag sequence.
1649
+ */
1650
+ isItemDragDisabled(itemId: string, parentGroupId: string): boolean;
1651
+ /**
1652
+ * Controls cdkDragDisabled for ROOT-level cdkDrag wrappers.
1653
+ *
1654
+ * When the reposition target is inside a group, root-level drag is
1655
+ * disabled for everything — the drag is handled by the group's own
1656
+ * drop-list. Once the item escapes the group (repositionTargetGroupId
1657
+ * is cleared in drop()), normal root-level dragging resumes for the target.
1658
+ */
1659
+ isRootNodeDragDisabled(node: TabNode): boolean;
1510
1660
  dragStarted(event: CdkDragStart): void;
1511
- dragEnded(): void;
1661
+ dragEnded(event?: CdkDragEnd): void;
1662
+ onDragMoved(event: CdkDragMove): void;
1663
+ onNodeDown(event: MouseEvent | TouchEvent, item?: any, parentGroup?: TabNode): void;
1664
+ onNodeMouseUp(): void;
1665
+ private moveItemOut;
1512
1666
  drop(event: CdkDragDrop<any[]>): void;
1513
- groupBy(mode: TabGroupingMode): void;
1514
- getTruncatedTitle(title: string, collapsed: boolean): string;
1515
- toggleGroup(group: ITabGroup): void;
1516
- private getAllItemsFlat;
1667
+ private executeGroupingLogic;
1668
+ private getNextGroupColor;
1669
+ private checkAndRemoveEmptyGroup;
1670
+ private cleanupEmptyGroups;
1671
+ private reassignGroupColors;
1517
1672
  private saveState;
1518
1673
  private loadInitialState;
1519
- private mergeNewItems;
1520
- private refreshDataReferences;
1674
+ private serializeNodes;
1521
1675
  private reconstructNodes;
1676
+ private collectIdsFromNodes;
1677
+ private refreshDataReferences;
1522
1678
  private updateConnectedLists;
1523
1679
  private updateDisplayItems;
1680
+ private clearExpandedItem;
1681
+ private openExpandedPortal;
1682
+ private closeExpandedPortal;
1683
+ private isSourceVisible;
1684
+ updatePortalPosition(): void;
1685
+ private startPortalTracking;
1686
+ private stopPortalTracking;
1687
+ onItemClick(event: Event, node: TabNode | any): void;
1688
+ onScrollPointerDown: (e: PointerEvent) => void;
1689
+ onPortalDown(event: Event): void;
1690
+ private forwardEventToSource;
1691
+ private onScrollPointerMove;
1692
+ private onScrollPointerUp;
1693
+ private updateEdgeScroll;
1694
+ private startEdgeScroll;
1695
+ private stopEdgeScroll;
1696
+ trackByNode(index: number, node: TabNode): string;
1697
+ trackByItem(index: number, item: any): string;
1698
+ getSafeId(item: any): string;
1699
+ isGroup(node: TabNode): node is IGroupWrapper;
1700
+ isItem(node: TabNode): node is ITabWrapper;
1701
+ getTruncatedTitle(title: string, collapsed: boolean): string;
1702
+ toggleGroup(group: ITabGroup): void;
1703
+ setActiveIndex(index: number): void;
1524
1704
  private initMainSwiperOnly;
1525
1705
  private initSwiperInstances;
1526
1706
  private initMainSwiper;
1527
- setActiveIndex(index: number): void;
1528
1707
  static ɵfac: i0.ɵɵFactoryDeclaration<LibDashboardSwipeableTabsComponent, never>;
1529
- static ɵcmp: i0.ɵɵComponentDeclaration<LibDashboardSwipeableTabsComponent, "lib-dashboard-swipeable-tabs", never, { "thumbsSwiperOptions": { "alias": "thumbsSwiperOptions"; "required": false; }; "mainSwiperOptions": { "alias": "mainSwiperOptions"; "required": false; }; "activeIndex": { "alias": "activeIndex"; "required": false; }; "bottomThumbs": { "alias": "bottomThumbs"; "required": false; }; "slideContentMaxHeight": { "alias": "slideContentMaxHeight"; "required": false; }; "mainSwiperHeight": { "alias": "mainSwiperHeight"; "required": false; }; "subMainSwiperHeight": { "alias": "subMainSwiperHeight"; "required": false; }; "thumbsSwiperHeight": { "alias": "thumbsSwiperHeight"; "required": false; }; "generalSwiperHeight": { "alias": "generalSwiperHeight"; "required": false; }; "enableGrouping": { "alias": "enableGrouping"; "required": false; }; "items": { "alias": "items"; "required": false; }; "thumbTemplate": { "alias": "thumbTemplate"; "required": false; }; "contentTemplate": { "alias": "contentTemplate"; "required": false; }; "groupingAdapter": { "alias": "groupingAdapter"; "required": false; }; "showPrefRejectButton": { "alias": "showPrefRejectButton"; "required": false; }; "menuPosition": { "alias": "menuPosition"; "required": false; }; }, { "repositionModeChange": "repositionModeChange"; "activeIndexChange": "activeIndexChange"; }, ["thumbSlides"], ["[thumb-slides]", "[main-slides]"], true, never>;
1708
+ static ɵcmp: i0.ɵɵComponentDeclaration<LibDashboardSwipeableTabsComponent, "lib-dashboard-swipeable-tabs", never, { "thumbsSwiperOptions": { "alias": "thumbsSwiperOptions"; "required": false; }; "mainSwiperOptions": { "alias": "mainSwiperOptions"; "required": false; }; "activeIndex": { "alias": "activeIndex"; "required": false; }; "bottomThumbs": { "alias": "bottomThumbs"; "required": false; }; "slideContentMaxHeight": { "alias": "slideContentMaxHeight"; "required": false; }; "mainSwiperHeight": { "alias": "mainSwiperHeight"; "required": false; }; "subMainSwiperHeight": { "alias": "subMainSwiperHeight"; "required": false; }; "thumbsSwiperHeight": { "alias": "thumbsSwiperHeight"; "required": false; }; "generalSwiperHeight": { "alias": "generalSwiperHeight"; "required": false; }; "enableGrouping": { "alias": "enableGrouping"; "required": false; }; "enableDragAndDrop": { "alias": "enableDragAndDrop"; "required": false; }; "enableTabBarScrollDrag": { "alias": "enableTabBarScrollDrag"; "required": false; }; "items": { "alias": "items"; "required": false; }; "thumbTemplate": { "alias": "thumbTemplate"; "required": false; }; "contentTemplate": { "alias": "contentTemplate"; "required": false; }; "groupingAdapter": { "alias": "groupingAdapter"; "required": false; }; "showPrefRejectButton": { "alias": "showPrefRejectButton"; "required": false; }; "menuPosition": { "alias": "menuPosition"; "required": false; }; }, { "repositionModeChange": "repositionModeChange"; "activeIndexChange": "activeIndexChange"; "itemClicked": "itemClicked"; "expandedIdChange": "expandedIdChange"; }, ["thumbSlides"], ["[thumb-slides]", "[main-slides]"], true, never>;
1530
1709
  }
1531
1710
 
1532
1711
  declare class LibClientHomeComponent implements OnInit, OnDestroy {
@@ -1544,6 +1723,7 @@ declare class LibClientHomeComponent implements OnInit, OnDestroy {
1544
1723
  bookEvent: EventEmitter<ISchedulerAction>;
1545
1724
  removeSuggestion: EventEmitter<ISchedulerAction>;
1546
1725
  handleAppearPopup: EventEmitter<AlertStatusFields>;
1726
+ rejectRequest: EventEmitter<ILibClientMatchOverview>;
1547
1727
  alertStatusFields: typeof AlertStatusFields;
1548
1728
  components: typeof ClientHomeComponent;
1549
1729
  clientMatches: ILibClientMatchOverview[];
@@ -1568,7 +1748,8 @@ declare class LibClientHomeComponent implements OnInit, OnDestroy {
1568
1748
  ngOnInit(): void;
1569
1749
  ngOnDestroy(): void;
1570
1750
  onActiveIndexChange(index: number): void;
1571
- handleClientMatch(match: ILibClientMatchOverview, index: number): void;
1751
+ handleClientMatch(item: ILibClientMatchOverview): void;
1752
+ onExpandedIdChange(expandedId: string | null): void;
1572
1753
  handleRepositionRequest(match: ILibClientMatchOverview): void;
1573
1754
  onRepositionModeChange(isRepositioning: boolean): void;
1574
1755
  updateSpiderChart(): void;
@@ -1577,7 +1758,89 @@ declare class LibClientHomeComponent implements OnInit, OnDestroy {
1577
1758
  private generateTraitVisualNodes;
1578
1759
  private generateDefaultTraitVisualNodes;
1579
1760
  static ɵfac: i0.ɵɵFactoryDeclaration<LibClientHomeComponent, never>;
1580
- static ɵcmp: i0.ɵɵComponentDeclaration<LibClientHomeComponent, "lib-client-home", never, { "config": { "alias": "config"; "required": false; }; "menuPosition": { "alias": "menuPosition"; "required": false; }; }, { "activeIndexChange": "activeIndexChange"; "addMessage": "addMessage"; "getMessages": "getMessages"; "bookEvent": "bookEvent"; "removeSuggestion": "removeSuggestion"; "handleAppearPopup": "handleAppearPopup"; }, never, never, true, never>;
1761
+ static ɵcmp: i0.ɵɵComponentDeclaration<LibClientHomeComponent, "lib-client-home", never, { "config": { "alias": "config"; "required": false; }; "menuPosition": { "alias": "menuPosition"; "required": false; }; }, { "activeIndexChange": "activeIndexChange"; "addMessage": "addMessage"; "getMessages": "getMessages"; "bookEvent": "bookEvent"; "removeSuggestion": "removeSuggestion"; "handleAppearPopup": "handleAppearPopup"; "rejectRequest": "rejectRequest"; }, never, never, true, never>;
1762
+ }
1763
+
1764
+ type ChatHeadState = 'white' | 'red' | 'green';
1765
+ interface ChatHeadData {
1766
+ totalMinutes: number;
1767
+ remainingMinutes: number;
1768
+ state: ChatHeadState;
1769
+ imageUrl?: string;
1770
+ label?: string;
1771
+ }
1772
+ interface StandardChatHeadModel {
1773
+ matcherLastMessageAt: Date | string;
1774
+ prospectReplyAt: Date | string;
1775
+ now?: Date | string;
1776
+ imageUrl?: string;
1777
+ label?: string;
1778
+ tMinMinutes?: number;
1779
+ tMaxMinutes?: number;
1780
+ }
1781
+ declare class StandardChatHeadComponent implements OnInit, OnDestroy, OnChanges {
1782
+ private sanitizer;
1783
+ data: ChatHeadData;
1784
+ size: number;
1785
+ model?: StandardChatHeadModel;
1786
+ svgHtml: SafeHtml;
1787
+ private tickId;
1788
+ private readonly uid;
1789
+ private cdr;
1790
+ constructor(sanitizer: DomSanitizer);
1791
+ ngOnInit(): void;
1792
+ ngOnDestroy(): void;
1793
+ ngOnChanges(_changes: SimpleChanges): void;
1794
+ private rebuild;
1795
+ private pad2;
1796
+ private donutArcPath;
1797
+ private buildSVG;
1798
+ static ɵfac: i0.ɵɵFactoryDeclaration<StandardChatHeadComponent, never>;
1799
+ static ɵcmp: i0.ɵɵComponentDeclaration<StandardChatHeadComponent, "lib-standard-chat-head", never, { "data": { "alias": "data"; "required": false; }; "size": { "alias": "size"; "required": false; }; "model": { "alias": "model"; "required": false; }; }, {}, never, never, true, never>;
1800
+ }
1801
+
1802
+ type ClientInnerState = 'W' | 'Q' | 'U' | 'R';
1803
+ interface ClientChatHeadData {
1804
+ statusIdx: number;
1805
+ elapsed: number;
1806
+ innerMax: number;
1807
+ waitingAnswer: boolean;
1808
+ firstAnswer: boolean;
1809
+ imageUrl?: string;
1810
+ }
1811
+ interface ClientChatHeadModel {
1812
+ statusIdx: number;
1813
+ innerMaxMinutes: number;
1814
+ waitingAnswer: boolean;
1815
+ firstAnswer: boolean;
1816
+ lastProspectMessageAt?: Date | string;
1817
+ matchCreatedAt?: Date | string;
1818
+ now?: Date | string;
1819
+ imageUrl?: string;
1820
+ }
1821
+ declare class ClientChatHeadComponent implements OnInit, OnDestroy, OnChanges {
1822
+ private sanitizer;
1823
+ data: ClientChatHeadData;
1824
+ size: number;
1825
+ model?: ClientChatHeadModel;
1826
+ svgHtml: SafeHtml;
1827
+ private tickId;
1828
+ private cdr;
1829
+ constructor(sanitizer: DomSanitizer);
1830
+ ngOnInit(): void;
1831
+ ngOnDestroy(): void;
1832
+ ngOnChanges(_c: SimpleChanges): void;
1833
+ private rebuild;
1834
+ private computeOuterPct;
1835
+ private computeInnerState;
1836
+ private r4;
1837
+ private openArc;
1838
+ private arcBand;
1839
+ private arcBandRounded;
1840
+ private buildSVG;
1841
+ private pad2;
1842
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClientChatHeadComponent, never>;
1843
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClientChatHeadComponent, "lib-client-chat-head", never, { "data": { "alias": "data"; "required": false; }; "size": { "alias": "size"; "required": false; }; "model": { "alias": "model"; "required": false; }; }, {}, never, never, true, never>;
1581
1844
  }
1582
1845
 
1583
1846
  declare class LibClientMatchOverviewComponent implements OnInit, OnDestroy, AfterViewInit, OnChanges {
@@ -1593,8 +1856,10 @@ declare class LibClientMatchOverviewComponent implements OnInit, OnDestroy, Afte
1593
1856
  enableChangeOverview: boolean;
1594
1857
  isGrouped: boolean;
1595
1858
  showProgressUnderHead: boolean;
1859
+ showRejectMenu: boolean;
1596
1860
  sendConversationFlag: EventEmitter<IConversationFlag>;
1597
1861
  repositionRequest: EventEmitter<void>;
1862
+ rejectRequest: EventEmitter<void>;
1598
1863
  circleVariable: typeof CircleVariable;
1599
1864
  innerMaxValue: number;
1600
1865
  innerValue: number;
@@ -1612,8 +1877,15 @@ declare class LibClientMatchOverviewComponent implements OnInit, OnDestroy, Afte
1612
1877
  left: number;
1613
1878
  width: number;
1614
1879
  };
1880
+ showRejectMenuState: boolean;
1881
+ rejectMenuPosition: {
1882
+ top: number;
1883
+ left: number;
1884
+ };
1615
1885
  menuTemplate: TemplateRef<any>;
1886
+ rejectMenuTemplate: TemplateRef<any>;
1616
1887
  private menuViewRef;
1888
+ private rejectMenuViewRef;
1617
1889
  private cdr;
1618
1890
  private viewContainerRef;
1619
1891
  private renderer;
@@ -1626,9 +1898,14 @@ declare class LibClientMatchOverviewComponent implements OnInit, OnDestroy, Afte
1626
1898
  progressPercent: number | null;
1627
1899
  private updateProgressPercent;
1628
1900
  ngOnInit(): void;
1901
+ get standardHeadModel(): StandardChatHeadModel | null;
1902
+ get clientHeadModel(): ClientChatHeadModel | null;
1629
1903
  get hoursRemaining(): number | string;
1630
1904
  toggleMenu(event: Event): void;
1631
1905
  closeMenu(): void;
1906
+ toggleRejectMenu(event: Event): void;
1907
+ closeRejectMenu(): void;
1908
+ reject(): void;
1632
1909
  private createMenu;
1633
1910
  private destroyMenu;
1634
1911
  private updateMenuPosition;
@@ -1644,7 +1921,7 @@ declare class LibClientMatchOverviewComponent implements OnInit, OnDestroy, Afte
1644
1921
  private setInnerCircleState;
1645
1922
  private buildCircleOpts;
1646
1923
  static ɵfac: i0.ɵɵFactoryDeclaration<LibClientMatchOverviewComponent, never>;
1647
- static ɵcmp: i0.ɵɵComponentDeclaration<LibClientMatchOverviewComponent, "lib-client-match-overview", never, { "overview": { "alias": "overview"; "required": true; }; "meta": { "alias": "meta"; "required": false; }; "expand": { "alias": "expand"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "default": { "alias": "default"; "required": false; }; "hideProgressBar": { "alias": "hideProgressBar"; "required": false; }; "partialColors": { "alias": "partialColors"; "required": false; }; "showExternalPartialCircleProgress": { "alias": "showExternalPartialCircleProgress"; "required": false; }; "maxValue": { "alias": "maxValue"; "required": false; }; "enableChangeOverview": { "alias": "enableChangeOverview"; "required": false; }; "isGrouped": { "alias": "isGrouped"; "required": false; }; "showProgressUnderHead": { "alias": "showProgressUnderHead"; "required": false; }; }, { "sendConversationFlag": "sendConversationFlag"; "repositionRequest": "repositionRequest"; }, never, never, true, never>;
1924
+ static ɵcmp: i0.ɵɵComponentDeclaration<LibClientMatchOverviewComponent, "lib-client-match-overview", never, { "overview": { "alias": "overview"; "required": true; }; "meta": { "alias": "meta"; "required": false; }; "expand": { "alias": "expand"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "default": { "alias": "default"; "required": false; }; "hideProgressBar": { "alias": "hideProgressBar"; "required": false; }; "partialColors": { "alias": "partialColors"; "required": false; }; "showExternalPartialCircleProgress": { "alias": "showExternalPartialCircleProgress"; "required": false; }; "maxValue": { "alias": "maxValue"; "required": false; }; "enableChangeOverview": { "alias": "enableChangeOverview"; "required": false; }; "isGrouped": { "alias": "isGrouped"; "required": false; }; "showProgressUnderHead": { "alias": "showProgressUnderHead"; "required": false; }; "showRejectMenu": { "alias": "showRejectMenu"; "required": false; }; }, { "sendConversationFlag": "sendConversationFlag"; "repositionRequest": "repositionRequest"; "rejectRequest": "rejectRequest"; }, never, never, true, never>;
1648
1925
  }
1649
1926
 
1650
1927
  declare class LibHandoffPanelComponent implements OnInit {
@@ -1705,6 +1982,7 @@ declare class MatcherStatusesComponent {
1705
1982
  getMessages: EventEmitter<boolean>;
1706
1983
  sendMessage: EventEmitter<IMessage>;
1707
1984
  MATCHER_STATUSES: typeof MATCHER_STATUSES;
1985
+ constructor();
1708
1986
  handleGetMessages(event: boolean): void;
1709
1987
  handleSendMessage(event: IMessage): void;
1710
1988
  static ɵfac: i0.ɵɵFactoryDeclaration<MatcherStatusesComponent, never>;
@@ -1753,10 +2031,16 @@ declare class InitialsPipe implements PipeTransform {
1753
2031
  declare class SpiderChartComponent implements OnChanges, OnDestroy, AfterViewInit {
1754
2032
  private cdr;
1755
2033
  d3Chart: ElementRef;
2034
+ tooltipRef: ElementRef;
1756
2035
  datasets: IDataset[];
1757
2036
  config: ISpiderChartConfig;
1758
2037
  polygon_colors: IPolygonColor[];
1759
2038
  showChartInfo: boolean;
2039
+ tooltipActiveChange: EventEmitter<boolean>;
2040
+ isTooltipActive: boolean;
2041
+ isSelectorTooltipVisible: boolean;
2042
+ private isChartTooltipOpen;
2043
+ selectedDatasetIndex: number;
1760
2044
  alertStatusFields: typeof AlertStatusFields;
1761
2045
  titleAlertPopup: string;
1762
2046
  descriptionAlertPopup: string;
@@ -1774,10 +2058,11 @@ declare class SpiderChartComponent implements OnChanges, OnDestroy, AfterViewIni
1774
2058
  ngOnChanges(changes: SimpleChanges): void;
1775
2059
  ngAfterViewInit(): void;
1776
2060
  ngOnDestroy(): void;
1777
- onClosedAlert(data: {
1778
- event: boolean;
1779
- field: AlertStatusFields;
1780
- }): void;
2061
+ onClosedAlert(event: boolean): void;
2062
+ selectNextProspect(): void;
2063
+ onClosedSelectorTooltip(event: boolean): void;
2064
+ triggerSelectorTooltip(): void;
2065
+ private updateChartVisibility;
1781
2066
  private initializeChart;
1782
2067
  private createSvgObject;
1783
2068
  private createLine;
@@ -1791,7 +2076,7 @@ declare class SpiderChartComponent implements OnChanges, OnDestroy, AfterViewIni
1791
2076
  private updateDynamicGradients;
1792
2077
  private createRadarChart;
1793
2078
  static ɵfac: i0.ɵɵFactoryDeclaration<SpiderChartComponent, never>;
1794
- static ɵcmp: i0.ɵɵComponentDeclaration<SpiderChartComponent, "lib-spider-chart", never, { "datasets": { "alias": "datasets"; "required": false; }; "config": { "alias": "config"; "required": false; }; "polygon_colors": { "alias": "polygon_colors"; "required": false; }; "showChartInfo": { "alias": "showChartInfo"; "required": false; }; }, {}, never, never, true, never>;
2079
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpiderChartComponent, "lib-spider-chart", never, { "datasets": { "alias": "datasets"; "required": false; }; "config": { "alias": "config"; "required": false; }; "polygon_colors": { "alias": "polygon_colors"; "required": false; }; "showChartInfo": { "alias": "showChartInfo"; "required": false; }; }, { "tooltipActiveChange": "tooltipActiveChange"; }, never, never, true, never>;
1795
2080
  }
1796
2081
 
1797
2082
  declare class LibVisualManagerModalComponent implements OnInit, AfterViewInit {
@@ -1848,7 +2133,7 @@ declare class LayoutService {
1848
2133
  static ɵprov: i0.ɵɵInjectableDeclaration<LayoutService>;
1849
2134
  }
1850
2135
 
1851
- interface PrefMatchManagerItem {
2136
+ interface PrefMatchManagerItem$1 {
1852
2137
  id: string;
1853
2138
  name: string;
1854
2139
  selected: boolean;
@@ -1938,17 +2223,35 @@ declare enum HandoffPanelTab {
1938
2223
  DatePrep = 2
1939
2224
  }
1940
2225
 
1941
- declare class ClientViewportComponent implements OnInit, OnChanges {
2226
+ declare class ClientViewportComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {
1942
2227
  private layoutService;
1943
2228
  private elementRef;
1944
2229
  private router;
2230
+ private route;
2231
+ private ngZone;
2232
+ private cdr;
1945
2233
  config?: IClientViewportConfig;
2234
+ showViewportControls: boolean;
2235
+ showViewportHeader: boolean;
2236
+ showViewportFooter: boolean;
2237
+ activePage?: ClientViewportPage | number | string;
2238
+ enablePageRouting: boolean;
2239
+ pageRouteQueryParamKey: string;
2240
+ pageRouteParamKey: string;
2241
+ pageRouteSegmentName: string;
1946
2242
  back: EventEmitter<void>;
1947
2243
  tabSettingsClick: EventEmitter<{
1948
2244
  key: string;
1949
2245
  data?: any;
1950
2246
  }>;
1951
2247
  activeIndexChange: EventEmitter<number>;
2248
+ activePageChange: EventEmitter<ClientViewportPage>;
2249
+ private componentDestroyed$;
2250
+ private clientMatchesSubscription?;
2251
+ private pageRoutingSub?;
2252
+ viewportMode: 'mobile' | 'tablet' | 'desktop';
2253
+ private viewportModeLockedByUser;
2254
+ private windowResizeListenerAttached;
1952
2255
  ClientViewportPage: typeof ClientViewportPage;
1953
2256
  ClientViewportTab: typeof ClientViewportTab;
1954
2257
  ClientViewportPrefTab: typeof ClientViewportPrefTab;
@@ -1956,13 +2259,12 @@ declare class ClientViewportComponent implements OnInit, OnChanges {
1956
2259
  alertStatusFields: typeof AlertStatusFields;
1957
2260
  alertStatus: Partial<Record<AlertStatusFields, boolean>>;
1958
2261
  clientProfileImageSrc: string;
1959
- apiNinjasKey: string;
1960
- faceplusKey: string;
1961
- faceplusSecret: string;
1962
- openaiApiKey: string;
1963
2262
  activePageIndex: ClientViewportPage;
1964
2263
  activeTabKey: ClientViewportTab;
2264
+ backendUrl: string;
1965
2265
  private tabButtons;
2266
+ private tabStripRef;
2267
+ spiderChartComponent: SpiderChartComponent | undefined;
1966
2268
  private readonly primaryProspect;
1967
2269
  readonly clientHomeComponents: typeof ClientHomeComponent;
1968
2270
  readonly clientMatches$: BehaviorSubject<ILibClientMatchOverview[]>;
@@ -1980,7 +2282,15 @@ declare class ClientViewportComponent implements OnInit, OnChanges {
1980
2282
  prefMatchManagerOrderedList: boolean;
1981
2283
  prefMatchManagerMinAge: number;
1982
2284
  prefMatchManagerMaxAge: number;
1983
- prefMatchManagerItems: PrefMatchManagerItem[];
2285
+ prefMatchWaist: number;
2286
+ prefMatchHips: number;
2287
+ prefMatchBust: number;
2288
+ prefMatchHeight: number;
2289
+ prefMatchFace: number;
2290
+ prefMatchChastity: number;
2291
+ prefMatchIntelligence: number;
2292
+ prefMatchCooperativeness: number;
2293
+ prefMatchManagerItems: PrefMatchManagerItem$1[];
1984
2294
  private prefMatchManagerInitialItems;
1985
2295
  spiderConfig: ISpiderChartConfig;
1986
2296
  spiderDatasets: IDataset[];
@@ -1991,6 +2301,8 @@ declare class ClientViewportComponent implements OnInit, OnChanges {
1991
2301
  spiderColorById: Record<string, string>;
1992
2302
  spiderDefaultColorLabel: string | null;
1993
2303
  spiderColorPickerOpenId: string | null;
2304
+ isSpiderTooltipActive: boolean;
2305
+ onSpiderTooltipChange(isActive: boolean): void;
1994
2306
  handoffChatConfig: IHandoffPanelInputs;
1995
2307
  handoffSchedulerConfig: IHandoffPanelInputs;
1996
2308
  handoffDatePrepConfig: IHandoffPanelInputs;
@@ -2004,16 +2316,51 @@ declare class ClientViewportComponent implements OnInit, OnChanges {
2004
2316
  hasSettings: boolean;
2005
2317
  enabled: boolean;
2006
2318
  }[];
2007
- constructor(layoutService: LayoutService, elementRef: ElementRef, router: Router);
2319
+ private _tabStripDragging;
2320
+ private _tabStripStartX;
2321
+ private _tabStripScrollLeft;
2322
+ private _tabStripVelocity;
2323
+ private _tabStripLastX;
2324
+ private _tabStripLastTime;
2325
+ private _tabStripMomentumRaf;
2326
+ private _tabStripBoundMouseMove;
2327
+ private _tabStripBoundMouseUp;
2328
+ constructor(layoutService: LayoutService, elementRef: ElementRef, router: Router, route: ActivatedRoute, ngZone: NgZone, cdr: ChangeDetectorRef);
2008
2329
  initializeChatHandoff(): void;
2330
+ setViewportMode(mode: 'mobile' | 'tablet' | 'desktop'): void;
2009
2331
  ngOnInit(): void;
2332
+ ngAfterViewInit(): void;
2333
+ ngOnDestroy(): void;
2334
+ private detectViewportModeFromWindow;
2335
+ private applyAutoViewportMode;
2336
+ private attachViewportResizeListener;
2337
+ private detachViewportResizeListener;
2338
+ private onWindowResize;
2339
+ private initTabStripSwiper;
2340
+ private destroyTabStripSwiper;
2341
+ private onTabStripTouchStart;
2342
+ private onTabStripTouchMove;
2343
+ private onTabStripTouchEnd;
2344
+ private onTabStripMouseDown;
2345
+ private tabStripDragStart;
2346
+ private tabStripDragMove;
2347
+ private tabStripDragEnd;
2010
2348
  ngOnChanges(changes: SimpleChanges): void;
2349
+ private applyConfig;
2011
2350
  onFooterClick(index: ClientViewportPage): void;
2012
2351
  getPageConfig(index: number): IClientPageProps | undefined;
2352
+ private setActivePageIndex;
2353
+ private initPageRouting;
2354
+ private extractPageFromUrl;
2355
+ private applyActivePageInput;
2356
+ private updateRouteForPage;
2357
+ private updateUrlWithPageSegment;
2358
+ private parseClientPage;
2013
2359
  getClientAttributes(match: any): string[];
2014
2360
  getProspectAttributes(match: any): string[];
2015
2361
  getTabConfig(tabKey: string): ITabConfig | undefined;
2016
2362
  private updateViewportConfig;
2363
+ private subscribeToClientMatches;
2017
2364
  onBackClick(): void;
2018
2365
  hideSidebar(): void;
2019
2366
  onClosedAlert(data: {
@@ -2027,9 +2374,17 @@ declare class ClientViewportComponent implements OnInit, OnChanges {
2027
2374
  openPrefMatchManager(): void;
2028
2375
  closePrefMatchManager(): void;
2029
2376
  setPrefMatchManagerActiveTab(tab: ClientViewportPrefTab): void;
2377
+ private prefMatchHeaderStartX;
2378
+ private lastSwipeTime;
2379
+ private longPressTimeout;
2380
+ private isLongPressDrag;
2381
+ onPrefMatchHeaderTouchStart(event: TouchEvent | MouseEvent): void;
2382
+ onPrefMatchHeaderTouchEnd(event: TouchEvent | MouseEvent): void;
2383
+ onPrefMatchBodyTouchStart(event: TouchEvent | MouseEvent): void;
2384
+ onPrefMatchBodyTouchEnd(event: TouchEvent | MouseEvent): void;
2030
2385
  setPrefMatchManagerOrderedList(ordered: boolean): void;
2031
2386
  getPrefMatchDisplayIndex(index: number): number;
2032
- onPrefMatchManagerDrop(event: CdkDragDrop<PrefMatchManagerItem[]>): void;
2387
+ onPrefMatchManagerDrop(event: CdkDragDrop<PrefMatchManagerItem$1[]>): void;
2033
2388
  onPrefMatchMinAgeChange(value: string): void;
2034
2389
  onPrefMatchMaxAgeChange(value: string): void;
2035
2390
  togglePrefMatchItemSelection(id: string): void;
@@ -2047,9 +2402,11 @@ declare class ClientViewportComponent implements OnInit, OnChanges {
2047
2402
  onChatHeadChange(index: number): void;
2048
2403
  onHandoffSwipeNext(): void;
2049
2404
  onHandoffSwipePrev(): void;
2405
+ onReject(match: ILibClientMatchOverview): void;
2050
2406
  onHandoffProspectSelect(prospect: IProspect): void;
2051
2407
  private updateHandoffData;
2052
2408
  private buildSchedulerEvents;
2409
+ private updateSchedulerEventsForIndex;
2053
2410
  private initializeHandoffPanelConfigs;
2054
2411
  private buildClientMatches;
2055
2412
  private initializePrefMatchManager;
@@ -2059,7 +2416,7 @@ declare class ClientViewportComponent implements OnInit, OnChanges {
2059
2416
  private resetSpiderChartPreferences;
2060
2417
  private applySpiderChartPreferences;
2061
2418
  static ɵfac: i0.ɵɵFactoryDeclaration<ClientViewportComponent, never>;
2062
- static ɵcmp: i0.ɵɵComponentDeclaration<ClientViewportComponent, "lib-client-viewport", never, { "config": { "alias": "config"; "required": false; }; }, { "back": "back"; "tabSettingsClick": "tabSettingsClick"; "activeIndexChange": "activeIndexChange"; }, never, never, false, never>;
2419
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClientViewportComponent, "lib-client-viewport", never, { "config": { "alias": "config"; "required": false; }; "showViewportControls": { "alias": "showViewportControls"; "required": false; }; "showViewportHeader": { "alias": "showViewportHeader"; "required": false; }; "showViewportFooter": { "alias": "showViewportFooter"; "required": false; }; "activePage": { "alias": "activePage"; "required": false; }; "enablePageRouting": { "alias": "enablePageRouting"; "required": false; }; "pageRouteQueryParamKey": { "alias": "pageRouteQueryParamKey"; "required": false; }; "pageRouteParamKey": { "alias": "pageRouteParamKey"; "required": false; }; "pageRouteSegmentName": { "alias": "pageRouteSegmentName"; "required": false; }; }, { "back": "back"; "tabSettingsClick": "tabSettingsClick"; "activeIndexChange": "activeIndexChange"; "activePageChange": "activePageChange"; }, never, never, false, never>;
2063
2420
  }
2064
2421
 
2065
2422
  declare class AlertPopupComponent implements OnChanges {
@@ -2070,14 +2427,14 @@ declare class AlertPopupComponent implements OnChanges {
2070
2427
  closed: EventEmitter<boolean>;
2071
2428
  isClosing: boolean;
2072
2429
  ngOnChanges(changes: SimpleChanges): void;
2073
- handleCloseEvent(): void;
2430
+ handleCloseEvent(event: Event): void;
2074
2431
  static ɵfac: i0.ɵɵFactoryDeclaration<AlertPopupComponent, never>;
2075
2432
  static ɵcmp: i0.ɵɵComponentDeclaration<AlertPopupComponent, "lib-alert-popup", never, { "title": { "alias": "title"; "required": false; }; "description": { "alias": "description"; "required": false; }; "timeState": { "alias": "timeState"; "required": false; }; "number": { "alias": "number"; "required": false; }; }, { "closed": "closed"; }, never, never, true, never>;
2076
2433
  }
2077
2434
 
2078
2435
  declare class ClientViewportModule {
2079
2436
  static ɵfac: i0.ɵɵFactoryDeclaration<ClientViewportModule, never>;
2080
- static ɵmod: i0.ɵɵNgModuleDeclaration<ClientViewportModule, [typeof ClientViewportComponent], [typeof i2.CommonModule, typeof i3$1.DragDropModule, typeof i4.TranslateModule, typeof LibStatusBarModule, typeof LibAgendaModule, typeof LibClientHomeComponent, typeof i8.ProfileComparisonLibModule, typeof SpiderChartComponent, typeof i10.TraitVisualComponent, typeof LibSchedulerComponent, typeof LibHandoffPanelComponent, typeof AlertPopupComponent], [typeof ClientViewportComponent]>;
2437
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ClientViewportModule, [typeof ClientViewportComponent], [typeof i2.CommonModule, typeof i3$1.DragDropModule, typeof i4.TranslateModule, typeof LibStatusBarModule, typeof LibAgendaModule, typeof LibClientHomeComponent, typeof i8.ProfileComparisonLibModule, typeof SpiderChartComponent, typeof i10.TraitVisualCanvasComponent, typeof LibSchedulerComponent, typeof LibHandoffPanelComponent, typeof AlertPopupComponent], [typeof ClientViewportComponent]>;
2081
2438
  static ɵinj: i0.ɵɵInjectorDeclaration<ClientViewportModule>;
2082
2439
  }
2083
2440
 
@@ -2111,7 +2468,8 @@ interface IMatcherPageProps {
2111
2468
  };
2112
2469
  tabs?: {
2113
2470
  context?: IMatcherTabConfig;
2114
- visuals?: IMatcherTabConfig;
2471
+ galaxy?: IMatcherTabConfig;
2472
+ spider?: IMatcherTabConfig;
2115
2473
  plans?: IMatcherTabConfig;
2116
2474
  suggest?: IMatcherTabConfig;
2117
2475
  profile?: IMatcherTabConfig;
@@ -2138,13 +2496,57 @@ interface IMatcherViewportConfig {
2138
2496
  onActiveIndexChange?: (index: number) => void;
2139
2497
  }
2140
2498
 
2499
+ interface PrefMatchManagerItem {
2500
+ id: string;
2501
+ name: string;
2502
+ weight: number;
2503
+ selected: boolean;
2504
+ }
2141
2505
  declare class MatcherViewportComponent implements OnInit, OnDestroy, OnChanges {
2142
2506
  config?: IMatcherViewportConfig;
2507
+ showViewportControls: boolean;
2508
+ showViewportHeader: boolean;
2509
+ showViewportFooter: boolean;
2510
+ activePageInput?: number | string;
2511
+ enablePageRouting: boolean;
2512
+ pageRouteQueryParamKey: string;
2513
+ pageRouteParamKey: string;
2514
+ pageRouteSegmentName: string;
2515
+ viewportMode: 'mobile' | 'tablet' | 'desktop';
2516
+ private viewportModeLockedByUser;
2517
+ private windowResizeListenerAttached;
2143
2518
  clientMatches: ILibClientMatchOverview[];
2144
2519
  schedulerEvents$: Observable<ISchedulerEvent[]> | undefined;
2145
2520
  spiderDatasets: IDataset[];
2146
2521
  spiderConfig: ISpiderChartConfig;
2147
2522
  spiderPolygonColors: IPolygonColor[];
2523
+ isGalaxyTooltipVisible: boolean;
2524
+ private initialSpiderDatasets;
2525
+ spiderColorById: Record<string, string>;
2526
+ spiderDefaultColorLabel: string | null;
2527
+ alertStatus: Partial<Record<AlertStatusFields, boolean>>;
2528
+ readonly alertStatusFields: typeof AlertStatusFields;
2529
+ showPrefMatchManager: boolean;
2530
+ settingsContext: ClientViewportTab;
2531
+ prefMatchManagerActiveTab: ClientViewportPrefTab;
2532
+ readonly ClientViewportPrefTab: typeof ClientViewportPrefTab;
2533
+ readonly ClientViewportTab: typeof ClientViewportTab;
2534
+ prefMatchManagerItems: PrefMatchManagerItem[];
2535
+ prefMatchManagerOrderedList: boolean;
2536
+ prefMatchManagerMinAge: number;
2537
+ prefMatchManagerMaxAge: number;
2538
+ prefMatchWaist: number;
2539
+ prefMatchHips: number;
2540
+ prefMatchBust: number;
2541
+ prefMatchHeight: number;
2542
+ prefMatchFace: number;
2543
+ prefMatchChastity: number;
2544
+ prefMatchIntelligence: number;
2545
+ prefMatchCooperativeness: number;
2546
+ spiderOrderedList: boolean;
2547
+ allSpiderColors: IPolygonColor[];
2548
+ spiderColorPickerOpenId: string | null;
2549
+ spiderChartComponent: SpiderChartComponent | undefined;
2148
2550
  profileData: Profile | undefined;
2149
2551
  profileComparisonConfig: IProfileConfig;
2150
2552
  traitVisualNodes: INodeData[];
@@ -2152,10 +2554,16 @@ declare class MatcherViewportComponent implements OnInit, OnDestroy, OnChanges {
2152
2554
  traitVisualPrefWeights: number[];
2153
2555
  userHomeConfig: IHomeDashboardInputs;
2154
2556
  activeIndexChange: EventEmitter<number>;
2557
+ activePageChange: EventEmitter<number>;
2558
+ private tabStripRef;
2155
2559
  private router;
2560
+ private route;
2156
2561
  private layoutService;
2157
2562
  private cdr;
2563
+ private ngZone;
2564
+ private pageRoutingSub?;
2158
2565
  activeIndex: number;
2566
+ backendUrl: string;
2159
2567
  components: typeof ClientHomeComponent;
2160
2568
  suggest: string;
2161
2569
  schedularCounts: {
@@ -2170,6 +2578,49 @@ declare class MatcherViewportComponent implements OnInit, OnDestroy, OnChanges {
2170
2578
  }[];
2171
2579
  activeTabKey: string;
2172
2580
  activePage: number;
2581
+ spiderActiveIndex: number;
2582
+ isSpiderTooltipActive: boolean;
2583
+ onSpiderTooltipChange(isActive: boolean): void;
2584
+ onClosedAlert(data: {
2585
+ event: boolean;
2586
+ field: AlertStatusFields;
2587
+ }): void;
2588
+ onHandleAppearPopup(field: AlertStatusFields): void;
2589
+ onTabSettingsClick(key: ClientViewportTab, event: Event): void;
2590
+ openPrefMatchManager(): void;
2591
+ closePrefMatchManager(): void;
2592
+ private initializePrefMatchManager;
2593
+ setPrefMatchManagerActiveTab(tab: ClientViewportPrefTab): void;
2594
+ setPrefMatchManagerOrderedList(ordered: boolean): void;
2595
+ getPrefMatchDisplayIndex(index: number): number;
2596
+ onPrefMatchManagerDrop(event: CdkDragDrop<PrefMatchManagerItem[]>): void;
2597
+ togglePrefMatchItemSelection(id: string): void;
2598
+ updatePrefMatchItemWeight(id: string, weight: string): void;
2599
+ onPrefMatchMinAgeChange(value: string): void;
2600
+ onPrefMatchMaxAgeChange(value: string): void;
2601
+ resetPrefMatchManager(): void;
2602
+ applyPrefMatchManager(): void;
2603
+ setSpiderOrderedList(ordered: boolean): void;
2604
+ toggleSpiderColorPicker(id: string): void;
2605
+ onSpiderColorChange(id: string, colorLabel: string): void;
2606
+ onSpiderDefaultColorChange(colorLabel: string): void;
2607
+ getSpiderColorLabelForItem(id: string): string | null;
2608
+ getSpiderColorValueForItem(id: string): string | null;
2609
+ getSpiderDefaultColorValue(): string | null;
2610
+ private prefMatchHeaderStartX;
2611
+ onPrefMatchHeaderTouchStart(event: TouchEvent | MouseEvent): void;
2612
+ onPrefMatchHeaderTouchEnd(event: TouchEvent | MouseEvent): void;
2613
+ onPrefMatchBodyTouchStart(event: TouchEvent | MouseEvent): void;
2614
+ onPrefMatchBodyTouchEnd(event: TouchEvent | MouseEvent): void;
2615
+ private _tabStripDragging;
2616
+ private _tabStripStartX;
2617
+ private _tabStripScrollLeft;
2618
+ private _tabStripVelocity;
2619
+ private _tabStripLastX;
2620
+ private _tabStripLastTime;
2621
+ private _tabStripMomentumRaf;
2622
+ private _tabStripBoundMouseMove;
2623
+ private _tabStripBoundMouseUp;
2173
2624
  readonly clientMatches$: BehaviorSubject<ILibClientMatchOverview[]>;
2174
2625
  countdown: {
2175
2626
  hours: string;
@@ -2179,20 +2630,44 @@ declare class MatcherViewportComponent implements OnInit, OnDestroy, OnChanges {
2179
2630
  private countdownSubscription?;
2180
2631
  private countdownTotalSeconds;
2181
2632
  hasSuggestions: boolean;
2182
- apiNinjasKey: string;
2183
- faceplusKey: string;
2184
- faceplusSecret: string;
2185
- openaiApiKey: string;
2186
2633
  Array: ArrayConstructor;
2187
2634
  ngOnInit(): void;
2635
+ ngAfterViewInit(): void;
2636
+ private initTabStripSwiper;
2637
+ private destroyTabStripSwiper;
2638
+ private onTabStripTouchStart;
2639
+ private onTabStripTouchMove;
2640
+ private onTabStripTouchEnd;
2641
+ private onTabStripMouseDown;
2642
+ private tabStripDragStart;
2643
+ private tabStripDragMove;
2644
+ private tabStripDragEnd;
2188
2645
  ngOnChanges(changes: SimpleChanges): void;
2646
+ private applyConfig;
2647
+ private buildSpiderDatasets;
2648
+ private resetSpiderChartPreferences;
2649
+ private applySpiderChartPreferences;
2189
2650
  setPage(page: number): void;
2651
+ private setActivePage;
2652
+ private initPageRouting;
2653
+ private applyActivePageInput;
2654
+ private updateRouteForPage;
2655
+ private extractPageFromUrl;
2656
+ private updateUrlWithPageSegment;
2657
+ private parseMatcherPage;
2190
2658
  getClientAttributes(match: any): string[];
2191
2659
  getProspectAttributes(match: any): string[];
2192
2660
  getPageConfig(index: number): IMatcherPageProps | undefined;
2193
2661
  getTabConfig(tabKey: string): IMatcherTabConfig | undefined;
2662
+ onInfoIconClick(event: Event, tabIndex: number): void;
2194
2663
  private updateViewportConfig;
2664
+ setViewportMode(mode: 'mobile' | 'tablet' | 'desktop'): void;
2195
2665
  ngOnDestroy(): void;
2666
+ private detectViewportModeFromWindow;
2667
+ private applyAutoViewportMode;
2668
+ private attachViewportResizeListener;
2669
+ private detachViewportResizeListener;
2670
+ private onWindowResize;
2196
2671
  onBackClick(): void;
2197
2672
  hideSidebar(): void;
2198
2673
  setActiveTab(key: string): void;
@@ -2204,14 +2679,16 @@ declare class MatcherViewportComponent implements OnInit, OnDestroy, OnChanges {
2204
2679
  private swipeNext;
2205
2680
  private swipePrev;
2206
2681
  private startCountdown;
2682
+ private updateSchedulerEventsForIndex;
2207
2683
  private updateCountdownFromTotalSeconds;
2684
+ private calculateTimerForIndex;
2208
2685
  static ɵfac: i0.ɵɵFactoryDeclaration<MatcherViewportComponent, never>;
2209
- static ɵcmp: i0.ɵɵComponentDeclaration<MatcherViewportComponent, "lib-matcher-viewport", never, { "config": { "alias": "config"; "required": false; }; }, { "activeIndexChange": "activeIndexChange"; }, never, never, false, never>;
2686
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatcherViewportComponent, "lib-matcher-viewport", never, { "config": { "alias": "config"; "required": false; }; "showViewportControls": { "alias": "showViewportControls"; "required": false; }; "showViewportHeader": { "alias": "showViewportHeader"; "required": false; }; "showViewportFooter": { "alias": "showViewportFooter"; "required": false; }; "activePageInput": { "alias": "activePageInput"; "required": false; }; "enablePageRouting": { "alias": "enablePageRouting"; "required": false; }; "pageRouteQueryParamKey": { "alias": "pageRouteQueryParamKey"; "required": false; }; "pageRouteParamKey": { "alias": "pageRouteParamKey"; "required": false; }; "pageRouteSegmentName": { "alias": "pageRouteSegmentName"; "required": false; }; }, { "activeIndexChange": "activeIndexChange"; "activePageChange": "activePageChange"; }, never, never, false, never>;
2210
2687
  }
2211
2688
 
2212
2689
  declare class MatcherViewportModule {
2213
2690
  static ɵfac: i0.ɵɵFactoryDeclaration<MatcherViewportModule, never>;
2214
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatcherViewportModule, [typeof MatcherViewportComponent], [typeof i2.CommonModule, typeof i4.TranslateModule, typeof LibStatusBarModule, typeof LibClientHomeComponent, typeof i8.ProfileComparisonLibModule, typeof SpiderChartComponent, typeof LibSchedulerComponent, typeof i10.TraitVisualComponent, typeof i6.ButtonsModule, typeof ProfileCardModule, typeof LibDashboardSwipeableTabsComponent, typeof ChatSuggestionComponent], [typeof MatcherViewportComponent]>;
2691
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatcherViewportModule, [typeof MatcherViewportComponent], [typeof i2.CommonModule, typeof i3$1.DragDropModule, typeof i4.TranslateModule, typeof LibStatusBarModule, typeof LibClientHomeComponent, typeof i8.ProfileComparisonLibModule, typeof SpiderChartComponent, typeof LibSchedulerComponent, typeof i10.TraitVisualCanvasComponent, typeof i6.ButtonsModule, typeof ProfileCardModule, typeof LibDashboardSwipeableTabsComponent, typeof ChatSuggestionComponent], [typeof MatcherViewportComponent]>;
2215
2692
  static ɵinj: i0.ɵɵInjectorDeclaration<MatcherViewportModule>;
2216
2693
  }
2217
2694
 
@@ -2260,6 +2737,25 @@ declare const prospects: ({
2260
2737
 
2261
2738
  declare const configSpider: ISpiderChartConfig;
2262
2739
 
2740
+ declare const defaultClientMatches: ILibClientMatchOverview[];
2741
+ declare const defaultSchedulerEvents: ISchedulerEvent[];
2742
+ declare const defaultSpiderDatasets: IDataset[];
2743
+ declare const defaultAgendaEvents: IAgendaEvent[];
2744
+ declare const defaultProfileData: {
2745
+ id: number;
2746
+ name: string;
2747
+ value: number;
2748
+ photo: string;
2749
+ notification: number;
2750
+ progress: number;
2751
+ imageUrl: string;
2752
+ };
2753
+ declare const defaultProfileComparisonConfig: IProfileConfig;
2754
+ declare const defaultUserHomeConfig: IHomeDashboardInputs;
2755
+ declare const defaultTraitVisualNodes: INodeData[];
2756
+ declare const defaultMatcherViewportConfig: IMatcherViewportConfig;
2757
+ declare const defaultClientViewportConfig: IClientViewportConfig;
2758
+
2263
2759
  declare const circleData: ICircleData[];
2264
2760
 
2265
2761
  declare const defaultClientDashboardConfig: IClientDashboardInputs;
@@ -2393,5 +2889,5 @@ declare class StatusIconComponent {
2393
2889
  static ɵcmp: i0.ɵɵComponentDeclaration<StatusIconComponent, "lib-status-icon", never, { "type": { "alias": "type"; "required": true; }; }, {}, never, never, true, never>;
2394
2890
  }
2395
2891
 
2396
- export { AbstractCacheService, AgendaComponent, AlertPopupComponent, AlertStatusFields, ArraySortPipe, AutoDelegationEventTypes, AutoDelegationEventValue, CONVERSATION_FLAG, COUNTER_FLAG_BASE, CalendarAccountEnum, CalendarAccountIconsEnum, CalendarUtilsService, ChatComponent, ChatMetaPipe, ChatService, ChatSuggestionComponent, CircleProgressComponent, CircleProgressModule, CircleVariable, ClientDashboardTabs, ClientHomeComponent, ClientViewportComponent, ClientViewportModule, ClientViewportPage, ClientViewportPrefTab, ClientViewportTab, CommonOperations, CountNonEmptyFieldsPipe, EditRecurringEventOptions, EventTypes, GetColorByMatcherPipe, GetMultiSelectDisplayTextPipe, GetProfileWithProgressPipe, HandoffPanelTab, HandoffPanelVersion, INNER_CIRCLE_STATE, InitialsPipe, IsStatusIncludedPipe, LayoutService, LibAgendaModule, LibAutoDelegationModalComponent, LibChatComponentModule, LibClientHomeComponent, LibClientMatchOverviewComponent, LibDashboardSwipeableTabsComponent, LibEventFormComponent, LibEventFormModule, LibHandoffPanelComponent, LibMessageModalComponent, LibProfileComparisonComponent, LibSchedulerComponent, LibStatusBarComponent, LibStatusBarModule, LibVisualManagerModalComponent, MATCHER_STATUSES, MatcherStatuses, MatcherStatusesComponent, MatcherViewportComponent, MatcherViewportModule, MenuPosition, PROGRESS_GAP_MINUTES, ProfileCardComponent, ProfileCardModule, ProgressTickerService, RecurringTypes, RoundPipe, ScheduleDateStatus, SenderTypes, SpiderChartComponent, StatusIconComponent, TICK_PERIOD_SECONDS, TRAIT_VISUAL_DEFAULT_BG_BASE64, VisualManagerModalEventTypes, VisualManagerModalEventValue, circleData, computeInnerState, configSpider, dashboardMainSwiperDefaultOptions, dashboardThumbsSwiperDefaultOptions, defaultClientDashboardConfig, defaultClientHomeConfig, defaultSpiderConfig, defsF, defsLG, defsRG, demoPolygonColors, innerProgressDefaultColors, innerProgressPinkColors, innerProgressPurpleColors, innerProgressWhiteColors, mainswiperDefaultOptions, progressDefaultColors, progressWhiteColors, prospects, recurringOptions, thumbsSwiperDefaultOptions };
2397
- export type { CircleProgressConfig, DatePrepDesignation, IAgendaDay, IAgendaEvent, IAttachment, IAutoDelegationData, IAutoDelegationEvent, IAutoDelegationModalData, IAutoDelegationPreferences, ICalendarAccount, ICalendarAccountTheme, IChartData, IChatIdentifier, IChatMeta, IChatSuggestion, ICircleData, IClientDashboardInputs, IClientPageProps, IClientProfile, IClientViewportConfig, IConversationFlag, IDashboardMatchRequest, IDashboardMatcherProfile, IDataset, IDateMessages, IDatePrepInfo, IDatePrepItem, IDefsF, IDefsLG, IDefsRG, IEvent, IEventFormOutput, IEventTime, IGroupWrapper, IHandoffPanelInputs, IHomeDashboardInputs, IInnerPartialCircleProgressColors, ILibClientMatchOverview, IMatcherDashboardInputs, IMatcherPageProps, IMatcherProfile, IMatcherTabConfig, IMatcherViewportConfig, IMessage, IPartialCircleProgressColors, IPolygonColor, IPreferenceItem, IProfileAttribute, IProfileComparisonData, IProfileComparisonInputs, IProspect, IProspectData, IRecurringEvent, IRecurringEventException, IRecurringPattern, IScheduleSlot, ISchedulerAction, ISchedulerEvent, ISchedulerEventSlots, ISchedulerEventSuggestion, ISchedulerSuggestionProfile, ISpiderChartAttribute, ISpiderChartConfig, ITabConfig, ITabWrapper, IVisualManagerModalData, IVisualManagerModalEvent, IVisualManagerModalModalData, ProgressDecision, ProgressFacts, TabNode };
2892
+ export { AbstractCacheService, AgendaComponent, AlertPopupComponent, AlertStatusFields, ArraySortPipe, AutoDelegationEventTypes, AutoDelegationEventValue, CONVERSATION_FLAG, COUNTER_FLAG_BASE, CalendarAccountEnum, CalendarAccountIconsEnum, CalendarUtilsService, ChatComponent, ChatMetaPipe, ChatService, ChatSuggestionComponent, CircleProgressComponent, CircleProgressModule, CircleVariable, ClientChatHeadComponent, ClientDashboardTabs, ClientHomeComponent, ClientViewportComponent, ClientViewportModule, ClientViewportPage, ClientViewportPrefTab, ClientViewportTab, CommonOperations, CountNonEmptyFieldsPipe, EditRecurringEventOptions, EventTypes, GetColorByMatcherPipe, GetMultiSelectDisplayTextPipe, GetProfileWithProgressPipe, HandoffPanelTab, HandoffPanelVersion, INNER_CIRCLE_STATE, InitialsPipe, IsStatusIncludedPipe, LayoutService, LibAgendaModule, LibAutoDelegationModalComponent, LibChatComponentModule, LibClientHomeComponent, LibClientMatchOverviewComponent, LibDashboardSwipeableTabsComponent, LibEventFormComponent, LibEventFormModule, LibHandoffPanelComponent, LibMessageModalComponent, LibProfileComparisonComponent, LibSchedulerComponent, LibStatusBarComponent, LibStatusBarModule, LibVisualManagerModalComponent, MATCHER_STATUSES, MatcherStatuses, MatcherStatusesComponent, MatcherViewportComponent, MatcherViewportModule, MenuPosition, MessageOption, PROGRESS_GAP_MINUTES, ProfileCardComponent, ProfileCardModule, ProgressTickerService, RecurringTypes, RoundPipe, ScheduleDateStatus, SenderTypes, SpiderChartComponent, StandardChatHeadComponent, StatusIconComponent, TICK_PERIOD_SECONDS, TRAIT_VISUAL_DEFAULT_BG_BASE64, VisualManagerModalEventTypes, VisualManagerModalEventValue, circleData, computeInnerState, configSpider, dashboardMainSwiperDefaultOptions, dashboardThumbsSwiperDefaultOptions, defaultAgendaEvents, defaultClientDashboardConfig, defaultClientHomeConfig, defaultClientMatches, defaultClientViewportConfig, defaultMatcherViewportConfig, defaultProfileComparisonConfig, defaultProfileData, defaultSchedulerEvents, defaultSpiderConfig, defaultSpiderDatasets, defaultTraitVisualNodes, defaultUserHomeConfig, defsF, defsLG, defsRG, demoPolygonColors, innerProgressDefaultColors, innerProgressPinkColors, innerProgressPurpleColors, innerProgressWhiteColors, mainswiperDefaultOptions, progressDefaultColors, progressWhiteColors, prospects, recurringOptions, thumbsSwiperDefaultOptions };
2893
+ export type { ChatHeadData, ChatHeadState, CircleProgressConfig, ClientChatHeadData, ClientChatHeadModel, ClientInnerState, DatePrepDesignation, IAgendaDay, IAgendaEvent, IAttachment, IAutoDelegationData, IAutoDelegationEvent, IAutoDelegationModalData, IAutoDelegationPreferences, ICalendarAccount, ICalendarAccountTheme, IChartData, IChatIdentifier, IChatMeta, IChatSuggestion, ICircleData, IClientDashboardInputs, IClientPageProps, IClientProfile, IClientViewportConfig, IColorChangeNotification, IConversationFlag, IDashboardMatchRequest, IDashboardMatcherProfile, IDataset, IDateMessages, IDatePrepInfo, IDatePrepItem, IDefsF, IDefsLG, IDefsRG, IEvent, IEventFormOutput, IEventTime, IGroupWrapper, IHandoffPanelInputs, IHomeDashboardInputs, IInnerPartialCircleProgressColors, ILibClientMatchOverview, IMatcherDashboardInputs, IMatcherPageProps, IMatcherProfile, IMatcherTabConfig, IMatcherViewportConfig, IMessage, IPartialCircleProgressColors, IPolygonColor, IPreferenceItem, IProfileAttribute, IProfileComparisonData, IProfileComparisonInputs, IProspect, IProspectData, IRecurringEvent, IRecurringEventException, IRecurringPattern, IScheduleSlot, ISchedulerAction, ISchedulerEvent, ISchedulerEventSlots, ISchedulerEventSuggestion, ISchedulerSuggestionProfile, ISpiderChartAttribute, ISpiderChartConfig, ITabConfig, ITabWrapper, IVisualManagerModalData, IVisualManagerModalEvent, IVisualManagerModalModalData, ProgressDecision, ProgressFacts, StandardChatHeadModel, StoredRule, TabNode };