{"version":3,"sources":["src/app/routes/user/availability/user-availability.component.ts","src/app/routes/user/availability/user-availability.component.html","node_modules/primeng/fesm2022/primeng-selectbutton.mjs","node_modules/primeng/fesm2022/primeng-toggleswitch.mjs","node_modules/primeng/fesm2022/primeng-scrollpanel.mjs","node_modules/primeng/fesm2022/primeng-divider.mjs","src/app/shared/components/fm-avatar/fm-avatar.component.ts","src/app/shared/components/fm-avatar/fm-avatar.component.html","node_modules/primeng/fesm2022/primeng-menu.mjs","node_modules/primeng/fesm2022/primeng-tag.mjs","src/app/user-actions/components/actions-menu/actions-menu.component.ts","src/app/user-actions/components/actions-menu/actions-menu.component.html","src/app/shared/components/display-timezone-local-time/display-timezone-local-time.component.ts","src/app/shared/components/display-timezone-local-time/display-timezone-local-time.component.html","src/app/right-panel/components/rp-user-profile/rp-user-profile.component.ts","src/app/right-panel/components/rp-user-profile/rp-user-profile.component.html","src/app/routes/user/components/user-profile/user-profile.component.ts","src/app/routes/user/components/user-profile/user-profile.component.html","src/app/routes/user/profile-container/profile-container.component.ts","src/app/routes/user/profile-container/profile-container.component.html","src/app/core/_services/content-stack.service.ts","src/app/routes/availability/favorites/components/actions-menu-availability-list/actions-menu-availability-list.component.ts","src/app/routes/availability/favorites/components/actions-menu-availability-list/actions-menu-availability-list.component.html","src/app/routes/user/availability/components/user-availability-list-item/user-availability-list-item.component.ts","src/app/routes/user/availability/components/user-availability-list-item/user-availability-list-item.component.html"],"sourcesContent":["import { Component, HostListener, Input, OnInit, SimpleChange } from '@angular/core'\nimport { ActivatedRoute, RouterModule } from '@angular/router'\nimport { UserService } from '@app/core/_services/user.service'\nimport { firstValueFrom, forkJoin, Subject } from 'rxjs'\nimport { take, takeUntil } from 'rxjs/operators'\nimport { User } from '@app/core/_models/user'\nimport moment from 'moment-timezone/builds/moment-timezone-with-data-10-year-range.min'\nimport { BookSessionsService, BookSessionInfo } from '@app/core/_services/book-sessions.service'\nimport { UtilsService } from '@app/core/_services/utils.service'\nimport { faRefresh } from '@fortawesome/pro-solid-svg-icons'\n\nimport {\n BookSessionPreferences,\n BookSessionsResponse,\n ConfirmedSessionsResponse,\n SESSION_ACTIVITY_TYPE_ANYTHING,\n SESSION_DURATION_25_MINS,\n SESSION_DURATION_50_MINS,\n SESSION_DURATION_75_MINS,\n SavedUserAvailabilityResponse,\n SessionActivityType,\n UserProfileInfo,\n} from '@app/core/_models'\nimport { BookingSource, SessionTileSource } from '@app/core/_services/analytics.service'\nimport { DialogService } from '@app/core/_services/dialog.service'\nimport { UserAvailabiltyService } from '@app/core/_services/user-availabilty.service'\nimport { CancelSessionService, ConfirmedSessionsService } from '@app/core/_services'\nimport { TimeUtilitiesService } from '@app/core/_services/time-utilities.service'\nimport {\n SessionStateService,\n SESSION_STATE_DIRECT_BOOKER,\n} from '@app/core/_services/session-state.service'\nimport {\n DURATION_FILTER_INCLUDE_25,\n DURATION_FILTER_INCLUDE_50,\n DURATION_FILTER_INCLUDE_75,\n DURATION_FILTER_INCLUDE_ALL,\n} from '@app/shared-availability-list/components/availability-list-controls/availability-list-controls.component'\nimport {\n AvailabilityListBookSession,\n AvailabilityListCancelSession,\n AvailabilityListSelectedSession,\n AvailabilitySessionListItem,\n} from '@app/shared-availability-list/components/availability-list-item/availability-list-item.component'\nimport { UserDateFormattingService } from '@app/core/_services/user-date-formatting.service'\nimport { CommonModule } from '@angular/common'\nimport { FormsModule } from '@angular/forms'\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\nimport { SelectModule } from 'primeng/select'\nimport { SelectButtonChangeEvent, SelectButtonModule } from 'primeng/selectbutton'\nimport { ToggleSwitchChangeEvent, ToggleSwitchModule } from 'primeng/toggleswitch'\nimport { ScrollPanelModule } from 'primeng/scrollpanel'\nimport { DividerModule } from 'primeng/divider'\nimport { UserProfileService } from '@app/core/_services/user-profile.service'\nimport { UserAvailabilityListItemComponent } from './components/user-availability-list-item/user-availability-list-item.component'\nimport { ContentStackService } from '@app/core/_services/content-stack.service'\nimport { FmAvatarComponent } from '@app/shared/components/fm-avatar/fm-avatar.component'\n\nconst SESSION_DURATION_50_MINS_LABEL: string = '50m'\nconst SESSION_DURATION_25_MINS_LABEL: string = '25m'\nconst SESSION_DURATION_75_MINS_LABEL: string = '75m'\n\ninterface AvailabilitySessionList {\n dateLabel: string\n sessions: AvailabilitySessionListItem[]\n}\n\ntype AvailabilityListContentState = 'loading' | 'emptyList' | 'validList'\n\ninterface DurationOption {\n labelDropdown: string\n labelButton: string\n value: number\n}\n\nconst DURATION_OPTIONS: DurationOption[] = [\n { labelDropdown: 'All durations', labelButton: 'All', value: DURATION_FILTER_INCLUDE_ALL },\n { labelDropdown: '25 minutes', labelButton: '25m', value: DURATION_FILTER_INCLUDE_25 },\n { labelDropdown: '50 minutes', labelButton: '50m', value: DURATION_FILTER_INCLUDE_50 },\n { labelDropdown: '75 minutes', labelButton: '75m', value: DURATION_FILTER_INCLUDE_75 },\n]\n\n@Component({\n selector: 'fm-user-availability',\n templateUrl: './user-availability.component.html',\n styleUrls: ['./user-availability.component.scss'],\n imports: [\n FmAvatarComponent,\n RouterModule,\n UserAvailabilityListItemComponent,\n CommonModule,\n FormsModule,\n FontAwesomeModule,\n SelectModule,\n SelectButtonModule,\n ToggleSwitchModule,\n ScrollPanelModule,\n DividerModule,\n ],\n standalone: true,\n})\nexport class UserAvailabilityListComponent implements OnInit {\n @Input() dynamicPanel: boolean = false\n @Input() profileSlug: string\n\n private ngUnsubscribe: Subject = new Subject()\n\n public currentUser: User\n public memberProfile: UserProfileInfo\n public userAvailability: SavedUserAvailabilityResponse\n public invalidUser: boolean = false\n public listContentState: AvailabilityListContentState = 'loading'\n\n public filteredSessionList: AvailabilitySessionList[] = new Array()\n public completeList: AvailabilitySessionListItem[] = []\n public selectedSession: number = 0\n public disableBookSessions: boolean = false\n public viewingSelf: boolean\n public selectedQuietMode: boolean = false\n\n public selectedOption = DURATION_FILTER_INCLUDE_ALL\n public durationOptions = DURATION_OPTIONS\n public selectedDurationOption = this.durationOptions[0]\n\n public faRefresh = faRefresh\n constructor(\n public userService: UserService,\n private userAvailabiltyService: UserAvailabiltyService,\n private route: ActivatedRoute,\n private bookSessionService: BookSessionsService,\n private dialogService: DialogService,\n private utilsService: UtilsService,\n private confirmedSessionsService: ConfirmedSessionsService,\n private cancelSessionService: CancelSessionService,\n private timeUtils: TimeUtilitiesService,\n private sessionStateService: SessionStateService,\n private dateFormat: UserDateFormattingService,\n private userProfileService: UserProfileService,\n private contentStackService: ContentStackService,\n ) {}\n\n @HostListener('click')\n clicked() {\n this.selectedSession = 0\n }\n\n ngOnChanges(changes: SimpleChange): void {\n if (changes['profileSlug']) {\n if (!changes['profileSlug'].isFirstChange()) {\n this.ngUnsubscribe.next(null)\n this.ngUnsubscribe.complete()\n this.populateMemberProfile()\n }\n }\n }\n\n ngOnInit(): void {\n this.userService.currentUser.pipe(take(1)).subscribe({\n next: (user) => {\n this.currentUser = user\n this.populateMemberProfile()\n },\n })\n }\n\n private populateMemberProfile(): void {\n this.userProfileService.userProfile.pipe(take(1)).subscribe({\n next: (userProfile) => {\n // In the case that the user profile was already loaded and user\n // selected to view availability, not need to re-fetch it\n if (this.profileSlug && userProfile.profileUrl === this.profileSlug) {\n this.memberProfile = userProfile\n this.continueInit()\n } else if (this.dynamicPanel) {\n // User selected to go directly to a user's availability without first\n // loadig the profile. Get the profile first\n // TODO: Optimize this to not require two queries\n this.userProfileService\n .getUserProfile(this.profileSlug)\n .subscribe((userProfile) => {\n this.memberProfile = userProfile\n this.continueInit()\n })\n } else {\n // Loading in main panel, the resolver should have ran already\n this.memberProfile = this.route.snapshot.data['memberProfile']\n this.continueInit()\n }\n },\n })\n }\n\n private continueInit() {\n if (this.memberProfile.uid === this.currentUser.userId) {\n this.disableBookSessions = true\n }\n this.viewingSelf = this.memberProfile.uid === this.currentUser.userId\n\n this.queryUserAvailability()\n\n this.contentStackService.refresh$.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => {\n this.queryUserAvailability()\n })\n }\n\n reloadSelect() {\n this.queryUserAvailability()\n }\n\n onQuietModeChanged(e) {\n this.selectedQuietMode = e\n this.populateSessionList()\n }\n\n onQuietModeToggleSwtichChange(event: ToggleSwitchChangeEvent): void {\n this.selectedQuietMode = event.checked\n if (this.listContentState !== 'loading') {\n this.populateSessionList()\n }\n }\n\n onDurationDropDownChanged(event: SelectButtonChangeEvent): void {\n this.selectedDurationOption = this.durationOptions.find(\n (element) => element.value == event.value,\n )\n if (this.selectedOption !== event.value) {\n this.selectedOption = event.value\n this.populateSessionList()\n }\n }\n\n durationFilterSelected(value: number): void {\n if (this.selectedOption !== value) {\n this.selectedOption = value\n this.populateSessionList()\n }\n }\n\n private queryUserAvailability() {\n this.listContentState = 'loading'\n\n this.userAvailabiltyService.getUserSharedAvailability(this.memberProfile.uid).subscribe({\n next: (v) => this.receivedUserAvailability(v),\n error: (e) => this.receivedUserAvailabilityError(e),\n })\n }\n\n private receivedUserAvailability(userAvailability: SavedUserAvailabilityResponse) {\n this.userAvailability = userAvailability\n this.removeAvailableSessionsFromList()\n\n for (let meeting of this.userAvailability.availability.meetings) {\n const timeLabel = this.dateFormat.format(\n meeting.sessionTime,\n 'h:mma',\n this.currentUser.timeZone,\n )\n\n this.completeList.push({\n timeLabel,\n externalId: null,\n sessionTime: meeting.sessionTime,\n sessionDuration: meeting.duration,\n sessionDurationLabel: this.getSessionDurationLabel(meeting.duration),\n actionComplete: false,\n confirmed: false,\n cancelConfirm: false,\n sharedAvailability: true,\n saved: true,\n partnerProfileSlug: this.userAvailability.availability.profileUrl,\n partnerDisplayName: this.userAvailability.availability.displayName,\n sessionState: null,\n partnerUserId: this.memberProfile.uid,\n profilePhoto: this.userAvailability.availability.profilePhoto,\n activityType: meeting.activityType,\n quietModeMatchAllowed: this.userAvailability.availability.quietModeMatchAllowed,\n partnerPreferences: meeting.preferences,\n })\n }\n\n this.queryUserConfirmedSessions()\n }\n\n private queryUserConfirmedSessions() {\n this.confirmedSessionsService.getConfirmedSessions().subscribe({\n next: (v) => this.receivedConfirmedSessions(v),\n error: (e) => this.receivedConfirmedSessions([]),\n })\n }\n\n private receivedUserAvailabilityError(e) {\n this.invalidUser = true\n }\n\n private receivedConfirmedSessions(confirmedSesions: ConfirmedSessionsResponse[]) {\n let confirmedList: ConfirmedSessionsResponse[] = confirmedSesions || []\n this.removeConfirmedSessionsFromList()\n\n for (let session of confirmedList) {\n if (\n session.partnerId === this.memberProfile.uid &&\n !this.utilsService.hasSessionTimePassed(\n session.sessionTime,\n this.utilsService.getCurrentTimestamp(),\n ) &&\n this.sessionStateService.isLockedInState(session.state)\n ) {\n const timeLabel = this.dateFormat.format(\n session.sessionTime,\n 'h:mma',\n this.currentUser.timeZone,\n )\n\n this.completeList.push({\n timeLabel: timeLabel,\n externalId: session.externalId,\n sessionTime: session.sessionTime,\n sessionDuration: session.duration,\n sessionDurationLabel: this.getSessionDurationLabel(session.duration),\n actionComplete: false,\n confirmed: true,\n cancelConfirm: false,\n profilePhoto: session.partnerPhoto,\n partnerUserId: session.partnerId,\n partnerDisplayName: session.partnerDisplayName,\n partnerProfileSlug: session.partnerProfileUrl,\n saved: session.saved,\n sharedAvailability: session.sharedAvailability,\n sessionState: session.state,\n activityType: session.activityType,\n quietModeMatchAllowed: true, // We do not receive this info currently from the API, default to true as it won't have any effect here\n partnerPreferences: session.partnerPreferences,\n })\n }\n }\n this.populateSessionList()\n }\n\n private removeConfirmedSessionsFromList() {\n this.completeList = this.completeList.filter((session) => session.confirmed !== true)\n }\n\n private removeAvailableSessionsFromList() {\n this.completeList = this.completeList.filter((session) => session.confirmed !== false)\n }\n\n private filterSessionBasedOnQuietModeSettings(\n meeting: AvailabilitySessionListItem,\n quietModeSelected: boolean,\n ): boolean {\n /* Do not include sessions in this list if the following conditions are met:\n\t\t1. Potential partner has quietModeMatchAllowed setting set to False\n\t\t2. Current user has selected quietMode\n\t\t3. Potential partner's session is not set to Quiet Mode\n\t\t*/\n if (\n !meeting.quietModeMatchAllowed &&\n quietModeSelected &&\n !meeting.partnerPreferences.quietMode.value\n ) {\n return true\n }\n return false\n }\n\n private populateSessionList() {\n this.filteredSessionList.length = 0\n this.completeList.sort((a, b) => (a.sessionTime < b.sessionTime ? -1 : 1))\n\n for (let meeting of this.completeList) {\n if (\n !this.filterSessionDuration(meeting.sessionDuration) &&\n !this.filterSessionBasedOnQuietModeSettings(meeting, this.selectedQuietMode)\n ) {\n this.addSessionToList(meeting)\n }\n }\n\n this.setContentStateEmptyOrValid()\n }\n\n private filterSessionDuration(duration: number): boolean {\n if (this.selectedOption === DURATION_FILTER_INCLUDE_ALL) {\n return false\n }\n if (\n this.selectedOption === DURATION_FILTER_INCLUDE_50 &&\n duration === SESSION_DURATION_50_MINS\n ) {\n return false\n }\n if (\n this.selectedOption === DURATION_FILTER_INCLUDE_25 &&\n duration === SESSION_DURATION_25_MINS\n ) {\n return false\n }\n\n if (\n this.selectedOption === DURATION_FILTER_INCLUDE_75 &&\n duration === SESSION_DURATION_75_MINS\n ) {\n return false\n }\n return true\n }\n\n private addSessionToList(meeting) {\n let currentDate = this.genereateDateLabel(meeting.sessionTime, this.currentUser.timeZone)\n\n if (\n this.filteredSessionList.length === 0 ||\n this.filteredSessionList[this.filteredSessionList.length - 1].dateLabel !== currentDate\n ) {\n this.filteredSessionList.push({\n dateLabel: currentDate,\n sessions: [meeting],\n })\n } else {\n this.filteredSessionList[this.filteredSessionList.length - 1].sessions.push(meeting)\n }\n }\n\n private genereateDateLabel(sessionTime: number, timezone: string): string {\n if (this.timeUtils.isToday(sessionTime, timezone)) {\n return moment(sessionTime).tz(timezone).format('[Today], MMMM D')\n } else if (this.timeUtils.isTomorrow(sessionTime, timezone)) {\n return moment(sessionTime).tz(timezone).format('[Tomorrow], MMMM D')\n } else return moment(sessionTime).tz(timezone).format('dddd, MMMM D')\n }\n\n private setContentStateEmptyOrValid() {\n if (this.filteredSessionList.length === 0) {\n this.listContentState = 'emptyList'\n } else {\n this.listContentState = 'validList'\n }\n }\n\n private getSessionDurationLabel(sessionDuration: number) {\n if (sessionDuration === SESSION_DURATION_50_MINS) {\n return SESSION_DURATION_50_MINS_LABEL\n } else if (sessionDuration == SESSION_DURATION_75_MINS) {\n return SESSION_DURATION_75_MINS_LABEL\n } else {\n return SESSION_DURATION_25_MINS_LABEL\n }\n }\n\n public selectSession(selection: AvailabilityListSelectedSession) {\n this.selectedSession = selection.sessionTime\n }\n\n public bookSession(timeAndDuration: AvailabilityListBookSession) {\n const preferences: BookSessionPreferences = {\n favorites: { value: 'preferred' },\n quietMode: { value: this.selectedQuietMode },\n }\n\n let sessionTime = timeAndDuration.sessionTime\n let duration = timeAndDuration.duration\n let bookSessionInfo: BookSessionInfo = {\n sessionTime: sessionTime,\n userAvailabilityCode: '',\n duration: duration,\n userId: this.memberProfile.uid,\n title: '',\n preferences,\n activityType: SESSION_ACTIVITY_TYPE_ANYTHING,\n }\n this.disableBookSessions = true\n\n this.bookSessionService\n .bookSessions(\n [bookSessionInfo],\n this.currentUser.timeZone,\n BookingSource.IndividualAvailabilityList,\n )\n .pipe(take(1))\n .subscribe({\n next: (v) => this.receivedBookSessionResult(timeAndDuration, v),\n error: (e) => this.receivedBookSessionError(sessionTime, e),\n complete: () => this.receivedBookSessionComplete(sessionTime),\n })\n }\n\n public receivedBookSessionResult(\n timeAndDuration: AvailabilityListBookSession,\n result: BookSessionsResponse[],\n ) {\n let sessionTime = timeAndDuration.sessionTime\n let duration = timeAndDuration.duration\n let parsedRes = this.bookSessionService.parseBookResponse(result)\n\n if (parsedRes['numSuccess'] !== 0) {\n const newExternalId = result[0].externalId\n this.updateSessionListWithBookedSession(sessionTime, newExternalId)\n this.dialogService.openConfirmTransaction('Session booked!')\n }\n\n if (parsedRes['planLimitReached'] === true) {\n this.dialogService.openPlanLimitReachedDialog()\n } else if (parsedRes['sessionConflict'] === true) {\n const conflictTimes = parsedRes['conflicts'].map((conflict) => conflict.sessionTime)\n this.dialogService\n .openSessionConflictWithCancel(conflictTimes, this.currentUser.timeZone)\n .afterClosed()\n .pipe(take(1))\n .subscribe((actionResult) => {\n if (actionResult.action === 'cancelAndBook') {\n const preferences: BookSessionPreferences = {\n favorites: { value: 'preferred' },\n quietMode: { value: this.selectedQuietMode },\n }\n\n let bookSessionInfo: BookSessionInfo = {\n sessionTime: sessionTime,\n userAvailabilityCode: '',\n duration: duration,\n userId: this.memberProfile.uid,\n title: '',\n preferences,\n activityType: SESSION_ACTIVITY_TYPE_ANYTHING,\n }\n const idsToCancel = parsedRes['conflicts'].map(\n (conflict) => conflict.externalId,\n )\n this.bookAndCancel(bookSessionInfo, idsToCancel)\n }\n })\n } else if (\n parsedRes['inviterNoLongerAvailable'] === true ||\n parsedRes['alreadyStarted'] === true\n ) {\n this.dialogService.openInviterMeetingNoLongerAvailable()\n this.queryUserAvailability()\n }\n }\n\n public updateSessionListWithBookedSession(sessionTime: number, externalId: string) {\n /* Booking a session via availabiity list will hardcode activityType to anything */\n\n this.completeList.forEach((session) => {\n if (session.sessionTime === sessionTime) {\n session.externalId = externalId\n session.confirmed = true\n session.actionComplete = true\n session.sessionState = SESSION_STATE_DIRECT_BOOKER\n session.activityType = SESSION_ACTIVITY_TYPE_ANYTHING\n }\n })\n\n this.filteredSessionList.forEach((day) => {\n day.sessions.forEach((session) => {\n if (session.sessionTime === sessionTime) {\n session.externalId = externalId\n session.confirmed = true\n session.actionComplete = true\n session.sessionState = SESSION_STATE_DIRECT_BOOKER\n session.activityType = SESSION_ACTIVITY_TYPE_ANYTHING\n }\n })\n })\n }\n\n public receivedBookSessionError(sessionTime: number, e) {\n this.disableBookSessions = false\n this.updateActionComplete(true, sessionTime)\n }\n\n public receivedBookSessionComplete(sessionTime: number) {\n this.selectedSession = 0\n this.disableBookSessions = false\n this.updateActionComplete(true, sessionTime)\n }\n\n private bookAndCancel(bookInfo: BookSessionInfo, cancelList: string[]) {\n let cancelRequests = []\n for (let externalId of cancelList) {\n cancelRequests.push(\n this.cancelSessionService.cancelSession(\n externalId,\n SessionTileSource.AvailabilityConflictModal,\n ),\n )\n }\n\n forkJoin(cancelRequests).subscribe({\n next: (v) =>\n this.bookSession({\n sessionTime: bookInfo.sessionTime,\n duration: bookInfo.duration,\n userId: this.memberProfile.uid,\n activityType: bookInfo.activityType,\n }),\n error: (e) =>\n this.bookSession({\n sessionTime: bookInfo.sessionTime,\n duration: bookInfo.duration,\n userId: this.memberProfile.uid,\n activityType: bookInfo.activityType,\n }),\n })\n }\n\n updateActionComplete(complete: boolean, sessionTime: number) {\n for (let day of this.filteredSessionList) {\n for (let session of day.sessions) {\n if (session.sessionTime === sessionTime) {\n session.actionComplete = complete\n return\n }\n }\n }\n }\n\n cancelSession(cancelInfo: AvailabilityListCancelSession) {\n this.cancelSessionService\n .cancelSession(cancelInfo.externalId, SessionTileSource.SeeAvailabilityList)\n .subscribe({\n next: (v) => this.receivedCancelSessionSuccess(cancelInfo.sessionTime),\n error: (e) => this.queryUserAvailability(),\n })\n }\n\n private receivedCancelSessionSuccess(sessionTime: number) {\n this.updateSessionListWithCanceledSession(sessionTime)\n\n this.dialogService.openConfirmTransaction('Session canceled')\n }\n\n private getOriginalActivityTypeFromList(\n availabiityList: SavedUserAvailabilityResponse,\n sessionTime: number,\n ): SessionActivityType | null {\n let session = availabiityList.availability.meetings.find(\n (element) => element.sessionTime == sessionTime,\n )\n return session?.activityType || null\n }\n\n private async updateSessionListWithCanceledSession(sessionTime: number) {\n /* When canceling a session we must ensure to show the correct\n\t\tactivity icon for the available session.\n\n\t\tCase 1: When we first loaded the list, this session was not booked and\n\t\twe have saved off the original activity type. Update it from our saved list\n\t\tCase 2: When we first loaded the list, this session was booked. In this case\n\t\twe do not know the activity type the partner had set, so querying it again and\n\t\trefresh the list\n\t\t*/\n let partnersActivityType = this.getOriginalActivityTypeFromList(\n this.userAvailability,\n sessionTime,\n )\n\n if (!partnersActivityType) {\n this.userAvailability = await firstValueFrom(\n this.userAvailabiltyService.getUserSharedAvailability(this.memberProfile.uid),\n )\n partnersActivityType = this.getOriginalActivityTypeFromList(\n this.userAvailability,\n sessionTime,\n )\n }\n\n this.completeList.forEach((session) => {\n if (session.sessionTime === sessionTime) {\n session.externalId = null\n session.confirmed = false\n session.cancelConfirm = false\n session.actionComplete = true\n session.activityType = partnersActivityType\n }\n })\n\n this.filteredSessionList.forEach((day) => {\n day.sessions.forEach((session) => {\n if (session.sessionTime === sessionTime) {\n session.externalId = null\n session.confirmed = false\n session.cancelConfirm = false\n session.actionComplete = true\n session.activityType = partnersActivityType\n }\n })\n })\n }\n\n dontPropagate(e: Event) {\n e.stopPropagation()\n }\n\n ngOnDestroy() {\n this.ngUnsubscribe.next(null)\n this.ngUnsubscribe.complete()\n }\n}\n","@if (memberProfile) {\n \n
\n
\n
\n \n
{{ memberProfile.displayName }}
\n
\n\n \n @if (dynamicPanel) {\n \n } @else {\n \n \n
{{\n item.labelButton\n }}
\n
\n \n }\n \n Quiet\n \n
\n
\n \n\n @if (filteredSessionList.length > 0) {\n
\n \n \n \n {{ day.dateLabel }}\n\n \n \n {{\n session.sessionDurationLabel\n }}\n \n\n \n
\n \n \n \n \n } @else {\n
\n \n \n No sessions available at the moment!\n
\n \n \n }\n \n \n}\n","import * as i2 from '@angular/common';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, forwardRef, EventEmitter, inject, booleanAttribute, numberAttribute, ContentChildren, ContentChild, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';\nimport * as i1 from '@angular/forms';\nimport { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';\nimport { resolveFieldData, equals } from '@primeuix/utils';\nimport { SharedModule, PrimeTemplate } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { ToggleButton } from 'primeng/togglebutton';\nimport { BaseStyle } from 'primeng/base';\nconst _c0 = [\"item\"];\nconst _c1 = (a0, a1) => ({\n $implicit: a0,\n index: a1\n});\nfunction SelectButton_For_1_Conditional_1_ng_template_0_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction SelectButton_For_1_Conditional_1_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, SelectButton_For_1_Conditional_1_ng_template_0_ng_container_0_Template, 1, 0, \"ng-container\", 3);\n }\n if (rf & 2) {\n const ctx_r5 = i0.ɵɵnextContext(2);\n const option_r3 = ctx_r5.$implicit;\n const ɵ$index_1_r4 = ctx_r5.$index;\n const ctx_r4 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r4.itemTemplate || ctx_r4._itemTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction2(2, _c1, option_r3, ɵ$index_1_r4));\n }\n}\nfunction SelectButton_For_1_Conditional_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, SelectButton_For_1_Conditional_1_ng_template_0_Template, 1, 5, \"ng-template\", null, 0, i0.ɵɵtemplateRefExtractor);\n }\n}\nfunction SelectButton_For_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"p-toggleButton\", 2);\n i0.ɵɵlistener(\"onChange\", function SelectButton_For_1_Template_p_toggleButton_onChange_0_listener($event) {\n const ctx_r1 = i0.ɵɵrestoreView(_r1);\n const option_r3 = ctx_r1.$implicit;\n const ɵ$index_1_r4 = ctx_r1.$index;\n const ctx_r4 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r4.onOptionSelect($event, option_r3, ɵ$index_1_r4));\n });\n i0.ɵɵtemplate(1, SelectButton_For_1_Conditional_1_Template, 2, 0);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const option_r3 = ctx.$implicit;\n const ctx_r4 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"autofocus\", ctx_r4.autofocus)(\"styleClass\", ctx_r4.styleClass)(\"ngModel\", ctx_r4.isSelected(option_r3))(\"onLabel\", ctx_r4.getOptionLabel(option_r3))(\"offLabel\", ctx_r4.getOptionLabel(option_r3))(\"disabled\", ctx_r4.disabled || ctx_r4.isOptionDisabled(option_r3))(\"allowEmpty\", ctx_r4.allowEmpty)(\"size\", ctx_r4.size);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r4.itemTemplate || ctx_r4._itemTemplate ? 1 : -1);\n }\n}\nconst theme = ({\n dt\n}) => `\n.p-selectbutton {\n display: inline-flex;\n user-select: none;\n vertical-align: bottom;\n outline-color: transparent;\n border-radius: ${dt('selectbutton.border.radius')};\n}\n\n.p-selectbutton .p-togglebutton {\n border-radius: 0;\n border-width: 1px 1px 1px 0;\n}\n\n.p-selectbutton .p-togglebutton:focus-visible {\n position: relative;\n z-index: 1;\n}\n\n.p-selectbutton p-togglebutton:first-child .p-togglebutton {\n border-left-width: 1px;\n border-start-start-radius: ${dt('selectbutton.border.radius')};\n border-end-start-radius: ${dt('selectbutton.border.radius')};\n}\n\n.p-selectbutton p-togglebutton:last-child .p-togglebutton{\n border-start-end-radius: ${dt('selectbutton.border.radius')};\n border-end-end-radius: ${dt('selectbutton.border.radius')};\n}\n\n.p-selectbutton.ng-invalid.ng-dirty {\n outline: 1px solid ${dt('selectbutton.invalid.border.color')};\n outline-offset: 0;\n}\n`;\nconst classes = {\n root: ({\n props\n }) => ['p-selectbutton p-component', {\n 'p-invalid': props.invalid\n }]\n};\nlet SelectButtonStyle = /*#__PURE__*/(() => {\n class SelectButtonStyle extends BaseStyle {\n name = 'selectbutton';\n theme = theme;\n classes = classes;\n static ɵfac = /* @__PURE__ */(() => {\n let ɵSelectButtonStyle_BaseFactory;\n return function SelectButtonStyle_Factory(__ngFactoryType__) {\n return (ɵSelectButtonStyle_BaseFactory || (ɵSelectButtonStyle_BaseFactory = i0.ɵɵgetInheritedFactory(SelectButtonStyle)))(__ngFactoryType__ || SelectButtonStyle);\n };\n })();\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: SelectButtonStyle,\n factory: SelectButtonStyle.ɵfac\n });\n }\n return SelectButtonStyle;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n *\n * SelectButton is used to choose single or multiple items from a list using buttons.\n *\n * [Live Demo](https://www.primeng.org/selectbutton/)\n *\n * @module selectbuttonstyle\n *\n */\nvar SelectButtonClasses = /*#__PURE__*/function (SelectButtonClasses) {\n /**\n * Class name of the root element\n */\n SelectButtonClasses[\"root\"] = \"p-selectbutton\";\n return SelectButtonClasses;\n}(SelectButtonClasses || {});\nconst SELECTBUTTON_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectButton),\n multi: true\n};\n/**\n * SelectButton is used to choose single or multiple items from a list using buttons.\n * @group Components\n */\nlet SelectButton = /*#__PURE__*/(() => {\n class SelectButton extends BaseComponent {\n /**\n * An array of selectitems to display as the available options.\n * @group Props\n */\n options;\n /**\n * Name of the label field of an option.\n * @group Props\n */\n optionLabel;\n /**\n * Name of the value field of an option.\n * @group Props\n */\n optionValue;\n /**\n * Name of the disabled field of an option.\n * @group Props\n */\n optionDisabled;\n /**\n * Whether selection can be cleared.\n * @group Props\n */\n unselectable = false;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = 0;\n /**\n * When specified, allows selecting multiple values.\n * @group Props\n */\n multiple;\n /**\n * Whether selection can not be cleared.\n * @group Props\n */\n allowEmpty = true;\n /**\n * Inline style of the component.\n * @group Props\n */\n style;\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n ariaLabelledBy;\n /**\n * Defines the size of the component.\n * @group Props\n */\n size;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n disabled;\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n dataKey;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n autofocus;\n /**\n * Callback to invoke on input click.\n * @param {SelectButtonOptionClickEvent} event - Custom click event.\n * @group Emits\n */\n onOptionClick = new EventEmitter();\n /**\n * Callback to invoke on selection change.\n * @param {SelectButtonChangeEvent} event - Custom change event.\n * @group Emits\n */\n onChange = new EventEmitter();\n /**\n * Template of an item in the list.\n * @group Templates\n */\n itemTemplate;\n _itemTemplate;\n get equalityKey() {\n return this.optionValue ? null : this.dataKey;\n }\n value;\n onModelChange = () => {};\n onModelTouched = () => {};\n focusedIndex = 0;\n _componentStyle = inject(SelectButtonStyle);\n getOptionLabel(option) {\n return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option.label != undefined ? option.label : option;\n }\n getOptionValue(option) {\n return this.optionValue ? resolveFieldData(option, this.optionValue) : this.optionLabel || option.value === undefined ? option : option.value;\n }\n isOptionDisabled(option) {\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : option.disabled !== undefined ? option.disabled : false;\n }\n writeValue(value) {\n this.value = value;\n this.cd.markForCheck();\n }\n registerOnChange(fn) {\n this.onModelChange = fn;\n }\n registerOnTouched(fn) {\n this.onModelTouched = fn;\n }\n setDisabledState(val) {\n this.disabled = val;\n this.cd.markForCheck();\n }\n onOptionSelect(event, option, index) {\n if (this.disabled || this.isOptionDisabled(option)) {\n return;\n }\n let selected = this.isSelected(option);\n if (selected && this.unselectable) {\n return;\n }\n let optionValue = this.getOptionValue(option);\n let newValue;\n if (this.multiple) {\n if (selected) newValue = this.value.filter(val => !equals(val, optionValue, this.equalityKey));else newValue = this.value ? [...this.value, optionValue] : [optionValue];\n } else {\n if (selected && !this.allowEmpty) {\n return;\n }\n newValue = selected ? null : optionValue;\n }\n this.focusedIndex = index;\n this.value = newValue;\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n this.onOptionClick.emit({\n originalEvent: event,\n option: option,\n index: index\n });\n }\n changeTabIndexes(event, direction) {\n let firstTabableChild, index;\n for (let i = 0; i <= this.el.nativeElement.children.length - 1; i++) {\n if (this.el.nativeElement.children[i].getAttribute('tabindex') === '0') firstTabableChild = {\n elem: this.el.nativeElement.children[i],\n index: i\n };\n }\n if (direction === 'prev') {\n if (firstTabableChild.index === 0) index = this.el.nativeElement.children.length - 1;else index = firstTabableChild.index - 1;\n } else {\n if (firstTabableChild.index === this.el.nativeElement.children.length - 1) index = 0;else index = firstTabableChild.index + 1;\n }\n this.focusedIndex = index;\n this.el.nativeElement.children[index].focus();\n }\n onFocus(event, index) {\n this.focusedIndex = index;\n }\n onBlur() {\n this.onModelTouched();\n }\n removeOption(option) {\n this.value = this.value.filter(val => !equals(val, this.getOptionValue(option), this.dataKey));\n }\n isSelected(option) {\n let selected = false;\n const optionValue = this.getOptionValue(option);\n if (this.multiple) {\n if (this.value && Array.isArray(this.value)) {\n for (let val of this.value) {\n if (equals(val, optionValue, this.dataKey)) {\n selected = true;\n break;\n }\n }\n }\n } else {\n selected = equals(this.getOptionValue(option), this.value, this.equalityKey);\n }\n return selected;\n }\n templates;\n ngAfterContentInit() {\n this.templates.forEach(item => {\n switch (item.getType()) {\n case 'item':\n this._itemTemplate = item.template;\n break;\n }\n });\n }\n static ɵfac = /* @__PURE__ */(() => {\n let ɵSelectButton_BaseFactory;\n return function SelectButton_Factory(__ngFactoryType__) {\n return (ɵSelectButton_BaseFactory || (ɵSelectButton_BaseFactory = i0.ɵɵgetInheritedFactory(SelectButton)))(__ngFactoryType__ || SelectButton);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: SelectButton,\n selectors: [[\"p-selectButton\"], [\"p-selectbutton\"], [\"p-select-button\"]],\n contentQueries: function SelectButton_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c0, 4);\n i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);\n }\n },\n hostVars: 10,\n hostBindings: function SelectButton_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵattribute(\"role\", \"group\")(\"aria-labelledby\", ctx.ariaLabelledBy)(\"data-pc-section\", \"root\")(\"data-pc-name\", \"selectbutton\");\n i0.ɵɵstyleMap(ctx.style);\n i0.ɵɵclassProp(\"p-selectbutton\", true)(\"p-component\", true);\n }\n },\n inputs: {\n options: \"options\",\n optionLabel: \"optionLabel\",\n optionValue: \"optionValue\",\n optionDisabled: \"optionDisabled\",\n unselectable: [2, \"unselectable\", \"unselectable\", booleanAttribute],\n tabindex: [2, \"tabindex\", \"tabindex\", numberAttribute],\n multiple: [2, \"multiple\", \"multiple\", booleanAttribute],\n allowEmpty: [2, \"allowEmpty\", \"allowEmpty\", booleanAttribute],\n style: \"style\",\n styleClass: \"styleClass\",\n ariaLabelledBy: \"ariaLabelledBy\",\n size: \"size\",\n disabled: [2, \"disabled\", \"disabled\", booleanAttribute],\n dataKey: \"dataKey\",\n autofocus: [2, \"autofocus\", \"autofocus\", booleanAttribute]\n },\n outputs: {\n onOptionClick: \"onOptionClick\",\n onChange: \"onChange\"\n },\n features: [i0.ɵɵProvidersFeature([SELECTBUTTON_VALUE_ACCESSOR, SelectButtonStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature],\n decls: 2,\n vars: 0,\n consts: [[\"content\", \"\"], [3, \"autofocus\", \"styleClass\", \"ngModel\", \"onLabel\", \"offLabel\", \"disabled\", \"allowEmpty\", \"size\"], [3, \"onChange\", \"autofocus\", \"styleClass\", \"ngModel\", \"onLabel\", \"offLabel\", \"disabled\", \"allowEmpty\", \"size\"], [4, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"]],\n template: function SelectButton_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵrepeaterCreate(0, SelectButton_For_1_Template, 2, 9, \"p-toggleButton\", 1, i0.ɵɵrepeaterTrackByIdentity);\n }\n if (rf & 2) {\n i0.ɵɵrepeater(ctx.options);\n }\n },\n dependencies: [ToggleButton, FormsModule, i1.NgControlStatus, i1.NgModel, CommonModule, i2.NgTemplateOutlet, SharedModule],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n return SelectButton;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet SelectButtonModule = /*#__PURE__*/(() => {\n class SelectButtonModule {\n static ɵfac = function SelectButtonModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || SelectButtonModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: SelectButtonModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [SelectButton, SharedModule, SharedModule]\n });\n }\n return SelectButtonModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { SELECTBUTTON_VALUE_ACCESSOR, SelectButton, SelectButtonClasses, SelectButtonModule, SelectButtonStyle };\n","import * as i1 from '@angular/common';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, forwardRef, EventEmitter, inject, booleanAttribute, numberAttribute, ContentChildren, ContentChild, ViewChild, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SharedModule, PrimeTemplate } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { BaseStyle } from 'primeng/base';\nconst _c0 = [\"handle\"];\nconst _c1 = [\"input\"];\nconst _c2 = a0 => ({\n checked: a0\n});\nfunction ToggleSwitch_Conditional_5_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction ToggleSwitch_Conditional_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, ToggleSwitch_Conditional_5_ng_container_0_Template, 1, 0, \"ng-container\", 4);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.handleTemplate || ctx_r1._handleTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(2, _c2, ctx_r1.checked()));\n }\n}\nconst theme = ({\n dt\n}) => `\n.p-toggleswitch {\n display: inline-block;\n width: ${dt('toggleswitch.width')};\n height: ${dt('toggleswitch.height')};\n}\n\n.p-toggleswitch-input {\n cursor: pointer;\n appearance: none;\n position: absolute;\n top: 0;\n inset-inline-start: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n opacity: 0;\n z-index: 1;\n outline: 0 none;\n border-radius: ${dt('toggleswitch.border.radius')};\n}\n\n.p-toggleswitch-slider {\n display: inline-block;\n cursor: pointer;\n width: 100%;\n height: 100%;\n border-width: ${dt('toggleswitch.border.width')};\n border-style: solid;\n border-color: ${dt('toggleswitch.border.color')};\n background: ${dt('toggleswitch.background')};\n transition: background ${dt('toggleswitch.transition.duration')}, color ${dt('toggleswitch.transition.duration')}, border-color ${dt('toggleswitch.transition.duration')}, outline-color ${dt('toggleswitch.transition.duration')}, box-shadow ${dt('toggleswitch.transition.duration')};\n border-radius: ${dt('toggleswitch.border.radius')};\n outline-color: transparent;\n box-shadow: ${dt('toggleswitch.shadow')};\n}\n\n.p-toggleswitch-handle {\n position: absolute;\n top: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n background: ${dt('toggleswitch.handle.background')};\n color: ${dt('toggleswitch.handle.color')};\n width: ${dt('toggleswitch.handle.size')};\n height: ${dt('toggleswitch.handle.size')};\n inset-inline-start: ${dt('toggleswitch.gap')};\n margin-block-start: calc(-1 * calc(${dt('toggleswitch.handle.size')} / 2));\n border-radius: ${dt('toggleswitch.handle.border.radius')};\n transition: background ${dt('toggleswitch.transition.duration')}, color ${dt('toggleswitch.transition.duration')}, inset-inline-start ${dt('toggleswitch.slide.duration')}, box-shadow ${dt('toggleswitch.slide.duration')};\n}\n\n.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-slider {\n background: ${dt('toggleswitch.checked.background')};\n border-color: ${dt('toggleswitch.checked.border.color')};\n}\n\n.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-handle {\n background: ${dt('toggleswitch.handle.checked.background')};\n color: ${dt('toggleswitch.handle.checked.color')};\n inset-inline-start: calc(${dt('toggleswitch.width')} - calc(${dt('toggleswitch.handle.size')} + ${dt('toggleswitch.gap')}));\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover) .p-toggleswitch-slider {\n background: ${dt('toggleswitch.hover.background')};\n border-color: ${dt('toggleswitch.hover.border.color')};\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover) .p-toggleswitch-handle {\n background: ${dt('toggleswitch.handle.hover.background')};\n color: ${dt('toggleswitch.handle.hover.color')};\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover).p-toggleswitch-checked .p-toggleswitch-slider {\n background: ${dt('toggleswitch.checked.hover.background')};\n border-color: ${dt('toggleswitch.checked.hover.border.color')};\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover).p-toggleswitch-checked .p-toggleswitch-handle {\n background: ${dt('toggleswitch.handle.checked.hover.background')};\n color: ${dt('toggleswitch.handle.checked.hover.color')};\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:focus-visible) .p-toggleswitch-slider {\n box-shadow: ${dt('toggleswitch.focus.ring.shadow')};\n outline: ${dt('toggleswitch.focus.ring.width')} ${dt('toggleswitch.focus.ring.style')} ${dt('toggleswitch.focus.ring.color')};\n outline-offset: ${dt('toggleswitch.focus.ring.offset')};\n}\n\n.p-toggleswitch.p-invalid > .p-toggleswitch-slider {\n border-color: ${dt('toggleswitch.invalid.border.color')};\n}\n\n.p-toggleswitch.p-disabled {\n opacity: 1;\n}\n\n.p-toggleswitch.p-disabled .p-toggleswitch-slider {\n background: ${dt('toggleswitch.disabled.background')};\n}\n\n.p-toggleswitch.p-disabled .p-toggleswitch-handle {\n background: ${dt('toggleswitch.handle.disabled.background')};\n}\n\n/* For PrimeNG */\n\np-toggleswitch.ng-invalid.ng-dirty > .p-toggleswitch > .p-toggleswitch-slider {\n border-color: ${dt('toggleswitch.invalid.border.color')};\n}`;\nconst inlineStyles = {\n root: {\n position: 'relative'\n }\n};\nconst classes = {\n root: ({\n instance\n }) => ({\n 'p-toggleswitch p-component': true,\n 'p-toggleswitch-checked': instance.checked(),\n 'p-disabled': instance.disabled,\n 'p-invalid': instance.invalid\n }),\n input: 'p-toggleswitch-input',\n slider: 'p-toggleswitch-slider',\n handle: 'p-toggleswitch-handle'\n};\nlet ToggleSwitchStyle = /*#__PURE__*/(() => {\n class ToggleSwitchStyle extends BaseStyle {\n name = 'toggleswitch';\n theme = theme;\n classes = classes;\n inlineStyles = inlineStyles;\n static ɵfac = /* @__PURE__ */(() => {\n let ɵToggleSwitchStyle_BaseFactory;\n return function ToggleSwitchStyle_Factory(__ngFactoryType__) {\n return (ɵToggleSwitchStyle_BaseFactory || (ɵToggleSwitchStyle_BaseFactory = i0.ɵɵgetInheritedFactory(ToggleSwitchStyle)))(__ngFactoryType__ || ToggleSwitchStyle);\n };\n })();\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ToggleSwitchStyle,\n factory: ToggleSwitchStyle.ɵfac\n });\n }\n return ToggleSwitchStyle;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n *\n * ToggleSwitch is used to select a boolean value.\n *\n * [Live Demo](https://www.primeng.org/toggleswitch/)\n *\n * @module toggleswitchstyle\n *\n */\nvar ToggleSwitchClasses = /*#__PURE__*/function (ToggleSwitchClasses) {\n /**\n * Class name of the root element\n */\n ToggleSwitchClasses[\"root\"] = \"p-toggleswitch\";\n /**\n * Class name of the input element\n */\n ToggleSwitchClasses[\"input\"] = \"p-toggleswitch-input\";\n /**\n * Class name of the slider element\n */\n ToggleSwitchClasses[\"slider\"] = \"p-toggleswitch-slider\";\n return ToggleSwitchClasses;\n}(ToggleSwitchClasses || {});\nconst TOGGLESWITCH_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleSwitch),\n multi: true\n};\n/**\n * ToggleSwitch is used to select a boolean value.\n * @group Components\n */\nlet ToggleSwitch = /*#__PURE__*/(() => {\n class ToggleSwitch extends BaseComponent {\n /**\n * Inline style of the component.\n * @group Props\n */\n style;\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex;\n /**\n * Identifier of the input element.\n * @group Props\n */\n inputId;\n /**\n * Name of the input element.\n * @group Props\n */\n name;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n disabled;\n /**\n * When present, it specifies that the component cannot be edited.\n * @group Props\n */\n readonly;\n /**\n * Value in checked state.\n * @group Props\n */\n trueValue = true;\n /**\n * Value in unchecked state.\n * @group Props\n */\n falseValue = false;\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n ariaLabel;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n ariaLabelledBy;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n autofocus;\n /**\n * Callback to invoke when the on value change.\n * @param {ToggleSwitchChangeEvent} event - Custom change event.\n * @group Emits\n */\n onChange = new EventEmitter();\n input;\n /**\n * Callback to invoke when the on value change.\n * @type {TemplateRef} context - Context of the template\n * @example\n * ```html\n * \n * ```\n * @see {@link ToggleSwitchHandleTemplateContext}\n * @group Templates\n */\n handleTemplate;\n _handleTemplate;\n modelValue = false;\n focused = false;\n onModelChange = () => {};\n onModelTouched = () => {};\n _componentStyle = inject(ToggleSwitchStyle);\n templates;\n ngAfterContentInit() {\n this.templates.forEach(item => {\n switch (item.getType()) {\n case 'handle':\n this._handleTemplate = item.template;\n break;\n default:\n this._handleTemplate = item.template;\n break;\n }\n });\n }\n onClick(event) {\n if (!this.disabled && !this.readonly) {\n this.modelValue = this.checked() ? this.falseValue : this.trueValue;\n this.onModelChange(this.modelValue);\n this.onChange.emit({\n originalEvent: event,\n checked: this.modelValue\n });\n this.input.nativeElement.focus();\n }\n }\n onFocus() {\n this.focused = true;\n }\n onBlur() {\n this.focused = false;\n this.onModelTouched();\n }\n writeValue(value) {\n this.modelValue = value;\n this.cd.markForCheck();\n }\n registerOnChange(fn) {\n this.onModelChange = fn;\n }\n registerOnTouched(fn) {\n this.onModelTouched = fn;\n }\n setDisabledState(val) {\n this.disabled = val;\n this.cd.markForCheck();\n }\n checked() {\n return this.modelValue === this.trueValue;\n }\n static ɵfac = /* @__PURE__ */(() => {\n let ɵToggleSwitch_BaseFactory;\n return function ToggleSwitch_Factory(__ngFactoryType__) {\n return (ɵToggleSwitch_BaseFactory || (ɵToggleSwitch_BaseFactory = i0.ɵɵgetInheritedFactory(ToggleSwitch)))(__ngFactoryType__ || ToggleSwitch);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: ToggleSwitch,\n selectors: [[\"p-toggleswitch\"], [\"p-toggleSwitch\"], [\"p-toggle-switch\"]],\n contentQueries: function ToggleSwitch_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c0, 4);\n i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.handleTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);\n }\n },\n viewQuery: function ToggleSwitch_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c1, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.input = _t.first);\n }\n },\n inputs: {\n style: \"style\",\n styleClass: \"styleClass\",\n tabindex: [2, \"tabindex\", \"tabindex\", numberAttribute],\n inputId: \"inputId\",\n name: \"name\",\n disabled: [2, \"disabled\", \"disabled\", booleanAttribute],\n readonly: [2, \"readonly\", \"readonly\", booleanAttribute],\n trueValue: \"trueValue\",\n falseValue: \"falseValue\",\n ariaLabel: \"ariaLabel\",\n ariaLabelledBy: \"ariaLabelledBy\",\n autofocus: [2, \"autofocus\", \"autofocus\", booleanAttribute]\n },\n outputs: {\n onChange: \"onChange\"\n },\n features: [i0.ɵɵProvidersFeature([TOGGLESWITCH_VALUE_ACCESSOR, ToggleSwitchStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature],\n decls: 6,\n vars: 23,\n consts: [[\"input\", \"\"], [3, \"click\", \"ngClass\", \"ngStyle\"], [\"type\", \"checkbox\", \"role\", \"switch\", 3, \"focus\", \"blur\", \"ngClass\", \"checked\", \"disabled\", \"pAutoFocus\"], [3, \"ngClass\"], [4, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"]],\n template: function ToggleSwitch_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 1);\n i0.ɵɵlistener(\"click\", function ToggleSwitch_Template_div_click_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onClick($event));\n });\n i0.ɵɵelementStart(1, \"input\", 2, 0);\n i0.ɵɵlistener(\"focus\", function ToggleSwitch_Template_input_focus_1_listener() {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onFocus());\n })(\"blur\", function ToggleSwitch_Template_input_blur_1_listener() {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onBlur());\n });\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"span\", 3)(4, \"div\", 3);\n i0.ɵɵtemplate(5, ToggleSwitch_Conditional_5_Template, 1, 4, \"ng-container\");\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n i0.ɵɵstyleMap(ctx.sx(\"root\"));\n i0.ɵɵclassMap(ctx.styleClass);\n i0.ɵɵproperty(\"ngClass\", ctx.cx(\"root\"))(\"ngStyle\", ctx.style);\n i0.ɵɵattribute(\"data-pc-name\", \"toggleswitch\")(\"data-pc-section\", \"root\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngClass\", ctx.cx(\"input\"))(\"checked\", ctx.checked())(\"disabled\", ctx.disabled)(\"pAutoFocus\", ctx.autofocus);\n i0.ɵɵattribute(\"id\", ctx.inputId)(\"aria-checked\", ctx.checked())(\"aria-labelledby\", ctx.ariaLabelledBy)(\"aria-label\", ctx.ariaLabel)(\"name\", ctx.name)(\"tabindex\", ctx.tabindex)(\"data-pc-section\", \"hiddenInput\");\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngClass\", ctx.cx(\"slider\"));\n i0.ɵɵattribute(\"data-pc-section\", \"slider\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngClass\", ctx.cx(\"handle\"));\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx.handleTemplate || ctx._handleTemplate ? 5 : -1);\n }\n },\n dependencies: [CommonModule, i1.NgClass, i1.NgTemplateOutlet, i1.NgStyle, AutoFocus, SharedModule],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n return ToggleSwitch;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet ToggleSwitchModule = /*#__PURE__*/(() => {\n class ToggleSwitchModule {\n static ɵfac = function ToggleSwitchModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ToggleSwitchModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: ToggleSwitchModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [ToggleSwitch, SharedModule, SharedModule]\n });\n }\n return ToggleSwitchModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { TOGGLESWITCH_VALUE_ACCESSOR, ToggleSwitch, ToggleSwitchClasses, ToggleSwitchModule, ToggleSwitchStyle };\n","import * as i1 from '@angular/common';\nimport { isPlatformBrowser, CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, inject, NgZone, numberAttribute, ContentChildren, ContentChild, ViewChild, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';\nimport { uuid, getHeight, addClass, removeClass } from '@primeuix/utils';\nimport { SharedModule, PrimeTemplate } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { BaseStyle } from 'primeng/base';\nconst _c0 = [\"content\"];\nconst _c1 = [\"container\"];\nconst _c2 = [\"xBar\"];\nconst _c3 = [\"yBar\"];\nconst _c4 = [\"*\"];\nfunction ScrollPanel_Conditional_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojection(0);\n }\n}\nfunction ScrollPanel_ng_container_6_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nconst theme = ({\n dt\n}) => `\n.p-scrollpanel-content-container {\n overflow: hidden;\n width: 100%;\n height: 100%;\n position: relative;\n z-index: 1;\n float: left;\n}\n\n.p-scrollpanel-content {\n height: calc(100% + calc(2 * ${dt('scrollpanel.bar.size')}));\n width: calc(100% + calc(2 * ${dt('scrollpanel.bar.size')}));\n padding-inline: 0 calc(2 * ${dt('scrollpanel.bar.size')});\n padding-block: 0 calc(2 * ${dt('scrollpanel.bar.size')});\n position: relative;\n overflow: auto;\n box-sizing: border-box;\n scrollbar-width: none;\n}\n\n.p-scrollpanel-content::-webkit-scrollbar {\n display: none;\n}\n\n.p-scrollpanel-bar {\n position: relative;\n border-radius: ${dt('scrollpanel.bar.border.radius')};\n z-index: 2;\n cursor: pointer;\n opacity: 0;\n outline-color: transparent;\n transition: outline-color ${dt('scrollpanel.transition.duration')};\n background: ${dt('scrollpanel.bar.background')};\n border: 0 none;\n transition: outline-color ${dt('scrollpanel.transition.duration')}, opacity ${dt('scrollpanel.transition.duration')};\n}\n\n.p-scrollpanel-bar:focus-visible {\n box-shadow: ${dt('scrollpanel.bar.focus.ring.shadow')};\n outline: ${dt('scrollpanel.barfocus.ring.width')} ${dt('scrollpanel.bar.focus.ring.style')} ${dt('scrollpanel.bar.focus.ring.color')};\n outline-offset: ${dt('scrollpanel.barfocus.ring.offset')};\n}\n\n.p-scrollpanel-bar-y {\n width: ${dt('scrollpanel.bar.size')};\n top: 0;\n}\n\n.p-scrollpanel-bar-x {\n height: ${dt('scrollpanel.bar.size')};\n bottom: 0;\n}\n\n.p-scrollpanel-hidden {\n visibility: hidden;\n}\n\n.p-scrollpanel:hover .p-scrollpanel-bar,\n.p-scrollpanel:active .p-scrollpanel-bar {\n opacity: 1;\n}\n\n.p-scrollpanel-grabbed {\n user-select: none;\n}\n`;\nconst classes = {\n root: 'p-scrollpanel p-component',\n contentContainer: 'p-scrollpanel-content-container',\n content: 'p-scrollpanel-content',\n barX: 'p-scrollpanel-bar p-scrollpanel-bar-x',\n barY: 'p-scrollpanel-bar p-scrollpanel-bar-y'\n};\nlet ScrollPanelStyle = /*#__PURE__*/(() => {\n class ScrollPanelStyle extends BaseStyle {\n name = 'scrollpanel';\n theme = theme;\n classes = classes;\n static ɵfac = /* @__PURE__ */(() => {\n let ɵScrollPanelStyle_BaseFactory;\n return function ScrollPanelStyle_Factory(__ngFactoryType__) {\n return (ɵScrollPanelStyle_BaseFactory || (ɵScrollPanelStyle_BaseFactory = i0.ɵɵgetInheritedFactory(ScrollPanelStyle)))(__ngFactoryType__ || ScrollPanelStyle);\n };\n })();\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ScrollPanelStyle,\n factory: ScrollPanelStyle.ɵfac\n });\n }\n return ScrollPanelStyle;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n *\n * ScrollPanel is a cross browser, lightweight and themable alternative to native browser scrollbar.\n *\n * [Live Demo](https://www.primeng.org/scrollpanel/)\n *\n * @module scrollpanelstyle\n *\n */\nvar ScrollPanelClasses = /*#__PURE__*/function (ScrollPanelClasses) {\n /**\n * Class name of the root element\n */\n ScrollPanelClasses[\"root\"] = \"p-scrollpanel\";\n /**\n * Class name of the content container element\n */\n ScrollPanelClasses[\"contentContainer\"] = \"p-scrollpanel-content-container\";\n /**\n * Class name of the content element\n */\n ScrollPanelClasses[\"content\"] = \"p-scrollpanel-content\";\n /**\n * Class name of the bar x element\n */\n ScrollPanelClasses[\"barX\"] = \"p-scrollpanel-bar-x\";\n /**\n * Class name of the bar y element\n */\n ScrollPanelClasses[\"barY\"] = \"p-scrollpanel-bar-y\";\n return ScrollPanelClasses;\n}(ScrollPanelClasses || {});\n/**\n * ScrollPanel is a cross browser, lightweight and themable alternative to native browser scrollbar.\n * @group Components\n */\nlet ScrollPanel = /*#__PURE__*/(() => {\n class ScrollPanel extends BaseComponent {\n /**\n * Inline style of the component.\n * @group Props\n */\n style;\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass;\n /**\n * Step factor to scroll the content while pressing the arrow keys.\n * @group Props\n */\n step = 5;\n containerViewChild;\n contentViewChild;\n xBarViewChild;\n yBarViewChild;\n /**\n * Defines template option for content.\n * @group Templates\n */\n contentTemplate;\n templates;\n _contentTemplate;\n scrollYRatio;\n scrollXRatio;\n timeoutFrame = fn => setTimeout(fn, 0);\n initialized = false;\n lastPageY;\n lastPageX;\n isXBarClicked = false;\n isYBarClicked = false;\n lastScrollLeft = 0;\n lastScrollTop = 0;\n orientation = 'vertical';\n timer;\n contentId;\n windowResizeListener;\n contentScrollListener;\n mouseEnterListener;\n xBarMouseDownListener;\n yBarMouseDownListener;\n documentMouseMoveListener;\n documentMouseUpListener;\n _componentStyle = inject(ScrollPanelStyle);\n zone = inject(NgZone);\n ngOnInit() {\n super.ngOnInit();\n this.contentId = uuid('pn_id_') + '_content';\n }\n ngAfterViewInit() {\n super.ngAfterViewInit();\n if (isPlatformBrowser(this.platformId)) {\n this.zone.runOutsideAngular(() => {\n this.moveBar();\n this.moveBar = this.moveBar.bind(this);\n this.onXBarMouseDown = this.onXBarMouseDown.bind(this);\n this.onYBarMouseDown = this.onYBarMouseDown.bind(this);\n this.onDocumentMouseMove = this.onDocumentMouseMove.bind(this);\n this.onDocumentMouseUp = this.onDocumentMouseUp.bind(this);\n this.windowResizeListener = this.renderer.listen(window, 'resize', this.moveBar);\n this.contentScrollListener = this.renderer.listen(this.contentViewChild.nativeElement, 'scroll', this.moveBar);\n this.mouseEnterListener = this.renderer.listen(this.contentViewChild.nativeElement, 'mouseenter', this.moveBar);\n this.xBarMouseDownListener = this.renderer.listen(this.xBarViewChild.nativeElement, 'mousedown', this.onXBarMouseDown);\n this.yBarMouseDownListener = this.renderer.listen(this.yBarViewChild.nativeElement, 'mousedown', this.onYBarMouseDown);\n this.calculateContainerHeight();\n this.initialized = true;\n });\n }\n }\n ngAfterContentInit() {\n this.templates.forEach(item => {\n switch (item.getType()) {\n case 'content':\n this._contentTemplate = item.template;\n break;\n default:\n this._contentTemplate = item.template;\n break;\n }\n });\n }\n calculateContainerHeight() {\n let container = this.containerViewChild.nativeElement;\n let content = this.contentViewChild.nativeElement;\n let xBar = this.xBarViewChild.nativeElement;\n const window = this.document.defaultView;\n let containerStyles = window.getComputedStyle(container),\n xBarStyles = window.getComputedStyle(xBar),\n pureContainerHeight = getHeight(container) - parseInt(xBarStyles['height'], 10);\n if (containerStyles['max-height'] != 'none' && pureContainerHeight == 0) {\n if (content.offsetHeight + parseInt(xBarStyles['height'], 10) > parseInt(containerStyles['max-height'], 10)) {\n container.style.height = containerStyles['max-height'];\n } else {\n container.style.height = content.offsetHeight + parseFloat(containerStyles.paddingTop) + parseFloat(containerStyles.paddingBottom) + parseFloat(containerStyles.borderTopWidth) + parseFloat(containerStyles.borderBottomWidth) + 'px';\n }\n }\n }\n moveBar() {\n let container = this.containerViewChild.nativeElement;\n let content = this.contentViewChild.nativeElement;\n /* horizontal scroll */\n let xBar = this.xBarViewChild.nativeElement;\n let totalWidth = content.scrollWidth;\n let ownWidth = content.clientWidth;\n let bottom = (container.clientHeight - xBar.clientHeight) * -1;\n this.scrollXRatio = ownWidth / totalWidth;\n /* vertical scroll */\n let yBar = this.yBarViewChild.nativeElement;\n let totalHeight = content.scrollHeight;\n let ownHeight = content.clientHeight;\n let right = (container.clientWidth - yBar.clientWidth) * -1;\n this.scrollYRatio = ownHeight / totalHeight;\n this.requestAnimationFrame(() => {\n if (this.scrollXRatio >= 1) {\n xBar.setAttribute('data-p-scrollpanel-hidden', 'true');\n addClass(xBar, 'p-scrollpanel-hidden');\n } else {\n xBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n removeClass(xBar, 'p-scrollpanel-hidden');\n const xBarWidth = Math.max(this.scrollXRatio * 100, 10);\n const xBarLeft = Math.abs(content.scrollLeft * (100 - xBarWidth) / (totalWidth - ownWidth));\n xBar.style.cssText = 'width:' + xBarWidth + '%; inset-inline-start:' + xBarLeft + '%;bottom:' + bottom + 'px;';\n }\n if (this.scrollYRatio >= 1) {\n yBar.setAttribute('data-p-scrollpanel-hidden', 'true');\n addClass(yBar, 'p-scrollpanel-hidden');\n } else {\n yBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n removeClass(yBar, 'p-scrollpanel-hidden');\n const yBarHeight = Math.max(this.scrollYRatio * 100, 10);\n const yBarTop = content.scrollTop * (100 - yBarHeight) / (totalHeight - ownHeight);\n yBar.style.cssText = 'height:' + yBarHeight + '%; top: calc(' + yBarTop + '% - ' + xBar.clientHeight + 'px); inset-inline-end:' + right + 'px;';\n }\n });\n this.cd.markForCheck();\n }\n onScroll(event) {\n if (this.lastScrollLeft !== event.target.scrollLeft) {\n this.lastScrollLeft = event.target.scrollLeft;\n this.orientation = 'horizontal';\n } else if (this.lastScrollTop !== event.target.scrollTop) {\n this.lastScrollTop = event.target.scrollTop;\n this.orientation = 'vertical';\n }\n this.moveBar();\n }\n onKeyDown(event) {\n if (this.orientation === 'vertical') {\n switch (event.code) {\n case 'ArrowDown':\n {\n this.setTimer('scrollTop', this.step);\n event.preventDefault();\n break;\n }\n case 'ArrowUp':\n {\n this.setTimer('scrollTop', this.step * -1);\n event.preventDefault();\n break;\n }\n case 'ArrowLeft':\n case 'ArrowRight':\n {\n event.preventDefault();\n break;\n }\n default:\n //no op\n break;\n }\n } else if (this.orientation === 'horizontal') {\n switch (event.code) {\n case 'ArrowRight':\n {\n this.setTimer('scrollLeft', this.step);\n event.preventDefault();\n break;\n }\n case 'ArrowLeft':\n {\n this.setTimer('scrollLeft', this.step * -1);\n event.preventDefault();\n break;\n }\n case 'ArrowDown':\n case 'ArrowUp':\n {\n event.preventDefault();\n break;\n }\n default:\n //no op\n break;\n }\n }\n }\n onKeyUp() {\n this.clearTimer();\n }\n repeat(bar, step) {\n this.contentViewChild.nativeElement[bar] += step;\n this.moveBar();\n }\n setTimer(bar, step) {\n this.clearTimer();\n this.timer = setTimeout(() => {\n this.repeat(bar, step);\n }, 40);\n }\n clearTimer() {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n }\n bindDocumentMouseListeners() {\n if (!this.documentMouseMoveListener) {\n this.documentMouseMoveListener = e => {\n this.onDocumentMouseMove(e);\n };\n this.document.addEventListener('mousemove', this.documentMouseMoveListener);\n }\n if (!this.documentMouseUpListener) {\n this.documentMouseUpListener = e => {\n this.onDocumentMouseUp(e);\n };\n this.document.addEventListener('mouseup', this.documentMouseUpListener);\n }\n }\n unbindDocumentMouseListeners() {\n if (this.documentMouseMoveListener) {\n this.document.removeEventListener('mousemove', this.documentMouseMoveListener);\n this.documentMouseMoveListener = null;\n }\n if (this.documentMouseUpListener) {\n document.removeEventListener('mouseup', this.documentMouseUpListener);\n this.documentMouseUpListener = null;\n }\n }\n onYBarMouseDown(e) {\n this.isYBarClicked = true;\n this.yBarViewChild.nativeElement.focus();\n this.lastPageY = e.pageY;\n this.yBarViewChild.nativeElement.setAttribute('data-p-scrollpanel-grabbed', 'true');\n addClass(this.yBarViewChild.nativeElement, 'p-scrollpanel-grabbed');\n this.document.body.setAttribute('data-p-scrollpanel-grabbed', 'true');\n addClass(this.document.body, 'p-scrollpanel-grabbed');\n this.bindDocumentMouseListeners();\n e.preventDefault();\n }\n onXBarMouseDown(e) {\n this.isXBarClicked = true;\n this.xBarViewChild.nativeElement.focus();\n this.lastPageX = e.pageX;\n this.xBarViewChild.nativeElement.setAttribute('data-p-scrollpanel-grabbed', 'false');\n addClass(this.xBarViewChild.nativeElement, 'p-scrollpanel-grabbed');\n this.document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n addClass(this.document.body, 'p-scrollpanel-grabbed');\n this.bindDocumentMouseListeners();\n e.preventDefault();\n }\n onDocumentMouseMove(e) {\n if (this.isXBarClicked) {\n this.onMouseMoveForXBar(e);\n } else if (this.isYBarClicked) {\n this.onMouseMoveForYBar(e);\n } else {\n this.onMouseMoveForXBar(e);\n this.onMouseMoveForYBar(e);\n }\n }\n onMouseMoveForXBar(e) {\n let deltaX = e.pageX - this.lastPageX;\n this.lastPageX = e.pageX;\n this.requestAnimationFrame(() => {\n this.contentViewChild.nativeElement.scrollLeft += deltaX / this.scrollXRatio;\n });\n }\n onMouseMoveForYBar(e) {\n let deltaY = e.pageY - this.lastPageY;\n this.lastPageY = e.pageY;\n this.requestAnimationFrame(() => {\n this.contentViewChild.nativeElement.scrollTop += deltaY / this.scrollYRatio;\n });\n }\n /**\n * Scrolls the top location to the given value.\n * @param scrollTop\n * @group Method\n */\n scrollTop(scrollTop) {\n let scrollableHeight = this.contentViewChild.nativeElement.scrollHeight - this.contentViewChild.nativeElement.clientHeight;\n scrollTop = scrollTop > scrollableHeight ? scrollableHeight : scrollTop > 0 ? scrollTop : 0;\n this.contentViewChild.nativeElement.scrollTop = scrollTop;\n }\n onFocus(event) {\n if (this.xBarViewChild.nativeElement.isSameNode(event.target)) {\n this.orientation = 'horizontal';\n } else if (this.yBarViewChild.nativeElement.isSameNode(event.target)) {\n this.orientation = 'vertical';\n }\n }\n onBlur() {\n if (this.orientation === 'horizontal') {\n this.orientation = 'vertical';\n }\n }\n onDocumentMouseUp(e) {\n this.yBarViewChild.nativeElement.setAttribute('data-p-scrollpanel-grabbed', 'false');\n removeClass(this.yBarViewChild.nativeElement, 'p-scrollpanel-grabbed');\n this.xBarViewChild.nativeElement.setAttribute('data-p-scrollpanel-grabbed', 'false');\n removeClass(this.xBarViewChild.nativeElement, 'p-scrollpanel-grabbed');\n this.document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n removeClass(this.document.body, 'p-scrollpanel-grabbed');\n this.unbindDocumentMouseListeners();\n this.isXBarClicked = false;\n this.isYBarClicked = false;\n }\n requestAnimationFrame(f) {\n let frame = window.requestAnimationFrame || this.timeoutFrame;\n frame(f);\n }\n unbindListeners() {\n if (this.windowResizeListener) {\n this.windowResizeListener();\n this.windowResizeListener = null;\n }\n if (this.contentScrollListener) {\n this.contentScrollListener();\n this.contentScrollListener = null;\n }\n if (this.mouseEnterListener) {\n this.mouseEnterListener();\n this.mouseEnterListener = null;\n }\n if (this.xBarMouseDownListener) {\n this.xBarMouseDownListener();\n this.xBarMouseDownListener = null;\n }\n if (this.yBarMouseDownListener) {\n this.yBarMouseDownListener();\n this.yBarMouseDownListener = null;\n }\n }\n ngOnDestroy() {\n if (this.initialized) {\n this.unbindListeners();\n }\n }\n /**\n * Refreshes the position and size of the scrollbar.\n * @group Method\n */\n refresh() {\n this.moveBar();\n }\n static ɵfac = /* @__PURE__ */(() => {\n let ɵScrollPanel_BaseFactory;\n return function ScrollPanel_Factory(__ngFactoryType__) {\n return (ɵScrollPanel_BaseFactory || (ɵScrollPanel_BaseFactory = i0.ɵɵgetInheritedFactory(ScrollPanel)))(__ngFactoryType__ || ScrollPanel);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: ScrollPanel,\n selectors: [[\"p-scroll-panel\"], [\"p-scrollPanel\"], [\"p-scrollpanel\"]],\n contentQueries: function ScrollPanel_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c0, 4);\n i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contentTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);\n }\n },\n viewQuery: function ScrollPanel_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c1, 5);\n i0.ɵɵviewQuery(_c0, 5);\n i0.ɵɵviewQuery(_c2, 5);\n i0.ɵɵviewQuery(_c3, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.containerViewChild = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contentViewChild = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.xBarViewChild = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.yBarViewChild = _t.first);\n }\n },\n inputs: {\n style: \"style\",\n styleClass: \"styleClass\",\n step: [2, \"step\", \"step\", numberAttribute]\n },\n features: [i0.ɵɵProvidersFeature([ScrollPanelStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature],\n ngContentSelectors: _c4,\n decls: 11,\n vars: 17,\n consts: [[\"container\", \"\"], [\"content\", \"\"], [\"xBar\", \"\"], [\"yBar\", \"\"], [3, \"ngClass\", \"ngStyle\"], [1, \"p-scrollpanel-content-container\"], [1, \"p-scrollpanel-content\", 3, \"mouseenter\", \"scroll\"], [4, \"ngTemplateOutlet\"], [\"tabindex\", \"0\", \"role\", \"scrollbar\", 1, \"p-scrollpanel-bar\", \"p-scrollpanel-bar-x\", 3, \"mousedown\", \"keydown\", \"keyup\", \"focus\", \"blur\"], [\"tabindex\", \"0\", \"role\", \"scrollbar\", 1, \"p-scrollpanel-bar\", \"p-scrollpanel-bar-y\", 3, \"mousedown\", \"keydown\", \"keyup\", \"focus\"]],\n template: function ScrollPanel_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵprojectionDef();\n i0.ɵɵelementStart(0, \"div\", 4, 0)(2, \"div\", 5)(3, \"div\", 6, 1);\n i0.ɵɵlistener(\"mouseenter\", function ScrollPanel_Template_div_mouseenter_3_listener() {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.moveBar());\n })(\"scroll\", function ScrollPanel_Template_div_scroll_3_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onScroll($event));\n });\n i0.ɵɵtemplate(5, ScrollPanel_Conditional_5_Template, 1, 0)(6, ScrollPanel_ng_container_6_Template, 1, 0, \"ng-container\", 7);\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(7, \"div\", 8, 2);\n i0.ɵɵlistener(\"mousedown\", function ScrollPanel_Template_div_mousedown_7_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onXBarMouseDown($event));\n })(\"keydown\", function ScrollPanel_Template_div_keydown_7_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onKeyDown($event));\n })(\"keyup\", function ScrollPanel_Template_div_keyup_7_listener() {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onKeyUp());\n })(\"focus\", function ScrollPanel_Template_div_focus_7_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onFocus($event));\n })(\"blur\", function ScrollPanel_Template_div_blur_7_listener() {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onBlur());\n });\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(9, \"div\", 9, 3);\n i0.ɵɵlistener(\"mousedown\", function ScrollPanel_Template_div_mousedown_9_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onYBarMouseDown($event));\n })(\"keydown\", function ScrollPanel_Template_div_keydown_9_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onKeyDown($event));\n })(\"keyup\", function ScrollPanel_Template_div_keyup_9_listener() {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onKeyUp());\n })(\"focus\", function ScrollPanel_Template_div_focus_9_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onFocus($event));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.styleClass);\n i0.ɵɵproperty(\"ngClass\", \"p-scrollpanel p-component\")(\"ngStyle\", ctx.style);\n i0.ɵɵattribute(\"data-pc-name\", \"scrollpanel\");\n i0.ɵɵadvance(2);\n i0.ɵɵattribute(\"data-pc-section\", \"wrapper\");\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"data-pc-section\", \"content\");\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(!ctx.contentTemplate && !ctx._contentTemplate ? 5 : -1);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx.contentTemplate || ctx._contentTemplate);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"aria-orientation\", \"horizontal\")(\"aria-valuenow\", ctx.lastScrollLeft)(\"data-pc-section\", \"barx\")(\"aria-controls\", ctx.contentId);\n i0.ɵɵadvance(2);\n i0.ɵɵattribute(\"aria-orientation\", \"vertical\")(\"aria-valuenow\", ctx.lastScrollTop)(\"data-pc-section\", \"bary\")(\"aria-controls\", ctx.contentId);\n }\n },\n dependencies: [CommonModule, i1.NgClass, i1.NgTemplateOutlet, i1.NgStyle, SharedModule],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n return ScrollPanel;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet ScrollPanelModule = /*#__PURE__*/(() => {\n class ScrollPanelModule {\n static ɵfac = function ScrollPanelModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ScrollPanelModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: ScrollPanelModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [ScrollPanel, SharedModule, SharedModule]\n });\n }\n return ScrollPanelModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ScrollPanel, ScrollPanelClasses, ScrollPanelModule, ScrollPanelStyle };\n","import { CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, inject, HostBinding, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { BaseStyle } from 'primeng/base';\nconst _c0 = [\"*\"];\nconst theme = ({\n dt\n}) => `\n.p-divider-horizontal {\n display: flex;\n width: 100%;\n position: relative;\n align-items: center;\n margin: ${dt('divider.horizontal.margin')};\n padding: ${dt('divider.horizontal.padding')};\n}\n\n.p-divider-horizontal:before {\n position: absolute;\n display: block;\n inset-block-start: 50%;\n inset-inline-start: 0;\n width: 100%;\n content: \"\";\n border-block-start: 1px solid ${dt('divider.border.color')};\n}\n\n.p-divider-horizontal .p-divider-content {\n padding: ${dt('divider.horizontal.content.padding')};\n}\n\n.p-divider-vertical {\n min-height: 100%;\n display: flex;\n position: relative;\n justify-content: center;\n margin: ${dt('divider.vertical.margin')};\n padding: ${dt('divider.vertical.padding')};\n}\n\n.p-divider-vertical:before {\n position: absolute;\n display: block;\n inset-block-start: 0;\n inset-inline-start: 50%;\n height: 100%;\n content: \"\";\n border-inline-start: 1px solid ${dt('divider.border.color')};\n}\n\n.p-divider.p-divider-vertical .p-divider-content {\n padding: ${dt('divider.vertical.content.padding')};\n}\n\n.p-divider-content {\n z-index: 1;\n background: ${dt('divider.content.background')};\n color: ${dt('divider.content.color')};\n}\n\n.p-divider-solid.p-divider-horizontal:before {\n border-block-start-style: solid;\n}\n\n.p-divider-solid.p-divider-vertical:before {\n border-inline-start-style: solid;\n}\n\n.p-divider-dashed.p-divider-horizontal:before {\n border-block-start-style: dashed;\n}\n\n.p-divider-dashed.p-divider-vertical:before {\n border-inline-start-style: dashed;\n}\n\n.p-divider-dotted.p-divider-horizontal:before {\n border-block-start-style: dotted;\n}\n\n.p-divider-dotted.p-divider-vertical:before {\n border-inline-start-style: dotted;\n}\n\n.p-divider-left:dir(rtl),\n.p-divider-right:dir(rtl) {\n flex-direction: row-reverse;\n}\n`;\n/* Position */\nconst inlineStyles = {\n root: ({\n props\n }) => ({\n justifyContent: props.layout === 'horizontal' ? props.align === 'center' || props.align === null ? 'center' : props.align === 'left' ? 'flex-start' : props.align === 'right' ? 'flex-end' : null : null,\n alignItems: props.layout === 'vertical' ? props.align === 'center' || props.align === null ? 'center' : props.align === 'top' ? 'flex-start' : props.align === 'bottom' ? 'flex-end' : null : null\n })\n};\nconst classes = {\n root: ({\n props\n }) => ['p-divider p-component', 'p-divider-' + props.layout, 'p-divider-' + props.type, {\n 'p-divider-left': props.layout === 'horizontal' && (!props.align || props.align === 'left')\n }, {\n 'p-divider-center': props.layout === 'horizontal' && props.align === 'center'\n }, {\n 'p-divider-right': props.layout === 'horizontal' && props.align === 'right'\n }, {\n 'p-divider-top': props.layout === 'vertical' && props.align === 'top'\n }, {\n 'p-divider-center': props.layout === 'vertical' && (!props.align || props.align === 'center')\n }, {\n 'p-divider-bottom': props.layout === 'vertical' && props.align === 'bottom'\n }],\n content: 'p-divider-content'\n};\nlet DividerStyle = /*#__PURE__*/(() => {\n class DividerStyle extends BaseStyle {\n name = 'divider';\n theme = theme;\n classes = classes;\n inlineStyles = inlineStyles;\n static ɵfac = /* @__PURE__ */(() => {\n let ɵDividerStyle_BaseFactory;\n return function DividerStyle_Factory(__ngFactoryType__) {\n return (ɵDividerStyle_BaseFactory || (ɵDividerStyle_BaseFactory = i0.ɵɵgetInheritedFactory(DividerStyle)))(__ngFactoryType__ || DividerStyle);\n };\n })();\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: DividerStyle,\n factory: DividerStyle.ɵfac\n });\n }\n return DividerStyle;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n *\n * Divider is used to separate contents.\n *\n * [Live Demo](https://primeng.org/divider)\n *\n * @module dividerstyle\n *\n */\nvar DividerClasses = /*#__PURE__*/function (DividerClasses) {\n /**\n * Class name of the root element\n */\n DividerClasses[\"root\"] = \"p-divider\";\n /**\n * Class name of the content element\n */\n DividerClasses[\"content\"] = \"p-divider-content\";\n return DividerClasses;\n}(DividerClasses || {});\n/**\n * Divider is used to separate contents.\n * @group Components\n */\nlet Divider = /*#__PURE__*/(() => {\n class Divider extends BaseComponent {\n /**\n * Inline style of the component.\n * @group Props\n */\n style;\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass;\n /**\n * Specifies the orientation.\n * @group Props\n */\n layout = 'horizontal';\n /**\n * Border style type.\n * @group Props\n */\n type = 'solid';\n /**\n * Alignment of the content.\n * @group Props\n */\n align;\n _componentStyle = inject(DividerStyle);\n get hostClass() {\n return this.styleClass;\n }\n static ɵfac = /* @__PURE__ */(() => {\n let ɵDivider_BaseFactory;\n return function Divider_Factory(__ngFactoryType__) {\n return (ɵDivider_BaseFactory || (ɵDivider_BaseFactory = i0.ɵɵgetInheritedFactory(Divider)))(__ngFactoryType__ || Divider);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: Divider,\n selectors: [[\"p-divider\"]],\n hostVars: 33,\n hostBindings: function Divider_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵattribute(\"aria-orientation\", ctx.layout)(\"data-pc-name\", \"divider\")(\"role\", \"separator\");\n i0.ɵɵclassMap(ctx.hostClass);\n i0.ɵɵstyleProp(\"justify-content\", ctx.layout === \"horizontal\" ? ctx.align === \"center\" || ctx.align === undefined ? \"center\" : ctx.align === \"left\" ? \"flex-start\" : ctx.align === \"right\" ? \"flex-end\" : null : null)(\"align-items\", ctx.layout === \"vertical\" ? ctx.align === \"center\" || ctx.align === undefined ? \"center\" : ctx.align === \"top\" ? \"flex-start\" : ctx.align === \"bottom\" ? \"flex-end\" : null : null);\n i0.ɵɵclassProp(\"p-divider\", true)(\"p-component\", true)(\"p-divider-horizontal\", ctx.layout === \"horizontal\")(\"p-divider-vertical\", ctx.layout === \"vertical\")(\"p-divider-solid\", ctx.type === \"solid\")(\"p-divider-dashed\", ctx.type === \"dashed\")(\"p-divider-dotted\", ctx.type === \"dotted\")(\"p-divider-left\", ctx.layout === \"horizontal\" && (!ctx.align || ctx.align === \"left\"))(\"p-divider-center\", ctx.layout === \"horizontal\" && ctx.align === \"center\" || ctx.layout === \"vertical\" && (!ctx.align || ctx.align === \"center\"))(\"p-divider-right\", ctx.layout === \"horizontal\" && ctx.align === \"right\")(\"p-divider-top\", ctx.layout === \"vertical\" && ctx.align === \"top\")(\"p-divider-bottom\", ctx.layout === \"vertical\" && ctx.align === \"bottom\");\n }\n },\n inputs: {\n style: \"style\",\n styleClass: \"styleClass\",\n layout: \"layout\",\n type: \"type\",\n align: \"align\"\n },\n features: [i0.ɵɵProvidersFeature([DividerStyle]), i0.ɵɵInheritDefinitionFeature],\n ngContentSelectors: _c0,\n decls: 2,\n vars: 0,\n consts: [[1, \"p-divider-content\"]],\n template: function Divider_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵelementStart(0, \"div\", 0);\n i0.ɵɵprojection(1);\n i0.ɵɵelementEnd();\n }\n },\n dependencies: [CommonModule, SharedModule],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n return Divider;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet DividerModule = /*#__PURE__*/(() => {\n class DividerModule {\n static ɵfac = function DividerModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || DividerModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: DividerModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [Divider]\n });\n }\n return DividerModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Divider, DividerClasses, DividerModule, DividerStyle };\n","import { CommonModule } from '@angular/common'\nimport { Component, Input } from '@angular/core'\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\nimport { faMicrophoneSlash, faStar } from '@fortawesome/pro-solid-svg-icons'\n\nconst BLANK_PROFILE_IMAGE = 'assets/images/blank_profile.png'\n\nexport type FmAvatarSize = 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'dynamicPanelView'\n\n@Component({\n selector: 'fm-avatar',\n imports: [CommonModule, FontAwesomeModule],\n templateUrl: './fm-avatar.component.html',\n styleUrl: './fm-avatar.component.scss',\n})\nexport class FmAvatarComponent {\n @Input() isSaved: boolean = false\n @Input() isSnoozed: boolean = false\n @Input() isQuietMode: boolean = false\n @Input() avatarLocation: string\n @Input() icon: any = null\n @Input() size: string = 'md'\n\n public userAvatar: string\n faStar = faStar\n faMicrophoneSlash = faMicrophoneSlash\n constructor() {}\n\n ngOnInit(): void {}\n\n ngOnChanges() {\n this.userAvatar = this.avatarLocation || BLANK_PROFILE_IMAGE\n }\n\n public onProfileImageFailedToLoad() {\n this.userAvatar = BLANK_PROFILE_IMAGE\n }\n}\n","\n \n\n
\n @if (isQuietMode) {\n \n \n
\n }\n @if (isSaved) {\n \n \n \n }\n \n\n","import { trigger, transition, style, animate } from '@angular/animations';\nimport * as i2 from '@angular/common';\nimport { isPlatformBrowser, CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, PLATFORM_ID, Inject, Pipe, EventEmitter, forwardRef, Output, Input, ViewEncapsulation, Component, computed, signal, inject, numberAttribute, booleanAttribute, ContentChildren, ContentChild, ViewChild, ChangeDetectionStrategy, NgModule } from '@angular/core';\nimport * as i3 from '@angular/router';\nimport { RouterModule } from '@angular/router';\nimport { uuid, focus, relativePosition, absolutePosition, appendChild, isTouchDevice, find, findSingle } from '@primeuix/utils';\nimport * as i5 from 'primeng/api';\nimport { SharedModule, PrimeTemplate } from 'primeng/api';\nimport * as i4 from 'primeng/badge';\nimport { BadgeModule } from 'primeng/badge';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { Ripple } from 'primeng/ripple';\nimport * as i6 from 'primeng/tooltip';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { BaseStyle } from 'primeng/base';\nimport * as i1 from '@angular/platform-browser';\nconst _c0 = [\"pMenuItemContent\", \"\"];\nconst _c1 = a0 => ({\n \"p-disabled\": a0\n});\nconst _c2 = a0 => ({\n $implicit: a0\n});\nconst _c3 = () => ({\n exact: false\n});\nfunction MenuItemContent_ng_container_1_a_1_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction MenuItemContent_ng_container_1_a_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"a\", 6);\n i0.ɵɵtemplate(1, MenuItemContent_ng_container_1_a_1_ng_container_1_Template, 1, 0, \"ng-container\", 7);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n const itemContent_r3 = i0.ɵɵreference(4);\n i0.ɵɵproperty(\"target\", ctx_r1.item.target)(\"ngClass\", i0.ɵɵpureFunction1(9, _c1, ctx_r1.item.disabled));\n i0.ɵɵattribute(\"title\", ctx_r1.item.title)(\"href\", ctx_r1.item.url || null, i0.ɵɵsanitizeUrl)(\"data-automationid\", ctx_r1.item.automationId)(\"tabindex\", -1)(\"data-pc-section\", \"action\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", itemContent_r3)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(11, _c2, ctx_r1.item));\n }\n}\nfunction MenuItemContent_ng_container_1_a_2_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction MenuItemContent_ng_container_1_a_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"a\", 8);\n i0.ɵɵtemplate(1, MenuItemContent_ng_container_1_a_2_ng_container_1_Template, 1, 0, \"ng-container\", 7);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n const itemContent_r3 = i0.ɵɵreference(4);\n i0.ɵɵproperty(\"routerLink\", ctx_r1.item.routerLink)(\"queryParams\", ctx_r1.item.queryParams)(\"routerLinkActiveOptions\", ctx_r1.item.routerLinkActiveOptions || i0.ɵɵpureFunction0(17, _c3))(\"target\", ctx_r1.item.target)(\"ngClass\", i0.ɵɵpureFunction1(18, _c1, ctx_r1.item.disabled))(\"fragment\", ctx_r1.item.fragment)(\"queryParamsHandling\", ctx_r1.item.queryParamsHandling)(\"preserveFragment\", ctx_r1.item.preserveFragment)(\"skipLocationChange\", ctx_r1.item.skipLocationChange)(\"replaceUrl\", ctx_r1.item.replaceUrl)(\"state\", ctx_r1.item.state);\n i0.ɵɵattribute(\"data-automationid\", ctx_r1.item.automationId)(\"tabindex\", -1)(\"data-pc-section\", \"action\")(\"title\", ctx_r1.item.title);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", itemContent_r3)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(20, _c2, ctx_r1.item));\n }\n}\nfunction MenuItemContent_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, MenuItemContent_ng_container_1_a_1_Template, 2, 13, \"a\", 4)(2, MenuItemContent_ng_container_1_a_2_Template, 2, 22, \"a\", 5);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !(ctx_r1.item == null ? null : ctx_r1.item.routerLink));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.item == null ? null : ctx_r1.item.routerLink);\n }\n}\nfunction MenuItemContent_ng_container_2_1_ng_template_0_Template(rf, ctx) {}\nfunction MenuItemContent_ng_container_2_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, MenuItemContent_ng_container_2_1_ng_template_0_Template, 0, 0, \"ng-template\");\n }\n}\nfunction MenuItemContent_ng_container_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, MenuItemContent_ng_container_2_1_Template, 1, 0, null, 7);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.itemTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(2, _c2, ctx_r1.item));\n }\n}\nfunction MenuItemContent_ng_template_3_span_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 12);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵclassMap(ctx_r1.item.iconClass);\n i0.ɵɵproperty(\"ngClass\", ctx_r1.item.icon)(\"ngStyle\", ctx_r1.item.iconStyle);\n }\n}\nfunction MenuItemContent_ng_template_3_span_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 13);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r1.item.label);\n }\n}\nfunction MenuItemContent_ng_template_3_ng_template_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 14);\n i0.ɵɵpipe(1, \"safeHtml\");\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"innerHTML\", i0.ɵɵpipeBind1(1, 1, ctx_r1.item.label), i0.ɵɵsanitizeHtml);\n }\n}\nfunction MenuItemContent_ng_template_3_p_badge_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"p-badge\", 15);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"styleClass\", ctx_r1.item.badgeStyleClass)(\"value\", ctx_r1.item.badge);\n }\n}\nfunction MenuItemContent_ng_template_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, MenuItemContent_ng_template_3_span_0_Template, 1, 4, \"span\", 9)(1, MenuItemContent_ng_template_3_span_1_Template, 2, 1, \"span\", 10)(2, MenuItemContent_ng_template_3_ng_template_2_Template, 2, 3, \"ng-template\", null, 1, i0.ɵɵtemplateRefExtractor)(4, MenuItemContent_ng_template_3_p_badge_4_Template, 1, 2, \"p-badge\", 11);\n }\n if (rf & 2) {\n const htmlLabel_r4 = i0.ɵɵreference(3);\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.item.icon);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.item.escape !== false)(\"ngIfElse\", htmlLabel_r4);\n i0.ɵɵadvance(3);\n i0.ɵɵproperty(\"ngIf\", ctx_r1.item.badge);\n }\n}\nconst _c4 = [\"start\"];\nconst _c5 = [\"end\"];\nconst _c6 = [\"header\"];\nconst _c7 = [\"item\"];\nconst _c8 = [\"submenuheader\"];\nconst _c9 = [\"list\"];\nconst _c10 = [\"container\"];\nconst _c11 = a0 => ({\n \"p-menu p-component\": true,\n \"p-menu-overlay\": a0\n});\nconst _c12 = (a0, a1) => ({\n showTransitionParams: a0,\n hideTransitionParams: a1\n});\nconst _c13 = a0 => ({\n value: \"visible\",\n params: a0\n});\nconst _c14 = (a0, a1) => ({\n \"p-hidden\": a0,\n flex: a1\n});\nconst _c15 = (a0, a1) => ({\n \"p-focus\": a0,\n \"p-disabled\": a1\n});\nfunction Menu_div_0_div_2_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction Menu_div_0_div_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 9);\n i0.ɵɵtemplate(1, Menu_div_0_div_2_ng_container_1_Template, 1, 0, \"ng-container\", 10);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n let tmp_5_0;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵattribute(\"data-pc-section\", \"start\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", (tmp_5_0 = ctx_r1.startTemplate) !== null && tmp_5_0 !== undefined ? tmp_5_0 : ctx_r1._startTemplate);\n }\n}\nfunction Menu_div_0_5_ng_template_0_li_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"li\", 14);\n }\n}\nfunction Menu_div_0_5_ng_template_0_li_1_ng_container_1_span_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\");\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const submenu_r3 = i0.ɵɵnextContext(3).$implicit;\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(submenu_r3.label);\n }\n}\nfunction Menu_div_0_5_ng_template_0_li_1_ng_container_1_ng_template_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 18);\n i0.ɵɵpipe(1, \"safeHtml\");\n }\n if (rf & 2) {\n const submenu_r3 = i0.ɵɵnextContext(3).$implicit;\n i0.ɵɵproperty(\"innerHTML\", i0.ɵɵpipeBind1(1, 1, submenu_r3.label), i0.ɵɵsanitizeHtml);\n }\n}\nfunction Menu_div_0_5_ng_template_0_li_1_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, Menu_div_0_5_ng_template_0_li_1_ng_container_1_span_1_Template, 2, 1, \"span\", 17)(2, Menu_div_0_5_ng_template_0_li_1_ng_container_1_ng_template_2_Template, 2, 3, \"ng-template\", null, 2, i0.ɵɵtemplateRefExtractor);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const htmlSubmenuLabel_r4 = i0.ɵɵreference(3);\n const submenu_r3 = i0.ɵɵnextContext(2).$implicit;\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", submenu_r3.escape !== false)(\"ngIfElse\", htmlSubmenuLabel_r4);\n }\n}\nfunction Menu_div_0_5_ng_template_0_li_1_ng_container_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction Menu_div_0_5_ng_template_0_li_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"li\", 15);\n i0.ɵɵtemplate(1, Menu_div_0_5_ng_template_0_li_1_ng_container_1_Template, 4, 2, \"ng-container\", 7)(2, Menu_div_0_5_ng_template_0_li_1_ng_container_2_Template, 1, 0, \"ng-container\", 16);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n let tmp_13_0;\n const ctx_r4 = i0.ɵɵnextContext();\n const submenu_r3 = ctx_r4.$implicit;\n const i_r6 = ctx_r4.index;\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"ngClass\", i0.ɵɵpureFunction2(7, _c14, submenu_r3.visible === false, submenu_r3.visible))(\"tooltipOptions\", submenu_r3.tooltipOptions);\n i0.ɵɵattribute(\"data-automationid\", submenu_r3.automationId)(\"id\", ctx_r1.menuitemId(submenu_r3, ctx_r1.id, i_r6));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r1.submenuHeaderTemplate && !ctx_r1._submenuHeaderTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", (tmp_13_0 = ctx_r1.submenuHeaderTemplate) !== null && tmp_13_0 !== undefined ? tmp_13_0 : ctx_r1._submenuHeaderTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(10, _c2, submenu_r3));\n }\n}\nfunction Menu_div_0_5_ng_template_0_ng_template_2_li_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"li\", 14);\n }\n}\nfunction Menu_div_0_5_ng_template_0_ng_template_2_li_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r7 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"li\", 20);\n i0.ɵɵlistener(\"onMenuItemClick\", function Menu_div_0_5_ng_template_0_ng_template_2_li_1_Template_li_onMenuItemClick_0_listener($event) {\n i0.ɵɵrestoreView(_r7);\n const ctx_r7 = i0.ɵɵnextContext();\n const item_r9 = ctx_r7.$implicit;\n const j_r10 = ctx_r7.index;\n const i_r6 = i0.ɵɵnextContext().index;\n const ctx_r1 = i0.ɵɵnextContext(3);\n return i0.ɵɵresetView(ctx_r1.itemClick($event, ctx_r1.menuitemId(item_r9, ctx_r1.id, i_r6, j_r10)));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n let tmp_13_0;\n const ctx_r7 = i0.ɵɵnextContext();\n const item_r9 = ctx_r7.$implicit;\n const j_r10 = ctx_r7.index;\n const i_r6 = i0.ɵɵnextContext().index;\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵclassMap(item_r9.styleClass);\n i0.ɵɵproperty(\"pMenuItemContent\", item_r9)(\"itemTemplate\", (tmp_13_0 = ctx_r1.itemTemplate) !== null && tmp_13_0 !== undefined ? tmp_13_0 : ctx_r1._itemTemplate)(\"ngClass\", i0.ɵɵpureFunction2(13, _c15, ctx_r1.focusedOptionId() && ctx_r1.menuitemId(item_r9, ctx_r1.id, i_r6, j_r10) === ctx_r1.focusedOptionId(), ctx_r1.disabled(item_r9.disabled)))(\"ngStyle\", item_r9.style)(\"tooltipOptions\", item_r9.tooltipOptions);\n i0.ɵɵattribute(\"data-pc-section\", \"menuitem\")(\"aria-label\", ctx_r1.label(item_r9.label))(\"data-p-focused\", ctx_r1.isItemFocused(ctx_r1.menuitemId(item_r9, ctx_r1.id, i_r6, j_r10)))(\"data-p-disabled\", ctx_r1.disabled(item_r9.disabled))(\"aria-disabled\", ctx_r1.disabled(item_r9.disabled))(\"id\", ctx_r1.menuitemId(item_r9, ctx_r1.id, i_r6, j_r10));\n }\n}\nfunction Menu_div_0_5_ng_template_0_ng_template_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Menu_div_0_5_ng_template_0_ng_template_2_li_0_Template, 1, 0, \"li\", 12)(1, Menu_div_0_5_ng_template_0_ng_template_2_li_1_Template, 1, 16, \"li\", 19);\n }\n if (rf & 2) {\n const item_r9 = ctx.$implicit;\n const submenu_r3 = i0.ɵɵnextContext().$implicit;\n i0.ɵɵproperty(\"ngIf\", item_r9.separator && (item_r9.visible !== false || submenu_r3.visible !== false));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !item_r9.separator && item_r9.visible !== false && (item_r9.visible !== undefined || submenu_r3.visible !== false));\n }\n}\nfunction Menu_div_0_5_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Menu_div_0_5_ng_template_0_li_0_Template, 1, 0, \"li\", 12)(1, Menu_div_0_5_ng_template_0_li_1_Template, 3, 12, \"li\", 13)(2, Menu_div_0_5_ng_template_0_ng_template_2_Template, 2, 2, \"ng-template\", 11);\n }\n if (rf & 2) {\n const submenu_r3 = ctx.$implicit;\n i0.ɵɵproperty(\"ngIf\", submenu_r3.separator && submenu_r3.visible !== false);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !submenu_r3.separator);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", submenu_r3.items);\n }\n}\nfunction Menu_div_0_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Menu_div_0_5_ng_template_0_Template, 3, 3, \"ng-template\", 11);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.model);\n }\n}\nfunction Menu_div_0_6_ng_template_0_li_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"li\", 14);\n }\n}\nfunction Menu_div_0_6_ng_template_0_li_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r11 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"li\", 20);\n i0.ɵɵlistener(\"onMenuItemClick\", function Menu_div_0_6_ng_template_0_li_1_Template_li_onMenuItemClick_0_listener($event) {\n i0.ɵɵrestoreView(_r11);\n const ctx_r11 = i0.ɵɵnextContext();\n const item_r13 = ctx_r11.$implicit;\n const i_r14 = ctx_r11.index;\n const ctx_r1 = i0.ɵɵnextContext(3);\n return i0.ɵɵresetView(ctx_r1.itemClick($event, ctx_r1.menuitemId(item_r13, ctx_r1.id, i_r14)));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n let tmp_10_0;\n const ctx_r11 = i0.ɵɵnextContext();\n const item_r13 = ctx_r11.$implicit;\n const i_r14 = ctx_r11.index;\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵclassMap(item_r13.styleClass);\n i0.ɵɵproperty(\"pMenuItemContent\", item_r13)(\"itemTemplate\", (tmp_10_0 = ctx_r1.itemTemplate) !== null && tmp_10_0 !== undefined ? tmp_10_0 : ctx_r1._itemTemplate)(\"ngClass\", i0.ɵɵpureFunction2(13, _c15, ctx_r1.focusedOptionId() && ctx_r1.menuitemId(item_r13, ctx_r1.id, i_r14) === ctx_r1.focusedOptionId(), ctx_r1.disabled(item_r13.disabled)))(\"ngStyle\", item_r13.style)(\"tooltipOptions\", item_r13.tooltipOptions);\n i0.ɵɵattribute(\"data-pc-section\", \"menuitem\")(\"aria-label\", ctx_r1.label(item_r13.label))(\"data-p-focused\", ctx_r1.isItemFocused(ctx_r1.menuitemId(item_r13, ctx_r1.id, i_r14)))(\"data-p-disabled\", ctx_r1.disabled(item_r13.disabled))(\"aria-disabled\", ctx_r1.disabled(item_r13.disabled))(\"id\", ctx_r1.menuitemId(item_r13, ctx_r1.id, i_r14));\n }\n}\nfunction Menu_div_0_6_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Menu_div_0_6_ng_template_0_li_0_Template, 1, 0, \"li\", 12)(1, Menu_div_0_6_ng_template_0_li_1_Template, 1, 16, \"li\", 19);\n }\n if (rf & 2) {\n const item_r13 = ctx.$implicit;\n i0.ɵɵproperty(\"ngIf\", item_r13.separator && item_r13.visible !== false);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !item_r13.separator && item_r13.visible !== false);\n }\n}\nfunction Menu_div_0_6_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Menu_div_0_6_ng_template_0_Template, 2, 2, \"ng-template\", 11);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.model);\n }\n}\nfunction Menu_div_0_div_7_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction Menu_div_0_div_7_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 21);\n i0.ɵɵtemplate(1, Menu_div_0_div_7_ng_container_1_Template, 1, 0, \"ng-container\", 10);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n let tmp_5_0;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵattribute(\"data-pc-section\", \"end\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", (tmp_5_0 = ctx_r1.endTemplate) !== null && tmp_5_0 !== undefined ? tmp_5_0 : ctx_r1._endTemplate);\n }\n}\nfunction Menu_div_0_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 4, 0);\n i0.ɵɵlistener(\"click\", function Menu_div_0_Template_div_click_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onOverlayClick($event));\n })(\"@overlayAnimation.start\", function Menu_div_0_Template_div_animation_overlayAnimation_start_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onOverlayAnimationStart($event));\n })(\"@overlayAnimation.done\", function Menu_div_0_Template_div_animation_overlayAnimation_done_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onOverlayAnimationEnd($event));\n });\n i0.ɵɵtemplate(2, Menu_div_0_div_2_Template, 2, 2, \"div\", 5);\n i0.ɵɵelementStart(3, \"ul\", 6, 1);\n i0.ɵɵlistener(\"focus\", function Menu_div_0_Template_ul_focus_3_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onListFocus($event));\n })(\"blur\", function Menu_div_0_Template_ul_blur_3_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onListBlur($event));\n })(\"keydown\", function Menu_div_0_Template_ul_keydown_3_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onListKeyDown($event));\n });\n i0.ɵɵtemplate(5, Menu_div_0_5_Template, 1, 1, null, 7)(6, Menu_div_0_6_Template, 1, 1, null, 7);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(7, Menu_div_0_div_7_Template, 2, 2, \"div\", 8);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n let tmp_10_0;\n let tmp_19_0;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵclassMap(ctx_r1.styleClass);\n i0.ɵɵproperty(\"ngClass\", i0.ɵɵpureFunction1(18, _c11, ctx_r1.popup))(\"ngStyle\", ctx_r1.style)(\"@overlayAnimation\", i0.ɵɵpureFunction1(23, _c13, i0.ɵɵpureFunction2(20, _c12, ctx_r1.showTransitionOptions, ctx_r1.hideTransitionOptions)))(\"@.disabled\", ctx_r1.popup !== true);\n i0.ɵɵattribute(\"data-pc-name\", \"menu\")(\"id\", ctx_r1.id);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", (tmp_10_0 = ctx_r1.startTemplate) !== null && tmp_10_0 !== undefined ? tmp_10_0 : ctx_r1._startTemplate);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"id\", ctx_r1.id + \"_list\")(\"tabindex\", ctx_r1.getTabIndexValue())(\"data-pc-section\", \"menu\")(\"aria-activedescendant\", ctx_r1.activedescendant())(\"aria-label\", ctx_r1.ariaLabel)(\"aria-labelledBy\", ctx_r1.ariaLabelledBy);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx_r1.hasSubMenu());\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r1.hasSubMenu());\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", (tmp_19_0 = ctx_r1.endTemplate) !== null && tmp_19_0 !== undefined ? tmp_19_0 : ctx_r1._endTemplate);\n }\n}\nconst theme = ({\n dt\n}) => `\n.p-menu {\n background: ${dt('menu.background')};\n color: ${dt('menu.color')};\n border: 1px solid ${dt('menu.border.color')};\n border-radius: ${dt('menu.border.radius')};\n min-width: 12.5rem;\n}\n\n.p-menu-list {\n margin: 0;\n padding: ${dt('menu.list.padding')};\n outline: 0 none;\n list-style: none;\n display: flex;\n flex-direction: column;\n gap: ${dt('menu.list.gap')};\n}\n\n.p-menu-item-content {\n transition: background ${dt('menu.transition.duration')}, color ${dt('menu.transition.duration')};\n border-radius: ${dt('menu.item.border.radius')};\n color: ${dt('menu.item.color')};\n}\n\n.p-menu-item-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n color: inherit;\n padding: ${dt('menu.item.padding')};\n gap: ${dt('menu.item.gap')};\n user-select: none;\n outline: 0 none;\n}\n\n.p-menu-item-label {\n line-height: 1;\n}\n\n.p-menu-item-icon {\n color: ${dt('menu.item.icon.color')};\n}\n\n.p-menu-item.p-focus .p-menu-item-content {\n color: ${dt('menu.item.focus.color')};\n background: ${dt('menu.item.focus.background')};\n}\n\n.p-menu-item.p-focus .p-menu-item-icon {\n color: ${dt('menu.item.icon.focus.color')};\n}\n\n.p-menu-item:not(.p-disabled) .p-menu-item-content:hover {\n color: ${dt('menu.item.focus.color')};\n background: ${dt('menu.item.focus.background')};\n}\n\n.p-menu-item:not(.p-disabled) .p-menu-item-content:hover .p-menu-item-icon {\n color: ${dt('menu.item.icon.focus.color')};\n}\n\n.p-menu-overlay {\n box-shadow: ${dt('menu.shadow')};\n}\n\n.p-menu-submenu-label {\n background: ${dt('menu.submenu.label.background')};\n padding: ${dt('menu.submenu.label.padding')};\n color: ${dt('menu.submenu.label.color')};\n font-weight: ${dt('menu.submenu.label.font.weight')};\n}\n\n.p-menu-separator {\n border-top: 1px solid ${dt('menu.separator.border.color')};\n}\n\n/* For PrimeNG */\n.p-menu-overlay {\n position: absolute;\n}\n`;\nconst classes = {\n root: ({\n props\n }) => ['p-menu p-component', {\n 'p-menu-overlay': props.popup\n }],\n start: 'p-menu-start',\n list: 'p-menu-list',\n submenuLabel: 'p-menu-submenu-label',\n separator: 'p-menu-separator',\n end: 'p-menu-end',\n item: ({\n instance\n }) => ['p-menu-item', {\n 'p-focus': instance.id === instance.focusedOptionId,\n 'p-disabled': instance.disabled()\n }],\n itemContent: 'p-menu-item-content',\n itemLink: 'p-menu-item-link',\n itemIcon: 'p-menu-item-icon',\n itemLabel: 'p-menu-item-label'\n};\nlet MenuStyle = /*#__PURE__*/(() => {\n class MenuStyle extends BaseStyle {\n name = 'menu';\n theme = theme;\n classes = classes;\n static ɵfac = /* @__PURE__ */(() => {\n let ɵMenuStyle_BaseFactory;\n return function MenuStyle_Factory(__ngFactoryType__) {\n return (ɵMenuStyle_BaseFactory || (ɵMenuStyle_BaseFactory = i0.ɵɵgetInheritedFactory(MenuStyle)))(__ngFactoryType__ || MenuStyle);\n };\n })();\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: MenuStyle,\n factory: MenuStyle.ɵfac\n });\n }\n return MenuStyle;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n *\n * Menu is a navigation / command component that supports dynamic and static positioning.\n *\n * [Live Demo](https://www.primeng.org/menu/)\n *\n * @module menustyle\n *\n */\nvar MenuClasses = /*#__PURE__*/function (MenuClasses) {\n /**\n * Class name of the root element\n */\n MenuClasses[\"root\"] = \"p-menu\";\n /**\n * Class name of the start element\n */\n MenuClasses[\"start\"] = \"p-menu-start\";\n /**\n * Class name of the list element\n */\n MenuClasses[\"list\"] = \"p-menu-list\";\n /**\n * Class name of the submenu item element\n */\n MenuClasses[\"submenuItem\"] = \"p-menu-submenu-item\";\n /**\n * Class name of the separator element\n */\n MenuClasses[\"separator\"] = \"p-menu-separator\";\n /**\n * Class name of the end element\n */\n MenuClasses[\"end\"] = \"p-menu-end\";\n /**\n * Class name of the item element\n */\n MenuClasses[\"item\"] = \"p-menu-item\";\n /**\n * Class name of the item content element\n */\n MenuClasses[\"itemContent\"] = \"p-menu-item-content\";\n /**\n * Class name of the item link element\n */\n MenuClasses[\"itemLink\"] = \"p-menu-item-link\";\n /**\n * Class name of the item icon element\n */\n MenuClasses[\"itemIcon\"] = \"p-menu-item-icon\";\n /**\n * Class name of the item label element\n */\n MenuClasses[\"itemLabel\"] = \"p-menu-item-label\";\n return MenuClasses;\n}(MenuClasses || {});\nlet SafeHtmlPipe = /*#__PURE__*/(() => {\n class SafeHtmlPipe {\n platformId;\n sanitizer;\n constructor(platformId, sanitizer) {\n this.platformId = platformId;\n this.sanitizer = sanitizer;\n }\n transform(value) {\n if (!value || !isPlatformBrowser(this.platformId)) {\n return value;\n }\n return this.sanitizer.bypassSecurityTrustHtml(value);\n }\n static ɵfac = function SafeHtmlPipe_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || SafeHtmlPipe)(i0.ɵɵdirectiveInject(PLATFORM_ID, 16), i0.ɵɵdirectiveInject(i1.DomSanitizer, 16));\n };\n static ɵpipe = /* @__PURE__ */i0.ɵɵdefinePipe({\n name: \"safeHtml\",\n type: SafeHtmlPipe,\n pure: true\n });\n }\n return SafeHtmlPipe;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MenuItemContent = /*#__PURE__*/(() => {\n class MenuItemContent {\n item;\n itemTemplate;\n onMenuItemClick = new EventEmitter();\n menu;\n constructor(menu) {\n this.menu = menu;\n }\n onItemClick(event, item) {\n this.onMenuItemClick.emit({\n originalEvent: event,\n item\n });\n }\n static ɵfac = function MenuItemContent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MenuItemContent)(i0.ɵɵdirectiveInject(forwardRef(() => Menu)));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MenuItemContent,\n selectors: [[\"\", \"pMenuItemContent\", \"\"]],\n inputs: {\n item: [0, \"pMenuItemContent\", \"item\"],\n itemTemplate: \"itemTemplate\"\n },\n outputs: {\n onMenuItemClick: \"onMenuItemClick\"\n },\n attrs: _c0,\n decls: 5,\n vars: 3,\n consts: [[\"itemContent\", \"\"], [\"htmlLabel\", \"\"], [1, \"p-menu-item-content\", 3, \"click\"], [4, \"ngIf\"], [\"class\", \"p-menu-item-link\", \"pRipple\", \"\", 3, \"target\", \"ngClass\", 4, \"ngIf\"], [\"routerLinkActive\", \"p-menu-item-link-active\", \"class\", \"p-menu-item-link\", \"pRipple\", \"\", 3, \"routerLink\", \"queryParams\", \"routerLinkActiveOptions\", \"target\", \"ngClass\", \"fragment\", \"queryParamsHandling\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"state\", 4, \"ngIf\"], [\"pRipple\", \"\", 1, \"p-menu-item-link\", 3, \"target\", \"ngClass\"], [4, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [\"routerLinkActive\", \"p-menu-item-link-active\", \"pRipple\", \"\", 1, \"p-menu-item-link\", 3, \"routerLink\", \"queryParams\", \"routerLinkActiveOptions\", \"target\", \"ngClass\", \"fragment\", \"queryParamsHandling\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"state\"], [\"class\", \"p-menu-item-icon\", 3, \"ngClass\", \"class\", \"ngStyle\", 4, \"ngIf\"], [\"class\", \"p-menu-item-label\", 4, \"ngIf\", \"ngIfElse\"], [3, \"styleClass\", \"value\", 4, \"ngIf\"], [1, \"p-menu-item-icon\", 3, \"ngClass\", \"ngStyle\"], [1, \"p-menu-item-label\"], [1, \"p-menu-item-label\", 3, \"innerHTML\"], [3, \"styleClass\", \"value\"]],\n template: function MenuItemContent_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 2);\n i0.ɵɵlistener(\"click\", function MenuItemContent_Template_div_click_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onItemClick($event, ctx.item));\n });\n i0.ɵɵtemplate(1, MenuItemContent_ng_container_1_Template, 3, 2, \"ng-container\", 3)(2, MenuItemContent_ng_container_2_Template, 2, 4, \"ng-container\", 3)(3, MenuItemContent_ng_template_3_Template, 5, 4, \"ng-template\", null, 0, i0.ɵɵtemplateRefExtractor);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"data-pc-section\", \"content\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.itemTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.itemTemplate);\n }\n },\n dependencies: [CommonModule, i2.NgClass, i2.NgIf, i2.NgTemplateOutlet, i2.NgStyle, RouterModule, i3.RouterLink, i3.RouterLinkActive, Ripple, TooltipModule, BadgeModule, i4.Badge, SharedModule, SafeHtmlPipe],\n encapsulation: 2\n });\n }\n return MenuItemContent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Menu is a navigation / command component that supports dynamic and static positioning.\n * @group Components\n */\nlet Menu = /*#__PURE__*/(() => {\n class Menu extends BaseComponent {\n overlayService;\n /**\n * An array of menuitems.\n * @group Props\n */\n model;\n /**\n * Defines if menu would displayed as a popup.\n * @group Props\n */\n popup;\n /**\n * Inline style of the component.\n * @group Props\n */\n style;\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass;\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n appendTo;\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n autoZIndex = true;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n baseZIndex = 0;\n /**\n * Transition options of the show animation.\n * @group Props\n */\n showTransitionOptions = '.12s cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n hideTransitionOptions = '.1s linear';\n /**\n * Defines a string value that labels an interactive element.\n * @group Props\n */\n ariaLabel;\n /**\n * Identifier of the underlying input element.\n * @group Props\n */\n ariaLabelledBy;\n /**\n * Current id state as a string.\n * @group Props\n */\n id;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = 0;\n /**\n * Callback to invoke when overlay menu is shown.\n * @group Emits\n */\n onShow = new EventEmitter();\n /**\n * Callback to invoke when overlay menu is hidden.\n * @group Emits\n */\n onHide = new EventEmitter();\n /**\n * Callback to invoke when the list loses focus.\n * @param {Event} event - blur event.\n * @group Emits\n */\n onBlur = new EventEmitter();\n /**\n * Callback to invoke when the list receives focus.\n * @param {Event} event - focus event.\n * @group Emits\n */\n onFocus = new EventEmitter();\n listViewChild;\n containerViewChild;\n container;\n scrollHandler;\n documentClickListener;\n documentResizeListener;\n preventDocumentDefault;\n target;\n visible;\n focusedOptionId = computed(() => {\n return this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : null;\n });\n focusedOptionIndex = signal(-1);\n selectedOptionIndex = signal(-1);\n focused = false;\n overlayVisible = false;\n relativeAlign;\n _componentStyle = inject(MenuStyle);\n constructor(overlayService) {\n super();\n this.overlayService = overlayService;\n this.id = this.id || uuid('pn_id_');\n }\n /**\n * Toggles the visibility of the popup menu.\n * @param {Event} event - Browser event.\n * @group Method\n */\n toggle(event) {\n if (this.visible) this.hide();else this.show(event);\n this.preventDocumentDefault = true;\n }\n /**\n * Displays the popup menu.\n * @param {Event} event - Browser event.\n * @group Method\n */\n show(event) {\n this.target = event.currentTarget;\n this.relativeAlign = event.relativeAlign;\n this.visible = true;\n this.preventDocumentDefault = true;\n this.overlayVisible = true;\n this.cd.markForCheck();\n }\n ngOnInit() {\n super.ngOnInit();\n if (!this.popup) {\n this.bindDocumentClickListener();\n }\n }\n /**\n * Defines template option for start.\n * @group Templates\n */\n startTemplate;\n _startTemplate;\n /**\n * Defines template option for end.\n * @group Templates\n */\n endTemplate;\n _endTemplate;\n /**\n * Defines template option for header.\n * @group Templates\n */\n headerTemplate;\n _headerTemplate;\n /**\n * Defines template option for item.\n * @group Templates\n */\n itemTemplate;\n _itemTemplate;\n /**\n * Defines template option for item.\n * @group Templates\n */\n submenuHeaderTemplate;\n _submenuHeaderTemplate;\n templates;\n ngAfterContentInit() {\n this.templates?.forEach(item => {\n switch (item.getType()) {\n case 'start':\n this._startTemplate = item.template;\n break;\n case 'end':\n this._endTemplate = item.template;\n break;\n case 'item':\n this._itemTemplate = item.template;\n break;\n case 'submenuheader':\n this._submenuHeaderTemplate = item.template;\n break;\n default:\n this._itemTemplate = item.template;\n break;\n }\n });\n }\n getTabIndexValue() {\n return this.tabindex !== undefined ? this.tabindex.toString() : null;\n }\n onOverlayAnimationStart(event) {\n switch (event.toState) {\n case 'visible':\n if (this.popup) {\n this.container = event.element;\n this.moveOnTop();\n this.onShow.emit({});\n this.appendOverlay();\n this.alignOverlay();\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n focus(this.listViewChild.nativeElement);\n }\n break;\n case 'void':\n this.onOverlayHide();\n this.onHide.emit({});\n break;\n }\n }\n onOverlayAnimationEnd(event) {\n switch (event.toState) {\n case 'void':\n if (this.autoZIndex) {\n ZIndexUtils.clear(event.element);\n }\n break;\n }\n }\n alignOverlay() {\n if (this.relativeAlign) relativePosition(this.container, this.target);else absolutePosition(this.container, this.target);\n }\n appendOverlay() {\n if (this.appendTo) {\n if (this.appendTo === 'body') this.renderer.appendChild(this.document.body, this.container);else appendChild(this.appendTo, this.container);\n }\n }\n restoreOverlayAppend() {\n if (this.container && this.appendTo) {\n this.renderer.appendChild(this.el.nativeElement, this.container);\n }\n }\n moveOnTop() {\n if (this.autoZIndex) {\n ZIndexUtils.set('menu', this.container, this.baseZIndex + this.config.zIndex.menu);\n }\n }\n /**\n * Hides the popup menu.\n * @group Method\n */\n hide() {\n this.visible = false;\n this.relativeAlign = false;\n this.cd.markForCheck();\n }\n onWindowResize() {\n if (this.visible && !isTouchDevice()) {\n this.hide();\n }\n }\n menuitemId(item, id, index, childIndex) {\n return item?.id ?? `${id}_${index}${childIndex !== undefined ? '_' + childIndex : ''}`;\n }\n isItemFocused(id) {\n return this.focusedOptionId() === id;\n }\n label(label) {\n return typeof label === 'function' ? label() : label;\n }\n disabled(disabled) {\n return typeof disabled === 'function' ? disabled() : typeof disabled === 'undefined' ? false : disabled;\n }\n activedescendant() {\n return this.focused ? this.focusedOptionId() : undefined;\n }\n onListFocus(event) {\n if (!this.focused) {\n this.focused = true;\n this.onFocus.emit(event);\n }\n }\n onListBlur(event) {\n if (this.focused) {\n this.focused = false;\n this.changeFocusedOptionIndex(-1);\n this.selectedOptionIndex.set(-1);\n this.focusedOptionIndex.set(-1);\n this.onBlur.emit(event);\n }\n }\n onListKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n case 'Home':\n this.onHomeKey(event);\n break;\n case 'End':\n this.onEndKey(event);\n break;\n case 'Enter':\n this.onEnterKey(event);\n break;\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n case 'Space':\n this.onSpaceKey(event);\n break;\n case 'Escape':\n case 'Tab':\n if (this.popup) {\n focus(this.target);\n this.hide();\n }\n this.overlayVisible && this.hide();\n break;\n default:\n break;\n }\n }\n onArrowDownKey(event) {\n const optionIndex = this.findNextOptionIndex(this.focusedOptionIndex());\n this.changeFocusedOptionIndex(optionIndex);\n event.preventDefault();\n }\n onArrowUpKey(event) {\n if (event.altKey && this.popup) {\n focus(this.target);\n this.hide();\n event.preventDefault();\n } else {\n const optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex());\n this.changeFocusedOptionIndex(optionIndex);\n event.preventDefault();\n }\n }\n onHomeKey(event) {\n this.changeFocusedOptionIndex(0);\n event.preventDefault();\n }\n onEndKey(event) {\n this.changeFocusedOptionIndex(find(this.containerViewChild.nativeElement, 'li[data-pc-section=\"menuitem\"][data-p-disabled=\"false\"]').length - 1);\n event.preventDefault();\n }\n onEnterKey(event) {\n const element = findSingle(this.containerViewChild.nativeElement, `li[id=\"${`${this.focusedOptionIndex()}`}\"]`);\n const anchorElement = element && findSingle(element, 'a[data-pc-section=\"action\"]');\n this.popup && focus(this.target);\n anchorElement ? anchorElement.click() : element && element.click();\n event.preventDefault();\n }\n onSpaceKey(event) {\n this.onEnterKey(event);\n }\n findNextOptionIndex(index) {\n const links = find(this.containerViewChild.nativeElement, 'li[data-pc-section=\"menuitem\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...links].findIndex(link => link.id === index);\n return matchedOptionIndex > -1 ? matchedOptionIndex + 1 : 0;\n }\n findPrevOptionIndex(index) {\n const links = find(this.containerViewChild.nativeElement, 'li[data-pc-section=\"menuitem\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...links].findIndex(link => link.id === index);\n return matchedOptionIndex > -1 ? matchedOptionIndex - 1 : 0;\n }\n changeFocusedOptionIndex(index) {\n const links = find(this.containerViewChild.nativeElement, 'li[data-pc-section=\"menuitem\"][data-p-disabled=\"false\"]');\n if (links.length > 0) {\n let order = index >= links.length ? links.length - 1 : index < 0 ? 0 : index;\n order > -1 && this.focusedOptionIndex.set(links[order].getAttribute('id'));\n }\n }\n itemClick(event, id) {\n const {\n originalEvent,\n item\n } = event;\n if (!this.focused) {\n this.focused = true;\n this.onFocus.emit();\n }\n if (item.disabled) {\n originalEvent.preventDefault();\n return;\n }\n if (!item.url && !item.routerLink) {\n originalEvent.preventDefault();\n }\n if (item.command) {\n item.command({\n originalEvent: originalEvent,\n item: item\n });\n }\n if (this.popup) {\n this.hide();\n }\n if (!this.popup && this.focusedOptionIndex() !== id) {\n this.focusedOptionIndex.set(id);\n }\n }\n onOverlayClick(event) {\n if (this.popup) {\n this.overlayService.add({\n originalEvent: event,\n target: this.el.nativeElement\n });\n }\n this.preventDocumentDefault = true;\n }\n bindDocumentClickListener() {\n if (!this.documentClickListener && isPlatformBrowser(this.platformId)) {\n const documentTarget = this.el ? this.el.nativeElement.ownerDocument : 'document';\n this.documentClickListener = this.renderer.listen(documentTarget, 'click', event => {\n const isOutsideContainer = this.containerViewChild?.nativeElement && !this.containerViewChild?.nativeElement.contains(event.target);\n const isOutsideTarget = !(this.target && (this.target === event.target || this.target.contains(event.target)));\n if (!this.popup && isOutsideContainer && isOutsideTarget) {\n this.onListBlur(event);\n }\n if (this.preventDocumentDefault && this.overlayVisible && isOutsideContainer && isOutsideTarget) {\n this.hide();\n this.preventDocumentDefault = false;\n }\n });\n }\n }\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n bindDocumentResizeListener() {\n if (!this.documentResizeListener && isPlatformBrowser(this.platformId)) {\n const window = this.document.defaultView;\n this.documentResizeListener = this.renderer.listen(window, 'resize', this.onWindowResize.bind(this));\n }\n }\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n bindScrollListener() {\n if (!this.scrollHandler && isPlatformBrowser(this.platformId)) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\n if (this.visible) {\n this.hide();\n }\n });\n }\n this.scrollHandler?.bindScrollListener();\n }\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n onOverlayHide() {\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n this.preventDocumentDefault = false;\n if (!this.cd.destroyed) {\n this.target = null;\n }\n }\n ngOnDestroy() {\n if (this.popup) {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n if (this.container && this.autoZIndex) {\n ZIndexUtils.clear(this.container);\n }\n this.restoreOverlayAppend();\n this.onOverlayHide();\n }\n if (!this.popup) {\n this.unbindDocumentClickListener();\n }\n super.ngOnDestroy();\n }\n hasSubMenu() {\n return this.model?.some(item => item.items) ?? false;\n }\n isItemHidden(item) {\n if (item.separator) {\n return item.visible === false || item.items && item.items.some(subitem => subitem.visible !== false);\n }\n return item.visible === false;\n }\n static ɵfac = function Menu_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || Menu)(i0.ɵɵdirectiveInject(i5.OverlayService));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: Menu,\n selectors: [[\"p-menu\"]],\n contentQueries: function Menu_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c4, 4);\n i0.ɵɵcontentQuery(dirIndex, _c5, 4);\n i0.ɵɵcontentQuery(dirIndex, _c6, 4);\n i0.ɵɵcontentQuery(dirIndex, _c7, 4);\n i0.ɵɵcontentQuery(dirIndex, _c8, 4);\n i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.startTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.endTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.headerTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.submenuHeaderTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);\n }\n },\n viewQuery: function Menu_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c9, 5);\n i0.ɵɵviewQuery(_c10, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.listViewChild = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.containerViewChild = _t.first);\n }\n },\n inputs: {\n model: \"model\",\n popup: [2, \"popup\", \"popup\", booleanAttribute],\n style: \"style\",\n styleClass: \"styleClass\",\n appendTo: \"appendTo\",\n autoZIndex: [2, \"autoZIndex\", \"autoZIndex\", booleanAttribute],\n baseZIndex: [2, \"baseZIndex\", \"baseZIndex\", numberAttribute],\n showTransitionOptions: \"showTransitionOptions\",\n hideTransitionOptions: \"hideTransitionOptions\",\n ariaLabel: \"ariaLabel\",\n ariaLabelledBy: \"ariaLabelledBy\",\n id: \"id\",\n tabindex: [2, \"tabindex\", \"tabindex\", numberAttribute]\n },\n outputs: {\n onShow: \"onShow\",\n onHide: \"onHide\",\n onBlur: \"onBlur\",\n onFocus: \"onFocus\"\n },\n features: [i0.ɵɵProvidersFeature([MenuStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature],\n decls: 1,\n vars: 1,\n consts: [[\"container\", \"\"], [\"list\", \"\"], [\"htmlSubmenuLabel\", \"\"], [3, \"ngClass\", \"class\", \"ngStyle\", \"click\", 4, \"ngIf\"], [3, \"click\", \"ngClass\", \"ngStyle\"], [\"class\", \"p-menu-start\", 4, \"ngIf\"], [\"role\", \"menu\", 1, \"p-menu-list\", \"p-reset\", 3, \"focus\", \"blur\", \"keydown\"], [4, \"ngIf\"], [\"class\", \"p-menu-end\", 4, \"ngIf\"], [1, \"p-menu-start\"], [4, \"ngTemplateOutlet\"], [\"ngFor\", \"\", 3, \"ngForOf\"], [\"class\", \"p-menu-separator\", \"role\", \"separator\", 4, \"ngIf\"], [\"class\", \"p-menu-submenu-label\", \"pTooltip\", \"\", \"role\", \"none\", 3, \"ngClass\", \"tooltipOptions\", 4, \"ngIf\"], [\"role\", \"separator\", 1, \"p-menu-separator\"], [\"pTooltip\", \"\", \"role\", \"none\", 1, \"p-menu-submenu-label\", 3, \"ngClass\", \"tooltipOptions\"], [4, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [4, \"ngIf\", \"ngIfElse\"], [3, \"innerHTML\"], [\"class\", \"p-menu-item\", \"pTooltip\", \"\", \"role\", \"menuitem\", 3, \"pMenuItemContent\", \"itemTemplate\", \"ngClass\", \"ngStyle\", \"class\", \"tooltipOptions\", \"onMenuItemClick\", 4, \"ngIf\"], [\"pTooltip\", \"\", \"role\", \"menuitem\", 1, \"p-menu-item\", 3, \"onMenuItemClick\", \"pMenuItemContent\", \"itemTemplate\", \"ngClass\", \"ngStyle\", \"tooltipOptions\"], [1, \"p-menu-end\"]],\n template: function Menu_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Menu_div_0_Template, 8, 25, \"div\", 3);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngIf\", !ctx.popup || ctx.visible);\n }\n },\n dependencies: [CommonModule, i2.NgClass, i2.NgForOf, i2.NgIf, i2.NgTemplateOutlet, i2.NgStyle, RouterModule, MenuItemContent, TooltipModule, i6.Tooltip, BadgeModule, SharedModule, SafeHtmlPipe],\n encapsulation: 2,\n data: {\n animation: [trigger('overlayAnimation', [transition(':enter', [style({\n opacity: 0,\n transform: 'scaleY(0.8)'\n }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({\n opacity: 0\n }))])])]\n },\n changeDetection: 0\n });\n }\n return Menu;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MenuModule = /*#__PURE__*/(() => {\n class MenuModule {\n static ɵfac = function MenuModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MenuModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: MenuModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [Menu, SharedModule, SharedModule]\n });\n }\n return MenuModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Menu, MenuClasses, MenuItemContent, MenuModule, MenuStyle, SafeHtmlPipe };\n","import * as i1 from '@angular/common';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, inject, booleanAttribute, ContentChildren, ContentChild, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';\nimport { SharedModule, PrimeTemplate } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { BaseStyle } from 'primeng/base';\nconst _c0 = [\"icon\"];\nconst _c1 = [\"*\"];\nfunction Tag_ng_container_1_span_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 4);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"ngClass\", ctx_r0.icon);\n }\n}\nfunction Tag_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, Tag_ng_container_1_span_1_Template, 1, 1, \"span\", 3);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r0.icon);\n }\n}\nfunction Tag_span_2_1_ng_template_0_Template(rf, ctx) {}\nfunction Tag_span_2_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Tag_span_2_1_ng_template_0_Template, 0, 0, \"ng-template\");\n }\n}\nfunction Tag_span_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 5);\n i0.ɵɵtemplate(1, Tag_span_2_1_Template, 1, 0, null, 6);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.iconTemplate || ctx_r0._iconTemplate);\n }\n}\nconst theme = ({\n dt\n}) => `\n.p-tag {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: ${dt('tag.primary.background')};\n color: ${dt('tag.primary.color')};\n font-size: ${dt('tag.font.size')};\n font-weight: ${dt('tag.font.weight')};\n padding: ${dt('tag.padding')};\n border-radius: ${dt('tag.border.radius')};\n gap: ${dt('tag.gap')};\n}\n\n.p-tag-icon {\n font-size: ${dt('tag.icon.size')};\n width: ${dt('tag.icon.size')};\n height:${dt('tag.icon.size')};\n}\n\n.p-tag-rounded {\n border-radius: ${dt('tag.rounded.border.radius')};\n}\n\n.p-tag-success {\n background: ${dt('tag.success.background')};\n color: ${dt('tag.success.color')};\n}\n\n.p-tag-info {\n background: ${dt('tag.info.background')};\n color: ${dt('tag.info.color')};\n}\n\n.p-tag-warn {\n background: ${dt('tag.warn.background')};\n color: ${dt('tag.warn.color')};\n}\n\n.p-tag-danger {\n background: ${dt('tag.danger.background')};\n color: ${dt('tag.danger.color')};\n}\n\n.p-tag-secondary {\n background: ${dt('tag.secondary.background')};\n color: ${dt('tag.secondary.color')};\n}\n\n.p-tag-contrast {\n background: ${dt('tag.contrast.background')};\n color: ${dt('tag.contrast.color')};\n}\n`;\nconst classes = {\n root: ({\n props\n }) => ['p-tag p-component', {\n 'p-tag-info': props.severity === 'info',\n 'p-tag-success': props.severity === 'success',\n 'p-tag-warn': props.severity === 'warn',\n 'p-tag-danger': props.severity === 'danger',\n 'p-tag-secondary': props.severity === 'secondary',\n 'p-tag-contrast': props.severity === 'contrast',\n 'p-tag-rounded': props.rounded\n }],\n icon: 'p-tag-icon',\n label: 'p-tag-label'\n};\nlet TagStyle = /*#__PURE__*/(() => {\n class TagStyle extends BaseStyle {\n name = 'tag';\n theme = theme;\n classes = classes;\n static ɵfac = /* @__PURE__ */(() => {\n let ɵTagStyle_BaseFactory;\n return function TagStyle_Factory(__ngFactoryType__) {\n return (ɵTagStyle_BaseFactory || (ɵTagStyle_BaseFactory = i0.ɵɵgetInheritedFactory(TagStyle)))(__ngFactoryType__ || TagStyle);\n };\n })();\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: TagStyle,\n factory: TagStyle.ɵfac\n });\n }\n return TagStyle;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n *\n * Tag component is used to categorize content.\n *\n * [Live Demo](https://www.primeng.org/tag)\n *\n * @module tagstyle\n *\n */\nvar TagClasses = /*#__PURE__*/function (TagClasses) {\n /**\n * Class name of the root element\n */\n TagClasses[\"root\"] = \"p-tag\";\n /**\n * Class name of the icon element\n */\n TagClasses[\"icon\"] = \"p-tag-icon\";\n /**\n * Class name of the label element\n */\n TagClasses[\"label\"] = \"p-tag-label\";\n return TagClasses;\n}(TagClasses || {});\n/**\n * Tag component is used to categorize content.\n * @group Components\n */\nlet Tag = /*#__PURE__*/(() => {\n class Tag extends BaseComponent {\n /**\n * Inline style of the component.\n * @group Props\n */\n get style() {\n return this._style;\n }\n set style(value) {\n this._style = value;\n this.cd.markForCheck();\n }\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass;\n /**\n * Severity type of the tag.\n * @group Props\n */\n severity;\n /**\n * Value to display inside the tag.\n * @group Props\n */\n value;\n /**\n * Icon of the tag to display next to the value.\n * @group Props\n */\n icon;\n /**\n * Whether the corners of the tag are rounded.\n * @group Props\n */\n rounded;\n iconTemplate;\n templates;\n _iconTemplate;\n _style;\n _componentStyle = inject(TagStyle);\n ngAfterContentInit() {\n this.templates?.forEach(item => {\n switch (item.getType()) {\n case 'icon':\n this._iconTemplate = item.template;\n break;\n }\n });\n }\n containerClass() {\n let classes = 'p-tag p-component';\n if (this.severity) {\n classes += ` p-tag-${this.severity}`;\n }\n if (this.rounded) {\n classes += ' p-tag-rounded';\n }\n if (this.styleClass) {\n classes += ` ${this.styleClass}`;\n }\n return classes;\n }\n static ɵfac = /* @__PURE__ */(() => {\n let ɵTag_BaseFactory;\n return function Tag_Factory(__ngFactoryType__) {\n return (ɵTag_BaseFactory || (ɵTag_BaseFactory = i0.ɵɵgetInheritedFactory(Tag)))(__ngFactoryType__ || Tag);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: Tag,\n selectors: [[\"p-tag\"]],\n contentQueries: function Tag_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c0, 4);\n i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.iconTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);\n }\n },\n hostVars: 4,\n hostBindings: function Tag_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵstyleMap(ctx.style);\n i0.ɵɵclassMap(ctx.containerClass());\n }\n },\n inputs: {\n style: \"style\",\n styleClass: \"styleClass\",\n severity: \"severity\",\n value: \"value\",\n icon: \"icon\",\n rounded: [2, \"rounded\", \"rounded\", booleanAttribute]\n },\n features: [i0.ɵɵProvidersFeature([TagStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature],\n ngContentSelectors: _c1,\n decls: 5,\n vars: 3,\n consts: [[4, \"ngIf\"], [\"class\", \"p-tag-icon\", 4, \"ngIf\"], [1, \"p-tag-label\"], [\"class\", \"p-tag-icon\", 3, \"ngClass\", 4, \"ngIf\"], [1, \"p-tag-icon\", 3, \"ngClass\"], [1, \"p-tag-icon\"], [4, \"ngTemplateOutlet\"]],\n template: function Tag_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n i0.ɵɵtemplate(1, Tag_ng_container_1_Template, 2, 1, \"ng-container\", 0)(2, Tag_span_2_Template, 2, 1, \"span\", 1);\n i0.ɵɵelementStart(3, \"span\", 2);\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.iconTemplate && !ctx._iconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.iconTemplate || ctx._iconTemplate);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(ctx.value);\n }\n },\n dependencies: [CommonModule, i1.NgClass, i1.NgIf, i1.NgTemplateOutlet, SharedModule],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n return Tag;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet TagModule = /*#__PURE__*/(() => {\n class TagModule {\n static ɵfac = function TagModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || TagModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: TagModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [Tag, SharedModule, SharedModule]\n });\n }\n return TagModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Tag, TagClasses, TagModule, TagStyle };\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core'\nimport { MenuItem } from 'primeng/api'\nimport {\n USER_ACTION_BLOCKED,\n USER_ACTION_LAUNCH_SNOOZE,\n USER_ACTION_REMOVE_SAVED,\n USER_ACTION_SAVED,\n USER_ACTION_UNBLOCKED,\n UserAction,\n} from '../user-actions-menu/user-actions-menu.component'\nimport { Subject, take, takeUntil } from 'rxjs'\nimport { User } from '@app/core/_models'\nimport { DialogService } from '@app/core/_services/dialog.service'\nimport { UserRelationshipService } from '@app/core/_services/user-relationship.service'\nimport { UserService } from '@app/core/_services/user.service'\nimport { AnalyticsService } from '@app/core/_services/analytics.service'\nimport { MenuModule } from 'primeng/menu'\nimport {\n ContentStackItemOptions,\n ContentStackService,\n} from '@app/core/_services/content-stack.service'\nimport { ButtonModule } from 'primeng/button'\n\n@Component({\n selector: 'fm-actions-menu',\n imports: [ButtonModule, MenuModule],\n templateUrl: './actions-menu.component.html',\n styleUrl: './actions-menu.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ActionsMenuComponent {\n @Input() classes: string = 'svg-user-action-menu-brand-1'\n @Input() showReportSession: boolean = false\n @Input() showReportProfile: boolean = false\n @Input() showBlock: boolean = true\n @Input() showUnblock: boolean = true\n @Input() showEditSnooze: boolean = true\n @Input() showSnooze: boolean = true\n @Input() showUnsnooze: boolean = true\n @Input() showSeeAvailability: boolean = false\n @Input() showViewProfile: boolean = true\n\n @Input() sessionTime: number | null = null\n @Input() sessionId: string | null = null\n @Input() timeZone: string | null = null\n @Input() targetUserDisplayName: string | null = null\n @Input() targetUserId: string | null = null\n @Input() targetUserProfileUrl: string | null = null\n @Input() targetUserPhotoUrl: string | null = null\n @Input() status: number | null = null\n @Input() source: string | null = null\n @Input() snoozeStatus: boolean = false\n @Input() snoozeExpiresAt: string | null = null\n @Input() saved: boolean = false\n @Input() sharedAvailability: boolean = false\n @Output() onUserAction = new EventEmitter()\n\n items: MenuItem[] | undefined\n\n private ngUnsubscribe: Subject = new Subject()\n private currentUser: User = new User()\n\n public showSeeAvailabilityOption: boolean = false\n public sectionOnePresent: boolean = false\n public sectionTwoPresent: boolean = false\n public sectionThreePresent: boolean = false\n public menuItemClasses: string[]\n\n constructor(\n private dialogService: DialogService,\n private userRelationshipService: UserRelationshipService,\n public userService: UserService,\n private analyticsService: AnalyticsService,\n private contentStackService: ContentStackService,\n ) {}\n\n ngOnInit() {\n this.userService.currentUser.pipe(take(1)).subscribe((user: User) => {\n this.currentUser = user\n })\n this.updateMenu()\n }\n\n ngOnChanges() {\n this.updateMenu()\n }\n\n public updateMenu() {\n const menuItems: MenuItem[] = []\n\n if (this.targetUserId == this.currentUser.userId) {\n this.menuItemClasses = ['svg-user-action-menu-item-disabled']\n } else {\n this.menuItemClasses = ['svg-user-action-menu-item']\n }\n\n this.showSeeAvailabilityOption = this.showSeeAvailability && this.saved\n this.sectionOnePresent = this.showSeeAvailabilityOption || this.showViewProfile\n this.sectionTwoPresent = this.showSnooze || this.showUnsnooze || this.showEditSnooze\n this.sectionThreePresent =\n this.showBlock || this.showUnblock || this.showReportProfile || this.showReportSession\n\n if (this.showSeeAvailabilityOption) {\n menuItems.push({\n label: 'See availability',\n icon: 'pi pi-calendar',\n disabled: !this.sharedAvailability,\n toolTip: 'Add tooltip logic',\n command: () => {\n this.sendUserAvailabilityToDynamicPanel()\n },\n })\n }\n\n if (this.showViewProfile) {\n menuItems.push({\n label: 'View profile',\n icon: 'pi pi-id-card',\n toolTip: 'Add tooltip logic',\n command: () => {\n this.sendProfileToDynamicPanel()\n },\n })\n }\n\n if (this.saved) {\n menuItems.push({\n label: 'Remove from favorites',\n icon: 'pi pi-star',\n toolTip: 'Add tooltip logic',\n command: () => {\n this.removeFromSaved()\n },\n })\n }\n\n if (!this.snoozeStatus && this.showSnooze) {\n menuItems.push({\n label: 'Snooze',\n icon: 'pi pi-history',\n toolTip: 'Add tooltip logic',\n command: () => {\n this.snooze(false)\n },\n })\n }\n if (this.snoozeStatus && this.showUnsnooze) {\n menuItems.push({\n label: 'Unsnooze',\n icon: 'pi pi-play',\n toolTip: 'Add tooltip logic',\n command: () => {\n this.unsnooze()\n },\n })\n }\n\n if (this.snoozeStatus && this.showEditSnooze) {\n menuItems.push({\n label: 'Edit snooze',\n icon: 'pi pi-history',\n toolTip: 'Add tooltip logic',\n command: () => {\n this.snooze(true)\n },\n })\n }\n\n if ((this.status === 0 || this.status === 1) && this.showBlock) {\n menuItems.push({\n label: 'Block',\n icon: 'pi pi-ban',\n toolTip: 'Add tooltip logic',\n command: () => {\n this.openBlockUserDialog()\n },\n })\n }\n\n if ((this.status === 2 || this.status === 3) && this.showUnblock) {\n menuItems.push({\n label: 'Unblock',\n icon: 'pi pi-undo',\n toolTip: 'Add tooltip logic',\n command: () => {\n this.unblockUser()\n },\n })\n }\n\n if (this.showReportSession) {\n menuItems.push({\n label: 'Report',\n icon: 'pi pi-flag',\n disabled: this.currentUser.userId == this.targetUserId,\n toolTip: 'Add tooltip logic',\n command: () => {\n this.reportPartner()\n },\n })\n }\n\n if (this.showReportProfile) {\n menuItems.push({\n label: 'Report',\n icon: 'pi pi-flag',\n disabled: this.currentUser.userId == this.targetUserId,\n toolTip: 'Add tooltip logic',\n command: () => {\n this.reportProfileViolation()\n },\n })\n }\n\n this.items = [...menuItems]\n }\n\n reportPartner() {\n this.dialogService\n .openReportBadBehavior(\n this.sessionId,\n this.sessionTime,\n this.targetUserDisplayName,\n this.source,\n )\n .afterClosed()\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((reported) => {\n if (reported === true) {\n this.dialogService.openReportBadBehaviorConfirmation(this.targetUserDisplayName)\n }\n })\n }\n\n public openBlockUserDialog() {\n this.dialogService\n .openBlockUserDialog(\n this.targetUserId,\n this.targetUserDisplayName,\n this.saved,\n this.source,\n )\n .afterClosed()\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((userAction: UserAction) => {\n if (userAction.userAction === USER_ACTION_BLOCKED) {\n this.onUserAction.emit(userAction)\n this.dialogService\n .openBlockUserConfirmation(this.targetUserDisplayName)\n .afterClosed()\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {})\n } else if (userAction.userAction === USER_ACTION_LAUNCH_SNOOZE) {\n this.snooze(false)\n }\n })\n }\n\n public unblockUser() {\n this.userRelationshipService.unblockUser(this.targetUserId).subscribe(() => {\n this.onUserAction.emit({ userAction: USER_ACTION_UNBLOCKED })\n this.dialogService.openConfirmTransaction('Unblocked ' + this.targetUserDisplayName)\n })\n }\n\n reportProfileViolation() {\n this.dialogService\n .openReportProfile(\n this.targetUserProfileUrl,\n this.targetUserPhotoUrl,\n this.targetUserDisplayName,\n this.source,\n )\n .afterClosed()\n .pipe(take(1))\n .subscribe((reported) => {\n if (reported) {\n this.dialogService.openConfirmTransaction('Report submitted!')\n }\n })\n }\n\n logSeeAvailability() {\n this.analyticsService.logClickedEvent('See availability', 'CSM - ' + this.source)\n }\n\n snooze(editSnooze: boolean) {\n this.dialogService\n .openSnoozeUserModal(\n this.targetUserId,\n this.targetUserDisplayName,\n editSnooze,\n this.snoozeExpiresAt,\n this.saved,\n this.source,\n )\n .afterClosed()\n .pipe(take(1))\n .subscribe((userAction: UserAction) => {\n this.onUserAction.emit(userAction)\n })\n }\n\n unsnooze() {\n this.dialogService\n .openUnsnoozeUserModal(this.targetUserId, this.targetUserDisplayName, this.source)\n .afterClosed()\n .pipe(take(1))\n .subscribe((userAction: UserAction) => {\n this.onUserAction.emit(userAction)\n })\n }\n\n addToSaved() {\n this.userRelationshipService\n .saveUser({ userId: this.targetUserId, saveUser: true })\n .subscribe(() => {\n this.onUserAction.emit({ userAction: USER_ACTION_SAVED })\n this.dialogService.openConfirmTransaction('Added to saved!')\n })\n }\n\n removeFromSaved() {\n this.userRelationshipService\n .saveUser({ userId: this.targetUserId, saveUser: false })\n .subscribe(() => {\n this.onUserAction.emit({ userAction: USER_ACTION_REMOVE_SAVED })\n this.dialogService.openConfirmTransaction('Removed from saved')\n })\n }\n\n viewProfile() {\n this.analyticsService.logClickedEvent('View profile', 'CSM - ' + this.source)\n }\n\n private sendProfileToDynamicPanel(): void {\n const options: ContentStackItemOptions = {\n popIfCovered: true,\n preserveStack: false,\n }\n\n this.contentStackService.pushProfileToDynamicPanel(this.targetUserProfileUrl, options)\n }\n\n private sendUserAvailabilityToDynamicPanel() {\n const options: ContentStackItemOptions = {\n popIfCovered: true,\n preserveStack: false,\n showRefreshButton: true,\n }\n\n this.contentStackService.pushUserAvailabilityToDynamicPanel(\n this.targetUserProfileUrl,\n options,\n )\n }\n\n ngOnDestroy() {\n this.ngUnsubscribe.next(null)\n this.ngUnsubscribe.complete()\n }\n}\n","
\n \n \n \n
\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core'\nimport { interval, Subscription } from 'rxjs'\nimport moment from 'moment-timezone/builds/moment-timezone-with-data-10-year-range.min'\n\n@Component({\n selector: 'fm-display-timezone-local-time',\n imports: [],\n templateUrl: './display-timezone-local-time.component.html',\n styleUrl: './display-timezone-local-time.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DisplayTimezoneLocalTimeComponent {\n @Input() timezone!: string\n @Input() epoch?: number\n\n displayTime: string = ''\n private timerSubscription?: Subscription\n private initialTimeout: any\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.updateTime()\n\n // Only set up live updates if no epoch is provided.\n if (!this.epoch) {\n // Calculate delay until the beginning of the next minute.\n const now = new Date()\n const seconds = now.getSeconds()\n const milliseconds = now.getMilliseconds()\n const delay = (60 - seconds) * 1000 - milliseconds\n\n // Trigger at the next minute boundary.\n this.initialTimeout = setTimeout(() => {\n this.updateTime()\n this.timerSubscription = interval(60000).subscribe(() => this.updateTime())\n }, delay)\n }\n }\n\n updateTime(): void {\n const currentMoment = this.epoch ? moment(this.epoch) : moment()\n this.displayTime = currentMoment.tz(this.timezone).format('h:mma')\n this.cdr.markForCheck()\n }\n\n ngOnDestroy(): void {\n if (this.timerSubscription) {\n this.timerSubscription.unsubscribe()\n }\n if (this.initialTimeout) {\n clearTimeout(this.initialTimeout)\n }\n }\n}\n","{{ timezone }} · {{ displayTime }}`\n","import { Component, Input } from '@angular/core'\nimport { UserProfileInfo } from '@app/core/_models'\nimport {\n SaveUserRequest,\n UserRelationshipService,\n} from '@app/core/_services/user-relationship.service'\nimport { FmAvatarComponent } from '@app/shared/components/fm-avatar/fm-avatar.component'\nimport { ActionsMenuComponent } from '@app/user-actions/components/actions-menu/actions-menu.component'\nimport { ButtonModule } from 'primeng/button'\nimport { Subject } from 'rxjs'\nimport { ScrollPanel } from 'primeng/scrollpanel'\nimport {\n ALL_ACTIVITY_TAGS,\n ALL_DESCRIPTION_TAGS,\n} from '@app/shared/components/profile-tag-selector/profile-tag-selector.component'\nimport { TagModule } from 'primeng/tag'\nimport { DisplayTimezoneLocalTimeComponent } from '@app/shared/components/display-timezone-local-time/display-timezone-local-time.component'\nimport { CommonModule } from '@angular/common'\nimport { UserDateFormattingService } from '@app/core/_services/user-date-formatting.service'\n@Component({\n selector: 'fm-rp-user-profile',\n imports: [\n CommonModule,\n DisplayTimezoneLocalTimeComponent,\n FmAvatarComponent,\n ActionsMenuComponent,\n ButtonModule,\n ScrollPanel,\n TagModule,\n ],\n templateUrl: './rp-user-profile.component.html',\n styleUrl: './rp-user-profile.component.scss',\n})\nexport class RpUserProfileComponent {\n @Input() userProfile: UserProfileInfo\n\n public memberSinceString: string = ''\n public snoozeTooltip: string = ''\n public lastMet: string = ''\n\n public descriptionTagDisplayNames: string[] = []\n public activityTagDisplayNames: string[] = []\n private ngUnsubscribe: Subject = new Subject()\n\n constructor(\n private userRelationshipService: UserRelationshipService,\n private dateFormat: UserDateFormattingService,\n ) {}\n\n ngOnInit() {\n this.descriptionTagDisplayNames = this.userProfile.profileTags?.descriptionTags?.map(\n (tag) => ALL_DESCRIPTION_TAGS.find((t) => t.value === tag).displayName,\n )\n this.descriptionTagDisplayNames = this.descriptionTagDisplayNames || []\n this.activityTagDisplayNames = this.userProfile.profileTags?.activityTags?.map(\n (tag) => ALL_ACTIVITY_TAGS.find((t) => t.value === tag).displayName,\n )\n this.activityTagDisplayNames = this.activityTagDisplayNames || []\n }\n\n ngOnChanges() {\n this.lastMet = this.dateFormat.generateLastMetString(this.userProfile.lastSessionTime)\n // this.snoozeTooltip =\n // 'Snoozed ' +\n // this.dateFormat.generateSnoozeUntilString(this.snoozeExpiresAt, this.timeZone)\n }\n\n onClickAddToFavofites(): void {\n const saveUserRequest: SaveUserRequest = {\n userId: this.userProfile.uid,\n saveUser: true,\n }\n\n // NOTE: UserRelationShipService will trigger an update\n // and emit an event to indicate the completed action.\n // ProfileContainer will listen and update all child components\n this.userRelationshipService.saveUser(saveUserRequest).subscribe()\n }\n}\n","\n
\n
\n
\n \n\n \n
\n\n
\n {{ userProfile.displayName }}\n \n
\n \n
\n
\n {{ userProfile.compSessions | number }}\n {{ userProfile.compSessions == 1 ? 'session' : 'sessions' }}\n
\n @if (userProfile.sharedSessions) {\n
{{ userProfile.sharedSessions }} together
\n }\n @if (userProfile.lastSessionTime) {\n
{{ lastMet }}
\n }\n
\n
\n
\n @if (!userProfile.saved) {\n \n }\n
\n
\n
\n \n
\n @if (descriptionTagDisplayNames.length > 0) {\n \n
My Tags
\n\n \n @for (name of descriptionTagDisplayNames; track name) {\n \n }\n
\n
\n }\n\n @if (activityTagDisplayNames.length > 0) {\n \n
My Focus\n\n \n @for (name of activityTagDisplayNames; track name) {\n \n }\n
\n \n }\n\n @if (userProfile.group.length > 0) {\n \n
My groups\n\n
\n @for (group of userProfile.group; track group.groupName) {\n \n \n {{\n group.groupName\n }}\n
\n }\n
\n \n }\n \n\n
\n @for (qanda of userProfile.qanda; track qanda['question']) {\n \n
\n {{ qanda['question'] }}\n
\n
\n {{ qanda['answer'] }}\n
\n
\n }\n \n \n \n\n \n \n\n","import { CommonModule } from '@angular/common'\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core'\nimport { UserProfileInfo } from '@app/core/_models'\nimport { UserDateFormattingService } from '@app/core/_services/user-date-formatting.service'\nimport {\n SaveUserRequest,\n UserRelationshipService,\n} from '@app/core/_services/user-relationship.service'\nimport { DisplayTimezoneLocalTimeComponent } from '@app/shared/components/display-timezone-local-time/display-timezone-local-time.component'\nimport { FmAvatarComponent } from '@app/shared/components/fm-avatar/fm-avatar.component'\nimport {\n ALL_ACTIVITY_TAGS,\n ALL_DESCRIPTION_TAGS,\n} from '@app/shared/components/profile-tag-selector/profile-tag-selector.component'\nimport { ActionsMenuComponent } from '@app/user-actions/components/actions-menu/actions-menu.component'\nimport { ButtonModule } from 'primeng/button'\nimport { ScrollPanelModule } from 'primeng/scrollpanel'\nimport { TagModule } from 'primeng/tag'\nimport { Subject } from 'rxjs'\n\n@Component({\n selector: 'fm-user-profile',\n imports: [\n CommonModule,\n DisplayTimezoneLocalTimeComponent,\n FmAvatarComponent,\n ActionsMenuComponent,\n ButtonModule,\n ScrollPanelModule,\n TagModule,\n ],\n templateUrl: './user-profile.component.html',\n styleUrl: './user-profile.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class UserProfileComponent {\n @Input() userProfile: UserProfileInfo\n\n public memberSinceString: string = ''\n public snoozeTooltip: string = ''\n public lastMet: string = ''\n\n public descriptionTagDisplayNames: string[] = []\n public activityTagDisplayNames: string[] = []\n private ngUnsubscribe: Subject = new Subject()\n\n constructor(\n private dateFormat: UserDateFormattingService,\n private userRelationshipService: UserRelationshipService,\n ) {}\n\n ngOnInit() {\n this.descriptionTagDisplayNames = this.userProfile.profileTags?.descriptionTags?.map(\n (tag) => ALL_DESCRIPTION_TAGS.find((t) => t.value === tag).displayName,\n )\n this.descriptionTagDisplayNames = this.descriptionTagDisplayNames || []\n this.activityTagDisplayNames = this.userProfile.profileTags?.activityTags?.map(\n (tag) => ALL_ACTIVITY_TAGS.find((t) => t.value === tag).displayName,\n )\n this.activityTagDisplayNames = this.activityTagDisplayNames || []\n }\n\n ngOnChanges() {\n this.lastMet = this.dateFormat.generateLastMetString(this.userProfile.lastSessionTime)\n // this.snoozeTooltip =\n // 'Snoozed ' +\n // this.dateFormat.generateSnoozeUntilString(this.snoozeExpiresAt, this.timeZone)\n }\n\n onClickAddToFavofites(): void {\n const saveUserRequest: SaveUserRequest = {\n userId: this.userProfile.uid,\n saveUser: true,\n }\n\n // NOTE: UserRelationShipService will trigger an update\n // and emit an event to indicate the completed action.\n // ProfileContainer will listen and update all child components\n this.userRelationshipService.saveUser(saveUserRequest).subscribe()\n }\n}\n","
\n
\n
\n
\n \n\n
\n {{ userProfile.displayName }}\n \n
\n \n
\n
\n {{ userProfile.compSessions | number }}\n {{ userProfile.compSessions == 1 ? 'session' : 'sessions' }}\n
\n @if (userProfile.sharedSessions) {\n
{{ userProfile.sharedSessions }} together
\n }\n @if (userProfile.lastSessionTime) {\n
{{ lastMet }}
\n }\n
\n
\n
\n\n
\n @if (!userProfile.saved) {\n \n }\n \n
\n
\n
\n\n \n \n @if (descriptionTagDisplayNames.length > 0) {\n
\n
My Tags
\n\n
\n @for (name of descriptionTagDisplayNames; track name) {\n \n }\n
\n
\n\n
\n }\n\n @if (activityTagDisplayNames.length > 0) {\n
\n
My Focus
\n\n
\n @for (name of activityTagDisplayNames; track name) {\n \n }\n
\n
\n
\n }\n\n @if (userProfile.group.length > 0) {\n
\n
My groups
\n\n
\n @for (group of userProfile.group; track group.groupName) {\n
\n \n {{\n group.groupName\n }}\n
\n }\n
\n
\n }\n \n \n
About me
\n @for (qanda of userProfile.qanda; track qanda['question']) {\n \n
\n {{ qanda['question'] }}\n
\n
\n {{ qanda['answer'] }}\n
\n \n }\n \n \n\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostListener,\n Input,\n OnInit,\n SimpleChanges,\n} from '@angular/core'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { UserProfileService } from '@app/core/_services/user-profile.service'\nimport { UserProfileInfo, User } from '@app/core/_models'\nimport { Subject, take, takeUntil } from 'rxjs'\nimport { AdminService } from '@app/core/_services/admin.service'\nimport { MatDialogRef, MatDialog, MatDialogConfig } from '@angular/material/dialog'\nimport { DialogService } from '@app/core/_services/dialog.service'\nimport { LoadingIndicatorComponent } from '@app/shared/components/loading-indicator/loading-indicator.component'\nimport {\n USER_ACTION_BLOCKED,\n USER_ACTION_REMOVE_SAVED,\n USER_ACTION_SAVED,\n USER_ACTION_SNOOZED,\n USER_ACTION_UNBLOCKED,\n USER_ACTION_UNSNOOZED,\n} from '@app/user-actions/components/user-actions-menu/user-actions-menu.component'\nimport {\n BlockStatus,\n UserRelationshipAction,\n UserRelationshipActionTaken,\n UserRelationshipService,\n} from '@app/core/_services/user-relationship.service'\nimport {\n MAX_SET_TIMEOUT_VALUE,\n TimeUtilitiesService,\n} from '@app/core/_services/time-utilities.service'\nimport { RpUserProfileComponent } from '@app/right-panel/components/rp-user-profile/rp-user-profile.component'\nimport { UserService } from '@app/core/_services/user.service'\nimport { UserProfileComponent } from '../components/user-profile/user-profile.component'\n\nconst ADMIN_PROFILE_URL = '/admin/profile/'\n\n@Component({\n selector: 'fm-profile-container',\n imports: [RpUserProfileComponent, UserProfileComponent],\n templateUrl: './profile-container.component.html',\n styleUrl: './profile-container.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ProfileContainerComponent {\n @Input() profileSlug: string | null = null\n @Input() dynamicPanel: boolean\n\n // @HostListener('window:focus', ['$event'])\n // onFocus(event: any): void {\n // this.clearTimer()\n // this.updateSnoozeStatusIfExpired()\n // }\n // @HostListener('window:blur', ['$event'])\n // onBlur(event: any): void {\n // this.clearTimer()\n // }\n private ngUnsubscribe: Subject = new Subject()\n public currentUser: User\n public userProfile: UserProfileInfo\n public viewingSelf: boolean = false\n public isFmAdmin: boolean = false\n public isLoadingUserInfo: boolean = true\n private timerId: any\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private userService: UserService,\n private userProfileService: UserProfileService,\n private adminService: AdminService,\n private loadingIndicator: MatDialog,\n private dialogService: DialogService,\n private timeUtilitiesService: TimeUtilitiesService,\n private cd: ChangeDetectorRef,\n private userRelationshipService: UserRelationshipService,\n ) {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['profileSlug']) {\n if (!changes['profileSlug'].isFirstChange()) {\n this.ngUnsubscribe.next(null)\n this.ngUnsubscribe.complete()\n this.initializeComponent()\n }\n }\n }\n\n ngOnInit() {\n this.initializeComponent()\n }\n\n private initializeComponent(): void {\n this.userRelationshipService.userRelationUpdated\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((actionTaken: UserRelationshipActionTaken) => {\n if (actionTaken.userId == this.userProfile.uid) {\n if (actionTaken.action === 'save') {\n this.userProfile = {\n ...this.userProfile,\n saved: true,\n }\n }\n if (actionTaken.action === 'unsave') {\n this.userProfile = {\n ...this.userProfile,\n saved: false,\n }\n }\n if (actionTaken.action === 'unsnooze') {\n this.userProfile = {\n ...this.userProfile,\n snoozeStatus: false,\n snoozeExpiresAt: null,\n }\n }\n\n if (actionTaken.action === 'snooze') {\n this.userProfile = {\n ...this.userProfile,\n snoozeStatus: true,\n }\n }\n\n this.cd.markForCheck()\n }\n })\n\n this.userService.currentUser.pipe(take(1)).subscribe((user) => {\n this.currentUser = user\n this.isFmAdmin = this.currentUser.fmAd || this.currentUser.fmSupport\n this.viewingSelf = this.route.snapshot.params['id'] === this.currentUser.profileUrl\n this.populateProfileView()\n })\n }\n\n populateProfileView() {\n this.showLoadingIndicator()\n\n this.userProfileService\n .getUserProfile(this.profileSlug ?? this.route.snapshot.params['id'])\n .subscribe({\n next: (v) => this.receivedUserInfo(v),\n error: (e) => this.receivedError(),\n complete: () => this.removeLoadingIndicator(),\n })\n }\n\n receivedUserInfo(data: UserProfileInfo) {\n this.userProfile = { ...data }\n this.updateSnoozeStatusIfExpired()\n this.removeLoadingIndicator()\n this.cd.markForCheck()\n }\n\n receivedError() {\n this.userProfile = new UserProfileInfo()\n this.removeLoadingIndicator()\n }\n\n handleUserAction(event) {\n if (event.userAction === USER_ACTION_BLOCKED) {\n this.userProfile.status = BlockStatus.blocking\n }\n if (event.userAction === USER_ACTION_UNBLOCKED) {\n this.userProfile.status = BlockStatus.none\n }\n if (event.userAction === USER_ACTION_SNOOZED) {\n this.userProfile.snoozeStatus = true\n this.userProfile.snoozeExpiresAt = event.snoozeExpiresAt\n this.updateSnoozeStatusIfExpired()\n }\n if (event.userAction === USER_ACTION_UNSNOOZED) {\n this.userProfile.snoozeStatus = false\n }\n if (event.userAction === USER_ACTION_SAVED) {\n this.userProfile.saved = true\n }\n if (event.userAction === USER_ACTION_REMOVE_SAVED) {\n this.userProfile.saved = false\n }\n }\n\n showLoadingIndicator() {\n this.isLoadingUserInfo = true\n }\n\n removeLoadingIndicator() {\n this.isLoadingUserInfo = false\n }\n\n suspendUser() {\n this.adminService.suspendUser(this.userProfile.email).subscribe((data) => {\n this.populateProfileView()\n })\n }\n\n restoreUser() {\n this.adminService.restoreUser(this.userProfile.email).subscribe((data) => {\n this.populateProfileView()\n })\n }\n\n verifyUser(verify) {\n this.adminService.verifyUser(this.userProfile.email, verify).subscribe((data) => {\n this.populateProfileView()\n })\n }\n\n cancelSubscription() {\n this.adminService.cancelUserSubscription(this.userProfile.email).subscribe((data) => {\n this.populateProfileView()\n })\n }\n\n updateEmailAddress(newemailAddress: string) {\n this.adminService.updateEmailAddress(this.userProfile.email, newemailAddress).subscribe(\n (data) => {\n this.populateProfileView()\n this.dialogService.openUpdateEmailAddressResult(data.updateStatus, null)\n },\n (error) => {\n this.dialogService.openUpdateEmailAddressResult(null, error)\n },\n )\n }\n\n updateSnoozeStatusIfExpired() {\n this.clearTimer()\n\n if (this.isSnoozedForSetDuration()) {\n const diffInMilliSeconds = this.timeUtilitiesService.getDurationBetweenNowAndISOString(\n this.userProfile.snoozeExpiresAt,\n 'milliseconds',\n )\n\n if (diffInMilliSeconds > 0) {\n if (diffInMilliSeconds < MAX_SET_TIMEOUT_VALUE) {\n this.timerId = setTimeout(() => {\n this.updateSnoozeStatusIfExpired()\n }, diffInMilliSeconds)\n }\n } else {\n this.userProfile.snoozeStatus = false\n this.userProfile.snoozeExpiresAt = null\n }\n }\n }\n\n private isSnoozedForSetDuration() {\n return this.userProfile.snoozeExpiresAt && this.userProfile.snoozeStatus\n }\n\n clearTimer() {\n if (this.timerId) {\n clearTimeout(this.timerId)\n this.timerId = null\n }\n }\n\n ngOnDestroy() {\n this.ngUnsubscribe.next(null)\n this.ngUnsubscribe.complete()\n this.clearTimer()\n }\n}\n","@if (userProfile) {\n @if (dynamicPanel) {\n \n } @else {\n \n }\n}\n","import { Injectable, Type } from '@angular/core'\nimport { SafeResourceUrl } from '@angular/platform-browser'\nimport { UserAvailabilityListComponent } from '@app/routes/user/availability/user-availability.component'\nimport { ProfileContainerComponent } from '@app/routes/user/profile-container/profile-container.component'\nimport { BehaviorSubject, Subject } from 'rxjs'\n\nexport interface ContentStackItem {\n component: Type // This holds a reference to the Angular component\n context?: T // This holds the context to pass to the component's inputs\n popIfCovered: boolean\n preserveStack: boolean // If current item has popIfCovered set, this overrides it\n showRefreshButton: boolean\n sendToMainPanelUrl?: SafeResourceUrl\n}\n\nexport interface ContentStackItemOptions {\n popIfCovered: boolean\n preserveStack: boolean // If current item has popIfCovered set, this overrides it\n showRefreshButton?: boolean\n sendToMainPanelUrl?: SafeResourceUrl\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ContentStackService {\n constructor() {}\n private contentStack: ContentStackItem[] = []\n private currentContentSubject = new BehaviorSubject(null)\n private currentContentStackSizeSubject = new BehaviorSubject(0)\n private refreshSubject = new Subject()\n\n public currentContent$ = this.currentContentSubject.asObservable()\n public currentConstentStackSize$ = this.currentContentStackSizeSubject.asObservable()\n public refresh$ = this.refreshSubject.asObservable()\n\n pushProfileToDynamicPanel(profileSlug: string, options: ContentStackItemOptions) {\n const stackItem: ContentStackItem = {\n component: ProfileContainerComponent,\n context: { profileSlug: profileSlug, dynamicPanel: true },\n popIfCovered: options.popIfCovered,\n preserveStack: options.preserveStack,\n showRefreshButton: options?.showRefreshButton ?? false,\n sendToMainPanelUrl: 'user/' + profileSlug,\n }\n this.pushContent(stackItem)\n }\n\n pushUserAvailabilityToDynamicPanel(profileSlug: string, options: ContentStackItemOptions) {\n const stackItem: ContentStackItem = {\n component: UserAvailabilityListComponent,\n context: { profileSlug: profileSlug, dynamicPanel: true },\n popIfCovered: options.popIfCovered,\n preserveStack: options.preserveStack,\n showRefreshButton: options?.showRefreshButton ?? false,\n sendToMainPanelUrl: 'user/' + profileSlug + '/availability',\n }\n this.pushContent(stackItem)\n }\n\n // Push a new component or content into the stack\n pushContent(content: ContentStackItem): void {\n const currentContent = this.contentStack[this.contentStack.length - 1] || null\n\n if (currentContent && currentContent.popIfCovered && !content.preserveStack) {\n this.popContent()\n }\n this.contentStack.push(content)\n this.currentContentSubject.next(content)\n this.currentContentStackSizeSubject.next(this.contentStack.length)\n }\n\n // Pop content when navigating back\n popContent(): void {\n this.contentStack.pop()\n const lastContent = this.contentStack[this.contentStack.length - 1]\n this.currentContentSubject.next(lastContent || null)\n this.currentContentStackSizeSubject.next(this.contentStack.length)\n }\n\n // Clear the stack (optional)\n clearContent(): void {\n this.contentStack = []\n this.currentContentSubject.next(null)\n this.currentContentStackSizeSubject.next(0)\n }\n\n // Check if there is content to go back to\n canGoBack(): boolean {\n return this.contentStack.length > 1\n }\n\n refreshSelected(): void {\n this.refreshSubject.next()\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core'\nimport { MenuItem } from 'primeng/api'\nimport { Subject } from 'rxjs'\nimport { AnalyticsService } from '@app/core/_services/analytics.service'\nimport { MenuModule } from 'primeng/menu'\nimport {\n ContentStackItemOptions,\n ContentStackService,\n} from '@app/core/_services/content-stack.service'\nimport { ButtonModule } from 'primeng/button'\nimport { TagModule } from 'primeng/tag'\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\nimport {\n faLampDesk,\n faMicrophoneSlash,\n faPersonWalking,\n faShuffle,\n} from '@fortawesome/pro-solid-svg-icons'\nimport {\n SESSION_ACTIVITY_TYPE_ANYTHING,\n SESSION_ACTIVITY_TYPE_DESK,\n SESSION_ACTIVITY_TYPE_MOVING,\n SessionActivityType,\n} from '@app/core/_models'\n\n@Component({\n selector: 'fm-actions-menu-availability-list',\n imports: [ButtonModule, MenuModule, TagModule, FontAwesomeModule],\n templateUrl: './actions-menu-availability-list.component.html',\n styleUrl: './actions-menu-availability-list.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ActionsMenuAvailabilityListComponent {\n @Input() showSeeAvailability: boolean = true\n @Input() showViewProfile: boolean = true\n @Input() sessionExternalId: string | null = null\n @Input() targetUserProfileUrl: string | null = null\n @Input() source: string | null = null\n @Input() sharedAvailability: boolean = false\n @Input() saved: boolean = false\n @Input() activityType: SessionActivityType\n @Input() quietMode: boolean = true\n @Output() cancelSessionSelected = new EventEmitter()\n\n items: MenuItem[] | undefined\n\n // Iocns\n public faMicrophoneSlash = faMicrophoneSlash\n public activityIcon\n\n private ngUnsubscribe: Subject = new Subject()\n public showSeeAvailabilityOption: boolean = false\n public menuItemClasses: string[]\n\n constructor(\n private analyticsService: AnalyticsService,\n private contentStackService: ContentStackService,\n ) {}\n\n ngOnInit() {\n this.updateMenu()\n }\n\n ngOnChanges() {\n this.updateMenu()\n }\n\n public updateMenu() {\n this.setActivityIcon()\n\n const menuItems: MenuItem[] = []\n\n this.showSeeAvailabilityOption = this.showSeeAvailability && this.saved\n\n if (this.showSeeAvailabilityOption) {\n menuItems.push({\n label: 'See availability',\n icon: 'pi pi-calendar',\n disabled: !this.sharedAvailability,\n toolTip: 'Add tooltip logic',\n })\n }\n\n if (this.showViewProfile) {\n menuItems.push({\n label: 'View profile',\n icon: 'pi pi-id-card',\n toolTip: 'Add tooltip logic',\n command: () => {\n this.sendProfileToDynamicPanel()\n },\n })\n }\n\n if (this.sessionExternalId) {\n menuItems.push({\n label: 'Cancel session',\n icon: 'pi pi-times',\n toolTip: 'Add tooltip logic',\n command: () => {\n this.triggerCancelRequest()\n },\n })\n }\n\n this.items = [...menuItems]\n }\n\n private setActivityIcon(): void {\n switch (this.activityType) {\n case SESSION_ACTIVITY_TYPE_ANYTHING:\n this.activityIcon = faShuffle\n break\n\n case SESSION_ACTIVITY_TYPE_DESK:\n this.activityIcon = faLampDesk\n break\n\n case SESSION_ACTIVITY_TYPE_MOVING:\n this.activityIcon = faPersonWalking\n break\n }\n }\n\n logSeeAvailability() {\n this.analyticsService.logClickedEvent('See availability', 'CSM - ' + this.source)\n }\n\n viewProfile() {\n this.analyticsService.logClickedEvent('View profile', 'CSM - ' + this.source)\n }\n\n private sendProfileToDynamicPanel(): void {\n const options: ContentStackItemOptions = {\n popIfCovered: true,\n preserveStack: true,\n }\n this.contentStackService.pushProfileToDynamicPanel(this.targetUserProfileUrl, options)\n }\n\n private triggerCancelRequest(): void {\n this.cancelSessionSelected.emit(true)\n }\n\n ngOnDestroy() {\n this.ngUnsubscribe.next(null)\n this.ngUnsubscribe.complete()\n }\n}\n","
\n \n \n
\n @if (activityIcon) {\n \n \n Desk\n
\n \n }\n @if (quietMode) {\n \n \n Quiet\n
\n \n }\n \n \n \n \n\n","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'\nimport {\n SESSION_ACTIVITY_TYPE_ANYTHING,\n SESSION_ACTIVITY_TYPE_DESK,\n SESSION_ACTIVITY_TYPE_MOVING,\n SessionActivityType,\n} from '@app/core/_models'\nimport { PartnerSessionPreferences } from '@app/core/_services/available-times.service'\nimport {\n SessionStateService,\n SESSION_STATE_LATE,\n SESSION_STATE_SEARCHING,\n} from '@app/core/_services/session-state.service'\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\nimport { UserService } from '@app/core/_services/user.service'\nimport { faLock, faMicrophoneSlash } from '@fortawesome/pro-solid-svg-icons'\nimport { FmAvatarComponent } from '@app/shared/components/fm-avatar/fm-avatar.component'\nimport { MatTooltipModule } from '@angular/material/tooltip'\nimport { ButtonModule } from 'primeng/button'\nimport { faLampDesk, faPersonWalking, faShuffle } from '@fortawesome/pro-solid-svg-icons'\nimport { ActionsMenuAvailabilityListComponent } from '@app/routes/availability/favorites/components/actions-menu-availability-list/actions-menu-availability-list.component'\n\nexport interface AvailabilityListBookSession {\n sessionTime: number\n duration: number\n userId: string\n activityType: SessionActivityType\n}\n\nexport interface AvailabilityListCancelSession {\n externalId: string\n sessionTime: number\n userId: string\n}\n\nexport interface AvailabilityListSelectedSession {\n sessionTime: number\n sessionDuration: number\n userId: string\n}\n\nexport interface AvailabilitySessionListItem {\n timeLabel: string\n externalId: string | null\n sessionTime: number\n sessionDuration: number\n sessionState: number | null\n sessionDurationLabel: string\n actionComplete: boolean\n confirmed: boolean\n cancelConfirm: boolean\n profilePhoto: string\n partnerUserId: string\n partnerDisplayName: string\n partnerProfileSlug: string\n partnerPreferences: PartnerSessionPreferences\n quietModeMatchAllowed: boolean\n saved: boolean\n sharedAvailability: boolean\n activityType: number\n}\n\ntype ButtonState =\n | 'bookedMatched'\n | 'bookedNoPartner'\n | 'available'\n | 'confirmCancel'\n | 'viewingSelf'\n\nconst BUTTON_TEXT_MATCHING = 'Matching...'\nconst BUTTON_TEXT_SEARCHING = 'Searching...'\nconst BUTTON_TEXT_LATE = 'Late'\n\n@Component({\n selector: 'fm-user-availability-list-item',\n templateUrl: './user-availability-list-item.component.html',\n styleUrls: ['./user-availability-list-item.component.scss'],\n imports: [\n CommonModule,\n FmAvatarComponent,\n ActionsMenuAvailabilityListComponent,\n FontAwesomeModule,\n MatTooltipModule,\n ButtonModule,\n ],\n})\nexport class UserAvailabilityListItemComponent implements OnInit {\n @Input() externalId: string\n @Input() sessionTime: number\n @Input() sessionDuration: number\n @Input() sessionState: number | null = null\n @Input() sessionActivityType: SessionActivityType\n @Input() durationLabel: string\n @Input() sessionTimeLabel: string\n @Input() booked: boolean\n @Input() selected: boolean\n @Input() bookingComplete: boolean\n @Input() disable: boolean\n @Input() viewingSelf: boolean = false\n @Input() userId: string\n @Input() displayName: string\n @Input() profileSlug: string\n @Input() profilePhoto: string\n @Input() saved: boolean = false\n @Input() useTimeLabel: boolean = false\n @Input() partnerQuietMode: boolean = false\n @Input() dynamicPanel: boolean = false\n @Output() onCancelSession = new EventEmitter()\n @Output() onBookSession = new EventEmitter()\n @Output() onSelectSession = new EventEmitter()\n\n constructor(\n private sessionStateService: SessionStateService,\n public userService: UserService,\n ) {}\n\n public faLock = faLock\n public faMicrophoneSlash = faMicrophoneSlash\n public confirmCancel = false\n public cancelInProgress = false\n public buttonText: string = ''\n public isLockedIn: boolean = false\n\n public buttonState: ButtonState = 'available'\n public activityIcon\n\n ngOnInit(): void {\n this.setState()\n this.setActivityIcon()\n }\n\n ngOnChanges(e) {\n if (e.hasOwnProperty('booked')) {\n if (e.booked.previousValue === true && e.booked.currentValue == false) {\n this.confirmCancel = false\n this.cancelInProgress = false\n }\n }\n this.setState()\n this.setActivityIcon()\n }\n\n setState() {\n this.isLockedIn = this.sessionStateService.isLockedInState(this.sessionState)\n if (this.viewingSelf) {\n this.buttonState = 'viewingSelf'\n } else if (this.confirmCancel) {\n this.buttonState = 'confirmCancel'\n } else if (this.booked) {\n if (this.displayName) {\n this.buttonText = this.displayName\n this.buttonState = 'bookedMatched'\n } else {\n if (this.sessionStateService.isPendingPartnerState(this.sessionState)) {\n this.buttonText = BUTTON_TEXT_MATCHING\n } else if (this.sessionState === SESSION_STATE_SEARCHING) {\n this.buttonText = BUTTON_TEXT_SEARCHING\n } else if (this.sessionState === SESSION_STATE_LATE) {\n this.buttonText = BUTTON_TEXT_LATE\n } else {\n // Shouldn't get here but if we do, indicate matching\n this.buttonText = BUTTON_TEXT_MATCHING\n }\n this.buttonState = 'bookedNoPartner'\n }\n } else {\n this.buttonState = 'available'\n }\n }\n\n onKeepSession(e: Event) {\n e.stopPropagation()\n this.confirmCancel = false\n this.setState()\n }\n\n onCancelSessionSelected(e: Event) {\n this.confirmCancel = true\n this.setState()\n }\n\n onCancelConfirmed() {\n this.cancelInProgress = true\n this.onCancelSession.emit({\n externalId: this.externalId,\n sessionTime: this.sessionTime,\n userId: this.userId,\n })\n this.setState()\n }\n\n bookSession(e: Event) {\n e.stopPropagation()\n this.onBookSession.emit({\n sessionTime: this.sessionTime,\n duration: this.sessionDuration,\n userId: this.userId,\n activityType: this.sessionActivityType,\n })\n }\n\n selectSession(e: Event) {\n e.stopPropagation()\n this.onSelectSession.emit({\n sessionTime: this.sessionTime,\n userId: this.userId,\n sessionDuration: this.sessionDuration,\n })\n }\n\n private setActivityIcon(): void {\n switch (this.sessionActivityType) {\n case SESSION_ACTIVITY_TYPE_ANYTHING:\n this.activityIcon = faShuffle\n break\n\n case SESSION_ACTIVITY_TYPE_DESK:\n this.activityIcon = faLampDesk\n break\n\n case SESSION_ACTIVITY_TYPE_MOVING:\n this.activityIcon = faPersonWalking\n break\n }\n }\n}\n","\n \n \n
\n \n
\n
\n \n \n
\n \n {{ displayName }}\n
\n @if (!dynamicPanel && activityIcon) {\n
\n \n
\n }\n
\n
\n \n \n
\n\n \n \n \n\n \n \n \n \n \n
\n @if (!selected) {\n \n
\n \n
{{ sessionTimeLabel }}
\n
\n @if (partnerQuietMode) {\n \n \n
\n }\n @if (activityIcon) {\n
\n \n
\n }\n \n \n } @else {\n \n }\n \n
\n
\n"],"mappings":"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","names":["import_moment_timezone_with_data_10_year_range","_c0","_c1","a0","a1","SelectButton_For_1_Conditional_1_ng_template_0_ng_container_0_Template","rf","ctx","ɵɵelementContainer","SelectButton_For_1_Conditional_1_ng_template_0_Template","ɵɵtemplate","ctx_r5","ɵɵnextContext","option_r3","ɵ$index_1_r4","ctx_r4","ɵɵproperty","ɵɵpureFunction2","SelectButton_For_1_Conditional_1_Template","ɵɵtemplateRefExtractor","SelectButton_For_1_Template","_r1","ɵɵgetCurrentView","ɵɵelementStart","ɵɵlistener","$event","ctx_r1","ɵɵrestoreView","ɵɵresetView","ɵɵelementEnd","ɵɵadvance","ɵɵconditional","theme","dt","classes","props","SelectButtonStyle","BaseStyle","ɵSelectButtonStyle_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineInjectable","SELECTBUTTON_VALUE_ACCESSOR","NG_VALUE_ACCESSOR","forwardRef","SelectButton","BaseComponent","EventEmitter","inject","SelectButtonStyle","option","resolveFieldData","value","fn","val","event","index","selected","optionValue","newValue","equals","direction","firstTabableChild","i","item","ɵSelectButton_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","rf","ctx","dirIndex","ɵɵcontentQuery","_c0","PrimeTemplate","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵattribute","ɵɵstyleMap","ɵɵclassProp","booleanAttribute","numberAttribute","ɵɵProvidersFeature","ɵɵInputTransformsFeature","ɵɵInheritDefinitionFeature","ɵɵrepeaterCreate","SelectButton_For_1_Template","ɵɵrepeaterTrackByIdentity","ɵɵrepeater","ToggleButton","FormsModule","NgControlStatus","NgModel","CommonModule","NgTemplateOutlet","SharedModule","SelectButtonModule","ɵɵdefineNgModule","ɵɵdefineInjector","_c0","_c1","_c2","a0","ToggleSwitch_Conditional_5_ng_container_0_Template","rf","ctx","ɵɵelementContainer","ToggleSwitch_Conditional_5_Template","ɵɵtemplate","ctx_r1","ɵɵnextContext","ɵɵproperty","ɵɵpureFunction1","theme","dt","inlineStyles","classes","instance","ToggleSwitchStyle","BaseStyle","ɵToggleSwitchStyle_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineInjectable","TOGGLESWITCH_VALUE_ACCESSOR","NG_VALUE_ACCESSOR","forwardRef","ToggleSwitch","BaseComponent","EventEmitter","inject","ToggleSwitchStyle","item","event","value","fn","val","ɵToggleSwitch_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","rf","ctx","dirIndex","ɵɵcontentQuery","_c0","PrimeTemplate","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵviewQuery","_c1","numberAttribute","booleanAttribute","ɵɵProvidersFeature","ɵɵInputTransformsFeature","ɵɵInheritDefinitionFeature","_r1","ɵɵgetCurrentView","ɵɵelementStart","ɵɵlistener","$event","ɵɵrestoreView","ɵɵresetView","ɵɵelementEnd","ɵɵtemplate","ToggleSwitch_Conditional_5_Template","ɵɵstyleMap","ɵɵclassMap","ɵɵproperty","ɵɵattribute","ɵɵadvance","ɵɵconditional","CommonModule","NgClass","NgTemplateOutlet","NgStyle","AutoFocus","SharedModule","ToggleSwitchModule","ɵɵdefineNgModule","ɵɵdefineInjector","_c0","_c1","_c2","_c3","_c4","ScrollPanel_Conditional_5_Template","rf","ctx","ɵɵprojection","ScrollPanel_ng_container_6_Template","ɵɵelementContainer","theme","dt","classes","ScrollPanelStyle","BaseStyle","ɵScrollPanelStyle_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineInjectable","ScrollPanel","BaseComponent","fn","inject","ScrollPanelStyle","NgZone","uuid","isPlatformBrowser","item","container","content","xBar","window","containerStyles","xBarStyles","pureContainerHeight","getHeight","totalWidth","ownWidth","bottom","yBar","totalHeight","ownHeight","right","addClass","removeClass","xBarWidth","xBarLeft","yBarHeight","yBarTop","event","bar","step","e","deltaX","deltaY","scrollTop","scrollableHeight","f","ɵScrollPanel_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","rf","ctx","dirIndex","ɵɵcontentQuery","_c0","PrimeTemplate","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵviewQuery","_c1","_c2","_c3","numberAttribute","ɵɵProvidersFeature","ɵɵInputTransformsFeature","ɵɵInheritDefinitionFeature","_c4","_r1","ɵɵgetCurrentView","ɵɵprojectionDef","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","ɵɵresetView","$event","ɵɵtemplate","ScrollPanel_Conditional_5_Template","ScrollPanel_ng_container_6_Template","ɵɵelementEnd","ɵɵclassMap","ɵɵproperty","ɵɵattribute","ɵɵadvance","ɵɵconditional","CommonModule","NgClass","NgTemplateOutlet","NgStyle","SharedModule","ScrollPanelModule","ɵɵdefineNgModule","ɵɵdefineInjector","_c0","theme","dt","inlineStyles","props","classes","DividerStyle","BaseStyle","ɵDividerStyle_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineInjectable","Divider","BaseComponent","inject","DividerStyle","ɵDivider_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","rf","ctx","ɵɵattribute","ɵɵclassMap","ɵɵstyleProp","ɵɵclassProp","ɵɵProvidersFeature","ɵɵInheritDefinitionFeature","_c0","ɵɵprojectionDef","ɵɵelementStart","ɵɵprojection","ɵɵelementEnd","CommonModule","SharedModule","DividerModule","ɵɵdefineNgModule","ɵɵdefineInjector","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵproperty","ɵɵpureFunction5","_c1","ctx_r0","size","ɵɵadvance","faMicrophoneSlash","ɵɵpureFunction6","_c2","faStar","BLANK_PROFILE_IMAGE","FmAvatarComponent","constructor","isSaved","isSnoozed","isQuietMode","icon","ngOnInit","ngOnChanges","userAvatar","avatarLocation","onProfileImageFailedToLoad","selectors","inputs","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ɵɵlistener","ɵɵtemplate","FmAvatarComponent_Conditional_3_Template","FmAvatarComponent_Conditional_4_Template","_c0","ɵɵpropertyInterpolate","ɵɵsanitizeUrl","ɵɵconditional","CommonModule","NgClass","FontAwesomeModule","FaIconComponent","encapsulation","_FmAvatarComponent","_c0","_c1","a0","_c2","_c3","MenuItemContent_ng_container_1_a_1_ng_container_1_Template","rf","ctx","ɵɵelementContainer","MenuItemContent_ng_container_1_a_1_Template","ɵɵelementStart","ɵɵtemplate","ɵɵelementEnd","ctx_r1","ɵɵnextContext","itemContent_r3","ɵɵreference","ɵɵproperty","ɵɵpureFunction1","ɵɵattribute","ɵɵsanitizeUrl","ɵɵadvance","MenuItemContent_ng_container_1_a_2_ng_container_1_Template","MenuItemContent_ng_container_1_a_2_Template","ɵɵpureFunction0","MenuItemContent_ng_container_1_Template","ɵɵelementContainerStart","ɵɵelementContainerEnd","MenuItemContent_ng_container_2_1_ng_template_0_Template","MenuItemContent_ng_container_2_1_Template","MenuItemContent_ng_container_2_Template","MenuItemContent_ng_template_3_span_0_Template","ɵɵelement","ɵɵclassMap","MenuItemContent_ng_template_3_span_1_Template","ɵɵtext","ɵɵtextInterpolate","MenuItemContent_ng_template_3_ng_template_2_Template","ɵɵpipe","ɵɵpipeBind1","ɵɵsanitizeHtml","MenuItemContent_ng_template_3_p_badge_4_Template","MenuItemContent_ng_template_3_Template","ɵɵtemplateRefExtractor","htmlLabel_r4","_c4","_c5","_c6","_c7","_c8","_c9","_c10","_c11","_c12","a1","_c13","_c14","_c15","Menu_div_0_div_2_ng_container_1_Template","Menu_div_0_div_2_Template","tmp_5_0","Menu_div_0_5_ng_template_0_li_0_Template","Menu_div_0_5_ng_template_0_li_1_ng_container_1_span_1_Template","submenu_r3","Menu_div_0_5_ng_template_0_li_1_ng_container_1_ng_template_2_Template","Menu_div_0_5_ng_template_0_li_1_ng_container_1_Template","htmlSubmenuLabel_r4","Menu_div_0_5_ng_template_0_li_1_ng_container_2_Template","Menu_div_0_5_ng_template_0_li_1_Template","tmp_13_0","ctx_r4","i_r6","ɵɵpureFunction2","Menu_div_0_5_ng_template_0_ng_template_2_li_0_Template","Menu_div_0_5_ng_template_0_ng_template_2_li_1_Template","_r7","ɵɵgetCurrentView","ɵɵlistener","$event","ɵɵrestoreView","ctx_r7","item_r9","j_r10","ɵɵresetView","Menu_div_0_5_ng_template_0_ng_template_2_Template","Menu_div_0_5_ng_template_0_Template","Menu_div_0_5_Template","Menu_div_0_6_ng_template_0_li_0_Template","Menu_div_0_6_ng_template_0_li_1_Template","_r11","ctx_r11","item_r13","i_r14","tmp_10_0","Menu_div_0_6_ng_template_0_Template","Menu_div_0_6_Template","Menu_div_0_div_7_ng_container_1_Template","Menu_div_0_div_7_Template","Menu_div_0_Template","_r1","tmp_19_0","theme","dt","classes","props","instance","MenuStyle","BaseStyle","ɵMenuStyle_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineInjectable","SafeHtmlPipe","platformId","sanitizer","value","isPlatformBrowser","__ngFactoryType__","ɵɵdirectiveInject","PLATFORM_ID","DomSanitizer","ɵɵdefinePipe","MenuItemContent","EventEmitter","menu","event","item","forwardRef","Menu","ɵɵdefineComponent","_c0","rf","ctx","_r1","ɵɵgetCurrentView","ɵɵelementStart","ɵɵlistener","$event","ɵɵrestoreView","ɵɵresetView","ɵɵtemplate","MenuItemContent_ng_container_1_Template","MenuItemContent_ng_container_2_Template","MenuItemContent_ng_template_3_Template","ɵɵtemplateRefExtractor","ɵɵelementEnd","ɵɵattribute","ɵɵadvance","ɵɵproperty","CommonModule","NgClass","NgIf","NgTemplateOutlet","NgStyle","RouterModule","RouterLink","RouterLinkActive","Ripple","TooltipModule","BadgeModule","Badge","SharedModule","BaseComponent","computed","signal","inject","MenuStyle","overlayService","uuid","focus","zindexutils","relativePosition","absolutePosition","appendChild","isTouchDevice","id","index","childIndex","label","disabled","optionIndex","find","element","findSingle","anchorElement","matchedOptionIndex","link","links","order","originalEvent","documentTarget","isOutsideContainer","isOutsideTarget","window","ConnectedOverlayScrollHandler","subitem","OverlayService","dirIndex","ɵɵcontentQuery","_c4","_c5","_c6","_c7","_c8","PrimeTemplate","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵviewQuery","_c9","_c10","booleanAttribute","numberAttribute","ɵɵProvidersFeature","ɵɵInputTransformsFeature","ɵɵInheritDefinitionFeature","Menu_div_0_Template","NgForOf","Tooltip","trigger","transition","style","animate","MenuModule","ɵɵdefineNgModule","ɵɵdefineInjector","_c0","_c1","Tag_ng_container_1_span_1_Template","rf","ctx","ɵɵelement","ctx_r0","ɵɵnextContext","ɵɵproperty","Tag_ng_container_1_Template","ɵɵelementContainerStart","ɵɵtemplate","ɵɵelementContainerEnd","ɵɵadvance","Tag_span_2_1_ng_template_0_Template","Tag_span_2_1_Template","Tag_span_2_Template","ɵɵelementStart","ɵɵelementEnd","theme","dt","classes","props","TagStyle","BaseStyle","ɵTagStyle_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineInjectable","Tag","BaseComponent","value","inject","TagStyle","item","classes","ɵTag_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","rf","ctx","dirIndex","ɵɵcontentQuery","_c0","PrimeTemplate","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵstyleMap","ɵɵclassMap","booleanAttribute","ɵɵProvidersFeature","ɵɵInputTransformsFeature","ɵɵInheritDefinitionFeature","_c1","ɵɵprojectionDef","ɵɵprojection","ɵɵtemplate","Tag_ng_container_1_Template","Tag_span_2_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ɵɵtextInterpolate","CommonModule","NgClass","NgIf","NgTemplateOutlet","SharedModule","TagModule","ɵɵdefineNgModule","ɵɵdefineInjector","ActionsMenuComponent","constructor","dialogService","userRelationshipService","userService","analyticsService","contentStackService","classes","showReportSession","showReportProfile","showBlock","showUnblock","showEditSnooze","showSnooze","showUnsnooze","showSeeAvailability","showViewProfile","sessionTime","sessionId","timeZone","targetUserDisplayName","targetUserId","targetUserProfileUrl","targetUserPhotoUrl","status","source","snoozeStatus","snoozeExpiresAt","saved","sharedAvailability","onUserAction","EventEmitter","ngUnsubscribe","Subject","currentUser","User","showSeeAvailabilityOption","sectionOnePresent","sectionTwoPresent","sectionThreePresent","ngOnInit","pipe","take","subscribe","user","updateMenu","ngOnChanges","menuItems","userId","menuItemClasses","push","label","icon","disabled","toolTip","command","sendUserAvailabilityToDynamicPanel","sendProfileToDynamicPanel","removeFromSaved","snooze","unsnooze","openBlockUserDialog","unblockUser","reportPartner","reportProfileViolation","items","openReportBadBehavior","afterClosed","takeUntil","reported","openReportBadBehaviorConfirmation","userAction","USER_ACTION_BLOCKED","emit","openBlockUserConfirmation","USER_ACTION_LAUNCH_SNOOZE","USER_ACTION_UNBLOCKED","openConfirmTransaction","openReportProfile","logSeeAvailability","logClickedEvent","editSnooze","openSnoozeUserModal","openUnsnoozeUserModal","addToSaved","saveUser","USER_ACTION_SAVED","USER_ACTION_REMOVE_SAVED","viewProfile","options","popIfCovered","preserveStack","pushProfileToDynamicPanel","showRefreshButton","pushUserAvailabilityToDynamicPanel","ngOnDestroy","next","complete","ɵɵdirectiveInject","DialogService","UserRelationshipService","UserService","AnalyticsService","ContentStackService","selectors","inputs","outputs","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵlistener","$event","ɵɵrestoreView","_r1","menu_r2","ɵɵreference","ɵɵresetView","toggle","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ButtonModule","Button","MenuModule","Menu","encapsulation","changeDetection","_ActionsMenuComponent","import_moment_timezone_with_data_10_year_range","DisplayTimezoneLocalTimeComponent","constructor","cdr","displayTime","ngOnInit","updateTime","epoch","now","Date","seconds","getSeconds","milliseconds","getMilliseconds","delay","initialTimeout","setTimeout","timerSubscription","interval","subscribe","currentMoment","moment","tz","timezone","format","markForCheck","ngOnDestroy","unsubscribe","clearTimeout","ɵɵdirectiveInject","ChangeDetectorRef","selectors","inputs","decls","vars","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate2","_DisplayTimezoneLocalTimeComponent","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r0","userProfile","sharedSessions","ɵɵtextInterpolate","lastMet","ɵɵlistener","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","onClickAddToFavofites","ɵɵproperty","ɵɵelement","name_r3","ɵɵrepeaterCreate","RpUserProfileComponent_Conditional_22_For_5_Template","ɵɵrepeaterTrackByIdentity","ɵɵrepeater","descriptionTagDisplayNames","name_r4","RpUserProfileComponent_Conditional_23_For_5_Template","activityTagDisplayNames","group_r5","groupLogo","ɵɵsanitizeUrl","groupName","RpUserProfileComponent_Conditional_24_For_5_Template","_forTrack1","group","qanda_r6","RpUserProfileComponent","constructor","userRelationshipService","dateFormat","memberSinceString","snoozeTooltip","ngUnsubscribe","Subject","ngOnInit","profileTags","descriptionTags","map","tag","ALL_DESCRIPTION_TAGS","find","t","value","displayName","activityTags","ALL_ACTIVITY_TAGS","ngOnChanges","generateLastMetString","lastSessionTime","saveUserRequest","userId","uid","saveUser","subscribe","ɵɵdirectiveInject","UserRelationshipService","UserDateFormattingService","selectors","inputs","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ɵɵtemplate","RpUserProfileComponent_Conditional_15_Template","RpUserProfileComponent_Conditional_16_Template","RpUserProfileComponent_Conditional_18_Template","RpUserProfileComponent_Conditional_22_Template","RpUserProfileComponent_Conditional_23_Template","RpUserProfileComponent_Conditional_24_Template","RpUserProfileComponent_For_27_Template","_forTrack0","photoUrl","saved","timeZone","profileUrl","status","snoozeStatus","sharedAvailability","snoozeExpiresAt","ɵɵtextInterpolate2","ɵɵpipeBind1","compSessions","ɵɵconditional","ɵɵstyleMap","ɵɵpureFunction0","_c0","length","qanda","CommonModule","DecimalPipe","DisplayTimezoneLocalTimeComponent","FmAvatarComponent","ActionsMenuComponent","ButtonModule","Button","ScrollPanel","TagModule","Tag","encapsulation","_RpUserProfileComponent","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r0","userProfile","sharedSessions","ɵɵtextInterpolate","lastMet","ɵɵlistener","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","onClickAddToFavofites","ɵɵproperty","ɵɵelement","name_r3","ɵɵrepeaterCreate","UserProfileComponent_Conditional_21_For_5_Template","ɵɵrepeaterTrackByIdentity","ɵɵrepeater","descriptionTagDisplayNames","name_r4","UserProfileComponent_Conditional_22_For_5_Template","activityTagDisplayNames","group_r5","groupLogo","ɵɵsanitizeUrl","groupName","UserProfileComponent_Conditional_23_For_5_Template","_forTrack1","group","qanda_r6","UserProfileComponent","constructor","dateFormat","userRelationshipService","memberSinceString","snoozeTooltip","ngUnsubscribe","Subject","ngOnInit","profileTags","descriptionTags","map","tag","ALL_DESCRIPTION_TAGS","find","t","value","displayName","activityTags","ALL_ACTIVITY_TAGS","ngOnChanges","generateLastMetString","lastSessionTime","saveUserRequest","userId","uid","saveUser","subscribe","ɵɵdirectiveInject","UserDateFormattingService","UserRelationshipService","selectors","inputs","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ɵɵtemplate","UserProfileComponent_Conditional_14_Template","UserProfileComponent_Conditional_15_Template","UserProfileComponent_Conditional_17_Template","UserProfileComponent_Conditional_21_Template","UserProfileComponent_Conditional_22_Template","UserProfileComponent_Conditional_23_Template","UserProfileComponent_For_28_Template","_forTrack0","photoUrl","saved","timeZone","ɵɵtextInterpolate2","ɵɵpipeBind1","compSessions","ɵɵconditional","profileUrl","status","snoozeStatus","sharedAvailability","snoozeExpiresAt","length","qanda","CommonModule","DecimalPipe","DisplayTimezoneLocalTimeComponent","FmAvatarComponent","ActionsMenuComponent","ButtonModule","Button","ScrollPanelModule","TagModule","Tag","encapsulation","changeDetection","_UserProfileComponent","ɵɵelement","ɵɵproperty","ctx_r0","userProfile","ɵɵtemplate","ProfileContainerComponent_Conditional_0_Conditional_0_Template","ProfileContainerComponent_Conditional_0_Conditional_1_Template","ɵɵconditional","dynamicPanel","ProfileContainerComponent","constructor","route","router","userService","userProfileService","adminService","loadingIndicator","dialogService","timeUtilitiesService","cd","userRelationshipService","profileSlug","ngUnsubscribe","Subject","viewingSelf","isFmAdmin","isLoadingUserInfo","ngOnChanges","changes","isFirstChange","next","complete","initializeComponent","ngOnInit","userRelationUpdated","pipe","takeUntil","subscribe","actionTaken","userId","userProfile","uid","action","__spreadProps","__spreadValues","saved","snoozeStatus","snoozeExpiresAt","markForCheck","currentUser","take","user","fmAd","fmSupport","snapshot","params","profileUrl","populateProfileView","showLoadingIndicator","getUserProfile","v","receivedUserInfo","error","e","receivedError","removeLoadingIndicator","data","updateSnoozeStatusIfExpired","UserProfileInfo","handleUserAction","event","userAction","USER_ACTION_BLOCKED","status","BlockStatus","blocking","USER_ACTION_UNBLOCKED","none","USER_ACTION_SNOOZED","USER_ACTION_UNSNOOZED","USER_ACTION_SAVED","USER_ACTION_REMOVE_SAVED","suspendUser","email","restoreUser","verifyUser","verify","cancelSubscription","cancelUserSubscription","updateEmailAddress","newemailAddress","openUpdateEmailAddressResult","updateStatus","clearTimer","isSnoozedForSetDuration","diffInMilliSeconds","getDurationBetweenNowAndISOString","MAX_SET_TIMEOUT_VALUE","timerId","setTimeout","clearTimeout","ngOnDestroy","ɵɵdirectiveInject","ActivatedRoute","Router","UserService","UserProfileService","AdminService","MatDialog","DialogService","TimeUtilitiesService","ChangeDetectorRef","UserRelationshipService","selectors","inputs","dynamicPanel","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ɵɵtemplate","ProfileContainerComponent_Conditional_0_Template","ɵɵconditional","RpUserProfileComponent","UserProfileComponent","encapsulation","changeDetection","_ProfileContainerComponent","ContentStackService","constructor","contentStack","currentContentSubject","BehaviorSubject","currentContentStackSizeSubject","refreshSubject","Subject","currentContent$","asObservable","currentConstentStackSize$","refresh$","pushProfileToDynamicPanel","profileSlug","options","stackItem","component","ProfileContainerComponent","context","dynamicPanel","popIfCovered","preserveStack","showRefreshButton","sendToMainPanelUrl","pushContent","pushUserAvailabilityToDynamicPanel","UserAvailabilityListComponent","content","currentContent","length","popContent","push","next","pop","lastContent","clearContent","canGoBack","refreshSelected","factory","ɵfac","providedIn","_ContentStackService","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r1","activityIcon","faMicrophoneSlash","ɵɵtemplate","ActionsMenuAvailabilityListComponent_ng_template_3_Conditional_1_Template","ActionsMenuAvailabilityListComponent_ng_template_3_Conditional_2_Template","ɵɵconditional","quietMode","ActionsMenuAvailabilityListComponent","constructor","analyticsService","contentStackService","showSeeAvailability","showViewProfile","sessionExternalId","targetUserProfileUrl","source","sharedAvailability","saved","cancelSessionSelected","EventEmitter","ngUnsubscribe","Subject","showSeeAvailabilityOption","ngOnInit","updateMenu","ngOnChanges","setActivityIcon","menuItems","push","label","icon","disabled","toolTip","command","sendProfileToDynamicPanel","triggerCancelRequest","items","activityType","SESSION_ACTIVITY_TYPE_ANYTHING","faShuffle","SESSION_ACTIVITY_TYPE_DESK","faLampDesk","SESSION_ACTIVITY_TYPE_MOVING","faPersonWalking","logSeeAvailability","logClickedEvent","viewProfile","options","popIfCovered","preserveStack","pushProfileToDynamicPanel","emit","ngOnDestroy","next","complete","ɵɵdirectiveInject","AnalyticsService","ContentStackService","selectors","inputs","outputs","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ActionsMenuAvailabilityListComponent_ng_template_3_Template","ɵɵtemplateRefExtractor","ɵɵlistener","$event","ɵɵrestoreView","_r1","menu_r3","ɵɵreference","ɵɵresetView","toggle","ButtonModule","Button","MenuModule","Menu","TagModule","Tag","FontAwesomeModule","FaIconComponent","encapsulation","changeDetection","_ActionsMenuAvailabilityListComponent","ɵɵelement","ɵɵpropertyInterpolate1","ctx_r1","displayName","ɵɵproperty","faLock","ɵɵelementStart","ɵɵelementEnd","ɵɵadvance","activityIcon","ɵɵelementContainerStart","ɵɵtemplate","UserAvailabilityListItemComponent_ng_container_1_fa_icon_8_Template","ɵɵtext","UserAvailabilityListItemComponent_ng_container_1_Conditional_10_Template","ɵɵlistener","$event","ɵɵrestoreView","_r1","ɵɵnextContext","ɵɵresetView","onCancelSessionSelected","profilePhoto","saved","isLockedIn","ɵɵtextInterpolate1","ɵɵconditional","dynamicPanel","externalId","profileSlug","sessionActivityType","partnerQuietMode","_r3","onCancelConfirmed","onKeepSession","cancelInProgress","faMicrophoneSlash","_r4","selectSession","UserAvailabilityListItemComponent_ng_container_3_Conditional_2_Conditional_5_Template","UserAvailabilityListItemComponent_ng_container_3_Conditional_2_Conditional_6_Template","disable","ɵɵtextInterpolate","sessionTimeLabel","_r5","bookSession","UserAvailabilityListItemComponent_ng_container_3_Conditional_2_Template","UserAvailabilityListItemComponent_ng_container_3_Conditional_3_Template","selected","BUTTON_TEXT_MATCHING","BUTTON_TEXT_SEARCHING","BUTTON_TEXT_LATE","UserAvailabilityListItemComponent","constructor","sessionStateService","userService","sessionState","viewingSelf","useTimeLabel","onCancelSession","EventEmitter","onBookSession","onSelectSession","confirmCancel","buttonText","buttonState","ngOnInit","setState","setActivityIcon","ngOnChanges","e","hasOwnProperty","booked","previousValue","currentValue","isLockedInState","isPendingPartnerState","SESSION_STATE_SEARCHING","SESSION_STATE_LATE","stopPropagation","emit","sessionTime","userId","duration","sessionDuration","activityType","SESSION_ACTIVITY_TYPE_ANYTHING","faShuffle","SESSION_ACTIVITY_TYPE_DESK","faLampDesk","SESSION_ACTIVITY_TYPE_MOVING","faPersonWalking","ɵɵdirectiveInject","SessionStateService","UserService","selectors","inputs","durationLabel","bookingComplete","outputs","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","UserAvailabilityListItemComponent_ng_container_1_Template","UserAvailabilityListItemComponent_ng_container_2_Template","UserAvailabilityListItemComponent_ng_container_3_Template","CommonModule","NgIf","NgSwitch","NgSwitchCase","FmAvatarComponent","ActionsMenuAvailabilityListComponent","FontAwesomeModule","FaIconComponent","MatTooltipModule","MatTooltip","ButtonModule","Button","encapsulation","_UserAvailabilityListItemComponent","ɵɵelementStart","ɵɵlistener","$event","ɵɵrestoreView","_r2","ctx_r2","ɵɵnextContext","ɵɵresetView","onDurationDropDownChanged","ɵɵelementEnd","ɵɵproperty","durationOptions","selectedDurationOption","value","ɵɵtext","ɵɵadvance","ɵɵtextInterpolate","item_r5","labelButton","_r4","ɵɵtemplate","UserAvailabilityListComponent_Conditional_0_Conditional_9_ng_template_1_Template","ɵɵtemplateRefExtractor","_r6","cancelSession","bookSession","selectSession","session_r7","sessionDurationLabel","ɵɵpureFunction2","_c7","dynamicPanel","externalId","sessionTime","sessionDuration","sessionState","timeLabel","activityType","confirmed","selectedSession","disableBookSessions","partnerUserId","partnerDisplayName","partnerProfileSlug","profilePhoto","saved","actionComplete","partnerPreferences","quietMode","UserAvailabilityListComponent_Conditional_0_Conditional_15_div_3_div_3_Template","_c6","day_r8","dateLabel","sessions","UserAvailabilityListComponent_Conditional_0_Conditional_15_div_3_Template","ɵɵstyleMap","ɵɵpureFunction0","_c4","_c5","filteredSessionList","UserAvailabilityListComponent_Conditional_0_Conditional_16_div_2_Template","listContentState","ɵɵelement","UserAvailabilityListComponent_Conditional_0_Conditional_8_Template","UserAvailabilityListComponent_Conditional_0_Conditional_9_Template","_r1","onQuietModeToggleSwtichChange","ɵɵtwoWayListener","i0","ɵɵtwoWayBindingSet","selectedQuietMode","UserAvailabilityListComponent_Conditional_0_Conditional_15_Template","UserAvailabilityListComponent_Conditional_0_Conditional_16_Template","ɵɵpureFunction1","_c0","memberProfile","photoUrl","displayName","_c1","ɵɵconditional","_c2","_c3","ɵɵtwoWayProperty","length","SESSION_DURATION_50_MINS_LABEL","SESSION_DURATION_25_MINS_LABEL","SESSION_DURATION_75_MINS_LABEL","DURATION_OPTIONS","labelDropdown","DURATION_FILTER_INCLUDE_ALL","DURATION_FILTER_INCLUDE_25","DURATION_FILTER_INCLUDE_50","DURATION_FILTER_INCLUDE_75","UserAvailabilityListComponent","constructor","userService","userAvailabiltyService","route","bookSessionService","dialogService","utilsService","confirmedSessionsService","cancelSessionService","timeUtils","sessionStateService","dateFormat","userProfileService","contentStackService","ngUnsubscribe","Subject","invalidUser","Array","completeList","selectedOption","faRefresh","clicked","ngOnChanges","changes","isFirstChange","next","complete","populateMemberProfile","ngOnInit","currentUser","pipe","take","subscribe","user","userProfile","profileSlug","profileUrl","continueInit","getUserProfile","snapshot","data","uid","userId","viewingSelf","queryUserAvailability","refresh$","takeUntil","reloadSelect","onQuietModeChanged","e","populateSessionList","event","checked","find","element","durationFilterSelected","getUserSharedAvailability","v","receivedUserAvailability","error","receivedUserAvailabilityError","userAvailability","removeAvailableSessionsFromList","meeting","availability","meetings","format","timeZone","push","duration","getSessionDurationLabel","cancelConfirm","sharedAvailability","quietModeMatchAllowed","preferences","queryUserConfirmedSessions","getConfirmedSessions","receivedConfirmedSessions","confirmedSesions","confirmedList","removeConfirmedSessionsFromList","session","partnerId","hasSessionTimePassed","getCurrentTimestamp","isLockedInState","state","partnerPhoto","partnerProfileUrl","filter","filterSessionBasedOnQuietModeSettings","quietModeSelected","sort","a","b","filterSessionDuration","addSessionToList","setContentStateEmptyOrValid","SESSION_DURATION_50_MINS","SESSION_DURATION_25_MINS","SESSION_DURATION_75_MINS","currentDate","genereateDateLabel","timezone","isToday","moment","tz","isTomorrow","selection","timeAndDuration","favorites","bookSessionInfo","userAvailabilityCode","title","SESSION_ACTIVITY_TYPE_ANYTHING","bookSessions","BookingSource","IndividualAvailabilityList","receivedBookSessionResult","receivedBookSessionError","receivedBookSessionComplete","result","parsedRes","parseBookResponse","newExternalId","updateSessionListWithBookedSession","openConfirmTransaction","openPlanLimitReachedDialog","conflictTimes","map","conflict","openSessionConflictWithCancel","afterClosed","actionResult","action","idsToCancel","bookAndCancel","openInviterMeetingNoLongerAvailable","forEach","SESSION_STATE_DIRECT_BOOKER","day","updateActionComplete","bookInfo","cancelList","cancelRequests","SessionTileSource","AvailabilityConflictModal","forkJoin","cancelInfo","SeeAvailabilityList","receivedCancelSessionSuccess","updateSessionListWithCanceledSession","getOriginalActivityTypeFromList","availabiityList","__async","partnersActivityType","firstValueFrom","dontPropagate","stopPropagation","ngOnDestroy","ɵɵdirectiveInject","UserService","UserAvailabiltyService","ActivatedRoute","BookSessionsService","DialogService","UtilsService","ConfirmedSessionsService","CancelSessionService","TimeUtilitiesService","SessionStateService","UserDateFormattingService","UserProfileService","ContentStackService","selectors","hostBindings","rf","ctx","UserAvailabilityListComponent_Conditional_0_Template","FmAvatarComponent","RouterModule","UserAvailabilityListItemComponent","CommonModule","NgClass","NgForOf","NgIf","FormsModule","NgControlStatus","NgModel","FontAwesomeModule","SelectModule","Select","SelectButtonModule","SelectButton","ToggleSwitchModule","ToggleSwitch","ScrollPanelModule","ScrollPanel","DividerModule","Divider","encapsulation","_UserAvailabilityListComponent"],"x_google_ignoreList":[2,3,4,5,8,9]}