@ieeesa-npm/presentation 0.31.0 → 0.31.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,45 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { ExportFormat, ExportFormatOption } from '../../models/export-format-popover.model';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * ExportFormatPopoverComponent renders a popover presenting format selection
6
+ * cards (CSV / Excel). Positioned via CSS absolute below the trigger element.
7
+ *
8
+ * @export
9
+ * @class ExportFormatPopoverComponent
10
+ */
11
+ export declare class ExportFormatPopoverComponent {
12
+ /** Array of format options to display in the popover */
13
+ formatOptions: ExportFormatOption[];
14
+ /**
15
+ * @deprecated No longer used for positioning; kept for backwards compatibility.
16
+ */
17
+ origin?: unknown;
18
+ /** Controls visibility */
19
+ isOpen: boolean;
20
+ /** Title text displayed at the top of the popover */
21
+ popoverTitle: string;
22
+ /** Subtitle map for format options (keyed by ExportFormat value) */
23
+ formatSubtitles: Record<string, string>;
24
+ /** Tracks the currently selected format for visual highlight */
25
+ selectedFormat: ExportFormat | null;
26
+ /** Emits when user selects a format */
27
+ formatSelected: EventEmitter<ExportFormat>;
28
+ /** Emits when the popover should be closed (backdrop click or after selection). */
29
+ closed: EventEmitter<void>;
30
+ /**
31
+ * Handles format option selection via click or Enter key.
32
+ * @param {ExportFormat} format
33
+ */
34
+ onFormatSelect(format: ExportFormat): void;
35
+ /**
36
+ * Closes the popover via backdrop click.
37
+ */
38
+ onBackdropClick(): void;
39
+ /**
40
+ * TrackBy function for *ngFor on format options.
41
+ */
42
+ trackByFormat(index: number, option: ExportFormatOption): string;
43
+ static ɵfac: i0.ɵɵFactoryDeclaration<ExportFormatPopoverComponent, never>;
44
+ static ɵcmp: i0.ɵɵComponentDeclaration<ExportFormatPopoverComponent, "ieeesa-export-format-popover", never, { "formatOptions": { "alias": "formatOptions"; "required": false; }; "origin": { "alias": "origin"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "popoverTitle": { "alias": "popoverTitle"; "required": false; }; "formatSubtitles": { "alias": "formatSubtitles"; "required": false; }; }, { "formatSelected": "formatSelected"; "closed": "closed"; }, never, never, true, never>;
45
+ }
@@ -0,0 +1,24 @@
1
+ import { MatDialogRef } from '@angular/material/dialog';
2
+ import { ExportSuccessDialogData } from '../../models/export-success-dialog.model';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * ExportSuccessDialogComponent displays a centered success message after
6
+ * a file export completes. Shows the filename in bold and a single "Close" button.
7
+ *
8
+ * Opens via `MatDialog.open(ExportSuccessDialogComponent, { data: ExportSuccessDialogData })`.
9
+ *
10
+ * @export
11
+ * @class ExportSuccessDialogComponent
12
+ */
13
+ export declare class ExportSuccessDialogComponent {
14
+ data: ExportSuccessDialogData;
15
+ private dialogRef;
16
+ constructor(data: ExportSuccessDialogData, dialogRef: MatDialogRef<ExportSuccessDialogComponent>);
17
+ /**
18
+ * Handles the Close button click — closes the dialog.
19
+ * @memberof ExportSuccessDialogComponent
20
+ */
21
+ onClose(): void;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<ExportSuccessDialogComponent, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<ExportSuccessDialogComponent, "ieeesa-export-success-dialog", never, {}, {}, never, never, true, never>;
24
+ }
@@ -0,0 +1,23 @@
1
+ import { MatDialogRef } from '@angular/material/dialog';
2
+ import { InfoModalData } from '@ieeesa-npm/models';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * ModalInfoComponent is a simple informational dialog that displays a centered message
6
+ * with a single dismissal button.
7
+ *
8
+ * @usageNotes - Pass ModalInfoComponent and data options as parameters to MatDialog open method:
9
+ * this.dialog.open(ModalInfoComponent, { data: { message: '...', buttonLabel: 'OK' } })
10
+ * @class ModalInfoComponent
11
+ */
12
+ export declare class ModalInfoComponent {
13
+ data: InfoModalData;
14
+ private dialogRef;
15
+ constructor(data: InfoModalData, dialogRef: MatDialogRef<ModalInfoComponent>);
16
+ /**
17
+ * Closes the info dialog.
18
+ * @memberof ModalInfoComponent
19
+ */
20
+ onClose(): void;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<ModalInfoComponent, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModalInfoComponent, "ieeesa-modal-info", never, {}, {}, never, never, true, never>;
23
+ }
@@ -0,0 +1,36 @@
1
+ import { MatDialogRef } from '@angular/material/dialog';
2
+ import { PolicyConfirmationDialogData } from '../../models/policy-confirmation-dialog.model';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * PolicyConfirmationDialogComponent is a reusable confirmation dialog that displays
6
+ * a configurable title, body text, and Cancel/Confirm action buttons.
7
+ * Used for the IEEE Data Access and Use Policy confirmation in the attendance export flow.
8
+ *
9
+ * Opens via `MatDialog.open(PolicyConfirmationDialogComponent, { data: PolicyConfirmationDialogData })`.
10
+ * Returns `true` on confirm, `false` on cancel or close.
11
+ *
12
+ * @export
13
+ * @class PolicyConfirmationDialogComponent
14
+ */
15
+ export declare class PolicyConfirmationDialogComponent {
16
+ data: PolicyConfirmationDialogData;
17
+ private dialogRef;
18
+ constructor(data: PolicyConfirmationDialogData, dialogRef: MatDialogRef<PolicyConfirmationDialogComponent>);
19
+ /**
20
+ * Handles the Confirm button click — closes the dialog returning `true`.
21
+ * @memberof PolicyConfirmationDialogComponent
22
+ */
23
+ onConfirm(): void;
24
+ /**
25
+ * Handles the Cancel button click — closes the dialog returning `false`.
26
+ * @memberof PolicyConfirmationDialogComponent
27
+ */
28
+ onCancel(): void;
29
+ /**
30
+ * Handles the X (close) button click — closes the dialog returning `false`.
31
+ * @memberof PolicyConfirmationDialogComponent
32
+ */
33
+ onClose(): void;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<PolicyConfirmationDialogComponent, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<PolicyConfirmationDialogComponent, "ieeesa-policy-confirmation-dialog", never, {}, {}, never, never, true, never>;
36
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Available export file formats for attendance data
3
+ */
4
+ export declare enum ExportFormat {
5
+ CSV = "csv",
6
+ EXCEL = "xls"
7
+ }
8
+ /**
9
+ * Configuration option for a format selection card in the export format popover
10
+ */
11
+ export interface ExportFormatOption {
12
+ label: string;
13
+ value: ExportFormat;
14
+ ariaLabel: string;
15
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Data passed to the ExportSuccessDialogComponent via MAT_DIALOG_DATA
3
+ */
4
+ export interface ExportSuccessDialogData {
5
+ message: string;
6
+ filename: string;
7
+ closeLabel: string;
8
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Data passed to the PolicyConfirmationDialogComponent via MAT_DIALOG_DATA
3
+ */
4
+ export interface PolicyConfirmationDialogData {
5
+ title: string;
6
+ bodyText: string;
7
+ cancelLabel: string;
8
+ confirmLabel: string;
9
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ieeesa-npm/presentation",
3
- "version": "0.31.0",
3
+ "version": "0.31.2",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.1.0",
6
6
  "@angular/core": "^16.1.0",
package/public-api.d.ts CHANGED
@@ -14,6 +14,7 @@ export * from './lib/components/list/list.component';
14
14
  export * from './lib/components/menu/menu.component';
15
15
  export * from './lib/components/modal/modal.component';
16
16
  export * from './lib/components/modal-confirmation/modal-confirmation.component';
17
+ export * from './lib/components/modal-info/modal-info.component';
17
18
  export * from './lib/components/navigation-menu/navigation-menu.component';
18
19
  export * from './lib/components/notification/notification.component';
19
20
  export * from './lib/components/radio/radio.component';
@@ -40,6 +41,9 @@ export * from './lib/components/inactive-tenant/inactive-tenant.component';
40
41
  export * from './lib/components/image-preview/image-preview.component';
41
42
  export * from './lib/components/rich-text-editor/rich-text-editor.component';
42
43
  export * from './lib/components/multi-select-autocomplete/multi-select-autocomplete.component';
44
+ export * from './lib/components/export-format-popover/export-format-popover.component';
45
+ export * from './lib/components/policy-confirmation-dialog/policy-confirmation-dialog.component';
46
+ export * from './lib/components/export-success-dialog/export-success-dialog.component';
43
47
  export * from './lib/directives/dynamic-form-field/dynamic-form-field.directive';
44
48
  export * from './lib/directives/set-background/set-background.directive';
45
49
  export * from './lib/directives/text-truncated/text-truncated.directive';
@@ -96,10 +100,13 @@ export * from './lib/models/file-upload-presigned-url-res.model';
96
100
  export * from './lib/models/file-upload-response.model';
97
101
  export * from './lib/models/inactive-tenant.model';
98
102
  export * from './lib/models/table-column-menu-info.model';
103
+ export * from './lib/models/export-format-popover.model';
104
+ export * from './lib/models/policy-confirmation-dialog.model';
105
+ export * from './lib/models/export-success-dialog.model';
99
106
  export * from './lib/services/datepicker.service';
100
107
  export * from './lib/services/form-utility.service';
101
108
  export * from './lib/services/file-upload.service';
102
109
  export * from './lib/services/break-point-observer.service';
103
110
  export * from './lib/pipes/safe.pipe';
104
111
  export * from './lib/presentation.module';
105
- export { SelectOption, CheckboxOption, IconButton, AlignType, ConfirmationModalData, MessagePart } from '@ieeesa-npm/models';
112
+ export { SelectOption, CheckboxOption, IconButton, AlignType, ConfirmationModalData, MessagePart, InfoModalData } from '@ieeesa-npm/models';