@banta/sdk 4.3.2 → 4.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,6 +20,8 @@ import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
20
20
  import { ChatBackend } from './chat-backend';
21
21
  import { BANTA_SDK_OPTIONS } from './sdk-options';
22
22
  import { ChatBackendBase } from './chat-backend-base';
23
+ import { OverlayModule } from '@angular/cdk/overlay';
24
+ import { PortalModule } from '@angular/cdk/portal';
23
25
  export class BantaSdkModule {
24
26
  static configure(options) {
25
27
  return {
@@ -51,7 +53,9 @@ BantaSdkModule.decorators = [
51
53
  MatFormFieldModule,
52
54
  MatInputModule,
53
55
  MatProgressSpinnerModule,
54
- MatSnackBarModule
56
+ MatSnackBarModule,
57
+ OverlayModule,
58
+ PortalModule
55
59
  ],
56
60
  declarations: [
57
61
  BantaComponent,
@@ -67,4 +71,4 @@ BantaSdkModule.decorators = [
67
71
  ]
68
72
  },] }
69
73
  ];
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFudGEtc2RrLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3Nkay9zcmMvbGliL2JhbnRhLXNkay5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQWtDdEQsTUFBTSxPQUFPLGNBQWM7SUFDdkIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFvQjtRQUNqQyxPQUFPO1lBQ0gsUUFBUSxFQUFFLGNBQWM7WUFDeEIsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFFBQVEsRUFBRSxPQUFPLElBQUksRUFBRTtpQkFDMUI7Z0JBQ0QsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUU7YUFDdEQ7U0FDSixDQUFBO0lBQ0wsQ0FBQzs7O1lBNUNKLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixXQUFXO29CQUNYLGlCQUFpQjtvQkFDakIsY0FBYztvQkFDZCxVQUFVO29CQUNWLFdBQVc7b0JBRVgsYUFBYTtvQkFDYixlQUFlO29CQUNmLGdCQUFnQjtvQkFDaEIsYUFBYTtvQkFDYixlQUFlO29CQUNmLGtCQUFrQjtvQkFDbEIsY0FBYztvQkFDZCx3QkFBd0I7b0JBQ3hCLGlCQUFpQjtpQkFDcEI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNWLGNBQWM7b0JBQ2Qsa0JBQWtCO29CQUNsQixvQkFBb0I7aUJBQ3ZCO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxjQUFjO29CQUNkLGtCQUFrQjtvQkFDbEIsb0JBQW9CO29CQUNwQixVQUFVO29CQUNWLGNBQWM7aUJBQ2pCO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tZW50c01vZHVsZSB9IGZyb20gJy4vY29tbWVudHMnO1xyXG5pbXBvcnQgeyBDaGF0TW9kdWxlIH0gZnJvbSAnLi9jaGF0JztcclxuaW1wb3J0IHsgRW1vamlNb2R1bGUgfSBmcm9tICcuL2Vtb2ppJztcclxuaW1wb3J0IHsgQmFudGFDb21wb25lbnQgfSBmcm9tICcuL2JhbnRhL2JhbnRhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhbnRhTG9nb0NvbXBvbmVudCB9IGZyb20gJy4vYmFudGEtbG9nby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQmFudGFDb21tb25Nb2R1bGUgfSBmcm9tICcuL2NvbW1vbi9jb21tb24ubW9kdWxlJztcclxuaW1wb3J0IHsgTGl2ZU1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuL2xpdmUtbWVzc2FnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXBcIjtcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgTWF0U25hY2tCYXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyXCI7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2lucHV0XCI7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyXCI7XHJcbmltcG9ydCB7IENoYXRCYWNrZW5kIH0gZnJvbSAnLi9jaGF0LWJhY2tlbmQnO1xyXG5pbXBvcnQgeyBTZGtPcHRpb25zIH0gZnJvbSAnLi9zZGstb3B0aW9ucyc7XHJcbmltcG9ydCB7IEJBTlRBX1NES19PUFRJT05TIH0gZnJvbSAnLi9zZGstb3B0aW9ucyc7XHJcbmltcG9ydCB7IENoYXRCYWNrZW5kQmFzZSB9IGZyb20gJy4vY2hhdC1iYWNrZW5kLWJhc2UnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgQmFudGFDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgQ29tbWVudHNNb2R1bGUsXHJcbiAgICAgICAgQ2hhdE1vZHVsZSxcclxuICAgICAgICBFbW9qaU1vZHVsZSxcclxuICAgICAgICBcclxuICAgICAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICAgICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgICAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXHJcbiAgICAgICAgTWF0U25hY2tCYXJNb2R1bGVcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBCYW50YUNvbXBvbmVudCxcclxuICAgICAgICBCYW50YUxvZ29Db21wb25lbnQsXHJcbiAgICAgICAgTGl2ZU1lc3NhZ2VDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgQmFudGFDb21wb25lbnQsXHJcbiAgICAgICAgQmFudGFMb2dvQ29tcG9uZW50LFxyXG4gICAgICAgIExpdmVNZXNzYWdlQ29tcG9uZW50LFxyXG4gICAgICAgIENoYXRNb2R1bGUsXHJcbiAgICAgICAgQ29tbWVudHNNb2R1bGVcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEJhbnRhU2RrTW9kdWxlIHtcclxuICAgIHN0YXRpYyBjb25maWd1cmUob3B0aW9ucz86IFNka09wdGlvbnMpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEJhbnRhU2RrTW9kdWxlPiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgbmdNb2R1bGU6IEJhbnRhU2RrTW9kdWxlLFxyXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICAgICAgICAgIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogQkFOVEFfU0RLX09QVElPTlMsIFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zIHx8IHt9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBDaGF0QmFja2VuZEJhc2UsIHVzZUNsYXNzOiBDaGF0QmFja2VuZCB9XHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFudGEtc2RrLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3Nkay9zcmMvbGliL2JhbnRhLXNkay5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBb0NuRCxNQUFNLE9BQU8sY0FBYztJQUN2QixNQUFNLENBQUMsU0FBUyxDQUFDLE9BQW9CO1FBQ2pDLE9BQU87WUFDSCxRQUFRLEVBQUUsY0FBYztZQUN4QixTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsUUFBUSxFQUFFLE9BQU8sSUFBSSxFQUFFO2lCQUMxQjtnQkFDRCxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRTthQUN0RDtTQUNKLENBQUE7SUFDTCxDQUFDOzs7WUE5Q0osUUFBUSxTQUFDO2dCQUNOLE9BQU8sRUFBRTtvQkFDTCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsaUJBQWlCO29CQUNqQixjQUFjO29CQUNkLFVBQVU7b0JBQ1YsV0FBVztvQkFFWCxhQUFhO29CQUNiLGVBQWU7b0JBQ2YsZ0JBQWdCO29CQUNoQixhQUFhO29CQUNiLGVBQWU7b0JBQ2Ysa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLHdCQUF3QjtvQkFDeEIsaUJBQWlCO29CQUNqQixhQUFhO29CQUNiLFlBQVk7aUJBQ2Y7Z0JBQ0QsWUFBWSxFQUFFO29CQUNWLGNBQWM7b0JBQ2Qsa0JBQWtCO29CQUNsQixvQkFBb0I7aUJBQ3ZCO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxjQUFjO29CQUNkLGtCQUFrQjtvQkFDbEIsb0JBQW9CO29CQUNwQixVQUFVO29CQUNWLGNBQWM7aUJBQ2pCO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tZW50c01vZHVsZSB9IGZyb20gJy4vY29tbWVudHMnO1xyXG5pbXBvcnQgeyBDaGF0TW9kdWxlIH0gZnJvbSAnLi9jaGF0JztcclxuaW1wb3J0IHsgRW1vamlNb2R1bGUgfSBmcm9tICcuL2Vtb2ppJztcclxuaW1wb3J0IHsgQmFudGFDb21wb25lbnQgfSBmcm9tICcuL2JhbnRhL2JhbnRhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhbnRhTG9nb0NvbXBvbmVudCB9IGZyb20gJy4vYmFudGEtbG9nby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQmFudGFDb21tb25Nb2R1bGUgfSBmcm9tICcuL2NvbW1vbi9jb21tb24ubW9kdWxlJztcclxuaW1wb3J0IHsgTGl2ZU1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuL2xpdmUtbWVzc2FnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXBcIjtcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgTWF0U25hY2tCYXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyXCI7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2lucHV0XCI7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyXCI7XHJcbmltcG9ydCB7IENoYXRCYWNrZW5kIH0gZnJvbSAnLi9jaGF0LWJhY2tlbmQnO1xyXG5pbXBvcnQgeyBTZGtPcHRpb25zIH0gZnJvbSAnLi9zZGstb3B0aW9ucyc7XHJcbmltcG9ydCB7IEJBTlRBX1NES19PUFRJT05TIH0gZnJvbSAnLi9zZGstb3B0aW9ucyc7XHJcbmltcG9ydCB7IENoYXRCYWNrZW5kQmFzZSB9IGZyb20gJy4vY2hhdC1iYWNrZW5kLWJhc2UnO1xyXG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgICAgIEJhbnRhQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIENvbW1lbnRzTW9kdWxlLFxyXG4gICAgICAgIENoYXRNb2R1bGUsXHJcbiAgICAgICAgRW1vamlNb2R1bGUsXHJcbiAgICAgICAgXHJcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcclxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgICAgICBNYXRNZW51TW9kdWxlLFxyXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICAgICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxyXG4gICAgICAgIE1hdFNuYWNrQmFyTW9kdWxlLFxyXG4gICAgICAgIE92ZXJsYXlNb2R1bGUsXHJcbiAgICAgICAgUG9ydGFsTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgQmFudGFDb21wb25lbnQsXHJcbiAgICAgICAgQmFudGFMb2dvQ29tcG9uZW50LFxyXG4gICAgICAgIExpdmVNZXNzYWdlQ29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIEJhbnRhQ29tcG9uZW50LFxyXG4gICAgICAgIEJhbnRhTG9nb0NvbXBvbmVudCxcclxuICAgICAgICBMaXZlTWVzc2FnZUNvbXBvbmVudCxcclxuICAgICAgICBDaGF0TW9kdWxlLFxyXG4gICAgICAgIENvbW1lbnRzTW9kdWxlXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYW50YVNka01vZHVsZSB7XHJcbiAgICBzdGF0aWMgY29uZmlndXJlKG9wdGlvbnM/OiBTZGtPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxCYW50YVNka01vZHVsZT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIG5nTW9kdWxlOiBCYW50YVNka01vZHVsZSxcclxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgICAgICAgICB7IFxyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEJBTlRBX1NES19PUFRJT05TLCBcclxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9ucyB8fCB7fVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogQ2hhdEJhY2tlbmRCYXNlLCB1c2VDbGFzczogQ2hhdEJhY2tlbmQgfVxyXG4gICAgICAgICAgICBdXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
@@ -113,12 +113,16 @@ export class CommentComponent {
113
113
  }
