{"version":3,"sources":["src/app/routes/availability/favorites/favorites-list.component.ts","src/app/routes/availability/favorites/favorites-list.component.html","node_modules/primeng/fesm2022/primeng-divider.mjs","node_modules/primeng/fesm2022/primeng-menu.mjs","node_modules/primeng/fesm2022/primeng-tag.mjs","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/availability/favorites/components/availability-list-item/availability-list-item.component.ts","src/app/routes/availability/favorites/components/availability-list-item/availability-list-item.component.html","src/app/routes/availability/favorites/services/favorites-list.service.ts"],"sourcesContent":["import { Component, HostListener, Input, OnInit } 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 { faStar } from '@fortawesome/pro-solid-svg-icons'\n\nimport { BookingSource, SessionTileSource } from '@app/core/_services/analytics.service'\nimport { Title } from '@angular/platform-browser'\nimport { DialogService } from '@app/core/_services/dialog.service'\nimport { CancelSessionService, ConfirmedSessionsService } from '@app/core/_services'\nimport { UserAvailabiltyService } from '@app/core/_services/user-availabilty.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 { SESSION_STATE_DIRECT_BOOKER } from '@app/core/_services/session-state.service'\nimport { faCalendarExclamation, faCalendarStar } from '@fortawesome/pro-regular-svg-icons'\nimport {\n BookSessionPreferences,\n BookSessionsResponse,\n FavoritesAvailabilityResponse,\n SESSION_ACTIVITY_TYPE_ANYTHING,\n SessionActivityType,\n} from '@app/core/_models'\nimport { faRefresh } from '@fortawesome/pro-solid-svg-icons'\nimport { SelectButtonChangeEvent, SelectButtonModule } from 'primeng/selectbutton'\nimport { ToggleSwitchChangeEvent, ToggleSwitchModule } from 'primeng/toggleswitch'\nimport { ContentStackService } from '@app/core/_services/content-stack.service'\nimport { ScrollPanelModule } from 'primeng/scrollpanel'\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\nimport { CommonModule } from '@angular/common'\nimport { SelectModule } from 'primeng/select'\nimport { FormsModule } from '@angular/forms'\nimport { DividerModule } from 'primeng/divider'\nimport {\n AvailabilityListBookSession,\n AvailabilityListCancelSession,\n AvailabilityListItemComponent,\n AvailabilityListSelectedSession,\n AvailabilitySessionListItem,\n} from './components/availability-list-item/availability-list-item.component'\nimport {\n FavoritesAvailabilityList,\n FavoritesAvailabilityListTimes,\n FavoritesListService,\n} from './services/favorites-list.service'\nimport { MenuItem } from 'primeng/api'\nimport { BreadcrumbModule } from 'primeng/breadcrumb'\ntype AvailabilityListContentState =\n | 'loading'\n | 'emptyList'\n | 'validList'\n | 'noFavorites'\n | 'emptyForSelectedDuration'\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-favorites-list',\n templateUrl: './favorites-list.component.html',\n styleUrls: ['./favorites-list.component.scss'],\n imports: [\n RouterModule,\n BreadcrumbModule,\n AvailabilityListItemComponent,\n CommonModule,\n FormsModule,\n FontAwesomeModule,\n SelectModule,\n SelectButtonModule,\n ToggleSwitchModule,\n ScrollPanelModule,\n DividerModule,\n ],\n standalone: true,\n})\nexport class FavoritesListComponent implements OnInit {\n @Input() dynamicPanel: boolean = false\n @Input() user: User = null\n\n public currentUser: User\n public listContentState: AvailabilityListContentState = 'loading'\n public filteredFavoritesSessionList: FavoritesAvailabilityList[] =\n new Array()\n public completeList: AvailabilitySessionListItem[] = []\n public hasFavorites: boolean\n public selectedSession: number = 0\n public selectedUserId: string\n public disableBookSessions: boolean = false\n public faStar = faStar\n public faRefresh = faRefresh\n public faCalendarStar = faCalendarStar\n public faCalendarExclamation = faCalendarExclamation\n private ngUnsubscribe: Subject = new Subject()\n private favoritesAvailabilityResponse: FavoritesAvailabilityResponse\n public selectedQuietMode: boolean = false\n\n public startDate: moment\n public endDate: moment\n\n // Consolidate this when only the new layout is available\n public selectedOption = DURATION_FILTER_INCLUDE_ALL\n public durationOptions = DURATION_OPTIONS\n public selectedDurationOption = this.durationOptions[0]\n\n // Breadcrumbs\n breadcrumbItems: MenuItem[] = [\n { label: 'People', routerLink: '/people', queryParams: { type: 'favorites' } },\n { label: 'Favorites schedule' },\n ]\n\n constructor(\n public userService: UserService,\n private route: ActivatedRoute,\n private bookSessionService: BookSessionsService,\n private titleService: Title,\n private dialogService: DialogService,\n private confirmedSessionsService: ConfirmedSessionsService,\n private cancelSessionService: CancelSessionService,\n private userAvailabiltyService: UserAvailabiltyService,\n private favoritesListService: FavoritesListService,\n private contentStackService: ContentStackService,\n ) {}\n\n @HostListener('click')\n clicked() {\n this.selectedSession = 0\n }\n\n ngOnInit(): void {\n this.currentUser = this.route.snapshot.data['currentUser']\n if (this.currentUser) {\n this.continueInit()\n } else {\n this.userService.currentUser.pipe(take(1)).subscribe({\n next: (user) => {\n this.currentUser = user\n this.continueInit()\n },\n })\n }\n }\n\n private continueInit(): void {\n this.startDate = moment.tz(this.currentUser.timeZone).startOf('day')\n this.endDate = this.startDate.clone().add(14, 'days')\n this.titleService.setTitle(\"Favorites' availability - Focusmate\")\n this.queryFavoritesAvailability()\n\n this.contentStackService.refresh$.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => {\n this.queryFavoritesAvailability()\n })\n }\n\n reloadSelect() {\n this.queryFavoritesAvailability()\n }\n\n onQuietModeToggleSwtichChange(event: ToggleSwitchChangeEvent): void {\n this.selectedQuietMode = event.checked\n if (this.listContentState !== 'loading') {\n this.populateSessionList()\n }\n }\n onQuietModeChanged(e) {\n this.selectedQuietMode = e\n if (this.listContentState !== 'loading') {\n this.populateSessionList()\n }\n }\n\n clearList() {\n this.completeList = this.favoritesListService.removeConfirmedSessionsFromList(\n this.completeList,\n )\n this.completeList = this.favoritesListService.removeAvailableSessionsFromList(\n this.completeList,\n )\n this.filteredFavoritesSessionList.length = 0\n }\n\n private queryFavoritesAvailability() {\n this.listContentState = 'loading'\n this.clearList()\n let start = this.startDate.valueOf()\n let end = this.endDate.valueOf()\n\n this.userAvailabiltyService.queryAvailableTimesWithFavorites(start, end).subscribe({\n next: (v) => this.receivedFavoriteUserAvailability(v),\n error: (e) => this.receivedFavoriteUserAvailabilityError(e),\n })\n }\n\n private receivedFavoriteUserAvailability(\n favoriteUsersAvailability: FavoritesAvailabilityResponse,\n ) {\n this.favoritesAvailabilityResponse = favoriteUsersAvailability\n this.favoritesListService.populateListFromFavoritesAvailabilityResponse(\n favoriteUsersAvailability,\n this.completeList,\n this.currentUser.timeZone,\n )\n this.hasFavorites = favoriteUsersAvailability.availability.favoritesCount > 0\n\n if (this.hasFavorites) {\n this.queryUserConfirmedSessions()\n } else {\n this.populateSessionList()\n }\n }\n\n private receivedFavoriteUserAvailabilityError(e) {}\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 receivedConfirmedSessions(confirmedSesions) {\n const start = this.startDate.valueOf()\n const end = this.endDate.valueOf()\n this.favoritesListService.populateListFromConfirmedSessionsResponse(\n confirmedSesions,\n this.completeList,\n start,\n end,\n this.currentUser.timeZone,\n )\n this.populateSessionList()\n }\n\n private populateSessionList() {\n this.favoritesListService.populateFilteredDisplayList(\n this.filteredFavoritesSessionList,\n this.completeList,\n this.currentUser.timeZone,\n this.selectedOption,\n this.selectedQuietMode,\n )\n this.setContentStateEmptyOrValid()\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 setContentStateEmptyOrValid() {\n if (!this.hasFavorites) {\n this.listContentState = 'noFavorites'\n } else if (this.completeList.length === 0) {\n this.listContentState = 'emptyList'\n } else if (this.filteredFavoritesSessionList.length === 0) {\n this.listContentState = 'emptyForSelectedDuration'\n } else {\n this.listContentState = 'validList'\n }\n }\n\n public selectSession(sessionInfo: AvailabilityListSelectedSession) {\n this.selectedSession = sessionInfo.sessionTime\n this.selectedUserId = sessionInfo.userId\n }\n\n public bookSession(availabilityListBookSession: AvailabilityListBookSession) {\n const preferences: BookSessionPreferences = {\n favorites: { value: 'preferred' },\n quietMode: { value: this.selectedQuietMode },\n }\n let sessionTime = availabilityListBookSession.sessionTime\n let duration = availabilityListBookSession.duration\n let bookSessionInfo: BookSessionInfo = {\n sessionTime: sessionTime,\n userAvailabilityCode: '',\n duration: duration,\n userId: availabilityListBookSession.userId,\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.ConsolidatedFavoritesList,\n )\n .pipe(take(1))\n .subscribe({\n next: (v) => this.receivedBookSessionResult(availabilityListBookSession, v),\n error: (e) => this.receivedBookSessionError(sessionTime, e),\n complete: () => this.receivedBookSessionComplete(sessionTime),\n })\n }\n\n public receivedBookSessionResult(\n availabilityListBookSession: AvailabilityListBookSession,\n result: BookSessionsResponse[],\n ) {\n let sessionTime = availabilityListBookSession.sessionTime\n let duration = availabilityListBookSession.duration\n let userId = availabilityListBookSession.userId\n let parsedRes = this.bookSessionService.parseBookResponse(result)\n\n if (parsedRes['numSuccess'] !== 0) {\n const sessionInfo = result.find((element) => element.sessionTime == sessionTime)\n this.updateSessionListWithBookedSession(sessionTime, userId, sessionInfo)\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: userId,\n title: '',\n preferences,\n activityType: SESSION_ACTIVITY_TYPE_ANYTHING,\n }\n this.bookAndCancel(bookSessionInfo, parsedRes['conflicts'])\n }\n })\n } else if (\n parsedRes['inviterNoLongerAvailable'] === true ||\n parsedRes['alreadyStarted'] === true\n ) {\n this.dialogService.openInviterMeetingNoLongerAvailable()\n this.queryFavoritesAvailability()\n }\n }\n\n public updateSessionListWithBookedSession(\n sessionTime: number,\n userId: string,\n sessionInfo: BookSessionsResponse,\n ) {\n /* Booking a session via availabiity list will hardcode activityType to anything */\n this.completeList.forEach((session) => {\n if (session.sessionTime === sessionTime && session.partnerUserId == userId) {\n session.externalId = sessionInfo.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.filteredFavoritesSessionList.forEach((day) => {\n day.times.forEach((time) => {\n time.sessions25.forEach((session) => {\n if (session.sessionTime === sessionTime && session.partnerUserId == userId) {\n session.externalId = sessionInfo.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 time.sessions50.forEach((session) => {\n if (session.sessionTime === sessionTime && session.partnerUserId == userId) {\n session.externalId = sessionInfo.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 time.sessions75.forEach((session) => {\n if (session.sessionTime === sessionTime && session.partnerUserId == userId) {\n session.externalId = sessionInfo.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\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(\n bookInfo: BookSessionInfo,\n sessionsToCancel: { externalId: string; sessionTime: number }[],\n ) {\n let cancelRequests = []\n for (let { externalId, sessionTime } of sessionsToCancel) {\n cancelRequests.push(\n this.cancelSessionService.cancelSession(\n externalId,\n SessionTileSource.AvailabilityConflictModal,\n ),\n )\n }\n\n forkJoin(cancelRequests).subscribe({\n next: (v) => {\n for (let { externalId, sessionTime } of sessionsToCancel) {\n this.updateSessionListWithCanceledSession(sessionTime)\n }\n this.bookSession(bookInfo)\n },\n error: (e) => {\n this.bookSession(bookInfo)\n },\n })\n }\n\n updateActionComplete(complete: boolean, sessionTime: number) {\n for (let day of this.filteredFavoritesSessionList) {\n for (let time of day.times) {\n for (let session of time.sessions25) {\n if (session.sessionTime === sessionTime) {\n session.actionComplete = complete\n return\n }\n }\n for (let session of time.sessions50) {\n if (session.sessionTime === sessionTime) {\n session.actionComplete = complete\n return\n }\n }\n for (let session of time.sessions75) {\n if (session.sessionTime === sessionTime) {\n session.actionComplete = complete\n return\n }\n }\n }\n }\n }\n\n cancelSession(availabilityListcancelSession: AvailabilityListCancelSession) {\n this.cancelSessionService\n .cancelSession(\n availabilityListcancelSession.externalId,\n SessionTileSource.ConsolidatedFavoritesList,\n )\n .subscribe({\n next: (v) =>\n this.receivedCancelSessionSuccess(\n availabilityListcancelSession.sessionTime,\n availabilityListcancelSession.userId,\n ),\n error: (e) => this.queryFavoritesAvailability(),\n })\n }\n\n private receivedCancelSessionSuccess(sessionTime: number, userId: string) {\n this.updateSessionListWithCanceledSession(sessionTime)\n\n this.dialogService.openConfirmTransaction('Session canceled')\n }\n\n private getOriginalActivityTypeFromList(\n availabiityList: FavoritesAvailabilityResponse,\n sessionTime: number,\n ): SessionActivityType | null {\n let session = availabiityList.availability.availableSessions.find(\n (element) => element.sessionTime == sessionTime,\n )\n return session?.activityType || null\n }\n\n private async updateSessionListWithCanceledSession(sessionTime: number) {\n /*\n\t\tUse Case 1: Session canceled had no partner, remove it from the list completely\n\t\tUse Case 2: Session canceled had a partner, but was not a favorite partner that\n\t\t shares their calendar, remove it from the list completely\n\t\tUse Case 3: Session canceled was with a saved partner that is sharing their calendar\n\t\t update state and keep in list\n\t\t\n\t\tNOTE: When canceling a session we must ensure to show the correct\n\t\tactivity icon for the available session.\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.favoritesAvailabilityResponse,\n sessionTime,\n )\n\n if (!partnersActivityType) {\n const start = this.startDate.valueOf()\n const end = this.endDate.valueOf()\n this.favoritesAvailabilityResponse = await firstValueFrom(\n this.userAvailabiltyService.queryAvailableTimesWithFavorites(start, end),\n )\n partnersActivityType = this.getOriginalActivityTypeFromList(\n this.favoritesAvailabilityResponse,\n sessionTime,\n )\n }\n\n for (let i = 0; i < this.completeList.length; ++i) {\n if (\n this.completeList[i].sessionTime === sessionTime &&\n this.completeList[i].confirmed\n ) {\n if (this.completeList[i].saved && this.completeList[i].sharedAvailability) {\n this.completeList[i].confirmed = false\n this.completeList[i].cancelConfirm = false\n this.completeList[i].actionComplete = true\n this.completeList[i].activityType = partnersActivityType\n this.completeList[i].externalId = null\n } else {\n this.completeList.splice(i, 1)\n }\n break\n }\n }\n\n let found = false\n for (let day = 0; day < this.filteredFavoritesSessionList.length; ++day) {\n for (let time = 0; time < this.filteredFavoritesSessionList[day].times.length; ++time) {\n if (this.filteredFavoritesSessionList[day].times[time].sessionTime == sessionTime) {\n found = this.updateOrRemoveCanceledSession(\n this.filteredFavoritesSessionList[day].times[time].sessions25,\n partnersActivityType,\n )\n found =\n found ||\n this.updateOrRemoveCanceledSession(\n this.filteredFavoritesSessionList[day].times[time].sessions50,\n partnersActivityType,\n )\n found =\n found ||\n this.updateOrRemoveCanceledSession(\n this.filteredFavoritesSessionList[day].times[time].sessions75,\n partnersActivityType,\n )\n\n if (found) {\n if (\n this.isTimeNodeEmpty(this.filteredFavoritesSessionList[day].times[time])\n ) {\n this.filteredFavoritesSessionList[day].times.splice(time, 1)\n\n if (this.isDayNodeEmpty(this.filteredFavoritesSessionList[day])) {\n this.filteredFavoritesSessionList.splice(day, 1)\n }\n }\n break\n }\n }\n }\n if (found) {\n break\n }\n }\n }\n\n private isSavedWithSharedAvailabilityPartner(session: AvailabilitySessionListItem): boolean {\n return session.saved && session.sharedAvailability\n }\n\n private updateSessionToAvailable(\n session: AvailabilitySessionListItem,\n activityType: SessionActivityType,\n ): void {\n session.confirmed = false\n session.cancelConfirm = false\n session.actionComplete = true\n session.activityType = activityType\n session.externalId = null\n }\n\n private updateOrRemoveCanceledSession(\n sessionList: AvailabilitySessionListItem[],\n activityType: SessionActivityType,\n ): boolean {\n let found = false\n\n for (let session = 0; session < sessionList.length; ++session) {\n let checkSession = sessionList[session]\n if (checkSession.confirmed) {\n if (this.isSavedWithSharedAvailabilityPartner(checkSession)) {\n this.updateSessionToAvailable(checkSession, activityType)\n found = true\n break\n } else {\n sessionList.splice(session, 1)\n found = true\n break\n }\n }\n }\n return found\n }\n\n private isTimeNodeEmpty(node: FavoritesAvailabilityListTimes): boolean {\n if (\n node.sessions25.length === 0 &&\n node.sessions50.length === 0 &&\n node.sessions75.length === 0\n ) {\n return true\n } else {\n return false\n }\n }\n\n private isDayNodeEmpty(node: FavoritesAvailabilityList): boolean {\n if (node.times.length === 0) {\n return true\n } else {\n false\n }\n }\n\n dontPropagate(e: Event) {\n e.stopPropagation()\n }\n\n ngOnDestroy() {\n this.titleService.setTitle('Focusmate - Virtual coworking for getting anything done')\n this.ngUnsubscribe.next(null)\n this.ngUnsubscribe.complete()\n }\n}\n","\n
\n
\n @if (!dynamicPanel) {\n \n }\n\n
Favorites schedule
\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 (filteredFavoritesSessionList.length > 0) {\n
\n \n \n \n {{ day.dayLabel }}\n\n \n {{ time.timeLabel }}\n\n
\n \n 0\"\n class=\"w-full flex flex-col items-center justify-start h-screen max-h-max\">\n \n \n 25m\n \n\n \n \n \n
\n
\n \n \n \n 0\"\n class=\"w-full flex flex-col items-center justify-start h-screen max-h-max\">\n \n \n 50m\n \n\n \n \n \n \n \n \n \n\n \n 0\"\n class=\"w-full flex flex-col items-center justify-start h-screen max-h-max\">\n \n \n 75m\n \n\n \n \n \n \n \n \n \n \n \n \n \n Showing sessions scheduled over
\n the next two weeks.
\n \n \n \n } @else {\n
\n \n \n \n \n
\n
\n \n
\n Sessions booked by your Favorites
\n appear here, but looks like you
\n haven’t Favorited anyone yet.\n Learn more about Favorite Partners\n
\n
\n \n
\n
\n \n
\n Hmm...none of your Favorites have
\n any sessions scheduled in the next
\n couple of weeks.\n Let’s book with someone else on
\n the calendar?
\n
\n
\n \n \n
\n
\n No sessions available at the moment!\n
\n
\n
\n
\n }\n
\n\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 { 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 { Subject } from 'rxjs'\nimport { AnalyticsService } from '@app/core/_services/analytics.service'\nimport { MenuModule } from 'primeng/menu'\nimport { ContentStackItem, ContentStackService } from '@app/core/_services/content-stack.service'\nimport { RpUserProfileComponent } from '@app/right-panel/components/rp-user-profile/rp-user-profile.component'\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 stackItem: ContentStackItem = {\n component: RpUserProfileComponent,\n context: { profileSlug: this.targetUserProfileUrl },\n popIfCovered: true,\n preserveStack: true,\n showRefreshButton: false,\n }\n this.contentStackService.pushContent(stackItem)\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, faTimes } from '@fortawesome/pro-solid-svg-icons'\nimport { FmAvatarComponent } from '@app/shared/components/fm-avatar/fm-avatar.component'\nimport { ActionsMenuAvailabilityListComponent } from '../actions-menu-availability-list/actions-menu-availability-list.component'\nimport { MatTooltipModule } from '@angular/material/tooltip'\nimport { ButtonModule } from 'primeng/button'\nimport { faLampDesk, faPersonWalking, faShuffle } from '@fortawesome/pro-solid-svg-icons'\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-availability-list-item',\n templateUrl: './availability-list-item.component.html',\n styleUrls: ['./availability-list-item.component.scss'],\n imports: [\n CommonModule,\n FmAvatarComponent,\n ActionsMenuAvailabilityListComponent,\n FontAwesomeModule,\n MatTooltipModule,\n ButtonModule,\n ],\n})\nexport class AvailabilityListItemComponent 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 faTimes = faTimes\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 \n
{{ displayName }}
\n
\n @if (!dynamicPanel && activityIcon) {\n
\n \n
\n }\n
\n \n } @else {\n \n }\n \n \n
\n
\n","import { Injectable } from '@angular/core'\nimport {\n ConfirmedSessionsResponse,\n FavoritesAvailabilityPartner,\n FavoritesAvailabilityResponse,\n FavoritesAvailabilitySessionInfo,\n SESSION_DURATION_25_MINS,\n SESSION_DURATION_50_MINS,\n SESSION_DURATION_75_MINS,\n} from '@app/core/_models'\nimport { UtilsService } from '@app/core/_services'\n\nimport { SessionStateService } from '@app/core/_services/session-state.service'\nimport { TimeUtilitiesService } from '@app/core/_services/time-utilities.service'\nimport { UserDateFormattingService } from '@app/core/_services/user-date-formatting.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 { AvailabilitySessionListItem } from '@app/shared-availability-list/components/availability-list-item/availability-list-item.component'\nimport moment from 'moment-timezone/builds/moment-timezone-with-data-10-year-range.min'\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\nexport interface FavoritesAvailabilityList {\n dayLabel: string\n times: FavoritesAvailabilityListTimes[]\n}\n\nexport interface FavoritesAvailabilityListTimes {\n timeLabel: string\n sessionTime: number\n sessions25: AvailabilitySessionListItem[]\n sessions50: AvailabilitySessionListItem[]\n sessions75: AvailabilitySessionListItem[]\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FavoritesListService {\n constructor(\n private utilsService: UtilsService,\n private timeUtils: TimeUtilitiesService,\n private sessionStateService: SessionStateService,\n private dateFormat: UserDateFormattingService,\n ) {}\n\n public populateListFromFavoritesAvailabilityResponse(\n favoriteUsersAvailability: FavoritesAvailabilityResponse,\n currentList: AvailabilitySessionListItem[],\n timezone: string,\n ) {\n const partners = favoriteUsersAvailability.availability.partners || {}\n const sessions = favoriteUsersAvailability.availability.availableSessions || []\n\n for (let session of sessions) {\n const partner = partners[session.userId]\n\n if (partner.saved) {\n currentList.push({\n timeLabel: this.dateFormat.format(session.sessionTime, 'h:mma', timezone),\n externalId: null,\n sessionTime: session.sessionTime,\n sessionDuration: session.duration,\n sessionState: null,\n sessionDurationLabel: this.getSessionDurationLabel(session.duration),\n actionComplete: false,\n confirmed: false,\n cancelConfirm: false,\n profilePhoto: partner.profilePhoto,\n partnerUserId: session.userId,\n partnerDisplayName: partner.displayName,\n partnerProfileSlug: partner.profileSlug,\n saved: true,\n sharedAvailability: partner.sharedAvailability,\n activityType: session.activityType,\n partnerPreferences: session.preferences,\n quietModeMatchAllowed: partner.quietModeMatchAllowed,\n })\n }\n }\n }\n\n public populateListFromConfirmedSessionsResponse(\n confirmedSesions: ConfirmedSessionsResponse[],\n currentList: AvailabilitySessionListItem[],\n startTimeInMsecs: number,\n endTimeInMsecs: number,\n timezone: string,\n ) {\n let confirmedList = confirmedSesions || []\n\n for (let session of confirmedList) {\n if (\n !this.utilsService.hasSessionTimePassed(\n session.sessionTime,\n this.utilsService.getCurrentTimestamp(),\n ) &&\n session.sessionTime >= startTimeInMsecs &&\n session.sessionTime <= endTimeInMsecs &&\n this.sessionStateService.isLockedInState(session.state)\n ) {\n currentList.push({\n timeLabel: this.dateFormat.format(session.sessionTime, 'h:mma', timezone),\n externalId: session.externalId,\n sessionTime: session.sessionTime,\n sessionDuration: session.duration,\n sessionState: session.state,\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 activityType: session.activityType,\n partnerPreferences: session.partnerPreferences,\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 })\n }\n }\n }\n\n public populateFilteredDisplayList(\n filteredFavoritesSessionList: FavoritesAvailabilityList[],\n completeList: AvailabilitySessionListItem[],\n timezone: string,\n filterOption,\n quietModeSelected,\n ) {\n filteredFavoritesSessionList.length = 0\n let tempList: FavoritesAvailabilityList[] = []\n\n completeList.sort(\n (a, b) => a.sessionTime - b.sessionTime || a.sessionDuration - b.sessionDuration,\n )\n for (let meeting of completeList) {\n if (\n !this.filterSessionDuration(meeting.sessionDuration, filterOption) &&\n !this.filterSessionBasedOnQuietModeSettings(meeting, quietModeSelected)\n ) {\n this.addSessionToList(tempList, meeting, timezone)\n }\n }\n filteredFavoritesSessionList.push(...tempList)\n }\n\n public removeAvailableSessionsFromList(currentList: AvailabilitySessionListItem[]) {\n return currentList.filter((session) => session.confirmed !== false)\n }\n\n public removeConfirmedSessionsFromList(currentList: AvailabilitySessionListItem[]) {\n return currentList.filter((session) => session.confirmed !== true)\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 private filterSessionDuration(duration: number, filterOption): boolean {\n if (filterOption === DURATION_FILTER_INCLUDE_ALL) {\n return false\n }\n if (filterOption === DURATION_FILTER_INCLUDE_50 && duration === SESSION_DURATION_50_MINS) {\n return false\n }\n if (filterOption === DURATION_FILTER_INCLUDE_25 && duration === SESSION_DURATION_25_MINS) {\n return false\n }\n\n if (filterOption === DURATION_FILTER_INCLUDE_75 && duration === SESSION_DURATION_75_MINS) {\n return false\n }\n return true\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 addSessionToList(filteredFavoritesSessionList, meeting, timezone: string) {\n let currentDate = this.genereateDateLabel(meeting.sessionTime, timezone)\n\n if (\n filteredFavoritesSessionList.length === 0 ||\n filteredFavoritesSessionList[filteredFavoritesSessionList.length - 1].dayLabel !==\n currentDate\n ) {\n let timeEntry: FavoritesAvailabilityListTimes = {\n sessionTime: meeting.sessionTime,\n timeLabel: meeting.timeLabel,\n sessions25: [],\n sessions50: [],\n sessions75: [],\n }\n\n if (meeting.sessionDuration == SESSION_DURATION_25_MINS) {\n timeEntry.sessions25.push(meeting)\n } else if (meeting.sessionDuration == SESSION_DURATION_50_MINS) {\n timeEntry.sessions50.push(meeting)\n } else {\n timeEntry.sessions75.push(meeting)\n }\n\n filteredFavoritesSessionList.push({\n dayLabel: currentDate,\n times: [timeEntry],\n })\n } else {\n const lastFavoritesSession =\n filteredFavoritesSessionList[filteredFavoritesSessionList.length - 1]\n const lastSessionTime =\n lastFavoritesSession.times[lastFavoritesSession.times.length - 1]\n const lastTimeLabel = lastSessionTime.timeLabel\n\n if (lastTimeLabel !== meeting.timeLabel) {\n let timeEntry: FavoritesAvailabilityListTimes = {\n sessionTime: meeting.sessionTime,\n timeLabel: meeting.timeLabel,\n sessions25: [],\n sessions50: [],\n sessions75: [],\n }\n\n if (meeting.sessionDuration == SESSION_DURATION_25_MINS) {\n timeEntry.sessions25.push(meeting)\n } else if (meeting.sessionDuration == SESSION_DURATION_50_MINS) {\n timeEntry.sessions50.push(meeting)\n } else {\n timeEntry.sessions75.push(meeting)\n }\n filteredFavoritesSessionList[filteredFavoritesSessionList.length - 1].times.push(\n timeEntry,\n )\n } else {\n const lastFavoritesSession =\n filteredFavoritesSessionList[filteredFavoritesSessionList.length - 1]\n const times = lastFavoritesSession.times\n const slot = times[times.length - 1]\n\n if (meeting.sessionDuration == SESSION_DURATION_25_MINS) {\n if (!this.handledDuplicateEntry(slot.sessions25, meeting)) {\n slot.sessions25.push(meeting)\n }\n } else if (meeting.sessionDuration == SESSION_DURATION_50_MINS) {\n if (!this.handledDuplicateEntry(slot.sessions50, meeting)) {\n slot.sessions50.push(meeting)\n }\n } else {\n if (!this.handledDuplicateEntry(slot.sessions75, meeting)) {\n slot.sessions75.push(meeting)\n }\n }\n }\n }\n }\n\n private handledDuplicateEntry(\n sessionList: AvailabilitySessionListItem[],\n sessionToCheck: AvailabilitySessionListItem,\n ): boolean {\n for (let session of sessionList) {\n if (\n session.sessionTime == sessionToCheck.sessionTime &&\n session.sessionDuration == sessionToCheck.sessionDuration &&\n session.partnerUserId == sessionToCheck.partnerUserId\n ) {\n // This can occur if a favorited user, that is sharing their calendar, is a currnt\n // match, but not locked in. If this happens, only preset the matched session and not\n // the available one\n if (sessionToCheck.confirmed) {\n Object.assign(session, sessionToCheck)\n }\n return true\n }\n }\n return false\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"],"mappings":"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","names":["import_moment_timezone_with_data_10_year_range","_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","_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","ɵɵ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","stackItem","component","RpUserProfileComponent","context","profileSlug","popIfCovered","preserveStack","showRefreshButton","pushContent","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","AvailabilityListItemComponent_ng_container_1_fa_icon_8_Template","ɵɵtext","AvailabilityListItemComponent_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","_r5","selectSession","AvailabilityListItemComponent_ng_container_3_Conditional_2_Conditional_6_Template","disable","ɵɵtextInterpolate","_r6","bookSession","sessionTimeLabel","AvailabilityListItemComponent_ng_container_3_Conditional_2_Template","AvailabilityListItemComponent_ng_container_3_Conditional_3_Template","_r4","selected","BUTTON_TEXT_MATCHING","BUTTON_TEXT_SEARCHING","BUTTON_TEXT_LATE","AvailabilityListItemComponent","constructor","sessionStateService","userService","sessionState","viewingSelf","useTimeLabel","onCancelSession","EventEmitter","onBookSession","onSelectSession","faTimes","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","AvailabilityListItemComponent_ng_container_1_Template","AvailabilityListItemComponent_ng_container_2_Template","AvailabilityListItemComponent_ng_container_3_Template","CommonModule","NgIf","NgSwitch","NgSwitchCase","FmAvatarComponent","ActionsMenuAvailabilityListComponent","FontAwesomeModule","FaIconComponent","MatTooltipModule","MatTooltip","ButtonModule","Button","encapsulation","_AvailabilityListItemComponent","import_moment_timezone_with_data_10_year_range","SESSION_DURATION_50_MINS_LABEL","SESSION_DURATION_25_MINS_LABEL","SESSION_DURATION_75_MINS_LABEL","FavoritesListService","constructor","utilsService","timeUtils","sessionStateService","dateFormat","populateListFromFavoritesAvailabilityResponse","favoriteUsersAvailability","currentList","timezone","partners","availability","sessions","availableSessions","session","partner","userId","saved","push","timeLabel","format","sessionTime","externalId","sessionDuration","duration","sessionState","sessionDurationLabel","getSessionDurationLabel","actionComplete","confirmed","cancelConfirm","profilePhoto","partnerUserId","partnerDisplayName","displayName","partnerProfileSlug","profileSlug","sharedAvailability","activityType","partnerPreferences","preferences","quietModeMatchAllowed","populateListFromConfirmedSessionsResponse","confirmedSesions","startTimeInMsecs","endTimeInMsecs","confirmedList","hasSessionTimePassed","getCurrentTimestamp","isLockedInState","state","partnerPhoto","partnerId","partnerProfileUrl","populateFilteredDisplayList","filteredFavoritesSessionList","completeList","filterOption","quietModeSelected","length","tempList","sort","a","b","meeting","filterSessionDuration","filterSessionBasedOnQuietModeSettings","addSessionToList","removeAvailableSessionsFromList","filter","removeConfirmedSessionsFromList","SESSION_DURATION_50_MINS","SESSION_DURATION_75_MINS","DURATION_FILTER_INCLUDE_ALL","DURATION_FILTER_INCLUDE_50","DURATION_FILTER_INCLUDE_25","SESSION_DURATION_25_MINS","DURATION_FILTER_INCLUDE_75","quietMode","value","currentDate","genereateDateLabel","dayLabel","timeEntry","sessions25","sessions50","sessions75","times","lastFavoritesSession","slot","handledDuplicateEntry","sessionList","sessionToCheck","Object","assign","isToday","moment","tz","isTomorrow","ɵɵinject","UtilsService","TimeUtilitiesService","SessionStateService","UserDateFormattingService","factory","ɵfac","providedIn","_FavoritesListService","ɵɵelement","ɵɵproperty","ctx_r1","breadcrumbItems","ɵɵpureFunction0","_c4","ɵɵelementStart","ɵɵlistener","$event","ɵɵrestoreView","_r3","ɵɵnextContext","ɵɵresetView","onDurationDropDownChanged","ɵɵelementEnd","durationOptions","selectedDurationOption","value","ɵɵtext","ɵɵadvance","ɵɵtextInterpolate","item_r5","labelButton","_r4","ɵɵtemplate","FavoritesListComponent_Conditional_8_ng_template_1_Template","ɵɵtemplateRefExtractor","_r6","cancelSession","bookSession","selectSession","ɵɵpureFunction2","_c8","dynamicPanel","session_r7","externalId","sessionTime","sessionDuration","sessionState","sessionDurationLabel","timeLabel","activityType","confirmed","selectedSession","partnerUserId","selectedUserId","disableBookSessions","partnerDisplayName","partnerProfileSlug","profilePhoto","saved","actionComplete","partnerPreferences","quietMode","FavoritesListComponent_Conditional_14_div_3_div_4_div_5_div_6_Template","time_r8","sessions25","_r9","session_r10","FavoritesListComponent_Conditional_14_div_3_div_4_div_6_div_6_Template","sessions50","_r11","session_r12","FavoritesListComponent_Conditional_14_div_3_div_4_div_7_div_6_Template","sessions75","FavoritesListComponent_Conditional_14_div_3_div_4_div_5_Template","FavoritesListComponent_Conditional_14_div_3_div_4_div_6_Template","FavoritesListComponent_Conditional_14_div_3_div_4_div_7_Template","length","FavoritesListComponent_Conditional_14_div_3_div_4_Template","_c7","day_r13","dayLabel","times","FavoritesListComponent_Conditional_14_div_3_Template","ɵɵstyleMap","_c5","_c6","filteredFavoritesSessionList","faCalendarStar","faCalendarExclamation","FavoritesListComponent_Conditional_15_div_2_Template","FavoritesListComponent_Conditional_15_div_3_Template","FavoritesListComponent_Conditional_15_div_4_Template","listContentState","DURATION_OPTIONS","labelDropdown","DURATION_FILTER_INCLUDE_ALL","DURATION_FILTER_INCLUDE_25","DURATION_FILTER_INCLUDE_50","DURATION_FILTER_INCLUDE_75","FavoritesListComponent","constructor","userService","route","bookSessionService","titleService","dialogService","confirmedSessionsService","cancelSessionService","userAvailabiltyService","favoritesListService","contentStackService","user","Array","completeList","faStar","faRefresh","ngUnsubscribe","Subject","selectedQuietMode","selectedOption","label","routerLink","queryParams","type","clicked","ngOnInit","currentUser","snapshot","data","continueInit","pipe","take","subscribe","next","startDate","moment","tz","timeZone","startOf","endDate","clone","add","setTitle","queryFavoritesAvailability","refresh$","takeUntil","reloadSelect","onQuietModeToggleSwtichChange","event","checked","populateSessionList","onQuietModeChanged","e","clearList","removeConfirmedSessionsFromList","removeAvailableSessionsFromList","start","valueOf","end","queryAvailableTimesWithFavorites","v","receivedFavoriteUserAvailability","error","receivedFavoriteUserAvailabilityError","favoriteUsersAvailability","favoritesAvailabilityResponse","populateListFromFavoritesAvailabilityResponse","hasFavorites","availability","favoritesCount","queryUserConfirmedSessions","getConfirmedSessions","receivedConfirmedSessions","confirmedSesions","populateListFromConfirmedSessionsResponse","populateFilteredDisplayList","setContentStateEmptyOrValid","find","element","durationFilterSelected","sessionInfo","userId","availabilityListBookSession","preferences","favorites","duration","bookSessionInfo","userAvailabilityCode","title","SESSION_ACTIVITY_TYPE_ANYTHING","bookSessions","BookingSource","ConsolidatedFavoritesList","receivedBookSessionResult","receivedBookSessionError","complete","receivedBookSessionComplete","result","parsedRes","parseBookResponse","updateSessionListWithBookedSession","openConfirmTransaction","openPlanLimitReachedDialog","conflictTimes","map","conflict","openSessionConflictWithCancel","afterClosed","actionResult","action","bookAndCancel","openInviterMeetingNoLongerAvailable","forEach","session","SESSION_STATE_DIRECT_BOOKER","day","time","updateActionComplete","bookInfo","sessionsToCancel","cancelRequests","push","SessionTileSource","AvailabilityConflictModal","forkJoin","updateSessionListWithCanceledSession","availabilityListcancelSession","receivedCancelSessionSuccess","getOriginalActivityTypeFromList","availabiityList","availableSessions","__async","partnersActivityType","firstValueFrom","i","sharedAvailability","cancelConfirm","splice","found","updateOrRemoveCanceledSession","isTimeNodeEmpty","isDayNodeEmpty","isSavedWithSharedAvailabilityPartner","updateSessionToAvailable","sessionList","checkSession","node","dontPropagate","stopPropagation","ngOnDestroy","ɵɵdirectiveInject","UserService","ActivatedRoute","BookSessionsService","Title","DialogService","ConfirmedSessionsService","CancelSessionService","UserAvailabiltyService","FavoritesListService","ContentStackService","selectors","hostBindings","rf","ctx","FavoritesListComponent_Conditional_3_Template","FavoritesListComponent_Conditional_7_Template","FavoritesListComponent_Conditional_8_Template","i0","_r1","ɵɵtwoWayListener","ɵɵtwoWayBindingSet","FavoritesListComponent_Conditional_14_Template","FavoritesListComponent_Conditional_15_Template","ɵɵpureFunction1","_c0","ɵɵconditional","_c1","_c2","_c3","ɵɵtwoWayProperty","RouterModule","RouterLink","BreadcrumbModule","Breadcrumb","AvailabilityListItemComponent","CommonModule","NgClass","NgForOf","NgIf","FormsModule","NgControlStatus","NgModel","FontAwesomeModule","FaIconComponent","SelectModule","Select","SelectButtonModule","SelectButton","ToggleSwitchModule","ToggleSwitch","ScrollPanelModule","ScrollPanel","DividerModule","Divider","styles","_FavoritesListComponent"],"x_google_ignoreList":[2,3,4]}