@nova-design-system/nova-angular-19 3.13.0 → 3.14.0-beta.0

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.
@@ -3,7 +3,7 @@ import * as i1 from "./stencil-generated/components";
3
3
  import * as i2 from "./stencil-generated/component-value-accessors";
4
4
  export declare class NovaComponentsModule {
5
5
  static ɵfac: i0.ɵɵFactoryDeclaration<NovaComponentsModule, never>;
6
- static ɵmod: i0.ɵɵNgModuleDeclaration<NovaComponentsModule, [typeof i1.NvAccordion, typeof i1.NvAccordionItem, typeof i1.NvAlert, typeof i1.NvAvatar, typeof i1.NvBadge, typeof i1.NvBreadcrumb, typeof i1.NvBreadcrumbs, typeof i1.NvButton, typeof i1.NvButtongroup, typeof i1.NvCalendar, typeof i1.NvCol, typeof i1.NvDatagrid, typeof i1.NvDatagridcolumn, typeof i1.NvDialog, typeof i1.NvDialogfooter, typeof i1.NvDialogheader, typeof i1.NvFieldcheckbox, typeof i1.NvFielddate, typeof i1.NvFielddaterange, typeof i1.NvFielddropdown, typeof i1.NvFielddropdownitem, typeof i1.NvFielddropdownitemcheck, typeof i1.NvFieldmultiselect, typeof i1.NvFieldnumber, typeof i1.NvFieldpassword, typeof i1.NvFieldradio, typeof i1.NvFieldselect, typeof i1.NvFieldslider, typeof i1.NvFieldtext, typeof i1.NvFieldtextarea, typeof i1.NvFieldtime, typeof i1.NvIcon, typeof i1.NvIconbutton, typeof i1.NvLoader, typeof i1.NvMenu, typeof i1.NvMenuitem, typeof i1.NvNotification, typeof i1.NvPopover, typeof i1.NvRow, typeof i1.NvStack, typeof i1.NvTable, typeof i1.NvTablecolumn, typeof i1.NvToggle, typeof i1.NvTogglebutton, typeof i1.NvTogglebuttongroup, typeof i1.NvTooltip], never, [typeof i1.NvAccordion, typeof i1.NvAccordionItem, typeof i1.NvAlert, typeof i1.NvAvatar, typeof i1.NvBadge, typeof i1.NvBreadcrumb, typeof i1.NvBreadcrumbs, typeof i1.NvButton, typeof i1.NvButtongroup, typeof i1.NvCalendar, typeof i1.NvCol, typeof i1.NvDatagrid, typeof i1.NvDatagridcolumn, typeof i1.NvDialog, typeof i1.NvDialogfooter, typeof i1.NvDialogheader, typeof i1.NvFieldcheckbox, typeof i1.NvFielddate, typeof i1.NvFielddaterange, typeof i1.NvFielddropdown, typeof i1.NvFielddropdownitem, typeof i1.NvFielddropdownitemcheck, typeof i1.NvFieldmultiselect, typeof i1.NvFieldnumber, typeof i1.NvFieldpassword, typeof i1.NvFieldradio, typeof i1.NvFieldselect, typeof i1.NvFieldslider, typeof i1.NvFieldtext, typeof i1.NvFieldtextarea, typeof i1.NvFieldtime, typeof i1.NvIcon, typeof i1.NvIconbutton, typeof i1.NvLoader, typeof i1.NvMenu, typeof i1.NvMenuitem, typeof i1.NvNotification, typeof i1.NvPopover, typeof i1.NvRow, typeof i1.NvStack, typeof i1.NvTable, typeof i1.NvTablecolumn, typeof i1.NvToggle, typeof i1.NvTogglebutton, typeof i1.NvTogglebuttongroup, typeof i1.NvTooltip]>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NovaComponentsModule, [typeof i1.NvAccordion, typeof i1.NvAccordionItem, typeof i1.NvAlert, typeof i1.NvAvatar, typeof i1.NvBadge, typeof i1.NvBreadcrumb, typeof i1.NvBreadcrumbs, typeof i1.NvButton, typeof i1.NvButtongroup, typeof i1.NvCalendar, typeof i1.NvCol, typeof i1.NvDatagrid, typeof i1.NvDatagridcolumn, typeof i1.NvDialog, typeof i1.NvDialogfooter, typeof i1.NvDialogheader, typeof i1.NvFieldcheckbox, typeof i1.NvFielddate, typeof i1.NvFielddaterange, typeof i1.NvFielddropdown, typeof i1.NvFielddropdownitem, typeof i1.NvFielddropdownitemcheck, typeof i1.NvFieldmultiselect, typeof i1.NvFieldnumber, typeof i1.NvFieldpassword, typeof i1.NvFieldradio, typeof i1.NvFieldselect, typeof i1.NvFieldslider, typeof i1.NvFieldtext, typeof i1.NvFieldtextarea, typeof i1.NvFieldtime, typeof i1.NvIcon, typeof i1.NvIconbutton, typeof i1.NvLoader, typeof i1.NvMenu, typeof i1.NvMenuitem, typeof i1.NvNotification, typeof i1.NvNotificationcontainer, typeof i1.NvPopover, typeof i1.NvRow, typeof i1.NvStack, typeof i1.NvTable, typeof i1.NvTablecolumn, typeof i1.NvToggle, typeof i1.NvTogglebutton, typeof i1.NvTogglebuttongroup, typeof i1.NvTooltip], never, [typeof i1.NvAccordion, typeof i1.NvAccordionItem, typeof i1.NvAlert, typeof i1.NvAvatar, typeof i1.NvBadge, typeof i1.NvBreadcrumb, typeof i1.NvBreadcrumbs, typeof i1.NvButton, typeof i1.NvButtongroup, typeof i1.NvCalendar, typeof i1.NvCol, typeof i1.NvDatagrid, typeof i1.NvDatagridcolumn, typeof i1.NvDialog, typeof i1.NvDialogfooter, typeof i1.NvDialogheader, typeof i1.NvFieldcheckbox, typeof i1.NvFielddate, typeof i1.NvFielddaterange, typeof i1.NvFielddropdown, typeof i1.NvFielddropdownitem, typeof i1.NvFielddropdownitemcheck, typeof i1.NvFieldmultiselect, typeof i1.NvFieldnumber, typeof i1.NvFieldpassword, typeof i1.NvFieldradio, typeof i1.NvFieldselect, typeof i1.NvFieldslider, typeof i1.NvFieldtext, typeof i1.NvFieldtextarea, typeof i1.NvFieldtime, typeof i1.NvIcon, typeof i1.NvIconbutton, typeof i1.NvLoader, typeof i1.NvMenu, typeof i1.NvMenuitem, typeof i1.NvNotification, typeof i1.NvNotificationcontainer, typeof i1.NvPopover, typeof i1.NvRow, typeof i1.NvStack, typeof i1.NvTable, typeof i1.NvTablecolumn, typeof i1.NvToggle, typeof i1.NvTogglebutton, typeof i1.NvTogglebuttongroup, typeof i1.NvTooltip]>;
7
7
  static ɵinj: i0.ɵɵInjectorDeclaration<NovaComponentsModule>;
8
8
  }