114
114
  return `url(${url})`;
115
115
  }
116
+ get replyCount() {
117
+ var _a;
118
+ return ((_a = this.message.submessages) === null || _a === void 0 ? void 0 : _a.length) || this.message.submessageCount || 0;
119
+ }
116
120
  }
117
121
  CommentComponent.decorators = [
118
122
  { type: Component, args: [{
119
123
  selector: 'banta-comment',
120
- template: "\r\n<mat-menu #pointItemMenu=\"matMenu\">\r\n <button *ngIf=\"!mine\" mat-menu-item (click)=\"report()\">Report</button>\r\n <button *ngIf=\"mine\" [disabled]=\"!permissions?.canEdit\" mat-menu-item (click)=\"startEdit()\">Edit</button>\r\n <button *ngIf=\"mine\" [disabled]=\"!permissions?.canDelete\" mat-menu-item (click)=\"delete()\">Delete</button>\r\n</mat-menu>\r\n\r\n<div class=\"message-content\">\r\n <div class=\"user\">\r\n <a\r\n href=\"javascript:;\"\r\n class=\"avatar\"\r\n (click)=\"selectAvatar(message.user)\"\r\n [style.background-image]=\"avatarForUser(message.user)\"></a>\r\n <a href=\"javascript:;\" class=\"display-name\" (click)=\"selectUser()\">{{message.user.displayName}}</a>\r\n <a href=\"javascript:;\" class=\"username\" (click)=\"selectUsername(message.user)\">@{{message.user.username}}</a>\r\n <span class=\"user-tag\" *ngIf=\"message.user.tag\">{{message.user.tag}}</span>\r\n <span class=\"spacer\"></span>\r\n </div>\r\n <div class=\"content\" *ngIf=\"!editing\">\r\n <span class=\"banta-message-content\" [innerHTML]=\"message.message | markdownToHtml\"></span>\r\n\r\n <ng-container *ngIf=\"message.attachments?.length > 0\">\r\n <banta-lightbox #lightbox></banta-lightbox>\r\n <div class=\"attachments-row\" [class.single]=\"message.attachments?.length === 1\" *ngIf=\"message.attachments && message.attachments?.length > 0\">\r\n <a \r\n href=\"javascript:;\" \r\n (click)=\"showLightbox(attachment)\"\r\n *ngFor=\"let attachment of message.attachments\" \r\n >\r\n <img [src]=\"attachment.url\" alt=\"\">\r\n </a>\r\n </div>\r\n </ng-container>\r\n\r\n <ul class=\"message-facts small\">\r\n <li *ngIf=\"message.edits?.length > 0\">(Edited)</li>\r\n </ul>\r\n </div>\r\n <div class=\"content\" *ngIf=\"editing\" style=\"padding-bottom: 2em;\">\r\n <div>\r\n <mat-form-field floatLabel=\"always\" appearance=\"outline\" style=\"width: 100%;\">\r\n <mat-label>Edit Message</mat-label>\r\n <textarea matInput [(ngModel)]=\"editedMessage\"></textarea>\r\n </mat-form-field>\r\n </div>\r\n <button mat-raised-button (click)=\"saveEdit()\">Save</button> &nbsp;\r\n <button mat-button (click)=\"endEditing()\">Cancel</button>\r\n </div>\r\n\r\n\r\n <div class=\"actions\">\r\n <banta-timestamp [value]=\"message.sentAt\"></banta-timestamp>\r\n <ul class=\"message-facts\">\r\n <li *ngIf=\"message.edits?.length > 0\">Edited</li>\r\n </ul>\r\n <div class=\"spacer\"></div>\r\n <div class=\"counted-action\" *ngIf=\"showReplyAction\">\r\n <div class=\"count-indicator\">\r\n {{message.submessages?.length || message.submessageCount || 0}}\r\n </div>\r\n <button mat-icon-button matTooltip=\"Replies\" matTooltipPosition=\"below\" (click)=\"select()\">\r\n <mat-icon [inline]=\"true\">comment</mat-icon>\r\n </button>\r\n </div>\r\n <div class=\"counted-action\" [class.active]=\"message.userState?.liked\">\r\n <div class=\"count-indicator\">\r\n {{message.likes}}\r\n </div>\r\n <button \r\n *ngIf=\"message.transientState?.liking\"\r\n mat-icon-button \r\n [disabled]=\"true\" \r\n [matTooltip]=\"upvoting ? 'Please wait...' : message.userState?.liked ? 'Unlike' : 'Like'\" \r\n matTooltipPosition=\"below\" \r\n >\r\n <mat-spinner [diameter]=\"15\" style=\"margin-left: 1em;\"></mat-spinner>\r\n </button>\r\n <button \r\n *ngIf=\"!message.transientState?.liking\"\r\n mat-icon-button \r\n [disabled]=\"!permissions?.canLike\" \r\n [matTooltip]=\"upvoting ? 'Please wait...' : 'Like'\" \r\n matTooltipPosition=\"below\" \r\n (click)=\"message.userState?.liked ? unlike() : like()\" \r\n >\r\n <mat-icon [inline]=\"true\">thumb_up</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <div class=\"counted-action\">\r\n <button mat-icon-button matTooltip=\"Share this comment\" matTooltipPosition=\"below\" (click)=\"share()\">\r\n <mat-icon [inline]=\"true\" >share</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <button mat-icon-button [matMenuTriggerFor]=\"pointItemMenu\">\r\n <mat-icon [inline]=\"true\">more_vert</mat-icon>\r\n </button>\r\n </div>\r\n</div>\r\n",
121
- styles: ["@-webkit-keyframes comment-appear{0%{transform:translate(100vw)}to{transform:translate(0)}}@keyframes comment-appear{0%{transform:translate(100vw)}to{transform:translate(0)}}:host{display:flex;flex-direction:column;position:relative;padding:.5em;visibility:hidden}:host.new{visibility:visible;-webkit-animation-name:comment-appear;animation-name:comment-appear;-webkit-animation-duration:.4s;animation-duration:.4s;-webkit-animation-fill-mode:both;animation-fill-mode:both}:host.highlighted{background:#00223a;outline:2px solid #003277}:host.visible{visibility:visible}:host:hover{background:#eee}:host .message-content .content{margin-left:60px;margin-right:.5em}:host .message-content .attachments-row{margin-top:15px;display:flex;gap:10px}:host .message-content .attachments-row img{border-radius:10px;width:300px;max-width:100%;max-height:20em;-o-object-fit:cover;object-fit:cover}:host.abbreviated .message-content .content{text-overflow:ellipsis;overflow-y:hidden}:host .actions{display:flex;padding-right:10px;margin-left:60px;align-items:center}:host .actions button{color:#666;flex-shrink:0}:host .actions banta-timestamp{color:#666;font-size:10pt;flex-shrink:0}.user{position:relative;margin:1em 0 0;display:flex;align-items:center}.user .display-name,.user .username{z-index:1;position:relative;padding:0 0 0 1em;font-size:10pt;color:#000;margin:0 auto 0 0;display:block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex-shrink:1;flex-grow:0}.user .display-name.username.username.username,.user .username.username.username.username{color:#666}.avatar{height:48px;width:48px;background-position:50%;background-size:cover;background-color:#333;border-radius:100%;flex-shrink:0;flex-grow:0}.counted-action{display:flex;align-items:center}.counted-action.active .count-indicator,.counted-action.active button{color:#00a5ff}.count-indicator{font-size:9pt;padding:0 0 0 3px;color:#666}:host-context(.mat-dark-theme) .count-indicator{border-color:#333}:host-context(.mat-dark-theme):hover{background:#060606}.user-tag,:host-context(.mat-dark-theme) .user .display-name,:host-context(.mat-dark-theme) .user .username{color:#fff}.user-tag{text-transform:uppercase;font-size:12px;border:1px solid #b27373;background:#7a412b;padding:3px 5px;margin:0 .5em 0 1em;border-radius:3px}.spacer{flex-shrink:1;flex-grow:1}ul.message-facts{margin:0;padding:0;color:#666}ul.message-facts li{list-style-type:none;border-left:1px solid #666;font-size:10pt;padding-left:.5em;margin-left:.5em}ul.message-facts.small{display:none}ul.message-facts.small li{margin-top:.5em}ul.message-facts.small li:first-child{border-left:1px solid transparent;margin-left:0;padding-left:0}@media (max-width:400px){.avatar{height:32px;width:32px}.actions ul.message-facts{display:none}ul.message-facts.small{display:initial}:host .actions{margin-left:0;margin-top:.5em}:host .message-content .content{margin-left:44px;margin-right:.5em}}:host-context(.banta-mobile) .avatar{height:32px;width:32px}:host-context(.banta-mobile) .actions ul.message-facts{display:none}:host-context(.banta-mobile) ul.message-facts.small{display:initial}:host-context(.banta-mobile) :host .actions{margin-left:0;margin-top:.5em}:host-context(.banta-mobile) :host .message-content .content{margin-left:44px;margin-right:.5em}"]
124
+ template: "\r\n<mat-menu #pointItemMenu=\"matMenu\">\r\n <button mat-menu-item (click)=\"share()\">\r\n <mat-icon>share</mat-icon>\r\n Share\r\n </button>\r\n <button *ngIf=\"!mine\" mat-menu-item (click)=\"report()\">\r\n <mat-icon>warning</mat-icon>\r\n Report\r\n </button>\r\n <button *ngIf=\"mine\" [disabled]=\"!permissions?.canEdit\" mat-menu-item (click)=\"startEdit()\">\r\n <mat-icon>edit</mat-icon>\r\n Edit\r\n </button>\r\n <button *ngIf=\"mine\" [disabled]=\"!permissions?.canDelete\" mat-menu-item (click)=\"delete()\">\r\n <mat-icon>delete</mat-icon>\r\n Delete\r\n </button>\r\n</mat-menu>\r\n\r\n<div class=\"message-content\">\r\n <div class=\"user\">\r\n <a\r\n href=\"javascript:;\"\r\n class=\"avatar\"\r\n (click)=\"selectAvatar(message.user)\"\r\n [style.background-image]=\"avatarForUser(message.user)\"></a>\r\n <a href=\"javascript:;\" class=\"display-name\" (click)=\"selectUser()\">{{message.user.displayName}}</a>\r\n <a href=\"javascript:;\" class=\"username\" (click)=\"selectUsername(message.user)\">@{{message.user.username}}</a>\r\n <span class=\"user-tag\" *ngIf=\"message.user.tag\">{{message.user.tag}}</span>\r\n <banta-timestamp [value]=\"message.sentAt\"></banta-timestamp>\r\n <span class=\"spacer\"></span>\r\n </div>\r\n <div class=\"content\" *ngIf=\"!editing\">\r\n <span class=\"banta-message-content\" [innerHTML]=\"message.message | markdownToHtml\"></span>\r\n\r\n <ng-container *ngIf=\"message.attachments?.length > 0\">\r\n <banta-lightbox #lightbox></banta-lightbox>\r\n <div class=\"attachments-row\" [class.single]=\"message.attachments?.length === 1\" *ngIf=\"message.attachments && message.attachments?.length > 0\">\r\n <a \r\n href=\"javascript:;\" \r\n (click)=\"showLightbox(attachment)\"\r\n *ngFor=\"let attachment of message.attachments\" \r\n >\r\n <img [src]=\"attachment.url\" alt=\"\">\r\n </a>\r\n </div>\r\n </ng-container>\r\n\r\n <ul class=\"message-facts\">\r\n <li *ngIf=\"message.edits?.length > 0\">(Edited)</li>\r\n </ul>\r\n </div>\r\n <div class=\"content\" *ngIf=\"editing\" style=\"padding-bottom: 2em;\">\r\n <div>\r\n <mat-form-field floatLabel=\"always\" appearance=\"outline\" style=\"width: 100%;\">\r\n <mat-label>Edit Message</mat-label>\r\n <textarea matInput [(ngModel)]=\"editedMessage\"></textarea>\r\n </mat-form-field>\r\n </div>\r\n <button mat-raised-button (click)=\"saveEdit()\">Save</button> &nbsp;\r\n <button mat-button (click)=\"endEditing()\">Cancel</button>\r\n </div>\r\n\r\n\r\n <div class=\"actions\">\r\n <div class=\"spacer\"></div>\r\n <div class=\"counted-action\" *ngIf=\"showReplyAction\">\r\n <button mat-button [matTooltip]=\"replyCount > 0 ? 'Replies' : 'Reply'\" matTooltipPosition=\"below\" (click)=\"select()\">\r\n <mat-icon [inline]=\"true\">comment</mat-icon>\r\n <span class=\"count-indicator\">\r\n {{replyCount > 0 ? 'Replies' : 'Reply'}}\r\n {{replyCount > 0 ? '(' + replyCount + ')' : ''}}\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"counted-action\" [class.active]=\"message.userState?.liked\">\r\n <button \r\n *ngIf=\"message.transientState?.liking\"\r\n mat-icon-button \r\n [disabled]=\"true\" \r\n [matTooltip]=\"upvoting ? 'Please wait...' : message.userState?.liked ? 'Unlike' : 'Like'\" \r\n matTooltipPosition=\"below\" \r\n >\r\n <mat-spinner [diameter]=\"15\" style=\"margin-left: 1em;\"></mat-spinner>\r\n </button>\r\n <button \r\n *ngIf=\"!message.transientState?.liking\"\r\n mat-button \r\n [disabled]=\"!permissions?.canLike\" \r\n [matTooltip]=\"upvoting ? 'Please wait...' : 'Like'\" \r\n matTooltipPosition=\"below\" \r\n (click)=\"message.userState?.liked ? unlike() : like()\" \r\n >\r\n <mat-icon [inline]=\"true\">thumb_up</mat-icon>\r\n <span class=\"count-indicator\" *ngIf=\"message.likes > 0\">\r\n {{message.likes}}\r\n </span>\r\n </button>\r\n </div>\r\n\r\n <button mat-icon-button [matMenuTriggerFor]=\"pointItemMenu\">\r\n <mat-icon [inline]=\"true\">more_vert</mat-icon>\r\n </button>\r\n </div>\r\n</div>\r\n",
125
+ styles: ["@-webkit-keyframes comment-appear{0%{transform:translate(100vw)}to{transform:translate(0)}}@keyframes comment-appear{0%{transform:translate(100vw)}to{transform:translate(0)}}:host{display:flex;flex-direction:column;position:relative;padding:.5em;visibility:hidden}:host.new{visibility:visible;-webkit-animation-name:comment-appear;animation-name:comment-appear;-webkit-animation-duration:.4s;animation-duration:.4s;-webkit-animation-fill-mode:both;animation-fill-mode:both}:host.highlighted{background:#00223a;outline:2px solid #003277}:host.visible{visibility:visible}:host:hover{background:#eee}:host .message-content .content{margin-left:60px;margin-right:.5em}:host .message-content .attachments-row{margin-top:15px;display:flex;gap:10px}:host .message-content .attachments-row img{border-radius:10px;width:300px;max-width:100%;max-height:20em;-o-object-fit:cover;object-fit:cover}:host.abbreviated .message-content .content{text-overflow:ellipsis;overflow-y:hidden}:host .actions{display:flex;padding-right:10px;margin-left:60px;align-items:center}:host .actions button,banta-timestamp{color:#666;flex-shrink:0}banta-timestamp{font-size:10pt;margin-left:1em}.user{position:relative;margin:1em 0 0;display:flex;align-items:center}.user .display-name,.user .username{z-index:1;position:relative;padding:0 0 0 1em;font-size:10pt;color:#000;margin:0 auto 0 0;display:block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex-shrink:1;flex-grow:0}.user .display-name.username.username.username,.user .username.username.username.username{color:#666}.avatar{height:48px;width:48px;background-position:50%;background-size:cover;background-color:#333;border-radius:100%;flex-shrink:0;flex-grow:0}.counted-action{display:flex;align-items:center}.counted-action.active .count-indicator,.counted-action.active button{color:#00a5ff}.counted-action button .count-indicator{margin-left:.5em}.count-indicator{font-size:9pt;padding:0 0 0 3px;color:#666}:host-context(.mat-dark-theme) .count-indicator{border-color:#333}:host-context(.mat-dark-theme):hover{background:#060606}.user-tag,:host-context(.mat-dark-theme) .user .display-name,:host-context(.mat-dark-theme) .user .username{color:#fff}.user-tag{text-transform:uppercase;font-size:12px;border:1px solid #b27373;background:#7a412b;padding:3px 5px;margin:0 .5em 0 1em;border-radius:3px}.spacer{flex-shrink:1;flex-grow:1}ul.message-facts{margin:0;padding:0;color:#666}ul.message-facts li{list-style-type:none;border-left:1px solid #666;font-size:10pt;padding-left:.5em;margin-left:.5em;margin-top:.5em}ul.message-facts li:first-child{border-left:1px solid transparent;margin-left:0;padding-left:0}@media (max-width:400px){.avatar{height:32px;width:32px}:host .actions{margin-left:0;margin-top:.5em}:host .message-content .content{margin-left:44px;margin-right:.5em}}:host-context(.banta-mobile) .avatar{height:32px;width:32px}:host-context(.banta-mobile) :host .actions{margin-left:0;margin-top:.5em}:host-context(.banta-mobile) :host .message-content .content{margin-left:44px;margin-right:.5em}"]
122
126
  },] }
123
127
  ];
