@ieeesa-npm/dashboard 0.0.0-stage → 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -3
- package/esm2022/ieeesa-npm-dashboard.mjs +5 -0
- package/esm2022/lib/assets/constants.json +141 -0
- package/esm2022/lib/assets/dashboard-mock.mjs +217 -0
- package/esm2022/lib/assets/dashboard-route-paths.mock.mjs +12 -0
- package/esm2022/lib/assets/dashboard-user-permissions.mock.mjs +23 -0
- package/esm2022/lib/assets/date-formats.mjs +28 -0
- package/esm2022/lib/components/event-group-card/event-group-card.component.mjs +277 -0
- package/esm2022/lib/components/meeting-attendance-row/meeting-attendance-row.component.mjs +181 -0
- package/esm2022/lib/components/member-level-badge/member-level-badge.component.mjs +79 -0
- package/esm2022/lib/components/upcoming-meetings-events/upcoming-meetings-events.component.mjs +163 -0
- package/esm2022/lib/components/welcome-header/dashboard-welcome-header.component.mjs +151 -0
- package/esm2022/lib/components/your-groups/your-groups.component.mjs +206 -0
- package/esm2022/lib/dashboard.component.mjs +377 -0
- package/esm2022/lib/dashboard.module.mjs +16 -0
- package/esm2022/lib/dashboard.routes.mjs +7 -0
- package/esm2022/lib/models/attendance-action-permissions.model.mjs +2 -0
- package/esm2022/lib/models/attendance-state.model.mjs +7 -0
- package/esm2022/lib/models/dashboard-list-response.model.mjs +2 -0
- package/esm2022/lib/models/dashboard-route-config.model.mjs +2 -0
- package/esm2022/lib/models/dashboard-section-state.model.mjs +9 -0
- package/esm2022/lib/models/dashboard-user-info.model.mjs +2 -0
- package/esm2022/lib/models/group-row.model.mjs +2 -0
- package/esm2022/lib/models/meeting-row.model.mjs +2 -0
- package/esm2022/lib/models/page-change.model.mjs +2 -0
- package/esm2022/lib/models/upcoming-event.model.mjs +2 -0
- package/esm2022/lib/services/attendance-reducers.mjs +54 -0
- package/esm2022/lib/services/dashboard.service.mjs +208 -0
- package/esm2022/lib/services/user-permissions.service.mjs +50 -0
- package/esm2022/lib/utils/attendance-action.util.mjs +53 -0
- package/esm2022/public-api.mjs +34 -0
- package/fesm2022/ieeesa-npm-dashboard.mjs +2234 -0
- package/fesm2022/ieeesa-npm-dashboard.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/assets/dashboard-mock.d.ts +31 -0
- package/lib/assets/dashboard-route-paths.mock.d.ts +2 -0
- package/lib/assets/dashboard-user-permissions.mock.d.ts +2 -0
- package/lib/assets/date-formats.d.ts +27 -0
- package/lib/components/event-group-card/event-group-card.component.d.ts +300 -0
- package/lib/components/meeting-attendance-row/meeting-attendance-row.component.d.ts +239 -0
- package/lib/components/member-level-badge/member-level-badge.component.d.ts +161 -0
- package/lib/components/upcoming-meetings-events/upcoming-meetings-events.component.d.ts +238 -0
- package/lib/components/welcome-header/dashboard-welcome-header.component.d.ts +98 -0
- package/lib/components/your-groups/your-groups.component.d.ts +110 -0
- package/lib/dashboard.component.d.ts +376 -0
- package/lib/dashboard.module.d.ts +7 -0
- package/lib/dashboard.routes.d.ts +2 -0
- package/lib/models/attendance-action-permissions.model.d.ts +4 -0
- package/lib/models/attendance-state.model.d.ts +4 -0
- package/lib/models/dashboard-list-response.model.d.ts +5 -0
- package/lib/models/dashboard-route-config.model.d.ts +7 -0
- package/lib/models/dashboard-section-state.model.d.ts +6 -0
- package/lib/models/dashboard-user-info.model.d.ts +5 -0
- package/lib/models/group-row.model.d.ts +8 -0
- package/lib/models/meeting-row.model.d.ts +12 -0
- package/lib/models/page-change.model.d.ts +4 -0
- package/lib/models/upcoming-event.model.d.ts +13 -0
- package/lib/services/attendance-reducers.d.ts +43 -0
- package/lib/services/dashboard.service.d.ts +119 -0
- package/lib/services/user-permissions.service.d.ts +31 -0
- package/lib/utils/attendance-action.util.d.ts +38 -0
- package/package.json +30 -3
- package/public-api.d.ts +24 -0
package/esm2022/lib/components/upcoming-meetings-events/upcoming-meetings-events.component.mjs
ADDED
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
3
|
+
import { LoaderComponent } from '@ieeesa-npm/presentation';
|
|
4
|
+
import { DashboardSectionState } from '../../models/dashboard-section-state.model';
|
|
5
|
+
import { EventGroupCardComponent } from '../event-group-card/event-group-card.component';
|
|
6
|
+
import * as constants from '../../assets/constants.json';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
/**
|
|
10
|
+
* Upcoming_Meetings_Events renders the "Upcoming Meetings & Events" dashboard
|
|
11
|
+
* section: a section title and "View All" link, a collapse/expand toggle that
|
|
12
|
+
* starts expanded, and one {@link EventGroupCardComponent} per upcoming event.
|
|
13
|
+
*
|
|
14
|
+
* The section is driven by its `sectionState` input: it shows the Loader while
|
|
15
|
+
* `LOADING`, the event-group cards while `LOADED`, the empty-state message while
|
|
16
|
+
* `EMPTY`, and the error message while `ERROR` — the four regions are mutually
|
|
17
|
+
* exclusive (Req 13.1, 13.2, 13.3, 13.5). The component is purely
|
|
18
|
+
* presentational: "View All" emits `viewAll` (Req 5.1, 5.2), the collapse toggle
|
|
19
|
+
* flips `isExpanded` and the card-list visibility while exposing
|
|
20
|
+
* `[attr.aria-expanded]` (Req 5.3, 5.4, 14.3), and each card is rendered via
|
|
21
|
+
* `*ngFor` with {@link trackByEventId} to preserve input order (Req 5.5, 5.6,
|
|
22
|
+
* 14.4). Card outputs (`viewEvent`/`openMeeting`/`logAttendance`/`leaveMeeting`)
|
|
23
|
+
* are bubbled upward unchanged, and each card's `pageChange` is mapped to
|
|
24
|
+
* `meetingPageChange` tagged with the originating event id (Req 6.9).
|
|
25
|
+
* @export
|
|
26
|
+
* @class UpcomingMeetingsEventsComponent
|
|
27
|
+
*/
|
|
28
|
+
export class UpcomingMeetingsEventsComponent {
|
|
29
|
+
constructor() {
|
|
30
|
+
/** User-facing strings sourced from `constants.json`. */
|
|
31
|
+
this.constants = constants;
|
|
32
|
+
/** Enum reference for template comparisons against `sectionState`. */
|
|
33
|
+
this.sectionStates = DashboardSectionState;
|
|
34
|
+
/** The upcoming events rendered as event-group cards (Req 5.5, 5.6). */
|
|
35
|
+
this.events = [];
|
|
36
|
+
/** The load/empty/error status driving the section's mutually exclusive regions. */
|
|
37
|
+
this.sectionState = DashboardSectionState.LOADING;
|
|
38
|
+
/** Host permissions gating the per-row log-attendance / leave-meeting buttons. */
|
|
39
|
+
this.permissions = {
|
|
40
|
+
canLogAttendance: false,
|
|
41
|
+
canLeaveMeeting: false,
|
|
42
|
+
};
|
|
43
|
+
/** Map of meeting id to current attendance state, passed down to each card. */
|
|
44
|
+
this.attendanceStates = {};
|
|
45
|
+
/** Set of meeting ids with an attendance action awaiting resolution. */
|
|
46
|
+
this.inFlightMeetingIds = new Set();
|
|
47
|
+
/** Whether the host has determined the viewport is at/below the mobile breakpoint. */
|
|
48
|
+
this.isMobileView = false;
|
|
49
|
+
/** Emits when the "View All" link is activated (Req 5.2). */
|
|
50
|
+
this.viewAll = new EventEmitter();
|
|
51
|
+
/** Bubbles the event id when a card's "View Event" button is activated (Req 6.4). */
|
|
52
|
+
this.viewEvent = new EventEmitter();
|
|
53
|
+
/** Bubbles the meeting id when a card's meeting-name link is activated (Req 7.4). */
|
|
54
|
+
this.openMeeting = new EventEmitter();
|
|
55
|
+
/** Bubbles the meeting id when a card requests logging attendance (Req 7.7). */
|
|
56
|
+
this.logAttendance = new EventEmitter();
|
|
57
|
+
/** Bubbles the meeting id when a card requests leaving the meeting (Req 7.8). */
|
|
58
|
+
this.leaveMeeting = new EventEmitter();
|
|
59
|
+
/** Emits the requested page tagged with its event id when a card paginates (Req 6.9). */
|
|
60
|
+
this.meetingPageChange = new EventEmitter();
|
|
61
|
+
/** Whether the section's card list is currently expanded; starts collapsed. */
|
|
62
|
+
this.isExpanded = false;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* `trackBy` for the event-group-card `*ngFor`, keyed by the stable event id so
|
|
66
|
+
* Angular renders exactly one card per event in input order (Req 5.5, 5.6, 14.4).
|
|
67
|
+
* @param {number} index - The iteration index (fallback key).
|
|
68
|
+
* @param {UpcomingEvent} event - The event for this card.
|
|
69
|
+
* @return {string} The stable track key (event id).
|
|
70
|
+
* @memberof UpcomingMeetingsEventsComponent
|
|
71
|
+
*/
|
|
72
|
+
trackByEventId(index, event) {
|
|
73
|
+
return event?.eventId ?? `${index}`;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Toggles the section's expanded/collapsed state, inverting the card-list
|
|
77
|
+
* visibility and the exposed `aria-expanded` value (Req 5.4, 14.3).
|
|
78
|
+
* @memberof UpcomingMeetingsEventsComponent
|
|
79
|
+
*/
|
|
80
|
+
onToggleExpanded() {
|
|
81
|
+
this.isExpanded = !this.isExpanded;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Handles the "View All" link, emitting the `viewAll` intent to the host (Req 5.2).
|
|
85
|
+
* @memberof UpcomingMeetingsEventsComponent
|
|
86
|
+
*/
|
|
87
|
+
onViewAll() {
|
|
88
|
+
this.viewAll.emit();
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Bubbles a card's "View Event" activation upward (Req 6.4).
|
|
92
|
+
* @param {string} eventId - The event id emitted by the card.
|
|
93
|
+
* @memberof UpcomingMeetingsEventsComponent
|
|
94
|
+
*/
|
|
95
|
+
onViewEvent(eventId) {
|
|
96
|
+
this.viewEvent.emit(eventId);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Bubbles a card's meeting-name link activation upward (Req 7.4).
|
|
100
|
+
* @param {string} meetingId - The meeting id emitted by the card.
|
|
101
|
+
* @memberof UpcomingMeetingsEventsComponent
|
|
102
|
+
*/
|
|
103
|
+
onOpenMeeting(meetingId) {
|
|
104
|
+
this.openMeeting.emit(meetingId);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Bubbles a card's log-attendance request upward (Req 7.7).
|
|
108
|
+
* @param {string} meetingId - The meeting id emitted by the card.
|
|
109
|
+
* @memberof UpcomingMeetingsEventsComponent
|
|
110
|
+
*/
|
|
111
|
+
onLogAttendance(meetingId) {
|
|
112
|
+
this.logAttendance.emit(meetingId);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Bubbles a card's leave-meeting request upward (Req 7.8).
|
|
116
|
+
* @param {string} meetingId - The meeting id emitted by the card.
|
|
117
|
+
* @memberof UpcomingMeetingsEventsComponent
|
|
118
|
+
*/
|
|
119
|
+
onLeaveMeeting(meetingId) {
|
|
120
|
+
this.leaveMeeting.emit(meetingId);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Maps a card's `pageChange` into a `meetingPageChange` tagged with the
|
|
124
|
+
* originating event id so the host can page the correct event (Req 6.9).
|
|
125
|
+
* @param {string} eventId - The id of the event whose card paginated.
|
|
126
|
+
* @param {PageChange} page - The requested page from the card paginator.
|
|
127
|
+
* @memberof UpcomingMeetingsEventsComponent
|
|
128
|
+
*/
|
|
129
|
+
onMeetingPageChange(eventId, page) {
|
|
130
|
+
this.meetingPageChange.emit({ eventId, ...page });
|
|
131
|
+
}
|
|
132
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UpcomingMeetingsEventsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
133
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UpcomingMeetingsEventsComponent, isStandalone: true, selector: "ieeesa-upcoming-meetings-events", inputs: { events: "events", sectionState: "sectionState", permissions: "permissions", attendanceStates: "attendanceStates", inFlightMeetingIds: "inFlightMeetingIds", isMobileView: "isMobileView" }, outputs: { viewAll: "viewAll", viewEvent: "viewEvent", openMeeting: "openMeeting", logAttendance: "logAttendance", leaveMeeting: "leaveMeeting", meetingPageChange: "meetingPageChange" }, ngImport: i0, template: "<section\r\n class=\"ieeesa-upcoming-meetings-events\"\r\n [class.ieeesa-upcoming-meetings-events--mobile]=\"isMobileView\"\r\n>\r\n <header class=\"ieeesa-upcoming-meetings-events__header\">\r\n <!-- Section title (Req 5.1). -->\r\n <div class=\"ieeesa-upcoming-meetings-events__heading\">\r\n <h2 class=\"ieeesa-upcoming-meetings-events__title\">\r\n {{ constants?.upcomingSection?.title ?? 'Upcoming Meetings & Events' }}\r\n </h2>\r\n </div>\r\n\r\n <!-- View All link + Expand/Collapse toggle, matching the Your Groups card\r\n header (Req 5.1, 5.2, 5.3, 5.4, 14.3). -->\r\n <div class=\"ieeesa-upcoming-meetings-events__actions\">\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-upcoming-meetings-events__view-all\"\r\n [attr.aria-label]=\"constants?.upcomingSection?.ariaLabel?.viewAll ?? 'View all upcoming meetings and events'\"\r\n (click)=\"onViewAll()\"\r\n >\r\n {{ constants?.upcomingSection?.viewAllLabel ?? 'View All' }}\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-upcoming-meetings-events__toggle\"\r\n [attr.aria-expanded]=\"isExpanded\"\r\n [attr.aria-label]=\"constants?.upcomingSection?.ariaLabel?.toggle ?? 'Collapse or expand upcoming meetings and events'\"\r\n (click)=\"onToggleExpanded()\"\r\n >\r\n <span>{{ isExpanded ? (constants?.upcomingSection?.collapseLabel ?? 'Collapse') : (constants?.upcomingSection?.expandLabel ?? 'Expand') }}</span>\r\n <i\r\n class=\"fa-solid\"\r\n [ngClass]=\"isExpanded ? 'fa-chevron-up' : 'fa-chevron-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </button>\r\n </div>\r\n </header>\r\n\r\n <!-- Card list, shown only while expanded (Req 5.4). -->\r\n <div\r\n *ngIf=\"isExpanded\"\r\n class=\"ieeesa-upcoming-meetings-events__body\"\r\n >\r\n <!-- Loader region (Req 13.1). -->\r\n <div\r\n *ngIf=\"sectionState === sectionStates.LOADING\"\r\n class=\"ieeesa-upcoming-meetings-events__loader\"\r\n >\r\n <ieeesa-loader></ieeesa-loader>\r\n </div>\r\n\r\n <!-- Content region: one card per event preserving input order (Req 5.5, 5.6, 13.2). -->\r\n <div\r\n *ngIf=\"sectionState === sectionStates.LOADED\"\r\n class=\"ieeesa-upcoming-meetings-events__cards\"\r\n >\r\n <ieeesa-event-group-card\r\n *ngFor=\"let event of events; trackBy: trackByEventId\"\r\n [event]=\"event\"\r\n [permissions]=\"permissions\"\r\n [attendanceStates]=\"attendanceStates\"\r\n [inFlightMeetingIds]=\"inFlightMeetingIds\"\r\n [isMobileView]=\"isMobileView\"\r\n (viewEvent)=\"onViewEvent($event)\"\r\n (openMeeting)=\"onOpenMeeting($event)\"\r\n (logAttendance)=\"onLogAttendance($event)\"\r\n (leaveMeeting)=\"onLeaveMeeting($event)\"\r\n (pageChange)=\"onMeetingPageChange(event.eventId, $event)\"\r\n ></ieeesa-event-group-card>\r\n </div>\r\n\r\n <!-- Empty-state region (Req 13.3). -->\r\n <p\r\n *ngIf=\"sectionState === sectionStates.EMPTY\"\r\n class=\"ieeesa-upcoming-meetings-events__empty\"\r\n >\r\n {{ constants?.upcomingSection?.emptyMessage ?? 'You have no upcoming meetings or events.' }}\r\n </p>\r\n\r\n <!-- Error region (Req 13.5). -->\r\n <p\r\n *ngIf=\"sectionState === sectionStates.ERROR\"\r\n class=\"ieeesa-upcoming-meetings-events__error\"\r\n role=\"alert\"\r\n >\r\n {{ constants?.upcomingSection?.errorMessage ?? 'Unable to load upcoming meetings and events. Please try again.' }}\r\n </p>\r\n </div>\r\n</section>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-upcoming-meetings-events{display:flex;flex-direction:column;gap:16px;background-color:#fff;border-radius:12px;box-shadow:0 1px 2px #0003;border:1px solid #e2e8f0;padding:20px 24px}.ieeesa-upcoming-meetings-events__header{display:flex;align-items:center;justify-content:space-between;gap:16px}.ieeesa-upcoming-meetings-events__heading{display:flex;min-width:0}.ieeesa-upcoming-meetings-events__title{margin:0;font-family:Calibri Bold;font-weight:700;font-size:1.125rem;color:#333436}.ieeesa-upcoming-meetings-events__actions{display:flex;align-items:center;gap:16px}.ieeesa-upcoming-meetings-events__view-all{flex-shrink:0;background:none;border:none;padding:0;cursor:pointer;font-family:Calibri Bold;font-weight:700;font-size:.875rem;color:#00629b}.ieeesa-upcoming-meetings-events__view-all:hover{text-decoration:underline}.ieeesa-upcoming-meetings-events__toggle{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid #dbe2eb;border-radius:8px;background-color:#fff;cursor:pointer;font-family:Calibri Bold;font-weight:700;font-size:.875rem;color:#00629b}.ieeesa-upcoming-meetings-events__toggle:hover{border-color:#00629b}.ieeesa-upcoming-meetings-events__toggle i{font-size:.75rem}.ieeesa-upcoming-meetings-events__body{display:flex;flex-direction:column}.ieeesa-upcoming-meetings-events__loader{display:flex;align-items:center;justify-content:center;padding:24px}.ieeesa-upcoming-meetings-events__cards{display:flex;flex-direction:column;gap:16px}.ieeesa-upcoming-meetings-events__empty,.ieeesa-upcoming-meetings-events__error{margin:0;padding:16px;font-size:.875rem;color:#939094}.ieeesa-upcoming-meetings-events__error{color:#ba0c2f}.ieeesa-upcoming-meetings-events--mobile .ieeesa-upcoming-meetings-events__header{flex-wrap:wrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoaderComponent, selector: "ieeesa-loader", inputs: ["diameter"] }, { kind: "component", type: EventGroupCardComponent, selector: "ieeesa-event-group-card", inputs: ["event", "permissions", "attendanceStates", "inFlightMeetingIds", "isMobileView"], outputs: ["viewEvent", "openMeeting", "logAttendance", "leaveMeeting", "pageChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
134
|
+
}
|
|
135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UpcomingMeetingsEventsComponent, decorators: [{
|
|
136
|
+
type: Component,
|
|
137
|
+
args: [{ selector: 'ieeesa-upcoming-meetings-events', standalone: true, imports: [CommonModule, LoaderComponent, EventGroupCardComponent], encapsulation: ViewEncapsulation.None, template: "<section\r\n class=\"ieeesa-upcoming-meetings-events\"\r\n [class.ieeesa-upcoming-meetings-events--mobile]=\"isMobileView\"\r\n>\r\n <header class=\"ieeesa-upcoming-meetings-events__header\">\r\n <!-- Section title (Req 5.1). -->\r\n <div class=\"ieeesa-upcoming-meetings-events__heading\">\r\n <h2 class=\"ieeesa-upcoming-meetings-events__title\">\r\n {{ constants?.upcomingSection?.title ?? 'Upcoming Meetings & Events' }}\r\n </h2>\r\n </div>\r\n\r\n <!-- View All link + Expand/Collapse toggle, matching the Your Groups card\r\n header (Req 5.1, 5.2, 5.3, 5.4, 14.3). -->\r\n <div class=\"ieeesa-upcoming-meetings-events__actions\">\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-upcoming-meetings-events__view-all\"\r\n [attr.aria-label]=\"constants?.upcomingSection?.ariaLabel?.viewAll ?? 'View all upcoming meetings and events'\"\r\n (click)=\"onViewAll()\"\r\n >\r\n {{ constants?.upcomingSection?.viewAllLabel ?? 'View All' }}\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-upcoming-meetings-events__toggle\"\r\n [attr.aria-expanded]=\"isExpanded\"\r\n [attr.aria-label]=\"constants?.upcomingSection?.ariaLabel?.toggle ?? 'Collapse or expand upcoming meetings and events'\"\r\n (click)=\"onToggleExpanded()\"\r\n >\r\n <span>{{ isExpanded ? (constants?.upcomingSection?.collapseLabel ?? 'Collapse') : (constants?.upcomingSection?.expandLabel ?? 'Expand') }}</span>\r\n <i\r\n class=\"fa-solid\"\r\n [ngClass]=\"isExpanded ? 'fa-chevron-up' : 'fa-chevron-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </button>\r\n </div>\r\n </header>\r\n\r\n <!-- Card list, shown only while expanded (Req 5.4). -->\r\n <div\r\n *ngIf=\"isExpanded\"\r\n class=\"ieeesa-upcoming-meetings-events__body\"\r\n >\r\n <!-- Loader region (Req 13.1). -->\r\n <div\r\n *ngIf=\"sectionState === sectionStates.LOADING\"\r\n class=\"ieeesa-upcoming-meetings-events__loader\"\r\n >\r\n <ieeesa-loader></ieeesa-loader>\r\n </div>\r\n\r\n <!-- Content region: one card per event preserving input order (Req 5.5, 5.6, 13.2). -->\r\n <div\r\n *ngIf=\"sectionState === sectionStates.LOADED\"\r\n class=\"ieeesa-upcoming-meetings-events__cards\"\r\n >\r\n <ieeesa-event-group-card\r\n *ngFor=\"let event of events; trackBy: trackByEventId\"\r\n [event]=\"event\"\r\n [permissions]=\"permissions\"\r\n [attendanceStates]=\"attendanceStates\"\r\n [inFlightMeetingIds]=\"inFlightMeetingIds\"\r\n [isMobileView]=\"isMobileView\"\r\n (viewEvent)=\"onViewEvent($event)\"\r\n (openMeeting)=\"onOpenMeeting($event)\"\r\n (logAttendance)=\"onLogAttendance($event)\"\r\n (leaveMeeting)=\"onLeaveMeeting($event)\"\r\n (pageChange)=\"onMeetingPageChange(event.eventId, $event)\"\r\n ></ieeesa-event-group-card>\r\n </div>\r\n\r\n <!-- Empty-state region (Req 13.3). -->\r\n <p\r\n *ngIf=\"sectionState === sectionStates.EMPTY\"\r\n class=\"ieeesa-upcoming-meetings-events__empty\"\r\n >\r\n {{ constants?.upcomingSection?.emptyMessage ?? 'You have no upcoming meetings or events.' }}\r\n </p>\r\n\r\n <!-- Error region (Req 13.5). -->\r\n <p\r\n *ngIf=\"sectionState === sectionStates.ERROR\"\r\n class=\"ieeesa-upcoming-meetings-events__error\"\r\n role=\"alert\"\r\n >\r\n {{ constants?.upcomingSection?.errorMessage ?? 'Unable to load upcoming meetings and events. Please try again.' }}\r\n </p>\r\n </div>\r\n</section>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-upcoming-meetings-events{display:flex;flex-direction:column;gap:16px;background-color:#fff;border-radius:12px;box-shadow:0 1px 2px #0003;border:1px solid #e2e8f0;padding:20px 24px}.ieeesa-upcoming-meetings-events__header{display:flex;align-items:center;justify-content:space-between;gap:16px}.ieeesa-upcoming-meetings-events__heading{display:flex;min-width:0}.ieeesa-upcoming-meetings-events__title{margin:0;font-family:Calibri Bold;font-weight:700;font-size:1.125rem;color:#333436}.ieeesa-upcoming-meetings-events__actions{display:flex;align-items:center;gap:16px}.ieeesa-upcoming-meetings-events__view-all{flex-shrink:0;background:none;border:none;padding:0;cursor:pointer;font-family:Calibri Bold;font-weight:700;font-size:.875rem;color:#00629b}.ieeesa-upcoming-meetings-events__view-all:hover{text-decoration:underline}.ieeesa-upcoming-meetings-events__toggle{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid #dbe2eb;border-radius:8px;background-color:#fff;cursor:pointer;font-family:Calibri Bold;font-weight:700;font-size:.875rem;color:#00629b}.ieeesa-upcoming-meetings-events__toggle:hover{border-color:#00629b}.ieeesa-upcoming-meetings-events__toggle i{font-size:.75rem}.ieeesa-upcoming-meetings-events__body{display:flex;flex-direction:column}.ieeesa-upcoming-meetings-events__loader{display:flex;align-items:center;justify-content:center;padding:24px}.ieeesa-upcoming-meetings-events__cards{display:flex;flex-direction:column;gap:16px}.ieeesa-upcoming-meetings-events__empty,.ieeesa-upcoming-meetings-events__error{margin:0;padding:16px;font-size:.875rem;color:#939094}.ieeesa-upcoming-meetings-events__error{color:#ba0c2f}.ieeesa-upcoming-meetings-events--mobile .ieeesa-upcoming-meetings-events__header{flex-wrap:wrap}\n"] }]
|
|
138
|
+
}], propDecorators: { events: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], sectionState: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], permissions: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}], attendanceStates: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], inFlightMeetingIds: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}], isMobileView: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}], viewAll: [{
|
|
151
|
+
type: Output
|
|
152
|
+
}], viewEvent: [{
|
|
153
|
+
type: Output
|
|
154
|
+
}], openMeeting: [{
|
|
155
|
+
type: Output
|
|
156
|
+
}], logAttendance: [{
|
|
157
|
+
type: Output
|
|
158
|
+
}], leaveMeeting: [{
|
|
159
|
+
type: Output
|
|
160
|
+
}], meetingPageChange: [{
|
|
161
|
+
type: Output
|
|
162
|
+
}] } });
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBjb21pbmctbWVldGluZ3MtZXZlbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC9zcmMvbGliL2NvbXBvbmVudHMvdXBjb21pbmctbWVldGluZ3MtZXZlbnRzL3VwY29taW5nLW1lZXRpbmdzLWV2ZW50cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQvc3JjL2xpYi9jb21wb25lbnRzL3VwY29taW5nLW1lZXRpbmdzLWV2ZW50cy91cGNvbWluZy1tZWV0aW5ncy1ldmVudHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUczRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUduRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEtBQUssU0FBUyxNQUFNLDZCQUE2QixDQUFDOzs7QUFFekQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQVVILE1BQU0sT0FBTywrQkFBK0I7SUFUNUM7UUFVRSx5REFBeUQ7UUFDekQsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUV0QixzRUFBc0U7UUFDN0Qsa0JBQWEsR0FBRyxxQkFBcUIsQ0FBQztRQUUvQyx3RUFBd0U7UUFDL0QsV0FBTSxHQUFvQixFQUFFLENBQUM7UUFFdEMsb0ZBQW9GO1FBQzNFLGlCQUFZLEdBQTBCLHFCQUFxQixDQUFDLE9BQU8sQ0FBQztRQUU3RSxrRkFBa0Y7UUFD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QkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2FkZXJDb21wb25lbnQgfSBmcm9tICdAaWVlZXNhLW5wbS9wcmVzZW50YXRpb24nO1xyXG5pbXBvcnQgeyBBdHRlbmRhbmNlQWN0aW9uUGVybWlzc2lvbnMgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXR0ZW5kYW5jZS1hY3Rpb24tcGVybWlzc2lvbnMubW9kZWwnO1xyXG5pbXBvcnQgeyBBdHRlbmRhbmNlU3RhdGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXR0ZW5kYW5jZS1zdGF0ZS5tb2RlbCc7XHJcbmltcG9ydCB7IERhc2hib2FyZFNlY3Rpb25TdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy9kYXNoYm9hcmQtc2VjdGlvbi1zdGF0ZS5tb2RlbCc7XHJcbmltcG9ydCB7IFBhZ2VDaGFuZ2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvcGFnZS1jaGFuZ2UubW9kZWwnO1xyXG5pbXBvcnQgeyBVcGNvbWluZ0V2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VwY29taW5nLWV2ZW50Lm1vZGVsJztcclxuaW1wb3J0IHsgRXZlbnRHcm91cENhcmRDb21wb25lbnQgfSBmcm9tICcuLi9ldmVudC1ncm91cC1jYXJkL2V2ZW50LWdyb3VwLWNhcmQuY29tcG9uZW50JztcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcblxyXG4vKipcclxuICogVXBjb21pbmdfTWVldGluZ3NfRXZlbnRzIHJlbmRlcnMgdGhlIFwiVXBjb21pbmcgTWVldGluZ3MgJiBFdmVudHNcIiBkYXNoYm9hcmRcclxuICogc2VjdGlvbjogYSBzZWN0aW9uIHRpdGxlIGFuZCBcIlZpZXcgQWxsXCIgbGluaywgYSBjb2xsYXBzZS9leHBhbmQgdG9nZ2xlIHRoYXRcclxuICogc3RhcnRzIGV4cGFuZGVkLCBhbmQgb25lIHtAbGluayBFdmVudEdyb3VwQ2FyZENvbXBvbmVudH0gcGVyIHVwY29taW5nIGV2ZW50LlxyXG4gKlxyXG4gKiBUaGUgc2VjdGlvbiBpcyBkcml2ZW4gYnkgaXRzIGBzZWN0aW9uU3RhdGVgIGlucHV0OiBpdCBzaG93cyB0aGUgTG9hZGVyIHdoaWxlXHJcbiAqIGBMT0FESU5HYCwgdGhlIGV2ZW50LWdyb3VwIGNhcmRzIHdoaWxlIGBMT0FERURgLCB0aGUgZW1wdHktc3RhdGUgbWVzc2FnZSB3aGlsZVxyXG4gKiBgRU1QVFlgLCBhbmQgdGhlIGVycm9yIG1lc3NhZ2Ugd2hpbGUgYEVSUk9SYCDigJQgdGhlIGZvdXIgcmVnaW9ucyBhcmUgbXV0dWFsbHlcclxuICogZXhjbHVzaXZlIChSZXEgMTMuMSwgMTMuMiwgMTMuMywgMTMuNSkuIFRoZSBjb21wb25lbnQgaXMgcHVyZWx5XHJcbiAqIHByZXNlbnRhdGlvbmFsOiBcIlZpZXcgQWxsXCIgZW1pdHMgYHZpZXdBbGxgIChSZXEgNS4xLCA1LjIpLCB0aGUgY29sbGFwc2UgdG9nZ2xlXHJcbiAqIGZsaXBzIGBpc0V4cGFuZGVkYCBhbmQgdGhlIGNhcmQtbGlzdCB2aXNpYmlsaXR5IHdoaWxlIGV4cG9zaW5nXHJcbiAqIGBbYXR0ci5hcmlhLWV4cGFuZGVkXWAgKFJlcSA1LjMsIDUuNCwgMTQuMyksIGFuZCBlYWNoIGNhcmQgaXMgcmVuZGVyZWQgdmlhXHJcbiAqIGAqbmdGb3JgIHdpdGgge0BsaW5rIHRyYWNrQnlFdmVudElkfSB0byBwcmVzZXJ2ZSBpbnB1dCBvcmRlciAoUmVxIDUuNSwgNS42LFxyXG4gKiAxNC40KS4gQ2FyZCBvdXRwdXRzIChgdmlld0V2ZW50YC9gb3Blbk1lZXRpbmdgL2Bsb2dBdHRlbmRhbmNlYC9gbGVhdmVNZWV0aW5nYClcclxuICogYXJlIGJ1YmJsZWQgdXB3YXJkIHVuY2hhbmdlZCwgYW5kIGVhY2ggY2FyZCdzIGBwYWdlQ2hhbmdlYCBpcyBtYXBwZWQgdG9cclxuICogYG1lZXRpbmdQYWdlQ2hhbmdlYCB0YWdnZWQgd2l0aCB0aGUgb3JpZ2luYXRpbmcgZXZlbnQgaWQgKFJlcSA2LjkpLlxyXG4gKiBAZXhwb3J0XHJcbiAqIEBjbGFzcyBVcGNvbWluZ01lZXRpbmdzRXZlbnRzQ29tcG9uZW50XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLXVwY29taW5nLW1lZXRpbmdzLWV2ZW50cycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBMb2FkZXJDb21wb25lbnQsIEV2ZW50R3JvdXBDYXJkQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXBjb21pbmctbWVldGluZ3MtZXZlbnRzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91cGNvbWluZy1tZWV0aW5ncy1ldmVudHMuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXBjb21pbmdNZWV0aW5nc0V2ZW50c0NvbXBvbmVudCB7XHJcbiAgLyoqIFVzZXItZmFjaW5nIHN0cmluZ3Mgc291cmNlZCBmcm9tIGBjb25zdGFudHMuanNvbmAuICovXHJcbiAgY29uc3RhbnRzID0gY29uc3RhbnRzO1xyXG5cclxuICAvKiogRW51bSByZWZlcmVuY2UgZm9yIHRlbXBsYXRlIGNvbXBhcmlzb25zIGFnYWluc3QgYHNlY3Rpb25TdGF0ZWAuICovXHJcbiAgcmVhZG9ubHkgc2VjdGlvblN0YXRlcyA9IERhc2hib2FyZFNlY3Rpb25TdGF0ZTtcclxuXHJcbiAgLyoqIFRoZSB1cGNvbWluZyBldmVudHMgcmVuZGVyZWQgYXMgZXZlbnQtZ3JvdXAgY2FyZHMgKFJlcSA1LjUsIDUuNikuICovXHJcbiAgQElucHV0KCkgZXZlbnRzOiBVcGNvbWluZ0V2ZW50W10gPSBbXTtcclxuXHJcbiAgLyoqIFRoZSBsb2FkL2VtcHR5L2Vycm9yIHN0YXR1cyBkcml2aW5nIHRoZSBzZWN0aW9uJ3MgbXV0dWFsbHkgZXhjbHVzaXZlIHJlZ2lvbnMuICovXHJcbiAgQElucHV0KCkgc2VjdGlvblN0YXRlOiBEYXNoYm9hcmRTZWN0aW9uU3RhdGUgPSBEYXNoYm9hcmRTZWN0aW9uU3RhdGUuTE9BRElORztcclxuXHJcbiAgLyoqIEhvc3QgcGVybWlzc2lvbnMgZ2F0aW5nIHRoZSBwZXItcm93IGxvZy1hdHRlbmRhbmNlIC8gbGVhdmUtbWVldGluZyBidXR0b25zLiAqL1xyXG4gIEBJbnB1dCgpIHBlcm1pc3Npb25zOiBBdHRlbmRhbmNlQWN0aW9uUGVybWlzc2lvbnMgPSB7XHJcbiAgICBjYW5Mb2dBdHRlbmRhbmNlOiBmYWxzZSxcclxuICAgIGNhbkxlYXZlTWVldGluZzogZmFsc2UsXHJcbiAgfTtcclxuXHJcbiAgLyoqIE1hcCBvZiBtZWV0aW5nIGlkIHRvIGN1cnJlbnQgYXR0ZW5kYW5jZSBzdGF0ZSwgcGFzc2VkIGRvd24gdG8gZWFjaCBjYXJkLiAqL1xyXG4gIEBJbnB1dCgpIGF0dGVuZGFuY2VTdGF0ZXM6IFJlY29yZDxzdHJpbmcsIEF0dGVuZGFuY2VTdGF0ZT4gPSB7fTtcclxuXHJcbiAgLyoqIFNldCBvZiBtZWV0aW5nIGlkcyB3aXRoIGFuIGF0dGVuZGFuY2UgYWN0aW9uIGF3YWl0aW5nIHJlc29sdXRpb24uICovXHJcbiAgQElucHV0KCkgaW5GbGlnaHRNZWV0aW5nSWRzOiBSZWFkb25seVNldDxzdHJpbmc+ID0gbmV3IFNldDxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKiBXaGV0aGVyIHRoZSBob3N0IGhhcyBkZXRlcm1pbmVkIHRoZSB2aWV3cG9ydCBpcyBhdC9iZWxvdyB0aGUgbW9iaWxlIGJyZWFrcG9pbnQuICovXHJcbiAgQElucHV0KCkgaXNNb2JpbGVWaWV3ID0gZmFsc2U7XHJcblxyXG4gIC8qKiBFbWl0cyB3aGVuIHRoZSBcIlZpZXcgQWxsXCIgbGluayBpcyBhY3RpdmF0ZWQgKFJlcSA1LjIpLiAqL1xyXG4gIEBPdXRwdXQoKSB2aWV3QWxsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAvKiogQnViYmxlcyB0aGUgZXZlbnQgaWQgd2hlbiBhIGNhcmQncyBcIlZpZXcgRXZlbnRcIiBidXR0b24gaXMgYWN0aXZhdGVkIChSZXEgNi40KS4gKi9cclxuICBAT3V0cHV0KCkgdmlld0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKiBCdWJibGVzIHRoZSBtZWV0aW5nIGlkIHdoZW4gYSBjYXJkJ3MgbWVldGluZy1uYW1lIGxpbmsgaXMgYWN0aXZhdGVkIChSZXEgNy40KS4gKi9cclxuICBAT3V0cHV0KCkgb3Blbk1lZXRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgLyoqIEJ1YmJsZXMgdGhlIG1lZXRpbmcgaWQgd2hlbiBhIGNhcmQgcmVxdWVzdHMgbG9nZ2luZyBhdHRlbmRhbmNlIChSZXEgNy43KS4gKi9cclxuICBAT3V0cHV0KCkgbG9nQXR0ZW5kYW5jZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAvKiogQnViYmxlcyB0aGUgbWVldGluZyBpZCB3aGVuIGEgY2FyZCByZXF1ZXN0cyBsZWF2aW5nIHRoZSBtZWV0aW5nIChSZXEgNy44KS4gKi9cclxuICBAT3V0cHV0KCkgbGVhdmVNZWV0aW5nID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKiBFbWl0cyB0aGUgcmVxdWVzdGVkIHBhZ2UgdGFnZ2VkIHdpdGggaXRzIGV2ZW50IGlkIHdoZW4gYSBjYXJkIHBhZ2luYXRlcyAoUmVxIDYuOSkuICovXHJcbiAgQE91dHB1dCgpIG1lZXRpbmdQYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGV2ZW50SWQ6IHN0cmluZyB9ICYgUGFnZUNoYW5nZT4oKTtcclxuXHJcbiAgLyoqIFdoZXRoZXIgdGhlIHNlY3Rpb24ncyBjYXJkIGxpc3QgaXMgY3VycmVudGx5IGV4cGFuZGVkOyBzdGFydHMgY29sbGFwc2VkLiAqL1xyXG4gIGlzRXhwYW5kZWQgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogYHRyYWNrQnlgIGZvciB0aGUgZXZlbnQtZ3JvdXAtY2FyZCBgKm5nRm9yYCwga2V5ZWQgYnkgdGhlIHN0YWJsZSBldmVudCBpZCBzb1xyXG4gICAqIEFuZ3VsYXIgcmVuZGVycyBleGFjdGx5IG9uZSBjYXJkIHBlciBldmVudCBpbiBpbnB1dCBvcmRlciAoUmVxIDUuNSwgNS42LCAxNC40KS5cclxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXggLSBUaGUgaXRlcmF0aW9uIGluZGV4IChmYWxsYmFjayBrZXkpLlxyXG4gICAqIEBwYXJhbSB7VXBjb21pbmdFdmVudH0gZXZlbnQgLSBUaGUgZXZlbnQgZm9yIHRoaXMgY2FyZC5cclxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBzdGFibGUgdHJhY2sga2V5IChldmVudCBpZCkuXHJcbiAgICogQG1lbWJlcm9mIFVwY29taW5nTWVldGluZ3NFdmVudHNDb21wb25lbnRcclxuICAgKi9cclxuICB0cmFja0J5RXZlbnRJZChpbmRleDogbnVtYmVyLCBldmVudDogVXBjb21pbmdFdmVudCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gZXZlbnQ/LmV2ZW50SWQgPz8gYCR7aW5kZXh9YDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvZ2dsZXMgdGhlIHNlY3Rpb24ncyBleHBhbmRlZC9jb2xsYXBzZWQgc3RhdGUsIGludmVydGluZyB0aGUgY2FyZC1saXN0XHJcbiAgICogdmlzaWJpbGl0eSBhbmQgdGhlIGV4cG9zZWQgYGFyaWEtZXhwYW5kZWRgIHZhbHVlIChSZXEgNS40LCAxNC4zKS5cclxuICAgKiBAbWVtYmVyb2YgVXBjb21pbmdNZWV0aW5nc0V2ZW50c0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uVG9nZ2xlRXhwYW5kZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRXhwYW5kZWQgPSAhdGhpcy5pc0V4cGFuZGVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyB0aGUgXCJWaWV3IEFsbFwiIGxpbmssIGVtaXR0aW5nIHRoZSBgdmlld0FsbGAgaW50ZW50IHRvIHRoZSBob3N0IChSZXEgNS4yKS5cclxuICAgKiBAbWVtYmVyb2YgVXBjb21pbmdNZWV0aW5nc0V2ZW50c0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uVmlld0FsbCgpOiB2b2lkIHtcclxuICAgIHRoaXMudmlld0FsbC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBCdWJibGVzIGEgY2FyZCdzIFwiVmlldyBFdmVudFwiIGFjdGl2YXRpb24gdXB3YXJkIChSZXEgNi40KS5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnRJZCAtIFRoZSBldmVudCBpZCBlbWl0dGVkIGJ5IHRoZSBjYXJkLlxyXG4gICAqIEBtZW1iZXJvZiBVcGNvbWluZ01lZXRpbmdzRXZlbnRzQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25WaWV3RXZlbnQoZXZlbnRJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXdFdmVudC5lbWl0KGV2ZW50SWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQnViYmxlcyBhIGNhcmQncyBtZWV0aW5nLW5hbWUgbGluayBhY3RpdmF0aW9uIHVwd2FyZCAoUmVxIDcuNCkuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1lZXRpbmdJZCAtIFRoZSBtZWV0aW5nIGlkIGVtaXR0ZWQgYnkgdGhlIGNhcmQuXHJcbiAgICogQG1lbWJlcm9mIFVwY29taW5nTWVldGluZ3NFdmVudHNDb21wb25lbnRcclxuICAgKi9cclxuICBvbk9wZW5NZWV0aW5nKG1lZXRpbmdJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLm9wZW5NZWV0aW5nLmVtaXQobWVldGluZ0lkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJ1YmJsZXMgYSBjYXJkJ3MgbG9nLWF0dGVuZGFuY2UgcmVxdWVzdCB1cHdhcmQgKFJlcSA3LjcpLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZWV0aW5nSWQgLSBUaGUgbWVldGluZyBpZCBlbWl0dGVkIGJ5IHRoZSBjYXJkLlxyXG4gICAqIEBtZW1iZXJvZiBVcGNvbWluZ01lZXRpbmdzRXZlbnRzQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25Mb2dBdHRlbmRhbmNlKG1lZXRpbmdJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvZ0F0dGVuZGFuY2UuZW1pdChtZWV0aW5nSWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQnViYmxlcyBhIGNhcmQncyBsZWF2ZS1tZWV0aW5nIHJlcXVlc3QgdXB3YXJkIChSZXEgNy44KS5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVldGluZ0lkIC0gVGhlIG1lZXRpbmcgaWQgZW1pdHRlZCBieSB0aGUgY2FyZC5cclxuICAgKiBAbWVtYmVyb2YgVXBjb21pbmdNZWV0aW5nc0V2ZW50c0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uTGVhdmVNZWV0aW5nKG1lZXRpbmdJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmxlYXZlTWVldGluZy5lbWl0KG1lZXRpbmdJZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNYXBzIGEgY2FyZCdzIGBwYWdlQ2hhbmdlYCBpbnRvIGEgYG1lZXRpbmdQYWdlQ2hhbmdlYCB0YWdnZWQgd2l0aCB0aGVcclxuICAgKiBvcmlnaW5hdGluZyBldmVudCBpZCBzbyB0aGUgaG9zdCBjYW4gcGFnZSB0aGUgY29ycmVjdCBldmVudCAoUmVxIDYuOSkuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50SWQgLSBUaGUgaWQgb2YgdGhlIGV2ZW50IHdob3NlIGNhcmQgcGFnaW5hdGVkLlxyXG4gICAqIEBwYXJhbSB7UGFnZUNoYW5nZX0gcGFnZSAtIFRoZSByZXF1ZXN0ZWQgcGFnZSBmcm9tIHRoZSBjYXJkIHBhZ2luYXRvci5cclxuICAgKiBAbWVtYmVyb2YgVXBjb21pbmdNZWV0aW5nc0V2ZW50c0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uTWVldGluZ1BhZ2VDaGFuZ2UoZXZlbnRJZDogc3RyaW5nLCBwYWdlOiBQYWdlQ2hhbmdlKTogdm9pZCB7XHJcbiAgICB0aGlzLm1lZXRpbmdQYWdlQ2hhbmdlLmVtaXQoeyBldmVudElkLCAuLi5wYWdlIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8c2VjdGlvblxyXG4gIGNsYXNzPVwiaWVlZXNhLXVwY29taW5nLW1lZXRpbmdzLWV2ZW50c1wiXHJcbiAgW2NsYXNzLmllZWVzYS11cGNvbWluZy1tZWV0aW5ncy1ldmVudHMtLW1vYmlsZV09XCJpc01vYmlsZVZpZXdcIlxyXG4+XHJcbiAgPGhlYWRlciBjbGFzcz1cImllZWVzYS11cGNvbWluZy1tZWV0aW5ncy1ldmVudHNfX2hlYWRlclwiPlxyXG4gICAgPCEtLSBTZWN0aW9uIHRpdGxlIChSZXEgNS4xKS4gLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaWVlZXNhLXVwY29taW5nLW1lZXRpbmdzLWV2ZW50c19faGVhZGluZ1wiPlxyXG4gICAgICA8aDIgY2xhc3M9XCJpZWVlc2EtdXBjb21pbmctbWVldGluZ3MtZXZlbnRzX190aXRsZVwiPlxyXG4gICAgICAgIHt7IGNvbnN0YW50cz8udXBjb21pbmdTZWN0aW9uPy50aXRsZSA/PyAnVXBjb21pbmcgTWVldGluZ3MgJiBFdmVudHMnIH19XHJcbiAgICAgIDwvaDI+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tIFZpZXcgQWxsIGxpbmsgKyBFeHBhbmQvQ29sbGFwc2UgdG9nZ2xlLCBtYXRjaGluZyB0aGUgWW91ciBHcm91cHMgY2FyZFxyXG4gICAgICAgICBoZWFkZXIgKFJlcSA1LjEsIDUuMiwgNS4zLCA1LjQsIDE0LjMpLiAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJpZWVlc2EtdXBjb21pbmctbWVldGluZ3MtZXZlbnRzX19hY3Rpb25zXCI+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICBjbGFzcz1cImllZWVzYS11cGNvbWluZy1tZWV0aW5ncy1ldmVudHNfX3ZpZXctYWxsXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbnN0YW50cz8udXBjb21pbmdTZWN0aW9uPy5hcmlhTGFiZWw/LnZpZXdBbGwgPz8gJ1ZpZXcgYWxsIHVwY29taW5nIG1lZXRpbmdzIGFuZCBldmVudHMnXCJcclxuICAgICAgICAoY2xpY2spPVwib25WaWV3QWxsKClcIlxyXG4gICAgICA+XHJcbiAgICAgICAge3sgY29uc3RhbnRzPy51cGNvbWluZ1NlY3Rpb24/LnZpZXdBbGxMYWJlbCA/PyAnVmlldyBBbGwnIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgIGNsYXNzPVwiaWVlZXNhLXVwY29taW5nLW1lZXRpbmdzLWV2ZW50c19fdG9nZ2xlXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzRXhwYW5kZWRcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29uc3RhbnRzPy51cGNvbWluZ1NlY3Rpb24/LmFyaWFMYWJlbD8udG9nZ2xlID8/ICdDb2xsYXBzZSBvciBleHBhbmQgdXBjb21pbmcgbWVldGluZ3MgYW5kIGV2ZW50cydcIlxyXG4gICAgICAgIChjbGljayk9XCJvblRvZ2dsZUV4cGFuZGVkKClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPHNwYW4+e3sgaXNFeHBhbmRlZCA/IChjb25zdGFudHM/LnVwY29taW5nU2VjdGlvbj8uY29sbGFwc2VMYWJlbCA/PyAnQ29sbGFwc2UnKSA6IChjb25zdGFudHM/LnVwY29taW5nU2VjdGlvbj8uZXhwYW5kTGFiZWwgPz8gJ0V4cGFuZCcpIH19PC9zcGFuPlxyXG4gICAgICAgIDxpXHJcbiAgICAgICAgICBjbGFzcz1cImZhLXNvbGlkXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cImlzRXhwYW5kZWQgPyAnZmEtY2hldnJvbi11cCcgOiAnZmEtY2hldnJvbi1kb3duJ1wiXHJcbiAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxyXG4gICAgICAgID48L2k+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9oZWFkZXI+XHJcblxyXG4gIDwhLS0gQ2FyZCBsaXN0LCBzaG93biBvbmx5IHdoaWxlIGV4cGFuZGVkIChSZXEgNS40KS4gLS0+XHJcbiAgPGRpdlxyXG4gICAgKm5nSWY9XCJpc0V4cGFuZGVkXCJcclxuICAgIGNsYXNzPVwiaWVlZXNhLXVwY29taW5nLW1lZXRpbmdzLWV2ZW50c19fYm9keVwiXHJcbiAgPlxyXG4gICAgPCEtLSBMb2FkZXIgcmVnaW9uIChSZXEgMTMuMSkuIC0tPlxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdJZj1cInNlY3Rpb25TdGF0ZSA9PT0gc2VjdGlvblN0YXRlcy5MT0FESU5HXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtdXBjb21pbmctbWVldGluZ3MtZXZlbnRzX19sb2FkZXJcIlxyXG4gICAgPlxyXG4gICAgICA8aWVlZXNhLWxvYWRlcj48L2llZWVzYS1sb2FkZXI+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tIENvbnRlbnQgcmVnaW9uOiBvbmUgY2FyZCBwZXIgZXZlbnQgcHJlc2VydmluZyBpbnB1dCBvcmRlciAoUmVxIDUuNSwgNS42LCAxMy4yKS4gLS0+XHJcbiAgICA8ZGl2XHJcbiAgICAgICpuZ0lmPVwic2VjdGlvblN0YXRlID09PSBzZWN0aW9uU3RhdGVzLkxPQURFRFwiXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLXVwY29taW5nLW1lZXRpbmdzLWV2ZW50c19fY2FyZHNcIlxyXG4gICAgPlxyXG4gICAgICA8aWVlZXNhLWV2ZW50LWdyb3VwLWNhcmRcclxuICAgICAgICAqbmdGb3I9XCJsZXQgZXZlbnQgb2YgZXZlbnRzOyB0cmFja0J5OiB0cmFja0J5RXZlbnRJZFwiXHJcbiAgICAgICAgW2V2ZW50XT1cImV2ZW50XCJcclxuICAgICAgICBbcGVybWlzc2lvbnNdPVwicGVybWlzc2lvbnNcIlxyXG4gICAgICAgIFthdHRlbmRhbmNlU3RhdGVzXT1cImF0dGVuZGFuY2VTdGF0ZXNcIlxyXG4gICAgICAgIFtpbkZsaWdodE1lZXRpbmdJZHNdPVwiaW5GbGlnaHRNZWV0aW5nSWRzXCJcclxuICAgICAgICBbaXNNb2JpbGVWaWV3XT1cImlzTW9iaWxlVmlld1wiXHJcbiAgICAgICAgKHZpZXdFdmVudCk9XCJvblZpZXdFdmVudCgkZXZlbnQpXCJcclxuICAgICAgICAob3Blbk1lZXRpbmcpPVwib25PcGVuTWVldGluZygkZXZlbnQpXCJcclxuICAgICAgICAobG9nQXR0ZW5kYW5jZSk9XCJvbkxvZ0F0dGVuZGFuY2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKGxlYXZlTWVldGluZyk9XCJvbkxlYXZlTWVldGluZygkZXZlbnQpXCJcclxuICAgICAgICAocGFnZUNoYW5nZSk9XCJvbk1lZXRpbmdQYWdlQ2hhbmdlKGV2ZW50LmV2ZW50SWQsICRldmVudClcIlxyXG4gICAgICA+PC9pZWVlc2EtZXZlbnQtZ3JvdXAtY2FyZD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gRW1wdHktc3RhdGUgcmVnaW9uIChSZXEgMTMuMykuIC0tPlxyXG4gICAgPHBcclxuICAgICAgKm5nSWY9XCJzZWN0aW9uU3RhdGUgPT09IHNlY3Rpb25TdGF0ZXMuRU1QVFlcIlxyXG4gICAgICBjbGFzcz1cImllZWVzYS11cGNvbWluZy1tZWV0aW5ncy1ldmVudHNfX2VtcHR5XCJcclxuICAgID5cclxuICAgICAge3sgY29uc3RhbnRzPy51cGNvbWluZ1NlY3Rpb24/LmVtcHR5TWVzc2FnZSA/PyAnWW91IGhhdmUgbm8gdXBjb21pbmcgbWVldGluZ3Mgb3IgZXZlbnRzLicgfX1cclxuICAgIDwvcD5cclxuXHJcbiAgICA8IS0tIEVycm9yIHJlZ2lvbiAoUmVxIDEzLjUpLiAtLT5cclxuICAgIDxwXHJcbiAgICAgICpuZ0lmPVwic2VjdGlvblN0YXRlID09PSBzZWN0aW9uU3RhdGVzLkVSUk9SXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtdXBjb21pbmctbWVldGluZ3MtZXZlbnRzX19lcnJvclwiXHJcbiAgICAgIHJvbGU9XCJhbGVydFwiXHJcbiAgICA+XHJcbiAgICAgIHt7IGNvbnN0YW50cz8udXBjb21pbmdTZWN0aW9uPy5lcnJvck1lc3NhZ2UgPz8gJ1VuYWJsZSB0byBsb2FkIHVwY29taW5nIG1lZXRpbmdzIGFuZCBldmVudHMuIFBsZWFzZSB0cnkgYWdhaW4uJyB9fVxyXG4gICAgPC9wPlxyXG4gIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
3
|
+
import * as constants from '../../assets/constants.json';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
/**
|
|
7
|
+
* Identifies which dashboard section a "Jump to" shortcut targets, emitted via
|
|
8
|
+
* {@link DashboardWelcomeHeaderComponent.shortcutSelected} for the host/container
|
|
9
|
+
* to scroll to or navigate.
|
|
10
|
+
*/
|
|
11
|
+
// eslint-disable-next-line no-unused-vars
|
|
12
|
+
export var DashboardJumpTarget;
|
|
13
|
+
(function (DashboardJumpTarget) {
|
|
14
|
+
// eslint-disable-next-line no-unused-vars
|
|
15
|
+
DashboardJumpTarget["MEETINGS"] = "MEETINGS";
|
|
16
|
+
// eslint-disable-next-line no-unused-vars
|
|
17
|
+
DashboardJumpTarget["GROUPS"] = "GROUPS";
|
|
18
|
+
})(DashboardJumpTarget || (DashboardJumpTarget = {}));
|
|
19
|
+
/**
|
|
20
|
+
* Welcome_Header renders the personalized greeting and the "Jump to" shortcut
|
|
21
|
+
* control at the top of the dashboard.
|
|
22
|
+
*
|
|
23
|
+
* The greeting is composed from the greeting label in `constants.json` and the
|
|
24
|
+
* supplied `userName`, falling back to the configured fallback greeting when the
|
|
25
|
+
* name is empty or undefined. The "Jump to" control shows one circular icon per
|
|
26
|
+
* dashboard section (Upcoming Meetings & Events, Your Groups); hovering or
|
|
27
|
+
* focusing an icon expands it into a pill with the section label and a count
|
|
28
|
+
* badge (the counts are supplied by the host via `meetingsCount` /
|
|
29
|
+
* `groupsCount`). Activating a shortcut emits {@link shortcutSelected} with the
|
|
30
|
+
* target section for the host to act on. Purely presentational — no API work.
|
|
31
|
+
* @export
|
|
32
|
+
* @class DashboardWelcomeHeaderComponent
|
|
33
|
+
*/
|
|
34
|
+
export class DashboardWelcomeHeaderComponent {
|
|
35
|
+
constructor() {
|
|
36
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
37
|
+
this.constants = constants;
|
|
38
|
+
/** User-facing strings sourced from `constants.json`. */
|
|
39
|
+
this.texts = this.constants?.welcomeHeader;
|
|
40
|
+
/** Enum reference for template comparisons. */
|
|
41
|
+
this.jumpTarget = DashboardJumpTarget;
|
|
42
|
+
this.userNameValue = '';
|
|
43
|
+
this.meetingsCountValue = 0;
|
|
44
|
+
this.groupsCountValue = 0;
|
|
45
|
+
/** Emits the selected "Jump to" target for the host to act on. */
|
|
46
|
+
this.shortcutSelected = new EventEmitter();
|
|
47
|
+
/** The jump shortcuts rendered in the control, rebuilt when counts change. */
|
|
48
|
+
this.shortcuts = this.buildShortcutList();
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The signed-in user's display name. Drives the personalized greeting; when
|
|
52
|
+
* empty or undefined the greeting falls back to the configured fallback text.
|
|
53
|
+
* @memberof DashboardWelcomeHeaderComponent
|
|
54
|
+
*/
|
|
55
|
+
set userName(value) {
|
|
56
|
+
this.userNameValue = value ?? '';
|
|
57
|
+
}
|
|
58
|
+
get userName() {
|
|
59
|
+
return this.userNameValue;
|
|
60
|
+
}
|
|
61
|
+
/** Count shown in the Upcoming Meetings & Events shortcut badge. */
|
|
62
|
+
set meetingsCount(value) {
|
|
63
|
+
this.meetingsCountValue = value ?? 0;
|
|
64
|
+
this.buildShortcuts();
|
|
65
|
+
}
|
|
66
|
+
get meetingsCount() {
|
|
67
|
+
return this.meetingsCountValue;
|
|
68
|
+
}
|
|
69
|
+
/** Count shown in the Your Groups shortcut badge. */
|
|
70
|
+
set groupsCount(value) {
|
|
71
|
+
this.groupsCountValue = value ?? 0;
|
|
72
|
+
this.buildShortcuts();
|
|
73
|
+
}
|
|
74
|
+
get groupsCount() {
|
|
75
|
+
return this.groupsCountValue;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* The personalized greeting: the greeting label plus the user's name when
|
|
79
|
+
* present, otherwise the configured fallback greeting.
|
|
80
|
+
* @readonly
|
|
81
|
+
* @memberof DashboardWelcomeHeaderComponent
|
|
82
|
+
*/
|
|
83
|
+
get greeting() {
|
|
84
|
+
const name = this.userName?.trim();
|
|
85
|
+
return name
|
|
86
|
+
? `${this.texts?.greeting}${name}!`
|
|
87
|
+
: `${this.texts?.fallbackGreeting}!`;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Emits the chosen shortcut's target for the host to scroll/navigate to.
|
|
91
|
+
* @param {DashboardJumpTarget} target - The selected section.
|
|
92
|
+
* @memberof DashboardWelcomeHeaderComponent
|
|
93
|
+
*/
|
|
94
|
+
onShortcutClick(target) {
|
|
95
|
+
this.shortcutSelected.emit(target);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* TrackBy for the shortcut list.
|
|
99
|
+
* @param {number} _index
|
|
100
|
+
* @param {JumpShortcut} shortcut
|
|
101
|
+
* @return {string}
|
|
102
|
+
* @memberof DashboardWelcomeHeaderComponent
|
|
103
|
+
*/
|
|
104
|
+
trackByTarget(_index, shortcut) {
|
|
105
|
+
return shortcut.target;
|
|
106
|
+
}
|
|
107
|
+
/** Rebuilds the shortcut list so the template reflects the latest counts. */
|
|
108
|
+
buildShortcuts() {
|
|
109
|
+
this.shortcuts = this.buildShortcutList();
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Builds the shortcut view models from `constants.json` and the current
|
|
113
|
+
* counts.
|
|
114
|
+
* @return {JumpShortcut[]}
|
|
115
|
+
* @memberof DashboardWelcomeHeaderComponent
|
|
116
|
+
*/
|
|
117
|
+
buildShortcutList() {
|
|
118
|
+
const shortcutTexts = this.constants?.welcomeHeader?.shortcuts;
|
|
119
|
+
return [
|
|
120
|
+
{
|
|
121
|
+
target: DashboardJumpTarget.MEETINGS,
|
|
122
|
+
label: shortcutTexts?.meetings?.label,
|
|
123
|
+
iconUrl: shortcutTexts?.meetings?.iconUrl,
|
|
124
|
+
ariaLabel: shortcutTexts?.meetings?.ariaLabel,
|
|
125
|
+
count: this.meetingsCountValue,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
target: DashboardJumpTarget.GROUPS,
|
|
129
|
+
label: shortcutTexts?.groups?.label,
|
|
130
|
+
iconUrl: shortcutTexts?.groups?.iconUrl,
|
|
131
|
+
ariaLabel: shortcutTexts?.groups?.ariaLabel,
|
|
132
|
+
count: this.groupsCountValue,
|
|
133
|
+
},
|
|
134
|
+
];
|
|
135
|
+
}
|
|
136
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DashboardWelcomeHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
137
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DashboardWelcomeHeaderComponent, isStandalone: true, selector: "ieeesa-dashboard-welcome-header", inputs: { userName: "userName", meetingsCount: "meetingsCount", groupsCount: "groupsCount" }, outputs: { shortcutSelected: "shortcutSelected" }, ngImport: i0, template: "<div class=\"ieeesa-dashboard-welcome-header\">\r\n <!-- Greeting + helper line -->\r\n <div class=\"ieeesa-dashboard-welcome-header__intro\">\r\n <h1 class=\"ieeesa-dashboard-welcome-header__greeting m-0\">\r\n {{ greeting }}\r\n </h1>\r\n <p class=\"ieeesa-dashboard-welcome-header__helper-text m-0\">\r\n {{ texts?.helperText }}\r\n </p>\r\n </div>\r\n\r\n <!-- \"Jump to\" shortcuts: each icon expands on hover/focus into a pill with\r\n the section label and its count badge. -->\r\n <div class=\"ieeesa-dashboard-welcome-header__jump-to\">\r\n <span class=\"ieeesa-dashboard-welcome-header__jump-to-label\">\r\n {{ texts?.jumpToLabel }}\r\n </span>\r\n\r\n <button\r\n *ngFor=\"let shortcut of shortcuts; trackBy: trackByTarget\"\r\n type=\"button\"\r\n class=\"ieeesa-dashboard-welcome-header__shortcut\"\r\n [attr.aria-label]=\"shortcut.ariaLabel + ' (' + shortcut.count + ')'\"\r\n (click)=\"onShortcutClick(shortcut.target)\"\r\n >\r\n <img\r\n class=\"ieeesa-dashboard-welcome-header__shortcut-icon\"\r\n [src]=\"shortcut.iconUrl\"\r\n alt=\"\"\r\n aria-hidden=\"true\"\r\n />\r\n <span class=\"ieeesa-dashboard-welcome-header__shortcut-label\">\r\n {{ shortcut.label }}\r\n </span>\r\n <span class=\"ieeesa-dashboard-welcome-header__shortcut-count\">\r\n {{ shortcut.count }}\r\n </span>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-dashboard-welcome-header{display:flex;align-items:center;justify-content:flex-start;gap:10%;flex-wrap:wrap}.ieeesa-dashboard-welcome-header__intro{display:flex;flex-direction:column;gap:4px}.ieeesa-dashboard-welcome-header__greeting{font-family:Calibri Bold;font-weight:700;font-style:normal;font-size:18px;line-height:27px;letter-spacing:0px;color:#111}.ieeesa-dashboard-welcome-header__helper-text{font-family:Calibri Regular;font-weight:400;font-style:normal;font-size:12px;line-height:16.5px;letter-spacing:0px;color:#6a7282}.ieeesa-dashboard-welcome-header__jump-to{display:inline-flex;align-items:center;gap:20px;min-width:228px;width:-moz-fit-content;width:fit-content;height:60px;padding-left:18px;padding-right:18px;background-color:#fff;border-radius:10px;box-shadow:0 1px 2px #0003}.ieeesa-dashboard-welcome-header__jump-to-label{font-family:Calibri Bold;font-weight:700;font-size:.8125rem;letter-spacing:.03125em;text-transform:uppercase;color:#333436;white-space:nowrap}.ieeesa-dashboard-welcome-header__shortcut{display:inline-flex;align-items:center;justify-content:center;gap:0;width:40px;height:40px;padding:0;border:1.5px solid #D1D5DC;border-radius:20px;background-color:#fff;color:#00629b;cursor:pointer;overflow:hidden;transition:width .25s ease,padding .25s ease,gap .2s ease,background-color .2s ease,border-color .2s ease}.ieeesa-dashboard-welcome-header__shortcut:hover,.ieeesa-dashboard-welcome-header__shortcut:focus-visible{width:auto;gap:8px;padding:0 14px;border-color:#00629b;background-color:#eaf3f9;outline:none}.ieeesa-dashboard-welcome-header__shortcut-icon{flex:0 0 auto;width:20px;height:20px;display:block}.ieeesa-dashboard-welcome-header__shortcut-label{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;font-family:Calibri Bold;font-weight:700;font-size:.875rem;color:#333436;transition:max-width .25s ease,opacity .2s ease}.ieeesa-dashboard-welcome-header__shortcut-count{display:inline-flex;align-items:center;justify-content:center;max-width:0;padding:0;opacity:0;overflow:hidden;border-radius:12px;background-color:#eaf3f9;color:#00629b;font-family:Calibri Bold;font-weight:700;font-size:.75rem;white-space:nowrap;transition:max-width .25s ease,opacity .2s ease,padding .2s ease}.ieeesa-dashboard-welcome-header__shortcut:hover .ieeesa-dashboard-welcome-header__shortcut-label,.ieeesa-dashboard-welcome-header__shortcut:focus-visible .ieeesa-dashboard-welcome-header__shortcut-label{max-width:240px;opacity:1}.ieeesa-dashboard-welcome-header__shortcut:hover .ieeesa-dashboard-welcome-header__shortcut-count,.ieeesa-dashboard-welcome-header__shortcut:focus-visible .ieeesa-dashboard-welcome-header__shortcut-count{max-width:48px;padding:2px 10px;opacity:1}@media (max-width: 767px){.ieeesa-dashboard-welcome-header{align-items:flex-start}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
138
|
+
}
|
|
139
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DashboardWelcomeHeaderComponent, decorators: [{
|
|
140
|
+
type: Component,
|
|
141
|
+
args: [{ selector: 'ieeesa-dashboard-welcome-header', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"ieeesa-dashboard-welcome-header\">\r\n <!-- Greeting + helper line -->\r\n <div class=\"ieeesa-dashboard-welcome-header__intro\">\r\n <h1 class=\"ieeesa-dashboard-welcome-header__greeting m-0\">\r\n {{ greeting }}\r\n </h1>\r\n <p class=\"ieeesa-dashboard-welcome-header__helper-text m-0\">\r\n {{ texts?.helperText }}\r\n </p>\r\n </div>\r\n\r\n <!-- \"Jump to\" shortcuts: each icon expands on hover/focus into a pill with\r\n the section label and its count badge. -->\r\n <div class=\"ieeesa-dashboard-welcome-header__jump-to\">\r\n <span class=\"ieeesa-dashboard-welcome-header__jump-to-label\">\r\n {{ texts?.jumpToLabel }}\r\n </span>\r\n\r\n <button\r\n *ngFor=\"let shortcut of shortcuts; trackBy: trackByTarget\"\r\n type=\"button\"\r\n class=\"ieeesa-dashboard-welcome-header__shortcut\"\r\n [attr.aria-label]=\"shortcut.ariaLabel + ' (' + shortcut.count + ')'\"\r\n (click)=\"onShortcutClick(shortcut.target)\"\r\n >\r\n <img\r\n class=\"ieeesa-dashboard-welcome-header__shortcut-icon\"\r\n [src]=\"shortcut.iconUrl\"\r\n alt=\"\"\r\n aria-hidden=\"true\"\r\n />\r\n <span class=\"ieeesa-dashboard-welcome-header__shortcut-label\">\r\n {{ shortcut.label }}\r\n </span>\r\n <span class=\"ieeesa-dashboard-welcome-header__shortcut-count\">\r\n {{ shortcut.count }}\r\n </span>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-dashboard-welcome-header{display:flex;align-items:center;justify-content:flex-start;gap:10%;flex-wrap:wrap}.ieeesa-dashboard-welcome-header__intro{display:flex;flex-direction:column;gap:4px}.ieeesa-dashboard-welcome-header__greeting{font-family:Calibri Bold;font-weight:700;font-style:normal;font-size:18px;line-height:27px;letter-spacing:0px;color:#111}.ieeesa-dashboard-welcome-header__helper-text{font-family:Calibri Regular;font-weight:400;font-style:normal;font-size:12px;line-height:16.5px;letter-spacing:0px;color:#6a7282}.ieeesa-dashboard-welcome-header__jump-to{display:inline-flex;align-items:center;gap:20px;min-width:228px;width:-moz-fit-content;width:fit-content;height:60px;padding-left:18px;padding-right:18px;background-color:#fff;border-radius:10px;box-shadow:0 1px 2px #0003}.ieeesa-dashboard-welcome-header__jump-to-label{font-family:Calibri Bold;font-weight:700;font-size:.8125rem;letter-spacing:.03125em;text-transform:uppercase;color:#333436;white-space:nowrap}.ieeesa-dashboard-welcome-header__shortcut{display:inline-flex;align-items:center;justify-content:center;gap:0;width:40px;height:40px;padding:0;border:1.5px solid #D1D5DC;border-radius:20px;background-color:#fff;color:#00629b;cursor:pointer;overflow:hidden;transition:width .25s ease,padding .25s ease,gap .2s ease,background-color .2s ease,border-color .2s ease}.ieeesa-dashboard-welcome-header__shortcut:hover,.ieeesa-dashboard-welcome-header__shortcut:focus-visible{width:auto;gap:8px;padding:0 14px;border-color:#00629b;background-color:#eaf3f9;outline:none}.ieeesa-dashboard-welcome-header__shortcut-icon{flex:0 0 auto;width:20px;height:20px;display:block}.ieeesa-dashboard-welcome-header__shortcut-label{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;font-family:Calibri Bold;font-weight:700;font-size:.875rem;color:#333436;transition:max-width .25s ease,opacity .2s ease}.ieeesa-dashboard-welcome-header__shortcut-count{display:inline-flex;align-items:center;justify-content:center;max-width:0;padding:0;opacity:0;overflow:hidden;border-radius:12px;background-color:#eaf3f9;color:#00629b;font-family:Calibri Bold;font-weight:700;font-size:.75rem;white-space:nowrap;transition:max-width .25s ease,opacity .2s ease,padding .2s ease}.ieeesa-dashboard-welcome-header__shortcut:hover .ieeesa-dashboard-welcome-header__shortcut-label,.ieeesa-dashboard-welcome-header__shortcut:focus-visible .ieeesa-dashboard-welcome-header__shortcut-label{max-width:240px;opacity:1}.ieeesa-dashboard-welcome-header__shortcut:hover .ieeesa-dashboard-welcome-header__shortcut-count,.ieeesa-dashboard-welcome-header__shortcut:focus-visible .ieeesa-dashboard-welcome-header__shortcut-count{max-width:48px;padding:2px 10px;opacity:1}@media (max-width: 767px){.ieeesa-dashboard-welcome-header{align-items:flex-start}}\n"] }]
|
|
142
|
+
}], propDecorators: { userName: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}], meetingsCount: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], groupsCount: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}], shortcutSelected: [{
|
|
149
|
+
type: Output
|
|
150
|
+
}] } });
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXdlbGNvbWUtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC9zcmMvbGliL2NvbXBvbmVudHMvd2VsY29tZS1oZWFkZXIvZGFzaGJvYXJkLXdlbGNvbWUtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC9zcmMvbGliL2NvbXBvbmVudHMvd2VsY29tZS1oZWFkZXIvZGFzaGJvYXJkLXdlbGNvbWUtaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEtBQUssU0FBUyxNQUFNLDZCQUE2QixDQUFDOzs7QUFFekQ7Ozs7R0FJRztBQUNILDBDQUEwQztBQUMxQyxNQUFNLENBQU4sSUFBWSxtQkFLWDtBQUxELFdBQVksbUJBQW1CO0lBQzdCLDBDQUEwQztJQUMxQyw0Q0FBcUIsQ0FBQTtJQUNyQiwwQ0FBMEM7SUFDMUMsd0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUxXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFLOUI7QUFlRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQVVILE1BQU0sT0FBTywrQkFBK0I7SUFUNUM7UUFVRSw4REFBOEQ7UUFDN0MsY0FBUyxHQUFRLFNBQVMsQ0FBQztRQUM1Qyx5REFBeUQ7UUFDaEQsVUFBSyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDO1FBRS9DLCtDQUErQztRQUN0QyxlQUFVLEdBQUcsbUJBQW1CLENBQUM7UUFFbEMsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFjbkIsdUJB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RUUsaUNBQWlDLGNBQy9CLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxpQkFHUixpQkFBaUIsQ0FBQyxJQUFJOzhCQWtCakMsUUFBUTtzQkFEWCxLQUFLO2dCQVdGLGFBQWE7c0JBRGhCLEtBQUs7Z0JBWUYsV0FBVztzQkFEZCxLQUFLO2dCQVVJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIGNvbnN0YW50cyBmcm9tICcuLi8uLi9hc3NldHMvY29uc3RhbnRzLmpzb24nO1xyXG5cclxuLyoqXHJcbiAqIElkZW50aWZpZXMgd2hpY2ggZGFzaGJvYXJkIHNlY3Rpb24gYSBcIkp1bXAgdG9cIiBzaG9ydGN1dCB0YXJnZXRzLCBlbWl0dGVkIHZpYVxyXG4gKiB7QGxpbmsgRGFzaGJvYXJkV2VsY29tZUhlYWRlckNvbXBvbmVudC5zaG9ydGN1dFNlbGVjdGVkfSBmb3IgdGhlIGhvc3QvY29udGFpbmVyXHJcbiAqIHRvIHNjcm9sbCB0byBvciBuYXZpZ2F0ZS5cclxuICovXHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG5leHBvcnQgZW51bSBEYXNoYm9hcmRKdW1wVGFyZ2V0IHtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICBNRUVUSU5HUyA9ICdNRUVUSU5HUycsXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgR1JPVVBTID0gJ0dST1VQUycsXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBIHNpbmdsZSBcIkp1bXAgdG9cIiBzaG9ydGN1dCByZW5kZXJlZCBpbiB0aGUgd2VsY29tZSBoZWFkZXI6IGEgY2lyY3VsYXIgaWNvblxyXG4gKiB0aGF0IGV4cGFuZHMgb24gaG92ZXIvZm9jdXMgaW50byBhIHBpbGwgc2hvd2luZyB0aGUgc2VjdGlvbiBsYWJlbCBhbmQgaXRzXHJcbiAqIGNvdW50IGJhZGdlLlxyXG4gKi9cclxuaW50ZXJmYWNlIEp1bXBTaG9ydGN1dCB7XHJcbiAgdGFyZ2V0OiBEYXNoYm9hcmRKdW1wVGFyZ2V0O1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgaWNvblVybDogc3RyaW5nO1xyXG4gIGFyaWFMYWJlbDogc3RyaW5nO1xyXG4gIGNvdW50OiBudW1iZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBXZWxjb21lX0hlYWRlciByZW5kZXJzIHRoZSBwZXJzb25hbGl6ZWQgZ3JlZXRpbmcgYW5kIHRoZSBcIkp1bXAgdG9cIiBzaG9ydGN1dFxyXG4gKiBjb250cm9sIGF0IHRoZSB0b3Agb2YgdGhlIGRhc2hib2FyZC5cclxuICpcclxuICogVGhlIGdyZWV0aW5nIGlzIGNvbXBvc2VkIGZyb20gdGhlIGdyZWV0aW5nIGxhYmVsIGluIGBjb25zdGFudHMuanNvbmAgYW5kIHRoZVxyXG4gKiBzdXBwbGllZCBgdXNlck5hbWVgLCBmYWxsaW5nIGJhY2sgdG8gdGhlIGNvbmZpZ3VyZWQgZmFsbGJhY2sgZ3JlZXRpbmcgd2hlbiB0aGVcclxuICogbmFtZSBpcyBlbXB0eSBvciB1bmRlZmluZWQuIFRoZSBcIkp1bXAgdG9cIiBjb250cm9sIHNob3dzIG9uZSBjaXJjdWxhciBpY29uIHBlclxyXG4gKiBkYXNoYm9hcmQgc2VjdGlvbiAoVXBjb21pbmcgTWVldGluZ3MgJiBFdmVudHMsIFlvdXIgR3JvdXBzKTsgaG92ZXJpbmcgb3JcclxuICogZm9jdXNpbmcgYW4gaWNvbiBleHBhbmRzIGl0IGludG8gYSBwaWxsIHdpdGggdGhlIHNlY3Rpb24gbGFiZWwgYW5kIGEgY291bnRcclxuICogYmFkZ2UgKHRoZSBjb3VudHMgYXJlIHN1cHBsaWVkIGJ5IHRoZSBob3N0IHZpYSBgbWVldGluZ3NDb3VudGAgL1xyXG4gKiBgZ3JvdXBzQ291bnRgKS4gQWN0aXZhdGluZyBhIHNob3J0Y3V0IGVtaXRzIHtAbGluayBzaG9ydGN1dFNlbGVjdGVkfSB3aXRoIHRoZVxyXG4gKiB0YXJnZXQgc2VjdGlvbiBmb3IgdGhlIGhvc3QgdG8gYWN0IG9uLiBQdXJlbHkgcHJlc2VudGF0aW9uYWwg4oCUIG5vIEFQSSB3b3JrLlxyXG4gKiBAZXhwb3J0XHJcbiAqIEBjbGFzcyBEYXNoYm9hcmRXZWxjb21lSGVhZGVyQ29tcG9uZW50XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWRhc2hib2FyZC13ZWxjb21lLWhlYWRlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGFzaGJvYXJkLXdlbGNvbWUtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXNoYm9hcmQtd2VsY29tZS1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkV2VsY29tZUhlYWRlckNvbXBvbmVudCB7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBwcml2YXRlIHJlYWRvbmx5IGNvbnN0YW50czogYW55ID0gY29uc3RhbnRzO1xyXG4gIC8qKiBVc2VyLWZhY2luZyBzdHJpbmdzIHNvdXJjZWQgZnJvbSBgY29uc3RhbnRzLmpzb25gLiAqL1xyXG4gIHJlYWRvbmx5IHRleHRzID0gdGhpcy5jb25zdGFudHM/LndlbGNvbWVIZWFkZXI7XHJcblxyXG4gIC8qKiBFbnVtIHJlZmVyZW5jZSBmb3IgdGVtcGxhdGUgY29tcGFyaXNvbnMuICovXHJcbiAgcmVhZG9ubHkganVtcFRhcmdldCA9IERhc2hib2FyZEp1bXBUYXJnZXQ7XHJcblxyXG4gIHByaXZhdGUgdXNlck5hbWVWYWx1ZSA9ICcnO1xyXG4gIC8qKlxyXG4gICAqIFRoZSBzaWduZWQtaW4gdXNlcidzIGRpc3BsYXkgbmFtZS4gRHJpdmVzIHRoZSBwZXJzb25hbGl6ZWQgZ3JlZXRpbmc7IHdoZW5cclxuICAgKiBlbXB0eSBvciB1bmRlZmluZWQgdGhlIGdyZWV0aW5nIGZhbGxzIGJhY2sgdG8gdGhlIGNvbmZpZ3VyZWQgZmFsbGJhY2sgdGV4dC5cclxuICAgKiBAbWVtYmVyb2YgRGFzaGJvYXJkV2VsY29tZUhlYWRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHVzZXJOYW1lKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudXNlck5hbWVWYWx1ZSA9IHZhbHVlID8/ICcnO1xyXG4gIH1cclxuICBnZXQgdXNlck5hbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJOYW1lVmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1lZXRpbmdzQ291bnRWYWx1ZSA9IDA7XHJcbiAgLyoqIENvdW50IHNob3duIGluIHRoZSBVcGNvbWluZyBNZWV0aW5ncyAmIEV2ZW50cyBzaG9ydGN1dCBiYWRnZS4gKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBtZWV0aW5nc0NvdW50KHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMubWVldGluZ3NDb3VudFZhbHVlID0gdmFsdWUgPz8gMDtcclxuICAgIHRoaXMuYnVpbGRTaG9ydGN1dHMoKTtcclxuICB9XHJcbiAgZ2V0IG1lZXRpbmdzQ291bnQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLm1lZXRpbmdzQ291bnRWYWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ3JvdXBzQ291bnRWYWx1ZSA9IDA7XHJcbiAgLyoqIENvdW50IHNob3duIGluIHRoZSBZb3VyIEdyb3VwcyBzaG9ydGN1dCBiYWRnZS4gKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBncm91cHNDb3VudCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmdyb3Vwc0NvdW50VmFsdWUgPSB2YWx1ZSA/PyAwO1xyXG4gICAgdGhpcy5idWlsZFNob3J0Y3V0cygpO1xyXG4gIH1cclxuICBnZXQgZ3JvdXBzQ291bnQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmdyb3Vwc0NvdW50VmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKiogRW1pdHMgdGhlIHNlbGVjdGVkIFwiSnVtcCB0b1wiIHRhcmdldCBmb3IgdGhlIGhvc3QgdG8gYWN0IG9uLiAqL1xyXG4gIEBPdXRwdXQoKSBzaG9ydGN1dFNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxEYXNoYm9hcmRKdW1wVGFyZ2V0PigpO1xyXG5cclxuICAvKiogVGhlIGp1bXAgc2hvcnRjdXRzIHJlbmRlcmVkIGluIHRoZSBjb250cm9sLCByZWJ1aWx0IHdoZW4gY291bnRzIGNoYW5nZS4gKi9cclxuICBzaG9ydGN1dHM6IEp1bXBTaG9ydGN1dFtdID0gdGhpcy5idWlsZFNob3J0Y3V0TGlzdCgpO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgcGVyc29uYWxpemVkIGdyZWV0aW5nOiB0aGUgZ3JlZXRpbmcgbGFiZWwgcGx1cyB0aGUgdXNlcidzIG5hbWUgd2hlblxyXG4gICAqIHByZXNlbnQsIG90aGVyd2lzZSB0aGUgY29uZmlndXJlZCBmYWxsYmFjayBncmVldGluZy5cclxuICAgKiBAcmVhZG9ubHlcclxuICAgKiBAbWVtYmVyb2YgRGFzaGJvYXJkV2VsY29tZUhlYWRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldCBncmVldGluZygpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgbmFtZSA9IHRoaXMudXNlck5hbWU/LnRyaW0oKTtcclxuICAgIHJldHVybiBuYW1lXHJcbiAgICAgID8gYCR7dGhpcy50ZXh0cz8uZ3JlZXRpbmd9JHtuYW1lfSFgXHJcbiAgICAgIDogYCR7dGhpcy50ZXh0cz8uZmFsbGJhY2tHcmVldGluZ30hYDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHRoZSBjaG9zZW4gc2hvcnRjdXQncyB0YXJnZXQgZm9yIHRoZSBob3N0IHRvIHNjcm9sbC9uYXZpZ2F0ZSB0by5cclxuICAgKiBAcGFyYW0ge0Rhc2hib2FyZEp1bXBUYXJnZXR9IHRhcmdldCAtIFRoZSBzZWxlY3RlZCBzZWN0aW9uLlxyXG4gICAqIEBtZW1iZXJvZiBEYXNoYm9hcmRXZWxjb21lSGVhZGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25TaG9ydGN1dENsaWNrKHRhcmdldDogRGFzaGJvYXJkSnVtcFRhcmdldCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG9ydGN1dFNlbGVjdGVkLmVtaXQodGFyZ2V0KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyYWNrQnkgZm9yIHRoZSBzaG9ydGN1dCBsaXN0LlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBfaW5kZXhcclxuICAgKiBAcGFyYW0ge0p1bXBTaG9ydGN1dH0gc2hvcnRjdXRcclxuICAgKiBAcmV0dXJuIHtzdHJpbmd9XHJcbiAgICogQG1lbWJlcm9mIERhc2hib2FyZFdlbGNvbWVIZWFkZXJDb21wb25lbnRcclxuICAgKi9cclxuICB0cmFja0J5VGFyZ2V0KF9pbmRleDogbnVtYmVyLCBzaG9ydGN1dDogSnVtcFNob3J0Y3V0KTogc3RyaW5nIHtcclxuICAgIHJldHVybiBzaG9ydGN1dC50YXJnZXQ7XHJcbiAgfVxyXG5cclxuICAvKiogUmVidWlsZHMgdGhlIHNob3J0Y3V0IGxpc3Qgc28gdGhlIHRlbXBsYXRlIHJlZmxlY3RzIHRoZSBsYXRlc3QgY291bnRzLiAqL1xyXG4gIHByaXZhdGUgYnVpbGRTaG9ydGN1dHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3J0Y3V0cyA9IHRoaXMuYnVpbGRTaG9ydGN1dExpc3QoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJ1aWxkcyB0aGUgc2hvcnRjdXQgdmlldyBtb2RlbHMgZnJvbSBgY29uc3RhbnRzLmpzb25gIGFuZCB0aGUgY3VycmVudFxyXG4gICAqIGNvdW50cy5cclxuICAgKiBAcmV0dXJuIHtKdW1wU2hvcnRjdXRbXX1cclxuICAgKiBAbWVtYmVyb2YgRGFzaGJvYXJkV2VsY29tZUhlYWRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgYnVpbGRTaG9ydGN1dExpc3QoKTogSnVtcFNob3J0Y3V0W10ge1xyXG4gICAgY29uc3Qgc2hvcnRjdXRUZXh0cyA9IHRoaXMuY29uc3RhbnRzPy53ZWxjb21lSGVhZGVyPy5zaG9ydGN1dHM7XHJcbiAgICByZXR1cm4gW1xyXG4gICAgICB7XHJcbiAgICAgICAgdGFyZ2V0OiBEYXNoYm9hcmRKdW1wVGFyZ2V0Lk1FRVRJTkdTLFxyXG4gICAgICAgIGxhYmVsOiBzaG9ydGN1dFRleHRzPy5tZWV0aW5ncz8ubGFiZWwsXHJcbiAgICAgICAgaWNvblVybDogc2hvcnRjdXRUZXh0cz8ubWVldGluZ3M/Lmljb25VcmwsXHJcbiAgICAgICAgYXJpYUxhYmVsOiBzaG9ydGN1dFRleHRzPy5tZWV0aW5ncz8uYXJpYUxhYmVsLFxyXG4gICAgICAgIGNvdW50OiB0aGlzLm1lZXRpbmdzQ291bnRWYWx1ZSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRhcmdldDogRGFzaGJvYXJkSnVtcFRhcmdldC5HUk9VUFMsXHJcbiAgICAgICAgbGFiZWw6IHNob3J0Y3V0VGV4dHM/Lmdyb3Vwcz8ubGFiZWwsXHJcbiAgICAgICAgaWNvblVybDogc2hvcnRjdXRUZXh0cz8uZ3JvdXBzPy5pY29uVXJsLFxyXG4gICAgICAgIGFyaWFMYWJlbDogc2hvcnRjdXRUZXh0cz8uZ3JvdXBzPy5hcmlhTGFiZWwsXHJcbiAgICAgICAgY291bnQ6IHRoaXMuZ3JvdXBzQ291bnRWYWx1ZSxcclxuICAgICAgfSxcclxuICAgIF07XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJpZWVlc2EtZGFzaGJvYXJkLXdlbGNvbWUtaGVhZGVyXCI+XHJcbiAgPCEtLSBHcmVldGluZyArIGhlbHBlciBsaW5lIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJpZWVlc2EtZGFzaGJvYXJkLXdlbGNvbWUtaGVhZGVyX19pbnRyb1wiPlxyXG4gICAgPGgxIGNsYXNzPVwiaWVlZXNhLWRhc2hib2FyZC13ZWxjb21lLWhlYWRlcl9fZ3JlZXRpbmcgbS0wXCI+XHJcbiAgICAgIHt7IGdyZWV0aW5nIH19XHJcbiAgICA8L2gxPlxyXG4gICAgPHAgY2xhc3M9XCJpZWVlc2EtZGFzaGJvYXJkLXdlbGNvbWUtaGVhZGVyX19oZWxwZXItdGV4dCBtLTBcIj5cclxuICAgICAge3sgdGV4dHM/LmhlbHBlclRleHQgfX1cclxuICAgIDwvcD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBcIkp1bXAgdG9cIiBzaG9ydGN1dHM6IGVhY2ggaWNvbiBleHBhbmRzIG9uIGhvdmVyL2ZvY3VzIGludG8gYSBwaWxsIHdpdGhcclxuICAgICAgIHRoZSBzZWN0aW9uIGxhYmVsIGFuZCBpdHMgY291bnQgYmFkZ2UuIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJpZWVlc2EtZGFzaGJvYXJkLXdlbGNvbWUtaGVhZGVyX19qdW1wLXRvXCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cImllZWVzYS1kYXNoYm9hcmQtd2VsY29tZS1oZWFkZXJfX2p1bXAtdG8tbGFiZWxcIj5cclxuICAgICAge3sgdGV4dHM/Lmp1bXBUb0xhYmVsIH19XHJcbiAgICA8L3NwYW4+XHJcblxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAqbmdGb3I9XCJsZXQgc2hvcnRjdXQgb2Ygc2hvcnRjdXRzOyB0cmFja0J5OiB0cmFja0J5VGFyZ2V0XCJcclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLWRhc2hib2FyZC13ZWxjb21lLWhlYWRlcl9fc2hvcnRjdXRcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInNob3J0Y3V0LmFyaWFMYWJlbCArICcgKCcgKyBzaG9ydGN1dC5jb3VudCArICcpJ1wiXHJcbiAgICAgIChjbGljayk9XCJvblNob3J0Y3V0Q2xpY2soc2hvcnRjdXQudGFyZ2V0KVwiXHJcbiAgICA+XHJcbiAgICAgIDxpbWdcclxuICAgICAgICBjbGFzcz1cImllZWVzYS1kYXNoYm9hcmQtd2VsY29tZS1oZWFkZXJfX3Nob3J0Y3V0LWljb25cIlxyXG4gICAgICAgIFtzcmNdPVwic2hvcnRjdXQuaWNvblVybFwiXHJcbiAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxyXG4gICAgICAvPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImllZWVzYS1kYXNoYm9hcmQtd2VsY29tZS1oZWFkZXJfX3Nob3J0Y3V0LWxhYmVsXCI+XHJcbiAgICAgICAge3sgc2hvcnRjdXQubGFiZWwgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImllZWVzYS1kYXNoYm9hcmQtd2VsY29tZS1oZWFkZXJfX3Nob3J0Y3V0LWNvdW50XCI+XHJcbiAgICAgICAge3sgc2hvcnRjdXQuY291bnQgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|