9
9
  export declare class NovaComponentsValueAccessorModule {
@@ -0,0 +1,2 @@
1
+ export * from './notification.service';
2
+ export * from './notification-service.component';
@@ -0,0 +1,56 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
+ import { NotificationService, type Notification } from './notification.service';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Angular component that renders the notification container with active notifications.
6
+ */
7
+ export declare class NotificationServiceComponent implements OnInit, OnDestroy {
8
+ private notificationService;
9
+ /**
10
+ * Position of the notification container on the screen.
11
+ */
12
+ position?: string;
13
+ /**
14
+ * Additional CSS class name for the notification container.
15
+ */
16
+ className?: string;
17
+ /**
18
+ * Array of active notifications.
19
+ */
20
+ notifications: Notification[];
21
+ /**
22
+ * References to the notification elements.
23
+ */
24
+ private notificationEls;
25
+ private subscription?;
26
+ constructor(notificationService: NotificationService);
27
+ /**
28
+ * Component initialization.
29
+ */
30
+ ngOnInit(): void;
31
+ /**
32
+ * Synchronize notification elements/refs with the service.
33
+ */
34
+ ngAfterViewInit(): void;
35
+ /**
36
+ * Component cleanup.
37
+ */
38
+ ngOnDestroy(): void;
39
+ /**
40
+ * Track function for ngFor to optimize rendering.
41
+ *
42
+ * @param {number} index The index of the item
43
+ * @param {Notification} notification The notification item
44
+ * @returns {string} The notification ID
45
+ */
46
+ trackByNotificationId(index: number, notification: Notification): string | undefined;
47
+ /**
48
+ * Handle notification hidden state change.
49
+ *
50
+ * @param {CustomEvent<boolean>} event The hidden changed event
51
+ * @param {string} id The notification ID
52
+ */
53
+ handleHiddenChanged(event: CustomEvent<boolean>, id?: string): void;
54
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotificationServiceComponent, never>;
55
+ static ɵcmp: i0.ɵɵComponentDeclaration<NotificationServiceComponent, "nv-notification-service", never, { "position": { "alias": "position"; "required": false; }; "className": { "alias": "className"; "required": false; }; }, {}, never, never, true, never>;
56
+ }
@@ -0,0 +1,116 @@
1
+ import { type Type } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { NotificationEmphasis, FeedbackColors } from '@nova-design-system/nova-webcomponents';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Action callbacks for notifications. Will render buttons automatically.
7
+ */
8
+ export interface NotificationAction {
9
+ /** The label of the action. */
10
+ label: string;
11
+ /** The callback to execute when the action is clicked. */
12
+ onClick: () => void;
13
+ }
14
+ /**
15
+ * Options for creating a notification.
16
+ */
17
+ export interface NotificationOptions {
18
+ /** Unique identifier for the notification. If not provided, one will be generated. */
19
+ id?: string;
20
+ /** Short and concise text for the notification heading. */
21
+ heading?: string;
22
+ /** Main content of the notification. */
23
+ message?: string;
24
+ /** Whether the notification can be manually dismissed via close button. */
25
+ dismissible?: boolean;
26
+ /** Adjusts the emphasis to make the notification more or less visually
27
+ * prominent to users. Use this to draw attention to important actions or
28
+ * reduce focus on less critical ones */
29
+ emphasis?: `${NotificationEmphasis}`;
30
+ /** Type of the notification, used to determine the color and default icon. */
31
+ feedback?: `${FeedbackColors}`;
32
+ /** Custom icon name to override the default icon. */
33
+ icon?: string;
34
+ /** Notification actions */
35
+ actions?: NotificationAction[];
36
+ /** Custom components for the notification actions. */
37
+ actionSlot?: Type<unknown>;
38
+ }
39
+ /**
40
+ * A notification with all required fields populated.
41
+ */
42
+ export interface Notification extends NotificationOptions {
43
+ /** Timestamp when the notification was created. */
44
+ createdAt: number;
45
+ }
46
+ /**
47
+ * Configuration options for the NotificationService.
48
+ */
49
+ export interface NotificationServiceConfig {
50
+ /** Position of the notification container on the screen. */
51
+ position?: string;
52
+ /** Maximum number of notifications to display at once. */
53
+ maxNotifications?: number;
54
+ /** Additional CSS class name for the notification container. */
55
+ className?: string;
56
+ }
57
+ /**
58
+ * Angular service for managing notifications.
59
+ */
60
+ export declare class NotificationService {
61
+ private readonly _notifications;
62
+ private readonly _config;
63
+ /**
64
+ * Observable stream of active notifications.
65
+ */
66
+ readonly notifications$: Observable<Notification[]>;
67
+ /**
68
+ * Current array of notifications.
69
+ *
70
+ * @returns {Notification[]} Array of active notifications
71
+ */
72
+ get notifications(): Notification[];
73
+ constructor();
74
+ /**
75
+ * Configure the notification service.
76
+ *
77
+ * @param {NotificationServiceConfig} config Configuration options
78
+ */
79
+ configure(config: NotificationServiceConfig): void;
80
+ /**
81
+ * Get the current configuration.
82
+ *
83
+ * @returns {Required<NotificationServiceConfig>} Current configuration
84
+ */
85
+ get config(): Required<NotificationServiceConfig>;
86
+ private elRefs;
87
+ registerRef(id: string, el: HTMLNvNotificationElement): void;
88
+ unregisterRef(id: string): void;
89
+ clearRefs(): void;
90
+ /**
91
+ * Show a new notification.
92
+ *
93
+ * @param {NotificationOptions} options The notification options
94
+ * @returns {string} The notification ID
95
+ */
96
+ show(options: NotificationOptions): string;
97
+ /**
98
+ * Dismiss a specific notification by ID. This will remove the notification
99
+ * after the animation completes.
100
+ *
101
+ * @param {string} id The notification ID to dismiss
102
+ */
103
+ dismiss(id: string): void;
104
+ /**
105
+ * Immediately remove a specific notification by ID.
106
+ *
107
+ * @param {string} id The notification ID to dismiss
108
+ */
109
+ remove(id: string): void;
110
+ /**
111
+ * Immediately remove all active notifications.
112
+ */
113
+ removeAll(): void;
114
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotificationService, never>;
115
+ static ɵprov: i0.ɵɵInjectableDeclaration<NotificationService>;
116
+ }
@@ -512,7 +512,7 @@ export declare class NvNotification {
512
512
  protected el: HTMLNvNotificationElement;
513
513
  constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
514
514
  static ɵfac: i0.ɵɵFactoryDeclaration<NvNotification, never>;
515
- static ɵcmp: i0.ɵɵComponentDeclaration<NvNotification, "nv-notification", never, { "dismissible": { "alias": "dismissible"; "required": false; }; "emphasis": { "alias": "emphasis"; "required": false; }; "feedback": { "alias": "feedback"; "required": false; }; "heading": { "alias": "heading"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "message": { "alias": "message"; "required": false; }; "uid": { "alias": "uid"; "required": false; }; }, {}, never, ["*"], false, never>;
515
+ static ɵcmp: i0.ɵɵComponentDeclaration<NvNotification, "nv-notification", never, { "dismissible": { "alias": "dismissible"; "required": false; }; "emphasis": { "alias": "emphasis"; "required": false; }; "feedback": { "alias": "feedback"; "required": false; }; "heading": { "alias": "heading"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "initiallyHidden": { "alias": "initiallyHidden"; "required": false; }; "message": { "alias": "message"; "required": false; }; "uid": { "alias": "uid"; "required": false; }; }, {}, never, ["*"], false, never>;
516
516
  }
517
517
  export declare interface NvNotification extends Components.NvNotification {
518
518
  /**
@@ -521,6 +521,15 @@ export declare interface NvNotification extends Components.NvNotification {
521
521
  */
522
522
  hiddenChanged: EventEmitter<CustomEvent<boolean>>;
523
523
  }
524
+ export declare class NvNotificationcontainer {
525
+ protected z: NgZone;
526
+ protected el: HTMLNvNotificationcontainerElement;
527
+ constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
528
+ static ɵfac: i0.ɵɵFactoryDeclaration<NvNotificationcontainer, never>;
529
+ static ɵcmp: i0.ɵɵComponentDeclaration<NvNotificationcontainer, "nv-notificationcontainer", never, { "position": { "alias": "position"; "required": false; }; }, {}, never, ["*"], false, never>;
530
+ }
531
+ export declare interface NvNotificationcontainer extends Components.NvNotificationcontainer {
532
+ }
524
533
  export declare class NvPopover {
525
534
  protected z: NgZone;
526
535
  protected el: HTMLNvPopoverElement;
@@ -1,2 +1,2 @@
1
1
  import * as d from './components';
2
- export declare const DIRECTIVES: (typeof d.NvAccordion | typeof d.NvAccordionItem | typeof d.NvAlert | typeof d.NvAvatar | typeof d.NvBadge | typeof d.NvBreadcrumb | typeof d.NvBreadcrumbs | typeof d.NvButton | typeof d.NvButtongroup | typeof d.NvCalendar | typeof d.NvCol | typeof d.NvDatagrid | typeof d.NvDatagridcolumn | typeof d.NvDialog | typeof d.NvDialogfooter | typeof d.NvDialogheader | typeof d.NvFieldcheckbox | typeof d.NvFielddate | typeof d.NvFielddaterange | typeof d.NvFielddropdown | typeof d.NvFielddropdownitem | typeof d.NvFielddropdownitemcheck | typeof d.NvFieldmultiselect | typeof d.NvFieldnumber | typeof d.NvFieldpassword | typeof d.NvFieldradio | typeof d.NvFieldselect | typeof d.NvFieldslider | typeof d.NvFieldtext | typeof d.NvFieldtextarea | typeof d.NvFieldtime | typeof d.NvIcon | typeof d.NvIconbutton | typeof d.NvLoader | typeof d.NvMenu | typeof d.NvMenuitem | typeof d.NvNotification | typeof d.NvPopover | typeof d.NvRow | typeof d.NvStack | typeof d.NvTable | typeof d.NvTablecolumn | typeof d.NvToggle | typeof d.NvTogglebutton | typeof d.NvTogglebuttongroup | typeof d.NvTooltip)[];
2
+ export declare const DIRECTIVES: (typeof d.NvAccordion | typeof d.NvAccordionItem | typeof d.NvAlert | typeof d.NvAvatar | typeof d.NvBadge | typeof d.NvBreadcrumb | typeof d.NvBreadcrumbs | typeof d.NvButton | typeof d.NvButtongroup | typeof d.NvCalendar | typeof d.NvCol | typeof d.NvDatagrid | typeof d.NvDatagridcolumn | typeof d.NvDialog | typeof d.NvDialogfooter | typeof d.NvDialogheader | typeof d.NvFieldcheckbox | typeof d.NvFielddate | typeof d.NvFielddaterange | typeof d.NvFielddropdown | typeof d.NvFielddropdownitem | typeof d.NvFielddropdownitemcheck | typeof d.NvFieldmultiselect | typeof d.NvFieldnumber | typeof d.NvFieldpassword | typeof d.NvFieldradio | typeof d.NvFieldselect | typeof d.NvFieldslider | typeof d.NvFieldtext | typeof d.NvFieldtextarea | typeof d.NvFieldtime | typeof d.NvIcon | typeof d.NvIconbutton | typeof d.NvLoader | typeof d.NvMenu | typeof d.NvMenuitem | typeof d.NvNotification | typeof d.NvNotificationcontainer | typeof d.NvPopover | typeof d.NvRow | typeof d.NvStack | typeof d.NvTable | typeof d.NvTablecolumn | typeof d.NvToggle | typeof d.NvTogglebutton | typeof d.NvTogglebuttongroup | typeof d.NvTooltip)[];
@@ -1,4 +1,5 @@
1
1
  export * from './lib/nova-components.module';
2
2
  export * from './lib/stencil-generated/components';
3
3
  export * from './lib/stencil-generated/component-value-accessors';
4
+ export * from './lib/providers';
4
5
  export * from '@nova-design-system/nova-webcomponents/constants';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nova-design-system/nova-angular-19",
3
- "version": "3.13.0",
3
+ "version": "3.14.0-beta.0",
4
4
  "description": "Nova is a design system created by Elia Group to empower creators to efficiently build solutions that people love to use.",
5
5
  "author": "Elia Group",
6
6
  "homepage": "https://nova.eliagroup.io",
@@ -12,10 +12,11 @@
12
12
  "scripts": {
13
13
  "ng": "ng",
14
14
  "start": "ng serve",
15
- "build": "ng build",
15
+ "build": "npm run copy:providers && ng build",
16
16
  "watch": "ng build --watch --configuration development",
17
17
  "test": "ng test",
18
- "clean": "rimraf dist .angular projects/nova-components/src/lib/stencil-generated",
18
+ "copy:providers": "shx mkdir -p projects/nova-components/src/lib/providers && shx cp -r ../angular/projects/nova-components/src/lib/providers/* projects/nova-components/src/lib/providers",
19
+ "clean": "rimraf dist .angular projects/nova-components/src/lib/stencil-generated projects/nova-components/src/lib/providers",
19
20
  "storybook": "ng run nova-components:storybook",
20
21
  "storybook.build": "ng run nova-components:storybook.build",
21
22
  "typecheck": "tsc --emitDeclarationOnly false --noEmit"