124
128
  CommentComponent.propDecorators = {
@@ -146,4 +150,4 @@ CommentComponent.propDecorators = {
146
150
  commentId: [{ type: HostBinding, args: ['attr.data-comment-id',] }],
147
151
  lightbox: [{ type: ViewChild, args: ['lightbox',] }]
148
152
  };
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZGsvc3JjL2xpYi9jb21tZW50cy9jb21tZW50L2NvbW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFPN0UsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQU1ZLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2hDLFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzdCLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRS9CLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBZSxDQUFDO1FBRXhDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNwQyxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDdEMsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQWU3QyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBUWQsWUFBTyxHQUFHLEtBQUssQ0FBQztRQU1oQixvQkFBZSxHQUFHLElBQUksQ0FBQztRQXVCZCxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQW1DakIsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ25DLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQy9CLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FB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QUFJLENBQUMsU0FBUyxFQUFFO1lBQ3hCLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ3hCO1FBRUQsT0FBTyxPQUFPLEdBQUcsR0FBRyxDQUFDO0lBQ3pCLENBQUM7OztZQTdLSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLDJ6SkFBdUM7O2FBRTFDOzs7b0JBeUJJLFdBQVcsU0FBQyxXQUFXOzRCQUd2QixXQUFXLFNBQUMsbUJBQW1CO3NCQUsvQixXQUFXLFNBQUMsZUFBZTtzQkFHM0IsS0FBSzs4QkFHTCxLQUFLOzJCQUdSLE1BQU07K0JBS0gsTUFBTTs2QkFLVCxNQUFNO3VCQUtILE1BQU07MEJBS04sS0FBSzttQkFDTCxLQUFLO3NCQUVMLEtBQUs7b0JBb0JMLE1BQU07c0JBS04sTUFBTTt1QkFLTixNQUFNO3FCQVVOLE1BQU07c0JBQ04sTUFBTTswQkFDTixNQUFNO3dCQUNOLE1BQU07cUJBQ04sTUFBTTsrQkFFTixLQUFLO3dCQUVMLFdBQVcsU0FBQyxzQkFBc0I7dUJBcUNsQyxTQUFTLFNBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBJbnB1dCwgSG9zdEJpbmRpbmcsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ2hhdE1lc3NhZ2UsIENoYXRNZXNzYWdlQXR0YWNobWVudCwgQ2hhdFBlcm1pc3Npb25zLCBVc2VyIH0gZnJvbSAnQGJhbnRhL2NvbW1vbic7XHJcbmltcG9ydCB7IExpZ2h0Ym94Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9saWdodGJveC9saWdodGJveC5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiYW50YS1jb21tZW50JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb21tZW50LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NvbW1lbnQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tbWVudENvbXBvbmVudCB7XHJcbiAgICBwcml2YXRlIF9yZXBvcnRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF9zZWxlY3RlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF9saWtlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF91bmxpa2VkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9zaGFyZWQgPSBuZXcgU3ViamVjdDxDaGF0TWVzc2FnZT4oKTtcclxuXHJcblx0cHJpdmF0ZSBfdXNlclNlbGVjdGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHRwcml2YXRlIF9hdmF0YXJTZWxlY3RlZCA9IG5ldyBTdWJqZWN0PFVzZXI+KCk7XHJcblx0cHJpdmF0ZSBfdXNlcm5hbWVTZWxlY3RlZCA9IG5ldyBTdWJqZWN0PFVzZXI+KCk7XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgbGV0IG1heFRpbWUgPSA1MDA7XHJcbiAgICAgICAgbGV0IG1pblRpbWUgPSAwO1xyXG4gICAgICAgIGxldCByYW5kb21UaW1lID0gbWluVGltZSArIE1hdGgucmFuZG9tKCkgKiAobWF4VGltZSAtIG1pblRpbWUpO1xyXG5cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc05ldyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pc05ldyA9IGZhbHNlLCAxMDAwKTtcclxuICAgICAgICB9LCByYW5kb21UaW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5ldycpXHJcbiAgICBpc05ldyA9IGZhbHNlO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaGlnaGxpZ2h0ZWQnKVxyXG4gICAgZ2V0IGlzSGlnaGxpZ2h0ZWQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZT8udHJhbnNpZW50U3RhdGU/LmhpZ2hsaWdodGVkID8/IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MudmlzaWJsZScpXHJcbiAgICB2aXNpYmxlID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIG1lc3NhZ2UgOiBDaGF0TWVzc2FnZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2hvd1JlcGx5QWN0aW9uID0gdHJ1ZTtcclxuXHJcblx0QE91dHB1dCgpXHJcbiAgICBnZXQgdXNlclNlbGVjdGVkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyU2VsZWN0ZWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBnZXQgdXNlcm5hbWVTZWxlY3RlZCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdXNlcm5hbWVTZWxlY3RlZC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcblx0QE91dHB1dCgpXHJcblx0Z2V0IGF2YXRhclNlbGVjdGVkKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2F2YXRhclNlbGVjdGVkLmFzT2JzZXJ2YWJsZSgpO1xyXG5cdH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIGdldCByZXBvcnRlZCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcmVwb3J0ZWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCkgcGVybWlzc2lvbnM6IENoYXRQZXJtaXNzaW9ucztcclxuICAgIEBJbnB1dCgpIG1pbmUgPSBmYWxzZTtcclxuICAgIFxyXG4gICAgQElucHV0KCkgZWRpdGluZyA9IGZhbHNlO1xyXG4gICAgZWRpdGVkTWVzc2FnZTogc3RyaW5nO1xyXG5cclxuICAgIHNhdmVFZGl0KCkge1xyXG4gICAgICAgIHRoaXMuX2VkaXRlZC5uZXh0KHRoaXMuZWRpdGVkTWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgZW5kRWRpdGluZygpIHtcclxuICAgICAgICB0aGlzLl9lZGl0RW5kZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXJ0RWRpdCgpIHtcclxuICAgICAgICB0aGlzLl9lZGl0U3RhcnRlZC5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5lZGl0ZWRNZXNzYWdlID0gdGhpcy5tZXNzYWdlLm1lc3NhZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlKCkge1xyXG4gICAgICAgIHRoaXMuX2RlbGV0ZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgZ2V0IGxpa2VkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9saWtlZC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIGdldCB1bmxpa2VkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl91bmxpa2VkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgZ2V0IHNlbGVjdGVkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9lZGl0U3RhcnRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF9kZWxldGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIHByaXZhdGUgX2VkaXRFbmRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF9lZGl0ZWQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpIGdldCBlZGl0ZWQoKSB7IHJldHVybiB0aGlzLl9lZGl0ZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICAgIEBPdXRwdXQoKSBnZXQgZGVsZXRlZCgpIHsgcmV0dXJuIHRoaXMuX2RlbGV0ZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICAgIEBPdXRwdXQoKSBnZXQgZWRpdFN0YXJ0ZWQoKSB7IHJldHVybiB0aGlzLl9lZGl0U3RhcnRlZC5hc09ic2VydmFibGUoKTsgfVxyXG4gICAgQE91dHB1dCgpIGdldCBlZGl0RW5kZWQoKSB7IHJldHVybiB0aGlzLl9lZGl0RW5kZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICAgIEBPdXRwdXQoKSBnZXQgc2hhcmVkKCl7IHJldHVybiB0aGlzLl9zaGFyZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuXHJcbiAgICBASW5wdXQoKSBnZW5lcmljQXZhdGFyVXJsOiBzdHJpbmc7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtY29tbWVudC1pZCcpIGdldCBjb21tZW50SWQoKSB7IHJldHVybiB0aGlzLm1lc3NhZ2U/LmlkOyB9XHJcblxyXG5cclxuICAgIHJlcG9ydCgpIHtcclxuICAgICAgICB0aGlzLl9yZXBvcnRlZC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbGlrZSgpIHtcclxuICAgICAgICB0aGlzLl9saWtlZC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgdW5saWtlKCkge1xyXG4gICAgICAgIHRoaXMuX3VubGlrZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNoYXJlKCkge1xyXG4gICAgICAgIHRoaXMuX3NoYXJlZC5uZXh0KHRoaXMubWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0KCkge1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkLm5leHQoKTtcclxuICAgIH1cclxuXHJcblx0c2VsZWN0VXNlcigpIHtcclxuICAgICAgICB0aGlzLl91c2VyU2VsZWN0ZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdFVzZXJuYW1lKHVzZXI6IFVzZXIpIHtcclxuICAgICAgICB0aGlzLl91c2VybmFtZVNlbGVjdGVkLm5leHQodXNlcik7XHJcblx0XHR0aGlzLnNlbGVjdFVzZXIoKTtcclxuICAgIH1cclxuXHJcblx0c2VsZWN0QXZhdGFyKHVzZXI6IFVzZXIpIHtcclxuXHRcdHRoaXMuX2F2YXRhclNlbGVjdGVkLm5leHQodXNlcik7XHJcblx0XHR0aGlzLnNlbGVjdFVzZXIoKTtcclxuXHR9XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnbGlnaHRib3gnKSBsaWdodGJveDogTGlnaHRib3hDb21wb25lbnQ7XHJcblxyXG4gICAgc2hvd0xpZ2h0Ym94KGltYWdlOiBDaGF0TWVzc2FnZUF0dGFjaG1lbnQpIHtcclxuICAgICAgICB0aGlzLmxpZ2h0Ym94Lm9wZW4oXHJcbiAgICAgICAgICAgIGltYWdlLnVybCxcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlLmF0dGFjaG1lbnRzXHJcbiAgICAgICAgICAgICAgICAuZmlsdGVyKHggPT4geC50eXBlID09PSAnaW1hZ2UvcG5nJylcclxuICAgICAgICAgICAgICAgIC5tYXAoeCA9PiB4LnVybClcclxuICAgICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgYXZhdGFyRm9yVXNlcih1c2VyIDogVXNlcikge1xyXG4gICAgICAgIGxldCB1cmwgPSB0aGlzLmdlbmVyaWNBdmF0YXJVcmw7XHJcblxyXG4gICAgICAgIGlmICh1c2VyICYmIHVzZXIuYXZhdGFyVXJsKSB7XHJcbiAgICAgICAgICAgIHVybCA9IHVzZXIuYXZhdGFyVXJsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGB1cmwoJHt1cmx9KWA7XHJcbiAgICB9XHJcbn1cclxuIl19
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZGsvc3JjL2xpYi9jb21tZW50cy9jb21tZW50L2NvbW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFPN0UsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQU1ZLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2hDLFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzdCLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRS9CLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBZSxDQUFDO1FBRXhDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNwQyxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDdEMsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQWU3QyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBUWQsWUFBTyxHQUFHLEtBQUssQ0FBQztRQU1oQixvQkFBZSxHQUFHLElBQUksQ0FBQztRQXVCZCxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQW1DakIsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ25DLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQy9CLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FB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QUFJLENBQUMsU0FBUyxFQUFFO1lBQ3hCLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ3hCO1FBRUQsT0FBTyxPQUFPLEdBQUcsR0FBRyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFVBQVU7O1FBQ1YsT0FBTyxPQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVywwQ0FBRSxNQUFNLEtBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDO0lBQ2pGLENBQUM7OztZQWpMSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLDQwSkFBdUM7O2FBRTFDOzs7b0JBeUJJLFdBQVcsU0FBQyxXQUFXOzRCQUd2QixXQUFXLFNBQUMsbUJBQW1CO3NCQUsvQixXQUFXLFNBQUMsZUFBZTtzQkFHM0IsS0FBSzs4QkFHTCxLQUFLOzJCQUdSLE1BQU07K0JBS0gsTUFBTTs2QkFLVCxNQUFNO3VCQUtILE1BQU07MEJBS04sS0FBSzttQkFDTCxLQUFLO3NCQUVMLEtBQUs7b0JBb0JMLE1BQU07c0JBS04sTUFBTTt1QkFLTixNQUFNO3FCQVVOLE1BQU07c0JBQ04sTUFBTTswQkFDTixNQUFNO3dCQUNOLE1BQU07cUJBQ04sTUFBTTsrQkFFTixLQUFLO3dCQUVMLFdBQVcsU0FBQyxzQkFBc0I7dUJBcUNsQyxTQUFTLFNBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBJbnB1dCwgSG9zdEJpbmRpbmcsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ2hhdE1lc3NhZ2UsIENoYXRNZXNzYWdlQXR0YWNobWVudCwgQ2hhdFBlcm1pc3Npb25zLCBVc2VyIH0gZnJvbSAnQGJhbnRhL2NvbW1vbic7XHJcbmltcG9ydCB7IExpZ2h0Ym94Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9saWdodGJveC9saWdodGJveC5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiYW50YS1jb21tZW50JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb21tZW50LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NvbW1lbnQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tbWVudENvbXBvbmVudCB7XHJcbiAgICBwcml2YXRlIF9yZXBvcnRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF9zZWxlY3RlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF9saWtlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF91bmxpa2VkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9zaGFyZWQgPSBuZXcgU3ViamVjdDxDaGF0TWVzc2FnZT4oKTtcclxuXHJcblx0cHJpdmF0ZSBfdXNlclNlbGVjdGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHRwcml2YXRlIF9hdmF0YXJTZWxlY3RlZCA9IG5ldyBTdWJqZWN0PFVzZXI+KCk7XHJcblx0cHJpdmF0ZSBfdXNlcm5hbWVTZWxlY3RlZCA9IG5ldyBTdWJqZWN0PFVzZXI+KCk7XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgbGV0IG1heFRpbWUgPSA1MDA7XHJcbiAgICAgICAgbGV0IG1pblRpbWUgPSAwO1xyXG4gICAgICAgIGxldCByYW5kb21UaW1lID0gbWluVGltZSArIE1hdGgucmFuZG9tKCkgKiAobWF4VGltZSAtIG1pblRpbWUpO1xyXG5cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc05ldyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pc05ldyA9IGZhbHNlLCAxMDAwKTtcclxuICAgICAgICB9LCByYW5kb21UaW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5ldycpXHJcbiAgICBpc05ldyA9IGZhbHNlO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaGlnaGxpZ2h0ZWQnKVxyXG4gICAgZ2V0IGlzSGlnaGxpZ2h0ZWQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZT8udHJhbnNpZW50U3RhdGU/LmhpZ2hsaWdodGVkID8/IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MudmlzaWJsZScpXHJcbiAgICB2aXNpYmxlID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIG1lc3NhZ2UgOiBDaGF0TWVzc2FnZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2hvd1JlcGx5QWN0aW9uID0gdHJ1ZTtcclxuXHJcblx0QE91dHB1dCgpXHJcbiAgICBnZXQgdXNlclNlbGVjdGVkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyU2VsZWN0ZWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBnZXQgdXNlcm5hbWVTZWxlY3RlZCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdXNlcm5hbWVTZWxlY3RlZC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcblx0QE91dHB1dCgpXHJcblx0Z2V0IGF2YXRhclNlbGVjdGVkKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2F2YXRhclNlbGVjdGVkLmFzT2JzZXJ2YWJsZSgpO1xyXG5cdH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIGdldCByZXBvcnRlZCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcmVwb3J0ZWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCkgcGVybWlzc2lvbnM6IENoYXRQZXJtaXNzaW9ucztcclxuICAgIEBJbnB1dCgpIG1pbmUgPSBmYWxzZTtcclxuICAgIFxyXG4gICAgQElucHV0KCkgZWRpdGluZyA9IGZhbHNlO1xyXG4gICAgZWRpdGVkTWVzc2FnZTogc3RyaW5nO1xyXG5cclxuICAgIHNhdmVFZGl0KCkge1xyXG4gICAgICAgIHRoaXMuX2VkaXRlZC5uZXh0KHRoaXMuZWRpdGVkTWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgZW5kRWRpdGluZygpIHtcclxuICAgICAgICB0aGlzLl9lZGl0RW5kZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXJ0RWRpdCgpIHtcclxuICAgICAgICB0aGlzLl9lZGl0U3RhcnRlZC5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5lZGl0ZWRNZXNzYWdlID0gdGhpcy5tZXNzYWdlLm1lc3NhZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlKCkge1xyXG4gICAgICAgIHRoaXMuX2RlbGV0ZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgZ2V0IGxpa2VkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9saWtlZC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIGdldCB1bmxpa2VkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl91bmxpa2VkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgZ2V0IHNlbGVjdGVkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9lZGl0U3RhcnRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF9kZWxldGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIHByaXZhdGUgX2VkaXRFbmRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF9lZGl0ZWQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpIGdldCBlZGl0ZWQoKSB7IHJldHVybiB0aGlzLl9lZGl0ZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICAgIEBPdXRwdXQoKSBnZXQgZGVsZXRlZCgpIHsgcmV0dXJuIHRoaXMuX2RlbGV0ZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICAgIEBPdXRwdXQoKSBnZXQgZWRpdFN0YXJ0ZWQoKSB7IHJldHVybiB0aGlzLl9lZGl0U3RhcnRlZC5hc09ic2VydmFibGUoKTsgfVxyXG4gICAgQE91dHB1dCgpIGdldCBlZGl0RW5kZWQoKSB7IHJldHVybiB0aGlzLl9lZGl0RW5kZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICAgIEBPdXRwdXQoKSBnZXQgc2hhcmVkKCl7IHJldHVybiB0aGlzLl9zaGFyZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuXHJcbiAgICBASW5wdXQoKSBnZW5lcmljQXZhdGFyVXJsOiBzdHJpbmc7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtY29tbWVudC1pZCcpIGdldCBjb21tZW50SWQoKSB7IHJldHVybiB0aGlzLm1lc3NhZ2U/LmlkOyB9XHJcblxyXG5cclxuICAgIHJlcG9ydCgpIHtcclxuICAgICAgICB0aGlzLl9yZXBvcnRlZC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbGlrZSgpIHtcclxuICAgICAgICB0aGlzLl9saWtlZC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgdW5saWtlKCkge1xyXG4gICAgICAgIHRoaXMuX3VubGlrZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNoYXJlKCkge1xyXG4gICAgICAgIHRoaXMuX3NoYXJlZC5uZXh0KHRoaXMubWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0KCkge1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkLm5leHQoKTtcclxuICAgIH1cclxuXHJcblx0c2VsZWN0VXNlcigpIHtcclxuICAgICAgICB0aGlzLl91c2VyU2VsZWN0ZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdFVzZXJuYW1lKHVzZXI6IFVzZXIpIHtcclxuICAgICAgICB0aGlzLl91c2VybmFtZVNlbGVjdGVkLm5leHQodXNlcik7XHJcblx0XHR0aGlzLnNlbGVjdFVzZXIoKTtcclxuICAgIH1cclxuXHJcblx0c2VsZWN0QXZhdGFyKHVzZXI6IFVzZXIpIHtcclxuXHRcdHRoaXMuX2F2YXRhclNlbGVjdGVkLm5leHQodXNlcik7XHJcblx0XHR0aGlzLnNlbGVjdFVzZXIoKTtcclxuXHR9XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnbGlnaHRib3gnKSBsaWdodGJveDogTGlnaHRib3hDb21wb25lbnQ7XHJcblxyXG4gICAgc2hvd0xpZ2h0Ym94KGltYWdlOiBDaGF0TWVzc2FnZUF0dGFjaG1lbnQpIHtcclxuICAgICAgICB0aGlzLmxpZ2h0Ym94Lm9wZW4oXHJcbiAgICAgICAgICAgIGltYWdlLnVybCxcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlLmF0dGFjaG1lbnRzXHJcbiAgICAgICAgICAgICAgICAuZmlsdGVyKHggPT4geC50eXBlID09PSAnaW1hZ2UvcG5nJylcclxuICAgICAgICAgICAgICAgIC5tYXAoeCA9PiB4LnVybClcclxuICAgICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgYXZhdGFyRm9yVXNlcih1c2VyIDogVXNlcikge1xyXG4gICAgICAgIGxldCB1cmwgPSB0aGlzLmdlbmVyaWNBdmF0YXJVcmw7XHJcblxyXG4gICAgICAgIGlmICh1c2VyICYmIHVzZXIuYXZhdGFyVXJsKSB7XHJcbiAgICAgICAgICAgIHVybCA9IHVzZXIuYXZhdGFyVXJsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGB1cmwoJHt1cmx9KWA7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHJlcGx5Q291bnQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZS5zdWJtZXNzYWdlcz8ubGVuZ3RoIHx8IHRoaXMubWVzc2FnZS5zdWJtZXNzYWdlQ291bnQgfHwgMDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -20,6 +20,8 @@ import { CommentSortComponent } from "./comment-sort/comment-sort.component";
20
20
  import { MatSelectModule } from "@angular/material/select";
21
21
  import { AttachmentButtonComponent } from './attachment-button/attachment-button.component';
22
22
  import { BantaReplySendOptionsDirective } from './reply-send-options.directive';
23
+ import { OverlayModule } from '@angular/cdk/overlay';
24
+ import { PortalModule } from '@angular/cdk/portal';
23
25
  const COMPONENTS = [
24
26
  CommentComponent,
25
27
  CommentViewComponent,
@@ -48,9 +50,11 @@ CommentsModule.decorators = [
48
50
  BantaCommonModule,
49
51
  EmojiModule,
50
52
  MatTooltipModule,
51
- MatSelectModule
53
+ MatSelectModule,
54
+ OverlayModule,
55
+ PortalModule
52
56
  ],
53
57
  exports: COMPONENTS
54
58
  },] }
55
59
  ];
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2RrL3NyYy9saWIvY29tbWVudHMvY29tbWVudHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVoRixNQUFNLFVBQVUsR0FBRztJQUNmLGdCQUFnQjtJQUNoQixvQkFBb0I7SUFDcEIsc0JBQXNCO0lBQ3RCLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIsb0JBQW9CO0lBQ3BCLHlCQUF5QjtJQUN6Qiw4QkFBOEI7Q0FDakMsQ0FBQztBQXFCRixNQUFNLE9BQU8sY0FBYzs7O1lBbkIxQixRQUFRLFNBQUM7Z0JBQ04sWUFBWSxFQUFFLFVBQVU7Z0JBQzFCLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGVBQWU7b0JBQ2YsV0FBVztvQkFDWCxhQUFhO29CQUNiLGtCQUFrQjtvQkFDbEIsY0FBYztvQkFDZCxlQUFlO29CQUNmLGFBQWE7b0JBQ2Isd0JBQXdCO29CQUN4QixpQkFBaUI7b0JBQ2pCLFdBQVc7b0JBQ1gsZ0JBQWdCO29CQUNoQixlQUFlO2lCQUNoQjtnQkFDQyxPQUFPLEVBQUUsVUFBVTthQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbW1lbnQvY29tbWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tZW50Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vY29tbWVudC12aWV3L2NvbW1lbnQtdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYW50YUNvbW1lbnRzQ29tcG9uZW50IH0gZnJvbSAnLi9iYW50YS1jb21tZW50cy9iYW50YS1jb21tZW50cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQmFudGFDb21tb25Nb2R1bGUgfSBmcm9tICcuLi9jb21tb24nO1xyXG5pbXBvcnQgeyBMaXZlQ29tbWVudENvbXBvbmVudCB9IGZyb20gJy4vbGl2ZS1jb21tZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVtb2ppTW9kdWxlIH0gZnJvbSAnLi4vZW1vamknO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgVGV4dEZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RleHQtZmllbGQnO1xyXG5pbXBvcnQgeyBDb21tZW50RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2NvbW1lbnQtZmllbGQvY29tbWVudC1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge01hdFRvb2x0aXBNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQge0NvbW1lbnRTb3J0Q29tcG9uZW50fSBmcm9tIFwiLi9jb21tZW50LXNvcnQvY29tbWVudC1zb3J0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge01hdFNlbGVjdE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xyXG5pbXBvcnQgeyBBdHRhY2htZW50QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9hdHRhY2htZW50LWJ1dHRvbi9hdHRhY2htZW50LWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYW50YVJlcGx5U2VuZE9wdGlvbnNEaXJlY3RpdmUgfSBmcm9tICcuL3JlcGx5LXNlbmQtb3B0aW9ucy5kaXJlY3RpdmUnO1xyXG5cclxuY29uc3QgQ09NUE9ORU5UUyA9IFtcclxuICAgIENvbW1lbnRDb21wb25lbnQsXHJcbiAgICBDb21tZW50Vmlld0NvbXBvbmVudCxcclxuICAgIEJhbnRhQ29tbWVudHNDb21wb25lbnQsXHJcbiAgICBMaXZlQ29tbWVudENvbXBvbmVudCxcclxuICAgIENvbW1lbnRGaWVsZENvbXBvbmVudCxcclxuICAgIENvbW1lbnRTb3J0Q29tcG9uZW50LFxyXG4gICAgQXR0YWNobWVudEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEJhbnRhUmVwbHlTZW5kT3B0aW9uc0RpcmVjdGl2ZVxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogQ09NUE9ORU5UUyxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBUZXh0RmllbGRNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXHJcbiAgICBCYW50YUNvbW1vbk1vZHVsZSxcclxuICAgIEVtb2ppTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZVxyXG4gIF0sXHJcbiAgICBleHBvcnRzOiBDT01QT05FTlRTXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21tZW50c01vZHVsZSB7XHJcbn1cclxuIl19
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2RrL3NyYy9saWIvY29tbWVudHMvY29tbWVudHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5ELE1BQU0sVUFBVSxHQUFHO0lBQ2YsZ0JBQWdCO0lBQ2hCLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIsb0JBQW9CO0lBQ3BCLHFCQUFxQjtJQUNyQixvQkFBb0I7SUFDcEIseUJBQXlCO0lBQ3pCLDhCQUE4QjtDQUNqQyxDQUFDO0FBdUJGLE1BQU0sT0FBTyxjQUFjOzs7WUFyQjFCLFFBQVEsU0FBQztnQkFDTixZQUFZLEVBQUUsVUFBVTtnQkFDMUIsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osZUFBZTtvQkFDZixXQUFXO29CQUNYLGFBQWE7b0JBQ2Isa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYix3QkFBd0I7b0JBQ3hCLGlCQUFpQjtvQkFDakIsV0FBVztvQkFDWCxnQkFBZ0I7b0JBQ2hCLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixZQUFZO2lCQUNiO2dCQUNDLE9BQU8sRUFBRSxVQUFVO2FBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbWVudENvbXBvbmVudCB9IGZyb20gJy4vY29tbWVudC9jb21tZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1lbnRWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9jb21tZW50LXZpZXcvY29tbWVudC12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhbnRhQ29tbWVudHNDb21wb25lbnQgfSBmcm9tICcuL2JhbnRhLWNvbW1lbnRzL2JhbnRhLWNvbW1lbnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCYW50YUNvbW1vbk1vZHVsZSB9IGZyb20gJy4uL2NvbW1vbic7XHJcbmltcG9ydCB7IExpdmVDb21tZW50Q29tcG9uZW50IH0gZnJvbSAnLi9saXZlLWNvbW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRW1vamlNb2R1bGUgfSBmcm9tICcuLi9lbW9qaSc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBUZXh0RmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGV4dC1maWVsZCc7XHJcbmltcG9ydCB7IENvbW1lbnRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY29tbWVudC1maWVsZC9jb21tZW50LWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TWF0VG9vbHRpcE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7Q29tbWVudFNvcnRDb21wb25lbnR9IGZyb20gXCIuL2NvbW1lbnQtc29ydC9jb21tZW50LXNvcnQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7TWF0U2VsZWN0TW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0XCI7XHJcbmltcG9ydCB7IEF0dGFjaG1lbnRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2F0dGFjaG1lbnQtYnV0dG9uL2F0dGFjaG1lbnQtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhbnRhUmVwbHlTZW5kT3B0aW9uc0RpcmVjdGl2ZSB9IGZyb20gJy4vcmVwbHktc2VuZC1vcHRpb25zLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5cclxuY29uc3QgQ09NUE9ORU5UUyA9IFtcclxuICAgIENvbW1lbnRDb21wb25lbnQsXHJcbiAgICBDb21tZW50Vmlld0NvbXBvbmVudCxcclxuICAgIEJhbnRhQ29tbWVudHNDb21wb25lbnQsXHJcbiAgICBMaXZlQ29tbWVudENvbXBvbmVudCxcclxuICAgIENvbW1lbnRGaWVsZENvbXBvbmVudCxcclxuICAgIENvbW1lbnRTb3J0Q29tcG9uZW50LFxyXG4gICAgQXR0YWNobWVudEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEJhbnRhUmVwbHlTZW5kT3B0aW9uc0RpcmVjdGl2ZVxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogQ09NUE9ORU5UUyxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBUZXh0RmllbGRNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXHJcbiAgICBCYW50YUNvbW1vbk1vZHVsZSxcclxuICAgIEVtb2ppTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIE92ZXJsYXlNb2R1bGUsXHJcbiAgICBQb3J0YWxNb2R1bGVcclxuICBdLFxyXG4gICAgZXhwb3J0czogQ09NUE9ORU5UU1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tbWVudHNNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -1,101 +1,66 @@
1
1
  /// <reference types="@types/resize-observer-browser" />
2
- import { Component, ElementRef, HostBinding, Output, ViewChild } from '@angular/core';
2
+ import { Overlay } from '@angular/cdk/overlay';
3
+ import { TemplatePortal } from '@angular/cdk/portal';
4
+ import { Component, ElementRef, Output, ViewChild } from '@angular/core';
3
5
  import { Subject, Observable } from 'rxjs';
4
6
  export class EmojiSelectorButtonComponent {
5
- constructor(elementRef) {
7
+ constructor(elementRef, overlay) {
6
8
  this.elementRef = elementRef;
9
+ this.overlay = overlay;
7
10
  this._selected = new Subject();
8
11
  this.showEmojiPanel = false;
9
12
  }
10
13
  get selected() {
11
14
  return this._selected;
12
15
  }
13
- ngOnDestroy() {
14
- this.removeListener();
15
- this.panelElement.nativeElement.remove();
16
+ get isOpen() {
17
+ return this.overlayRef;
16
18
  }
17
- get widthConstrained() { return this.width < 700; }
18
- ngAfterViewInit() {
19
- }
20
- putPanelAtRoot() {
21
- // If we are in full-screen, placing the panel outside of the full-screen element will result in it
22
- // always being behind said full-screen element, so we need to ensure we never place it further up the
23
- // stack.
24
- let root = document.fullscreenElement || document.body.querySelector('[ng-version]') || document.body;
25
- root.appendChild(this.panelElement.nativeElement);
26
- }
27
- removeListener() {
28
- document.removeEventListener('click', this.clickListener);
29
- window.removeEventListener('resize', this.resizeListener);
19
+ /**
20
+ * Insert the given emoji.
21
+ * @param str
22
+ */
23
+ insert(str) {
24
+ this._selected.next(str);
30
25
  }
31
- place() {
32
- // Not currently used as it can't be easily done handling all
33
- // scrolling corner cases.
34
- this.putPanelAtRoot();
35
- let pos = this.buttonElement.nativeElement.getBoundingClientRect();
36
- let size = this.panelElement.nativeElement.getBoundingClientRect();
37
- let left = window.scrollX + pos.left + pos.width - size.width;
38
- if (left < 0)
39
- left = (window.scrollX + window.innerWidth) / 2 - size.width / 2;
40
- let scrollY = window.scrollY;
41
- if (document.fullscreenElement) {
26
+ close() {
27
+ if (this.overlayRef) {
28
+ this.overlayRef.dispose();
29
+ this.overlayRef = null;
30
+ return;
42
31
  }
43
- Object.assign(this.panelElement.nativeElement.style, {
44
- top: `${window.scrollY + pos.top + pos.height}px`,
45
- left: `${Math.max(0, left)}px`
46
- });
47
32
  }
48
33
  show() {
49
- if (this.showEmojiPanel) {
50
- this.showEmojiPanel = false;
51
- return;
34
+ if (this.isOpen) {
35
+ this.close();
52
36
  }
53
- this.showEmojiPanel = true;
54
- //this.place();
55
- setTimeout(() => {
56
- let onResize = () => {
57
- if (!this.showEmojiPanel)
58
- return;
59
- this.width = window.innerWidth;
60
- this.height = window.innerHeight;
61
- let edgeOffset = 0;
62
- let commentField = this.elementRef.nativeElement.closest(`banta-comment-field`);
63
- if (commentField) {
64
- let size = commentField.getBoundingClientRect();
65
- this.width = size.width;
66
- edgeOffset = window.innerWidth - size.right;
67
- }
68
- let buttonRect = this.buttonElement.nativeElement.getBoundingClientRect();
69
- let buttonRight = window.innerWidth - buttonRect.right - edgeOffset - 10;
70
- if (this.width < 700) {
71
- this.panelElement.nativeElement.style.right = `${-buttonRight}px`;
72
- }
73
- else {
74
- this.panelElement.nativeElement.style.right = '';
75
- }
76
- this.panelElement.nativeElement.style.maxWidth = `${this.width - 15}px`;
77
- };
78
- this.resizeListener = onResize;
79
- onResize();
80
- this.clickListener = (ev) => {
81
- let parent = ev.target;
82
- let isInDialog = false;
83
- while (parent) {
84
- if (parent.matches('emoji-selector-panel'))
85
- isInDialog = true;
86
- parent = parent.parentElement;
37
+ this.overlayRef = this.overlay.create({
38
+ positionStrategy: this.overlay.position()
39
+ .flexibleConnectedTo(this.elementRef)
40
+ .withPositions([
41
+ {
42
+ originX: 'end',
43
+ originY: 'bottom',
44
+ overlayX: 'end',
45
+ overlayY: 'top'
87
46
  }
88
- if (isInDialog)
89
- return;
90
- this.showEmojiPanel = false;
91
- this.removeListener();
92
- };
93
- document.addEventListener('click', this.clickListener);
94
- window.addEventListener('resize', this.resizeListener);
47
+ ])
48
+ .withFlexibleDimensions(true),
49
+ hasBackdrop: true,
50
+ disposeOnNavigation: true,
51
+ scrollStrategy: this.overlay.scrollStrategies.reposition({
52
+ autoClose: true
53
+ })
95
54
  });
96
- }
97
- insert(str) {
98
- this._selected.next(str);
55
+ this.overlayRef.backdropClick().subscribe(() => {
56
+ this.close();
57
+ });
58
+ this.overlayRef.keydownEvents().subscribe(event => {
59
+ if (event.key === 'Escape') {
60
+ this.close();
61
+ }
62
+ });
63
+ this.overlayRef.attach(this.selectorPanelTemplate);
99
64
  }
100
65
  }
101
66
  EmojiSelectorButtonComponent.decorators = [
@@ -105,11 +70,12 @@ EmojiSelectorButtonComponent.decorators = [
105
70
  <button #button type="button" mat-icon-button (click)="show()">
106
71
  <mat-icon>emoji_emotions</mat-icon>
107
72
  </button>
108
- <emoji-selector-panel
109
- #panel
110
- (selected)="insert($event)"
111
- [class.visible]="showEmojiPanel"
112
- ></emoji-selector-panel>
73
+ <ng-template cdkPortal #selectorPanelTemplate="cdkPortal">
74
+ <emoji-selector-panel
75
+ #panel
76
+ (selected)="insert($event)"
77
+ ></emoji-selector-panel>
78
+ </ng-template>
113
79
  `,
114
80
  styles: [`
115
81
  :host {
@@ -117,20 +83,6 @@ EmojiSelectorButtonComponent.decorators = [
117
83
  position: relative;
118
84
  }
119
85
 
120
- emoji-selector-panel {
121
- position: absolute;
122
- top: 2.5em;
123
- right: 0;
124
- opacity: 0;
125
- pointer-events: none;
126
- z-index: 10;
127
- }
128
-
129
- emoji-selector-panel.visible {
130
- pointer-events: initial;
131
- opacity: 1;
132
- }
133
-
134
86
  button {
135
87
  color: #666
136
88
  }
@@ -138,12 +90,11 @@ EmojiSelectorButtonComponent.decorators = [
138
90
  },] }
139
91
  ];
140
92
  EmojiSelectorButtonComponent.ctorParameters = () => [
141
- { type: ElementRef }
93
+ { type: ElementRef },
94
+ { type: Overlay }
142
95
  ];
143
96
  EmojiSelectorButtonComponent.propDecorators = {
144
- selected: [{ type: Output }],
145
- panelElement: [{ type: ViewChild, args: ['panel', { read: ElementRef },] }],
146
- buttonElement: [{ type: ViewChild, args: ['button', { read: ElementRef },] }],
147
- widthConstrained: [{ type: HostBinding, args: ['class.width-constrained',] }]
97
+ selectorPanelTemplate: [{ type: ViewChild, args: ['selectorPanelTemplate',] }],
98
+ selected: [{ type: Output }]
148
99
  };
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1vamktc2VsZWN0b3ItYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Nkay9zcmMvbGliL2Vtb2ppL2Vtb2ppLXNlbGVjdG9yLWJ1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBRXhELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBdUMzQyxNQUFNLE9BQU8sNEJBQTRCO0lBQ3JDLFlBQW9CLFVBQW1DO1FBQW5DLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBSS9DLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBRzFDLG1CQUFjLEdBQUcsS0FBSyxDQUFDO0lBTHZCLENBQUM7SUFPRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQVFELFdBQVc7UUFDUCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUtELElBQ0ksZ0JBQWdCLEtBQUssT0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFbkQsZUFBZTtJQUNmLENBQUM7SUFFTyxjQUFjO1FBQ2xCLG9HQUFvRztRQUNwRyx1R0FBdUc7UUFDdkcsU0FBUztRQUVULElBQUksSUFBSSxHQUFHLFFBQVEsQ0FBQyxpQkFBaUIsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3RHLElBQUksQ0FBQyxXQUFXLENBQUMs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O1lBL0tKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxRQUFRLEVBQUU7Ozs7Ozs7OztLQVNUO3lCQUNROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXVCUjthQUNKOzs7WUF2Q21CLFVBQVU7Ozt1QkFrRHpCLE1BQU07MkJBS04sU0FBUyxTQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7NEJBR3ZDLFNBQVMsU0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFOytCQVd4QyxXQUFXLFNBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJAdHlwZXMvcmVzaXplLW9ic2VydmVyLWJyb3dzZXJcIiAvPlxyXG5cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Vtb2ppLXNlbGVjdG9yLWJ1dHRvbicsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxidXR0b24gI2J1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJzaG93KClcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uPmVtb2ppX2Vtb3Rpb25zPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8ZW1vamktc2VsZWN0b3ItcGFuZWwgXHJcbiAgICAgICAgICAgICNwYW5lbFxyXG4gICAgICAgICAgICAoc2VsZWN0ZWQpPVwiaW5zZXJ0KCRldmVudClcIlxyXG4gICAgICAgICAgICBbY2xhc3MudmlzaWJsZV09XCJzaG93RW1vamlQYW5lbFwiXHJcbiAgICAgICAgICAgID48L2Vtb2ppLXNlbGVjdG9yLXBhbmVsPlxyXG4gICAgYCxcclxuICAgIHN0eWxlczogW2BcclxuICAgICAgICA6aG9zdCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlbW9qaS1zZWxlY3Rvci1wYW5lbCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAyLjVlbTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGVtb2ppLXNlbGVjdG9yLXBhbmVsLnZpc2libGUge1xyXG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNjY2XHJcbiAgICAgICAgfVxyXG4gICAgYF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVtb2ppU2VsZWN0b3JCdXR0b25Db21wb25lbnQge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zZWxlY3RlZCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICAgIHByaXZhdGUgY2xpY2tMaXN0ZW5lciA6IGFueTtcclxuICAgIHByaXZhdGUgcmVzaXplTGlzdGVuZXIgOiBhbnk7XHJcbiAgICBzaG93RW1vamlQYW5lbCA9IGZhbHNlO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgZ2V0IHNlbGVjdGVkKCkgOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcclxuICAgIH1cclxuXHJcbiAgICBAVmlld0NoaWxkKCdwYW5lbCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxyXG4gICAgcGFuZWxFbGVtZW50IDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnYnV0dG9uJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXHJcbiAgICBidXR0b25FbGVtZW50IDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5yZW1vdmVMaXN0ZW5lcigpO1xyXG4gICAgICAgIHRoaXMucGFuZWxFbGVtZW50Lm5hdGl2ZUVsZW1lbnQucmVtb3ZlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB3aWR0aDogbnVtYmVyO1xyXG4gICAgcHJpdmF0ZSBoZWlnaHQ6IG51bWJlcjtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLndpZHRoLWNvbnN0cmFpbmVkJylcclxuICAgIGdldCB3aWR0aENvbnN0cmFpbmVkKCkgeyByZXR1cm4gdGhpcy53aWR0aCA8IDcwMDsgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHB1dFBhbmVsQXRSb290KCkge1xyXG4gICAgICAgIC8vIElmIHdlIGFyZSBpbiBmdWxsLXNjcmVlbiwgcGxhY2luZyB0aGUgcGFuZWwgb3V0c2lkZSBvZiB0aGUgZnVsbC1zY3JlZW4gZWxlbWVudCB3aWxsIHJlc3VsdCBpbiBpdCBcclxuICAgICAgICAvLyBhbHdheXMgYmVpbmcgYmVoaW5kIHNhaWQgZnVsbC1zY3JlZW4gZWxlbWVudCwgc28gd2UgbmVlZCB0byBlbnN1cmUgd2UgbmV2ZXIgcGxhY2UgaXQgZnVydGhlciB1cCB0aGUgXHJcbiAgICAgICAgLy8gc3RhY2suXHJcbiAgICAgICAgXHJcbiAgICAgICAgbGV0IHJvb3QgPSBkb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudCB8fCBkb2N1bWVudC5ib2R5LnF1ZXJ5U2VsZWN0b3IoJ1tuZy12ZXJzaW9uXScpIHx8IGRvY3VtZW50LmJvZHk7XHJcbiAgICAgICAgcm9vdC5hcHBlbmRDaGlsZCh0aGlzLnBhbmVsRWxlbWVudC5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlbW92ZUxpc3RlbmVyKCkge1xyXG4gICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5jbGlja0xpc3RlbmVyKTtcclxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemVMaXN0ZW5lcik7XHJcbiAgICB9XHJcblxyXG4gICAgcGxhY2UoKSB7XHJcbiAgICAgICAgLy8gTm90IGN1cnJlbnRseSB1c2VkIGFzIGl0IGNhbid0IGJlIGVhc2lseSBkb25lIGhhbmRsaW5nIGFsbCBcclxuICAgICAgICAvLyBzY3JvbGxpbmcgY29ybmVyIGNhc2VzLlxyXG5cclxuICAgICAgICB0aGlzLnB1dFBhbmVsQXRSb290KCk7XHJcbiAgICAgICAgbGV0IHBvcyA9IHRoaXMuYnV0dG9uRWxlbWVudC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgIGxldCBzaXplID0gdGhpcy5wYW5lbEVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICBsZXQgbGVmdCA9IHdpbmRvdy5zY3JvbGxYICsgcG9zLmxlZnQgKyBwb3Mud2lkdGggLSBzaXplLndpZHRoO1xyXG4gICAgICAgIGlmIChsZWZ0IDwgMClcclxuICAgICAgICAgICAgbGVmdCA9ICh3aW5kb3cuc2Nyb2xsWCArIHdpbmRvdy5pbm5lcldpZHRoKSAvIDIgLSBzaXplLndpZHRoIC8gMjtcclxuICAgICAgICBsZXQgc2Nyb2xsWSA9IHdpbmRvdy5zY3JvbGxZO1xyXG4gICAgICAgIGlmIChkb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudCkge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24oXHJcbiAgICAgICAgICAgIHRoaXMucGFuZWxFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHRvcDogYCR7d2luZG93LnNjcm9sbFkgKyBwb3MudG9wICsgcG9zLmhlaWdodH1weGAsXHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBgJHtNYXRoLm1heCgwLCBsZWZ0KX1weGBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgc2hvdygpIHtcclxuICAgICAgICBpZiAodGhpcy5zaG93RW1vamlQYW5lbCkge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dFbW9qaVBhbmVsID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2hvd0Vtb2ppUGFuZWwgPSB0cnVlO1xyXG4gICAgICAgIC8vdGhpcy5wbGFjZSgpO1xyXG5cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgbGV0IG9uUmVzaXplID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnNob3dFbW9qaVBhbmVsKVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIHRoaXMud2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xyXG5cclxuICAgICAgICAgICAgICAgIGxldCBlZGdlT2Zmc2V0ID0gMDtcclxuICAgICAgICAgICAgICAgIGxldCBjb21tZW50RmllbGQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbG9zZXN0KGBiYW50YS1jb21tZW50LWZpZWxkYCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoY29tbWVudEZpZWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHNpemUgPSBjb21tZW50RmllbGQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53aWR0aCA9IHNpemUud2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgZWRnZU9mZnNldCA9IHdpbmRvdy5pbm5lcldpZHRoIC0gc2l6ZS5yaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBsZXQgYnV0dG9uUmVjdCA9IHRoaXMuYnV0dG9uRWxlbWVudC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgICAgICAgICAgbGV0IGJ1dHRvblJpZ2h0ID0gd2luZG93LmlubmVyV2lkdGggLSBidXR0b25SZWN0LnJpZ2h0IC0gZWRnZU9mZnNldCAtIDEwO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLndpZHRoIDwgNzAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYW5lbEVsZW1lbnQubmF0aXZlRWxlbWVudC5zdHlsZS5yaWdodCA9IGAkey1idXR0b25SaWdodH1weGA7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFuZWxFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUucmlnaHQgPSAnJztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhbmVsRWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLm1heFdpZHRoID0gYCR7dGhpcy53aWR0aCAtIDE1fXB4YDtcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMucmVzaXplTGlzdGVuZXIgPSBvblJlc2l6ZTtcclxuICAgICAgICAgICAgb25SZXNpemUoKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuY2xpY2tMaXN0ZW5lciA9IChldiA6IE1vdXNlRXZlbnQpID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICBsZXQgcGFyZW50ID0gPEhUTUxFbGVtZW50PiBldi50YXJnZXQ7XHJcbiAgICAgICAgICAgICAgICBsZXQgaXNJbkRpYWxvZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB3aGlsZSAocGFyZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBhcmVudC5tYXRjaGVzKCdlbW9qaS1zZWxlY3Rvci1wYW5lbCcpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0luRGlhbG9nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudEVsZW1lbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGlzSW5EaWFsb2cpXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd0Vtb2ppUGFuZWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlTGlzdGVuZXIoKTtcclxuICAgICAgICAgICAgfTtcclxuICAgIFxyXG4gICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuY2xpY2tMaXN0ZW5lcik7XHJcbiAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnJlc2l6ZUxpc3RlbmVyKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpbnNlcnQoc3RyKSB7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQubmV4dChzdHIpO1xyXG4gICAgfVxyXG59Il19
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1vamktc2VsZWN0b3ItYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Nkay9zcmMvbGliL2Vtb2ppL2Vtb2ppLXNlbGVjdG9yLWJ1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBRXhELE9BQU8sRUFBcUMsT0FBTyxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDOUYsT0FBTyxFQUFtQixjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBZSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBMkIzQyxNQUFNLE9BQU8sNEJBQTRCO0lBQ3JDLFlBQ1ksVUFBbUMsRUFDbkMsT0FBZ0I7UUFEaEIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQU1wQixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUMxQyxtQkFBYyxHQUFHLEtBQUssQ0FBQztJQUx2QixDQUFDO0lBT0QsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFJRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxHQUFHO1FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixPQUFPO1NBQ1Y7SUFDTCxDQUFDO0lBRUQsSUFBSTtRQUNBLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNiLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoQjtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDbEMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7aUJBQ3BDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7aUJBQ3BDLGFBQWEsQ0FBQztnQkFDWDtvQkFDSSxPQUFPLEVBQUUsS0FBSztvQkFDZCxPQUFPLEVBQUUsUUFBUTtvQkFDakIsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsUUFBUSxFQUFFLEtBQUs7aUJBQ2xCO2FBQ0osQ0FBQztpQkFDRCxzQkFBc0IsQ0FBQyxJQUFJLENBQUM7WUFDakMsV0FBVyxFQUFFLElBQUk7WUFDakIsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUM7Z0JBQ3JELFNBQVMsRUFBRSxJQUFJO2FBQ2xCLENBQUM7U0FDTCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDM0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDOUMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVEsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ2hCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN2RCxDQUFDOzs7WUFqR0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLFFBQVEsRUFBRTs7Ozs7Ozs7OztLQVVUO3lCQUNROzs7Ozs7Ozs7S0FTUjthQUNKOzs7WUEzQm1CLFVBQVU7WUFGYyxPQUFPOzs7b0NBcUM5QyxTQUFTLFNBQUMsdUJBQXVCO3VCQUtqQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJAdHlwZXMvcmVzaXplLW9ic2VydmVyLWJyb3dzZXJcIiAvPlxyXG5cclxuaW1wb3J0IHsgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LCBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRW1vamlTZWxlY3RvclBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9lbW9qaS1zZWxlY3Rvci1wYW5lbC9lbW9qaS1zZWxlY3Rvci1wYW5lbC5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Vtb2ppLXNlbGVjdG9yLWJ1dHRvbicsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxidXR0b24gI2J1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJzaG93KClcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uPmVtb2ppX2Vtb3Rpb25zPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgY2RrUG9ydGFsICNzZWxlY3RvclBhbmVsVGVtcGxhdGU9XCJjZGtQb3J0YWxcIj5cclxuICAgICAgICAgICAgPGVtb2ppLXNlbGVjdG9yLXBhbmVsIFxyXG4gICAgICAgICAgICAgICAgI3BhbmVsXHJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWQpPVwiaW5zZXJ0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgPjwvZW1vamktc2VsZWN0b3ItcGFuZWw+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIGAsXHJcbiAgICBzdHlsZXM6IFtgXHJcbiAgICAgICAgOmhvc3Qge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgY29sb3I6ICM2NjZcclxuICAgICAgICB9XHJcbiAgICBgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRW1vamlTZWxlY3RvckJ1dHRvbkNvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheVxyXG4gICAgKSB7XHJcbiAgICB9XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnc2VsZWN0b3JQYW5lbFRlbXBsYXRlJykgc2VsZWN0b3JQYW5lbFRlbXBsYXRlOiBUZW1wbGF0ZVBvcnRhbDxhbnk+O1xyXG5cclxuICAgIHByaXZhdGUgX3NlbGVjdGVkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gICAgc2hvd0Vtb2ppUGFuZWwgPSBmYWxzZTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIGdldCBzZWxlY3RlZCgpIDogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmO1xyXG5cclxuICAgIGdldCBpc09wZW4oKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheVJlZjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEluc2VydCB0aGUgZ2l2ZW4gZW1vamkuXHJcbiAgICAgKiBAcGFyYW0gc3RyIFxyXG4gICAgICovXHJcbiAgICBpbnNlcnQoc3RyKSB7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQubmV4dChzdHIpO1xyXG4gICAgfVxyXG5cclxuICAgIGNsb3NlKCkge1xyXG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcclxuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcclxuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gbnVsbDtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzaG93KCkge1xyXG4gICAgICAgIGlmICh0aGlzLmlzT3Blbikge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5vdmVybGF5LnBvc2l0aW9uKClcclxuICAgICAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuZWxlbWVudFJlZilcclxuICAgICAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKFtcclxuICAgICAgICAgICAgICAgICAgICB7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5YOiAnZW5kJywgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJ1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIF0pXHJcbiAgICAgICAgICAgICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyh0cnVlKSxcclxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgICAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKHtcclxuICAgICAgICAgICAgICAgIGF1dG9DbG9zZTogdHJ1ZVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICB9KVxyXG5cclxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYua2V5ZG93bkV2ZW50cygpLnN1YnNjcmliZShldmVudCA9PiB7XHJcbiAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRoaXMuc2VsZWN0b3JQYW5lbFRlbXBsYXRlKTtcclxuICAgIH1cclxufSJdfQ==
@@ -7,6 +7,8 @@ import { MatButtonModule } from '@angular/material/button';
7
7
  import { MatFormFieldModule } from '@angular/material/form-field';
8
8
  import { MatInputModule } from '@angular/material/input';
9
9
  import { FormsModule } from '@angular/forms';
10
+ import { OverlayModule } from '@angular/cdk/overlay';
11
+ import { PortalModule } from '@angular/cdk/portal';
10
12
  const COMPONENTS = [
11
13
  EmojiSelectorPanelComponent,
12
14
  EmojiSelectorButtonComponent
@@ -22,9 +24,11 @@ EmojiModule.decorators = [
22
24
  MatIconModule,
23
25
  MatButtonModule,
24
26
  MatFormFieldModule,
25
- MatInputModule
27
+ MatInputModule,
28
+ OverlayModule,
29
+ PortalModule
26
30
  ],
27
31
  exports: COMPONENTS
28
32
  },] }
29
33
  ];
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1vamkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2RrL3NyYy9saWIvZW1vamkvZW1vamkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxNQUFNLFVBQVUsR0FBRztJQUNmLDJCQUEyQjtJQUMzQiw0QkFBNEI7Q0FDL0IsQ0FBQztBQWNGLE1BQU0sT0FBTyxXQUFXOzs7WUFadkIsUUFBUSxTQUFDO2dCQUNOLFlBQVksRUFBRSxVQUFVO2dCQUN4QixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixXQUFXO29CQUNYLGFBQWE7b0JBQ2IsZUFBZTtvQkFDZixrQkFBa0I7b0JBQ2xCLGNBQWM7aUJBQ2pCO2dCQUNELE9BQU8sRUFBRSxVQUFVO2FBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRW1vamlTZWxlY3RvclBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9lbW9qaS1zZWxlY3Rvci1wYW5lbC9lbW9qaS1zZWxlY3Rvci1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBFbW9qaVNlbGVjdG9yQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9lbW9qaS1zZWxlY3Rvci1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuY29uc3QgQ09NUE9ORU5UUyA9IFtcclxuICAgIEVtb2ppU2VsZWN0b3JQYW5lbENvbXBvbmVudCxcclxuICAgIEVtb2ppU2VsZWN0b3JCdXR0b25Db21wb25lbnRcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IENPTVBPTkVOVFMsXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgICAgICBNYXRJbnB1dE1vZHVsZVxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IENPTVBPTkVOVFNcclxufSlcclxuZXhwb3J0IGNsYXNzIEVtb2ppTW9kdWxlIHtcclxuXHJcbn0iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1vamkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2RrL3NyYy9saWIvZW1vamkvZW1vamkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5ELE1BQU0sVUFBVSxHQUFHO0lBQ2YsMkJBQTJCO0lBQzNCLDRCQUE0QjtDQUMvQixDQUFDO0FBZ0JGLE1BQU0sT0FBTyxXQUFXOzs7WUFkdkIsUUFBUSxTQUFDO2dCQUNOLFlBQVksRUFBRSxVQUFVO2dCQUN4QixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixXQUFXO29CQUNYLGFBQWE7b0JBQ2IsZUFBZTtvQkFDZixrQkFBa0I7b0JBQ2xCLGNBQWM7b0JBQ2QsYUFBYTtvQkFDYixZQUFZO2lCQUNmO2dCQUNELE9BQU8sRUFBRSxVQUFVO2FBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRW1vamlTZWxlY3RvclBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9lbW9qaS1zZWxlY3Rvci1wYW5lbC9lbW9qaS1zZWxlY3Rvci1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBFbW9qaVNlbGVjdG9yQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9lbW9qaS1zZWxlY3Rvci1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuXHJcbmNvbnN0IENPTVBPTkVOVFMgPSBbXHJcbiAgICBFbW9qaVNlbGVjdG9yUGFuZWxDb21wb25lbnQsXHJcbiAgICBFbW9qaVNlbGVjdG9yQnV0dG9uQ29tcG9uZW50XHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBDT01QT05FTlRTLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBGb3Jtc01vZHVsZSxcclxuICAgICAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICAgICAgT3ZlcmxheU1vZHVsZSxcclxuICAgICAgICBQb3J0YWxNb2R1bGVcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBDT01QT05FTlRTXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbW9qaU1vZHVsZSB7XHJcblxyXG59Il19