@odx/angular 5.3.4 → 5.5.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.
- package/CHANGELOG.md +18 -0
- package/components/footer/README.md +3 -0
- package/components/footer/index.d.ts +3 -0
- package/components/footer/lib/footer.component.d.ts +23 -0
- package/components/footer/lib/footer.config.d.ts +30 -0
- package/components/footer/lib/footer.i18n.d.ts +3 -0
- package/components/footer/lib/helpers/create-footer-links.d.ts +12 -0
- package/components/footer/lib/helpers/index.d.ts +1 -0
- package/components/footer/lib/models/footer-link.d.ts +4 -0
- package/components/footer/lib/models/footer-variant.d.ts +5 -0
- package/components/footer/lib/models/index.d.ts +2 -0
- package/components/header/lib/header.component.d.ts +1 -1
- package/components/header-navigation/README.md +3 -0
- package/components/header-navigation/index.d.ts +3 -0
- package/components/header-navigation/lib/directives/header-navigation-link.directive.d.ts +11 -0
- package/components/header-navigation/lib/directives/index.d.ts +1 -0
- package/components/header-navigation/lib/header-navigation.component.d.ts +8 -0
- package/components/header-navigation/lib/header-navigation.module.d.ts +9 -0
- package/components/main-menu/lib/helpers/create-main-menu-links.d.ts +2 -1
- package/components/main-menu/lib/main-menu.component.d.ts +5 -5
- package/components/main-menu/lib/main-menu.config.d.ts +1 -0
- package/components/notification/README.md +3 -0
- package/components/notification/index.d.ts +7 -0
- package/components/notification/lib/components/index.d.ts +2 -0
- package/components/notification/lib/components/notification-center/notification-center.component.d.ts +19 -0
- package/components/notification/lib/components/notification-item/notification-item.component.d.ts +37 -0
- package/components/notification/lib/directives/index.d.ts +1 -0
- package/components/notification/lib/directives/notification-center.directive.d.ts +69 -0
- package/components/notification/lib/features/index.d.ts +5 -0
- package/components/notification/lib/features/with-browser-notifications.d.ts +17 -0
- package/components/notification/lib/features/with-load-notifications.d.ts +18 -0
- package/components/notification/lib/features/with-notification-transformer.d.ts +26 -0
- package/components/notification/lib/features/with-peristent-notifications.d.ts +63 -0
- package/components/notification/lib/features/with-save-notifications.d.ts +11 -0
- package/components/notification/lib/helpers/get-notifications-by-tag.d.ts +2 -0
- package/components/notification/lib/helpers/index.d.ts +3 -0
- package/components/notification/lib/helpers/sort-notifications.d.ts +3 -0
- package/components/notification/lib/helpers/to-notification-collection.d.ts +3 -0
- package/components/notification/lib/models/index.d.ts +8 -0
- package/components/notification/lib/models/notification-action.d.ts +2 -0
- package/components/notification/lib/models/notification-collection.d.ts +6 -0
- package/components/notification/lib/models/notification-feature.d.ts +5 -0
- package/components/notification/lib/models/notification-options.d.ts +7 -0
- package/components/notification/lib/models/notification-query.d.ts +2 -0
- package/components/notification/lib/models/notification-sort-fn.d.ts +2 -0
- package/components/notification/lib/models/notification.d.ts +6 -0
- package/components/notification/lib/models/notification.ref.d.ts +9 -0
- package/components/notification/lib/notification.config.d.ts +11 -0
- package/components/notification/lib/notification.i18n.d.ts +3 -0
- package/components/notification/lib/notification.logger.d.ts +3 -0
- package/components/notification/lib/notification.service.d.ts +110 -0
- package/components/notification/lib/notification.tokens.d.ts +4 -0
- package/components/notification/lib/services/index.d.ts +1 -0
- package/components/notification/lib/services/notification-center.service.d.ts +69 -0
- package/components/notification/testing/README.md +3 -0
- package/components/notification/testing/index.d.ts +1 -0
- package/components/notification/testing/lib/test-helpers.d.ts +5 -0
- package/components/toast/lib/toast.service.d.ts +30 -2
- package/esm2022/breakpoints/lib/directives/match-breakpoints.directive.mjs +3 -2
- package/esm2022/components/footer/index.mjs +4 -0
- package/esm2022/components/footer/lib/footer.component.mjs +51 -0
- package/esm2022/components/footer/lib/footer.config.mjs +29 -0
- package/esm2022/components/footer/lib/footer.i18n.mjs +19 -0
- package/esm2022/components/footer/lib/helpers/create-footer-links.mjs +25 -0
- package/esm2022/components/footer/lib/helpers/index.mjs +2 -0
- package/esm2022/components/footer/lib/models/footer-link.mjs +2 -0
- package/esm2022/components/footer/lib/models/footer-variant.mjs +5 -0
- package/esm2022/components/footer/lib/models/index.mjs +3 -0
- package/esm2022/components/footer/odx-angular-components-footer.mjs +5 -0
- package/esm2022/components/header/lib/header.component.mjs +3 -3
- package/esm2022/components/header-navigation/index.mjs +4 -0
- package/esm2022/components/header-navigation/lib/directives/header-navigation-link.directive.mjs +37 -0
- package/esm2022/components/header-navigation/lib/directives/index.mjs +2 -0
- package/esm2022/components/header-navigation/lib/header-navigation.component.mjs +28 -0
- package/esm2022/components/header-navigation/lib/header-navigation.module.mjs +19 -0
- package/esm2022/components/header-navigation/odx-angular-components-header-navigation.mjs +5 -0
- package/esm2022/components/main-menu/lib/helpers/create-main-menu-links.mjs +7 -4
- package/esm2022/components/main-menu/lib/main-menu.component.mjs +9 -11
- package/esm2022/components/main-menu/lib/main-menu.config.mjs +1 -1
- package/esm2022/components/notification/index.mjs +8 -0
- package/esm2022/components/notification/lib/components/index.mjs +3 -0
- package/esm2022/components/notification/lib/components/notification-center/notification-center.component.mjs +65 -0
- package/esm2022/components/notification/lib/components/notification-item/notification-item.component.mjs +65 -0
- package/esm2022/components/notification/lib/directives/index.mjs +2 -0
- package/esm2022/components/notification/lib/directives/notification-center.directive.mjs +142 -0
- package/esm2022/components/notification/lib/features/index.mjs +6 -0
- package/esm2022/components/notification/lib/features/with-browser-notifications.mjs +75 -0
- package/esm2022/components/notification/lib/features/with-load-notifications.mjs +45 -0
- package/esm2022/components/notification/lib/features/with-notification-transformer.mjs +34 -0
- package/esm2022/components/notification/lib/features/with-peristent-notifications.mjs +94 -0
- package/esm2022/components/notification/lib/features/with-save-notifications.mjs +45 -0
- package/esm2022/components/notification/lib/helpers/get-notifications-by-tag.mjs +7 -0
- package/esm2022/components/notification/lib/helpers/index.mjs +4 -0
- package/esm2022/components/notification/lib/helpers/sort-notifications.mjs +10 -0
- package/esm2022/components/notification/lib/helpers/to-notification-collection.mjs +9 -0
- package/esm2022/components/notification/lib/models/index.mjs +9 -0
- package/esm2022/components/notification/lib/models/notification-action.mjs +2 -0
- package/esm2022/components/notification/lib/models/notification-collection.mjs +2 -0
- package/esm2022/components/notification/lib/models/notification-feature.mjs +4 -0
- package/esm2022/components/notification/lib/models/notification-options.mjs +2 -0
- package/esm2022/components/notification/lib/models/notification-query.mjs +2 -0
- package/esm2022/components/notification/lib/models/notification-sort-fn.mjs +2 -0
- package/esm2022/components/notification/lib/models/notification.mjs +2 -0
- package/esm2022/components/notification/lib/models/notification.ref.mjs +2 -0
- package/esm2022/components/notification/lib/notification.config.mjs +11 -0
- package/esm2022/components/notification/lib/notification.i18n.mjs +11 -0
- package/esm2022/components/notification/lib/notification.logger.mjs +3 -0
- package/esm2022/components/notification/lib/notification.service.mjs +168 -0
- package/esm2022/components/notification/lib/notification.tokens.mjs +7 -0
- package/esm2022/components/notification/lib/services/index.mjs +2 -0
- package/esm2022/components/notification/lib/services/notification-center.service.mjs +96 -0
- package/esm2022/components/notification/odx-angular-components-notification.mjs +5 -0
- package/esm2022/components/notification/testing/index.mjs +2 -0
- package/esm2022/components/notification/testing/lib/test-helpers.mjs +33 -0
- package/esm2022/components/notification/testing/odx-angular-components-notification-testing.mjs +5 -0
- package/esm2022/components/toast/lib/components/toast-container/toast-container.component.mjs +6 -6
- package/esm2022/components/toast/lib/toast.service.mjs +38 -8
- package/esm2022/utils/lib/helpers/array.mjs +24 -1
- package/esm2022/utils/lib/helpers/build-website-url.mjs +24 -1
- package/fesm2022/odx-angular-breakpoints.mjs +2 -1
- package/fesm2022/odx-angular-breakpoints.mjs.map +1 -1
- package/fesm2022/odx-angular-components-footer.mjs +131 -0
- package/fesm2022/odx-angular-components-footer.mjs.map +1 -0
- package/fesm2022/odx-angular-components-header-navigation.mjs +84 -0
- package/fesm2022/odx-angular-components-header-navigation.mjs.map +1 -0
- package/fesm2022/odx-angular-components-header.mjs +2 -2
- package/fesm2022/odx-angular-components-header.mjs.map +1 -1
- package/fesm2022/odx-angular-components-main-menu.mjs +11 -9
- package/fesm2022/odx-angular-components-main-menu.mjs.map +1 -1
- package/fesm2022/odx-angular-components-notification-testing.mjs +39 -0
- package/fesm2022/odx-angular-components-notification-testing.mjs.map +1 -0
- package/fesm2022/odx-angular-components-notification.mjs +832 -0
- package/fesm2022/odx-angular-components-notification.mjs.map +1 -0
- package/fesm2022/odx-angular-components-toast.mjs +42 -11
- package/fesm2022/odx-angular-components-toast.mjs.map +1 -1
- package/fesm2022/odx-angular-utils.mjs +46 -0
- package/fesm2022/odx-angular-utils.mjs.map +1 -1
- package/package.json +25 -1
- package/utils/lib/helpers/array.d.ts +23 -0
- package/utils/lib/helpers/build-website-url.d.ts +23 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EnvironmentProviders } from '@angular/core';
|
|
2
|
+
import { NotificationAction, NotificationFeature, NotificationOptions, NotificationSortFn } from './models';
|
|
3
|
+
export interface NotificationConfig {
|
|
4
|
+
defaultIdPrefix: string;
|
|
5
|
+
options: NotificationOptions;
|
|
6
|
+
sortFn: NotificationSortFn;
|
|
7
|
+
tagToIconMap?: Record<string, string>;
|
|
8
|
+
actionMap?: Record<string, NotificationAction>;
|
|
9
|
+
}
|
|
10
|
+
export declare const NotificationConfig: import("@angular/core").InjectionToken<Partial<NotificationConfig>>, NotificationDefaultConfig: NotificationConfig, injectNotificationConfig: () => NotificationConfig, provideNotificationConfig: <D extends import("@odx/angular/utils").ConfigDependencies<unknown> = import("@odx/angular/utils").ConfigDependencies<Partial<NotificationConfig>>>(config: import("@odx/angular/utils").ConfigProvider<Partial<NotificationConfig>, D>) => import("@angular/core").ValueProvider | import("@angular/core").FactoryProvider;
|
|
11
|
+
export declare function provideNotifications(config?: Partial<NotificationConfig>, ...features: NotificationFeature[]): EnvironmentProviders;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { Notification, NotificationCollection, NotificationOptions, NotificationQuery, NotificationRef, NotificationSortFn } from './models';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class NotificationService {
|
|
5
|
+
private readonly config;
|
|
6
|
+
private readonly localizationService;
|
|
7
|
+
private readonly queue;
|
|
8
|
+
private readonly injector;
|
|
9
|
+
readonly notifications$: Observable<NotificationCollection>;
|
|
10
|
+
readonly unseenNotifications$: Observable<NotificationCollection>;
|
|
11
|
+
readonly onNotificationAdd$: Observable<NotificationRef>;
|
|
12
|
+
readonly onNotificationRemove$: Observable<NotificationRef>;
|
|
13
|
+
readonly onNotificationUpdate$: Observable<NotificationRef>;
|
|
14
|
+
readonly onNotificationSeen$: Observable<NotificationRef>;
|
|
15
|
+
/**
|
|
16
|
+
* Fetches notifications filtered by a specified query and optionally sorted by a custom sort function.
|
|
17
|
+
*
|
|
18
|
+
* @param {NotificationQuery} query - A function or object to filter notifications.
|
|
19
|
+
* @param {NotificationSortFn} [sortFn] - An optional sorting function to order the filtered notifications.
|
|
20
|
+
* @returns {Observable<NotificationCollection>} An observable stream of the filtered (and optionally sorted) notification collection.
|
|
21
|
+
* @example
|
|
22
|
+
* // Fetch notifications with a specific tag, sorted by creation date
|
|
23
|
+
* const sortedNotifications$ = notificationService.getNotificationsBy$(
|
|
24
|
+
* notification => notification.tags.includes('important'),
|
|
25
|
+
* (a, b) => b.createdAt - a.createdAt
|
|
26
|
+
* );
|
|
27
|
+
*/
|
|
28
|
+
getNotificationsBy$(query: NotificationQuery, sortFn?: NotificationSortFn): Observable<NotificationCollection>;
|
|
29
|
+
/**
|
|
30
|
+
* Loads a list of notifications into the service.
|
|
31
|
+
*
|
|
32
|
+
* @param {NotificationRef[]} refs - An array of notification references to be loaded.
|
|
33
|
+
* @example
|
|
34
|
+
* // Load multiple notifications at once
|
|
35
|
+
* notificationService.load([
|
|
36
|
+
* { id: '1', item: { title: 'Notification 1' }, options: {dismissable: true, icon: 'plus', tags: ['important']}, hasBeenSeen: false, createdAt: Date.now() },
|
|
37
|
+
* { id: '2', item: { title: 'Notification 2' }, options: {dismissable: true, icon: 'plus', tags: ['important']}, hasBeenSeen: false, createdAt: Date.now() }
|
|
38
|
+
* ]);
|
|
39
|
+
*/
|
|
40
|
+
load(refs: NotificationRef[]): void;
|
|
41
|
+
/**
|
|
42
|
+
* Creates a new notification and adds it to the notification queue.
|
|
43
|
+
*
|
|
44
|
+
* @param {Notification} item - The notification to create.
|
|
45
|
+
* @param {Partial<NotificationOptions>} [options] - Optional settings for the notification.
|
|
46
|
+
* @example
|
|
47
|
+
* // Create a new notification with custom options
|
|
48
|
+
* notificationService.create(
|
|
49
|
+
* { title: 'New Notification' },
|
|
50
|
+
* { dismissable: true, icon: 'plus', tags: ['important'] }
|
|
51
|
+
* );
|
|
52
|
+
*/
|
|
53
|
+
create(item: Notification, options?: Partial<NotificationOptions>): void;
|
|
54
|
+
/**
|
|
55
|
+
* Marks a specific notification as seen.
|
|
56
|
+
*
|
|
57
|
+
* @param {NotificationRef} notificationRef - The reference to the notification to mark as seen.
|
|
58
|
+
* @example
|
|
59
|
+
* // Mark a notification as seen by its reference
|
|
60
|
+
* notificationService.markAsSeen(notificationRef);
|
|
61
|
+
*/
|
|
62
|
+
markAsSeen(notificationRef: NotificationRef): void;
|
|
63
|
+
/**
|
|
64
|
+
* Marks all notifications that match a specific query as seen.
|
|
65
|
+
*
|
|
66
|
+
* @param {NotificationQuery} query - The query to match notifications to mark as seen.
|
|
67
|
+
* @example
|
|
68
|
+
* // Mark all notifications with a specific tag as seen
|
|
69
|
+
* notificationService.markAsSeenBy(notification => notification.tags.includes('important'));
|
|
70
|
+
*/
|
|
71
|
+
markAsSeenBy(query: NotificationQuery): void;
|
|
72
|
+
/**
|
|
73
|
+
* Dismisses a specific notification.
|
|
74
|
+
*
|
|
75
|
+
* @param {NotificationRef} notificationRef - The reference to the notification to dismiss.
|
|
76
|
+
* @example
|
|
77
|
+
* // Dismiss a notification by its reference
|
|
78
|
+
* notificationService.dismiss(notificationRef);
|
|
79
|
+
*/
|
|
80
|
+
dismiss(notificationRef: NotificationRef): void;
|
|
81
|
+
/**
|
|
82
|
+
* Dismisses all notifications that match a specific query.
|
|
83
|
+
*
|
|
84
|
+
* @param {NotificationQuery} query - The query to match notifications to dismiss.
|
|
85
|
+
* @example
|
|
86
|
+
* // Dismiss all notifications with a specific tag
|
|
87
|
+
* notificationService.dismissBy(notification => notification.tags.includes('expired'));
|
|
88
|
+
*/
|
|
89
|
+
dismissBy(query: NotificationQuery): void;
|
|
90
|
+
/**
|
|
91
|
+
* Dismisses all notifications.
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* // Dismiss all notifications
|
|
95
|
+
* notificationService.dismissAll();
|
|
96
|
+
*/
|
|
97
|
+
dismissAll(): void;
|
|
98
|
+
/**
|
|
99
|
+
* Executes the action associated with a specific notification.
|
|
100
|
+
*
|
|
101
|
+
* @param {NotificationRef} notificationRef - The reference to the notification whose action to execute.
|
|
102
|
+
* @example
|
|
103
|
+
* // Execute action for a notification
|
|
104
|
+
* notificationService.executeAction(notificationRef);
|
|
105
|
+
*/
|
|
106
|
+
executeAction(notificationRef: NotificationRef): void;
|
|
107
|
+
private resolveOptions;
|
|
108
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationService, never>;
|
|
109
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NotificationService>;
|
|
110
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './notification-center.service';
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { DynamicTextContent } from '@odx/angular/cdk/dynamic-view';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { NotificationRef, NotificationSortFn } from '../models';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* A service for managing the notification center. This service provides functionalities
|
|
7
|
+
* to filter, sort, and manage actions on notifications.
|
|
8
|
+
*/
|
|
9
|
+
export declare class NotificationCenterService {
|
|
10
|
+
private readonly currentTag;
|
|
11
|
+
private readonly currentSortFn;
|
|
12
|
+
private readonly notificationService;
|
|
13
|
+
private readonly notificationQuery;
|
|
14
|
+
private readonly title;
|
|
15
|
+
readonly title$: Observable<string | null>;
|
|
16
|
+
readonly notifications$: Observable<import("../models").NotificationCollection>;
|
|
17
|
+
readonly unseenNotifications$: Observable<import("../models").NotificationCollection>;
|
|
18
|
+
onNotificationAdd$: Observable<NotificationRef>;
|
|
19
|
+
onNotificationUpdate$: Observable<NotificationRef>;
|
|
20
|
+
onNotificationRemove$: Observable<NotificationRef>;
|
|
21
|
+
onNotificationSeen$: Observable<NotificationRef>;
|
|
22
|
+
/**
|
|
23
|
+
* Sets the title for the notification center. The title can be static text or an observable for dynamic content.
|
|
24
|
+
*
|
|
25
|
+
* @param {DynamicTextContent | null} [value] - The title content for the notification center.
|
|
26
|
+
*/
|
|
27
|
+
setTitle(value?: DynamicTextContent | null): void;
|
|
28
|
+
/**
|
|
29
|
+
* Sets the current tag to filter notifications. Only notifications with this tag will be included.
|
|
30
|
+
*
|
|
31
|
+
* @param {string | null} [value] - The tag to filter notifications by.
|
|
32
|
+
*/
|
|
33
|
+
setTag(value?: string | null): void;
|
|
34
|
+
/**
|
|
35
|
+
* Sets the sort function used to order the notifications.
|
|
36
|
+
*
|
|
37
|
+
* @param {NotificationSortFn} [value] - The sort function to apply to the notifications.
|
|
38
|
+
*/
|
|
39
|
+
setSortFn(value?: NotificationSortFn): void;
|
|
40
|
+
/**
|
|
41
|
+
* Marks a given notification as seen. This does not remove the notification but updates its seen status.
|
|
42
|
+
*
|
|
43
|
+
* @param {NotificationRef} notificationRef - The reference to the notification to be marked as seen.
|
|
44
|
+
*/
|
|
45
|
+
markAsSeen(notificationRef: NotificationRef): void;
|
|
46
|
+
/**
|
|
47
|
+
* Marks all current filtered notifications as seen.
|
|
48
|
+
*/
|
|
49
|
+
markAllAsSeen(): void;
|
|
50
|
+
/**
|
|
51
|
+
* Dismisses a specific notification.
|
|
52
|
+
*
|
|
53
|
+
* @param {NotificationRef} notificationRef - The reference to the notification to dismiss.
|
|
54
|
+
*/
|
|
55
|
+
dismiss(notificationRef: NotificationRef): void;
|
|
56
|
+
/**
|
|
57
|
+
* Dismisses all notifications that match the current filter criteria.
|
|
58
|
+
*/
|
|
59
|
+
dismissAll(): void;
|
|
60
|
+
/**
|
|
61
|
+
* Executes the action associated with a specific notification and marks it as seen.
|
|
62
|
+
*
|
|
63
|
+
* @param {NotificationRef} notificationRef - The reference to the notification whose action to execute.
|
|
64
|
+
*/
|
|
65
|
+
executeAction(notificationRef: NotificationRef): void;
|
|
66
|
+
private queryEvent;
|
|
67
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationCenterService, never>;
|
|
68
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NotificationCenterService>;
|
|
69
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib/test-helpers';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Notification, NotificationCollection, NotificationOptions, NotificationRef } from '@odx/angular/components/notification';
|
|
2
|
+
export declare function mockNotification(props?: Partial<Notification>): Notification;
|
|
3
|
+
export declare function mockNotificationOptions(props?: Partial<NotificationOptions>): NotificationOptions;
|
|
4
|
+
export declare function mockNotificationRef(props?: Partial<NotificationRef>): NotificationRef;
|
|
5
|
+
export declare function mockNotificationCollection(refs: NotificationRef[]): NotificationCollection;
|
|
@@ -2,15 +2,43 @@ import { Toast, ToastOptions, ToastRef } from './models';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class ToastService {
|
|
4
4
|
private readonly queue;
|
|
5
|
-
private readonly onRemove$$;
|
|
6
5
|
private readonly defaultOptions;
|
|
6
|
+
readonly toasts$: import("rxjs").Observable<(ToastRef & {
|
|
7
|
+
id: string | number;
|
|
8
|
+
})[]>;
|
|
9
|
+
readonly onUpdate$: import("rxjs").Observable<ToastRef>;
|
|
10
|
+
readonly onToastAdd$: import("rxjs").Observable<ToastRef>;
|
|
11
|
+
readonly onToastUpdate$: import("rxjs").Observable<ToastRef>;
|
|
12
|
+
readonly onToastRemove$: import("rxjs").Observable<ToastRef>;
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated Use `toasts$` instead
|
|
15
|
+
*/
|
|
7
16
|
readonly queue$: import("rxjs").Observable<(ToastRef & {
|
|
8
17
|
id: string | number;
|
|
9
18
|
})[]>;
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated Use `onToastAdd$` instead
|
|
21
|
+
*/
|
|
22
|
+
readonly onAdd$: import("rxjs").Observable<ToastRef>;
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated Use `onToastRemove$` instead
|
|
25
|
+
*/
|
|
10
26
|
readonly onRemove$: import("rxjs").Observable<ToastRef>;
|
|
27
|
+
/**
|
|
28
|
+
* @deprecated Use `create` instead
|
|
29
|
+
*/
|
|
11
30
|
add(item: Toast, options?: Partial<ToastOptions>): ToastRef;
|
|
12
|
-
|
|
31
|
+
create(item: Toast, options?: Partial<ToastOptions>): ToastRef;
|
|
32
|
+
/**
|
|
33
|
+
* @deprecated Use `dismiss` instead
|
|
34
|
+
*/
|
|
35
|
+
remove(refOrId: ToastRef | ToastRef['id']): ToastRef | null;
|
|
36
|
+
dismiss(refOrId: ToastRef | ToastRef['id']): ToastRef | null;
|
|
37
|
+
/**
|
|
38
|
+
* @deprecated Use `dismissAll` instead
|
|
39
|
+
*/
|
|
13
40
|
clear(): void;
|
|
41
|
+
dismissAll(): void;
|
|
14
42
|
static ɵfac: i0.ɵɵFactoryDeclaration<ToastService, never>;
|
|
15
43
|
static ɵprov: i0.ɵɵInjectableDeclaration<ToastService>;
|
|
16
44
|
}
|
|
@@ -25,7 +25,8 @@ export class MatchBreakpointsDirective {
|
|
|
25
25
|
this.viewContainer.clear();
|
|
26
26
|
const template = matchesBreakpoints ? this.template : this.elseTemplate;
|
|
27
27
|
if (template) {
|
|
28
|
-
this.viewContainer.createEmbeddedView(template);
|
|
28
|
+
const viewRef = this.viewContainer.createEmbeddedView(template);
|
|
29
|
+
viewRef.markForCheck();
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
32
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MatchBreakpointsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
@@ -44,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
44
45
|
type: Input,
|
|
45
46
|
args: ['odxMatchBreakpointsElse']
|
|
46
47
|
}] } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2gtYnJlYWtwb2ludHMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2JyZWFrcG9pbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9tYXRjaC1icmVha3BvaW50cy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFPNUQsTUFBTSxPQUFPLHlCQUF5QjtJQUp0QztRQUttQixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFtQixFQUFFLENBQUMsQ0FBQztRQUMxRCx1QkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNoRCx1QkFBa0IsR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUN0QyxhQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9CLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFPMUQsMkRBQTJEO1FBRXBELGlCQUFZLEdBQWlDLElBQUksQ0FBQztLQW9CMUQ7SUEzQkMsSUFDVyxXQUFXLENBQUMsS0FBMkQ7UUFDaEYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFNTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLGFBQWE7YUFDZixJQUFJLENBQ0gsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQ3hFLEdBQUcsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFDNUQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQzFCO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxrQkFBMkI7UUFDeEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixNQUFNLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN4RSxJQUFJLFFBQVEsRUFBRTtZQUNaLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDaEUsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzsrR0FqQ1UseUJBQXlCO21HQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxrQ0FBa0M7aUJBQzdDOzhCQVNZLFdBQVc7c0JBRHJCLEtBQUs7dUJBQUMscUJBQXFCO2dCQU9yQixZQUFZO3NCQURsQixLQUFLO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQXJyYXksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJyZWFrcG9pbnRzU2VydmljZSB9IGZyb20gJy4uL2JyZWFrcG9pbnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQnJlYWtwb2ludE5hbWUgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtvZHhNYXRjaEJyZWFrcG9pbnRzXScsXG59KVxuZXhwb3J0IGNsYXNzIE1hdGNoQnJlYWtwb2ludHNEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIHJlYWRvbmx5IGJyZWFrcG9pbnRzJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJyZWFrcG9pbnROYW1lW10+KFtdKTtcbiAgcHJpdmF0ZSByZWFkb25seSBicmVha3BvaW50c1NlcnZpY2UgPSBpbmplY3QoQnJlYWtwb2ludHNTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWtlVW50aWxEZXN0cm95ZWQgPSB1bnRpbERlc3Ryb3llZCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuXG4gIEBJbnB1dCgnb2R4TWF0Y2hCcmVha3BvaW50cycpXG4gIHB1YmxpYyBzZXQgYnJlYWtwb2ludHModmFsdWU6IEJyZWFrcG9pbnROYW1lIHwgQnJlYWtwb2ludE5hbWVbXSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmJyZWFrcG9pbnRzJCQubmV4dChjb2VyY2VBcnJheSh2YWx1ZSA/PyBbXSkpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdvZHhNYXRjaEJyZWFrcG9pbnRzRWxzZScpXG4gIHB1YmxpYyBlbHNlVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmJyZWFrcG9pbnRzJCRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKGJyZWFrcG9pbnRzKSA9PiB0aGlzLmJyZWFrcG9pbnRzU2VydmljZS5vYnNlcnZlKGJyZWFrcG9pbnRzKSksXG4gICAgICAgIHRhcCgobWF0Y2hlc0JyZWFrcG9pbnRzKSA9PiB0aGlzLnJlbmRlcihtYXRjaGVzQnJlYWtwb2ludHMpKSxcbiAgICAgICAgdGhpcy50YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyKG1hdGNoZXNCcmVha3BvaW50czogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xuICAgIGNvbnN0IHRlbXBsYXRlID0gbWF0Y2hlc0JyZWFrcG9pbnRzID8gdGhpcy50ZW1wbGF0ZSA6IHRoaXMuZWxzZVRlbXBsYXRlO1xuICAgIGlmICh0ZW1wbGF0ZSkge1xuICAgICAgY29uc3Qgdmlld1JlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGVtcGxhdGUpO1xuICAgICAgdmlld1JlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './lib/footer.component';
|
|
2
|
+
export * from './lib/footer.config';
|
|
3
|
+
export * from './lib/models';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9mb290ZXIvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2Zvb3Rlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9vdGVyLmNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnO1xuIl19
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
|
|
4
|
+
import { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';
|
|
5
|
+
import { LinkDirective } from '@odx/angular/components/link';
|
|
6
|
+
import { LogoDirective } from '@odx/angular/components/logo';
|
|
7
|
+
import { CSSComponent, CSSModifier } from '@odx/angular/internal';
|
|
8
|
+
import { TranslatePipe, provideTranslations } from '@odx/angular/internal/translate';
|
|
9
|
+
import { injectElement, trackByIndex } from '@odx/angular/utils';
|
|
10
|
+
import footerTranslations from './footer.i18n';
|
|
11
|
+
import { createFooterLinks$ } from './helpers';
|
|
12
|
+
import { FooterVariant } from './models';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "@angular/common";
|
|
15
|
+
/**
|
|
16
|
+
* Represents the footer component of an application, dynamically generating links and supporting various styles.
|
|
17
|
+
* This component integrates dynamic and static content for the footer, including a logo, navigational links, and a customizable description.
|
|
18
|
+
*
|
|
19
|
+
* @usage `<odx-footer [description]="dynamicOrStaticContent" [variant]="'light'|'dark'"></odx-footer>`
|
|
20
|
+
*
|
|
21
|
+
* @input
|
|
22
|
+
* - `description` - Accepts dynamic content (observable or static string) for displaying a custom description in the footer.
|
|
23
|
+
* - `variant` - Sets the footer's appearance theme, supporting `light` and `dark` variants as defined by `FooterVariant`.
|
|
24
|
+
*/
|
|
25
|
+
export let FooterComponent = class FooterComponent {
|
|
26
|
+
constructor() {
|
|
27
|
+
this.footerLinks$ = createFooterLinks$();
|
|
28
|
+
this.trackByIndex = trackByIndex;
|
|
29
|
+
this.element = injectElement();
|
|
30
|
+
this.description = null;
|
|
31
|
+
this.variant = FooterVariant.LIGHT;
|
|
32
|
+
}
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FooterComponent, isStandalone: true, selector: "odx-footer", inputs: { description: "description", variant: "variant" }, providers: [provideTranslations(footerTranslations)], ngImport: i0, template: "<div class=\"odx-footer__inner\">\n <div class=\"odx-footer__content\">\n <ng-content></ng-content>\n </div>\n <nav class=\"odx-footer__navigation\">\n <ng-content select=\"[odxLink]\" />\n <a odxLink [href]=\"link.url\" target=\"_blank\" *ngFor=\"let link of footerLinks$ | async; trackBy: trackByIndex\">\n {{ link.name | odxTranslate | async }}\n </a>\n </nav>\n <p class=\"odx-footer__description\" *ngIf=\"description\">\n <ng-template [odxDynamicView]=\"description\"></ng-template>\n </p>\n</div>\n", dependencies: [{ kind: "directive", type: LinkDirective, selector: "a[odxLink]" }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "odxTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
35
|
+
};
|
|
36
|
+
__decorate([
|
|
37
|
+
CSSModifier(),
|
|
38
|
+
__metadata("design:type", String)
|
|
39
|
+
], FooterComponent.prototype, "variant", void 0);
|
|
40
|
+
FooterComponent = __decorate([
|
|
41
|
+
CSSComponent('footer')
|
|
42
|
+
], FooterComponent);
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FooterComponent, decorators: [{
|
|
44
|
+
type: Component,
|
|
45
|
+
args: [{ standalone: true, selector: 'odx-footer', imports: [LinkDirective, LogoDirective, DynamicViewDirective, CommonModule, TranslatePipe], providers: [provideTranslations(footerTranslations)], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"odx-footer__inner\">\n <div class=\"odx-footer__content\">\n <ng-content></ng-content>\n </div>\n <nav class=\"odx-footer__navigation\">\n <ng-content select=\"[odxLink]\" />\n <a odxLink [href]=\"link.url\" target=\"_blank\" *ngFor=\"let link of footerLinks$ | async; trackBy: trackByIndex\">\n {{ link.name | odxTranslate | async }}\n </a>\n </nav>\n <p class=\"odx-footer__description\" *ngIf=\"description\">\n <ng-template [odxDynamicView]=\"description\"></ng-template>\n </p>\n</div>\n" }]
|
|
46
|
+
}], propDecorators: { description: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}], variant: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}] } });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2Zvb3Rlci9zcmMvbGliL2Zvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9mb290ZXIvc3JjL2xpYi9mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQXNCLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pFLE9BQU8sa0JBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFFekM7Ozs7Ozs7OztHQVNHO0FBWUksV0FBTSxlQUFlLEdBQXJCLE1BQU0sZUFBZTtJQUFyQjtRQUNjLGlCQUFZLEdBQUcsa0JBQWtCLEVBQUUsQ0FBQztRQUNwQyxpQkFBWSxHQUFHLFlBQVksQ0FBQztRQUMvQixZQUFPLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFHbkMsZ0JBQVcsR0FBK0IsSUFBSSxDQUFDO1FBSS9DLFlBQU8sR0FBa0IsYUFBYSxDQUFDLEtBQUssQ0FBQztLQUNyRDsrR0FYWSxlQUFlO21HQUFmLGVBQWUscUhBSmYsQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLDBCQzdCdEQscWhCQWNBLDRDRGFZLGFBQWEsdURBQWlCLG9CQUFvQixzSkFBRSxZQUFZLGdUQUFFLGFBQWE7O0FBZ0JsRjtJQUZOLFdBQVcsRUFBRTs7Z0RBRXNDO0FBVnpDLGVBQWU7SUFWM0IsWUFBWSxDQUFDLFFBQVEsQ0FBQztHQVVWLGVBQWUsQ0FXM0I7NEZBWFksZUFBZTtrQkFUM0IsU0FBUztpQ0FDSSxJQUFJLFlBQ04sWUFBWSxXQUNiLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsYUFBYSxDQUFDLGFBRS9FLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxtQkFDbkMsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs4QkFROUIsV0FBVztzQkFEakIsS0FBSztnQkFLQyxPQUFPO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEeW5hbWljVGV4dENvbnRlbnQsIER5bmFtaWNWaWV3RGlyZWN0aXZlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9keW5hbWljLXZpZXcnO1xuaW1wb3J0IHsgTGlua0RpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2xpbmsnO1xuaW1wb3J0IHsgTG9nb0RpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2xvZ28nO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50LCBDU1NNb2RpZmllciB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlLCBwcm92aWRlVHJhbnNsYXRpb25zIH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsL3RyYW5zbGF0ZSc7XG5pbXBvcnQgeyBpbmplY3RFbGVtZW50LCB0cmFja0J5SW5kZXggfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IGZvb3RlclRyYW5zbGF0aW9ucyBmcm9tICcuL2Zvb3Rlci5pMThuJztcbmltcG9ydCB7IGNyZWF0ZUZvb3RlckxpbmtzJCB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBGb290ZXJWYXJpYW50IH0gZnJvbSAnLi9tb2RlbHMnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGZvb3RlciBjb21wb25lbnQgb2YgYW4gYXBwbGljYXRpb24sIGR5bmFtaWNhbGx5IGdlbmVyYXRpbmcgbGlua3MgYW5kIHN1cHBvcnRpbmcgdmFyaW91cyBzdHlsZXMuXG4gKiBUaGlzIGNvbXBvbmVudCBpbnRlZ3JhdGVzIGR5bmFtaWMgYW5kIHN0YXRpYyBjb250ZW50IGZvciB0aGUgZm9vdGVyLCBpbmNsdWRpbmcgYSBsb2dvLCBuYXZpZ2F0aW9uYWwgbGlua3MsIGFuZCBhIGN1c3RvbWl6YWJsZSBkZXNjcmlwdGlvbi5cbiAqXG4gKiBAdXNhZ2UgYDxvZHgtZm9vdGVyIFtkZXNjcmlwdGlvbl09XCJkeW5hbWljT3JTdGF0aWNDb250ZW50XCIgW3ZhcmlhbnRdPVwiJ2xpZ2h0J3wnZGFyaydcIj48L29keC1mb290ZXI+YFxuICpcbiAqIEBpbnB1dFxuICogLSBgZGVzY3JpcHRpb25gIC0gQWNjZXB0cyBkeW5hbWljIGNvbnRlbnQgKG9ic2VydmFibGUgb3Igc3RhdGljIHN0cmluZykgZm9yIGRpc3BsYXlpbmcgYSBjdXN0b20gZGVzY3JpcHRpb24gaW4gdGhlIGZvb3Rlci5cbiAqIC0gYHZhcmlhbnRgIC0gU2V0cyB0aGUgZm9vdGVyJ3MgYXBwZWFyYW5jZSB0aGVtZSwgc3VwcG9ydGluZyBgbGlnaHRgIGFuZCBgZGFya2AgdmFyaWFudHMgYXMgZGVmaW5lZCBieSBgRm9vdGVyVmFyaWFudGAuXG4gKi9cblxuQENTU0NvbXBvbmVudCgnZm9vdGVyJylcbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ29keC1mb290ZXInLFxuICBpbXBvcnRzOiBbTGlua0RpcmVjdGl2ZSwgTG9nb0RpcmVjdGl2ZSwgRHluYW1pY1ZpZXdEaXJlY3RpdmUsIENvbW1vbk1vZHVsZSwgVHJhbnNsYXRlUGlwZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtwcm92aWRlVHJhbnNsYXRpb25zKGZvb3RlclRyYW5zbGF0aW9ucyldLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRm9vdGVyQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZvb3RlckxpbmtzJCA9IGNyZWF0ZUZvb3RlckxpbmtzJCgpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJhY2tCeUluZGV4ID0gdHJhY2tCeUluZGV4O1xuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGVzY3JpcHRpb24/OiBEeW5hbWljVGV4dENvbnRlbnQgfCBudWxsID0gbnVsbDtcblxuICBAQ1NTTW9kaWZpZXIoKVxuICBASW5wdXQoKVxuICBwdWJsaWMgdmFyaWFudDogRm9vdGVyVmFyaWFudCA9IEZvb3RlclZhcmlhbnQuTElHSFQ7XG59XG4iLCI8ZGl2IGNsYXNzPVwib2R4LWZvb3Rlcl9faW5uZXJcIj5cbiAgPGRpdiBjbGFzcz1cIm9keC1mb290ZXJfX2NvbnRlbnRcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICA8bmF2IGNsYXNzPVwib2R4LWZvb3Rlcl9fbmF2aWdhdGlvblwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltvZHhMaW5rXVwiIC8+XG4gICAgPGEgb2R4TGluayBbaHJlZl09XCJsaW5rLnVybFwiIHRhcmdldD1cIl9ibGFua1wiICpuZ0Zvcj1cImxldCBsaW5rIG9mIGZvb3RlckxpbmtzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj5cbiAgICAgIHt7IGxpbmsubmFtZSB8IG9keFRyYW5zbGF0ZSB8IGFzeW5jIH19XG4gICAgPC9hPlxuICA8L25hdj5cbiAgPHAgY2xhc3M9XCJvZHgtZm9vdGVyX19kZXNjcmlwdGlvblwiICpuZ0lmPVwiZGVzY3JpcHRpb25cIj5cbiAgICA8bmctdGVtcGxhdGUgW29keER5bmFtaWNWaWV3XT1cImRlc2NyaXB0aW9uXCI+PC9uZy10ZW1wbGF0ZT5cbiAgPC9wPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { buildWebsiteUrl, createConfigTokens } from '@odx/angular/utils';
|
|
2
|
+
/**
|
|
3
|
+
* Creates configuration tokens for the footer links, providing a structured way to inject and manage footer link configurations.
|
|
4
|
+
* This utility function encapsulates the configuration for footer links, including defaults and the ability to inject custom configurations.
|
|
5
|
+
*
|
|
6
|
+
* @returns {Object} An object containing configuration tokens for footer links:
|
|
7
|
+
* - `FooterLinksConfig`: A token for injecting the footer links configuration.
|
|
8
|
+
* - `FooterLinksDefaultConfig`: A token representing the default configuration values.
|
|
9
|
+
* - `injectFooterLinksConfig`: A function to inject the current footer links configuration.
|
|
10
|
+
* - `provideFooterLinksConfig`: A function to provide a custom configuration for footer links.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* // In your module or component
|
|
14
|
+
* @NgModule({
|
|
15
|
+
* providers: [
|
|
16
|
+
* provideFooterLinksConfig({
|
|
17
|
+
* legalNoticeUrl: 'https://www.custom-url/legal-notice',
|
|
18
|
+
* providerIdentificationUrl: 'https://www.custom-url/provider-identification',
|
|
19
|
+
* dynamicLinks: myDynamicLinksObservable
|
|
20
|
+
* })
|
|
21
|
+
* ]
|
|
22
|
+
* })
|
|
23
|
+
* export class MyModule {}
|
|
24
|
+
*/
|
|
25
|
+
export const { FooterLinksConfig, FooterLinksDefaultConfig, injectFooterLinksConfig, provideFooterLinksConfig } = createConfigTokens('FooterLinks', '@odx/angular/components/footer', {
|
|
26
|
+
providerIdentificationUrl: buildWebsiteUrl('provideridentification'),
|
|
27
|
+
legalNoticeUrl: buildWebsiteUrl('legalnotice'),
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2Zvb3Rlci9zcmMvbGliL2Zvb3Rlci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBUXpFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsRUFBRSx1QkFBdUIsRUFBRSx3QkFBd0IsRUFBRSxHQUFHLGtCQUFrQixDQUNsSSxhQUFhLEVBQ2IsZ0NBQWdDLEVBQ2hDO0lBQ0UseUJBQXlCLEVBQUUsZUFBZSxDQUFDLHdCQUF3QixDQUFDO0lBQ3BFLGNBQWMsRUFBRSxlQUFlLENBQUMsYUFBYSxDQUFDO0NBQzFCLENBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYWluTWVudUxpbmtzQ29uZmlnIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvbWFpbi1tZW51JztcbmltcG9ydCB7IGJ1aWxkV2Vic2l0ZVVybCwgY3JlYXRlQ29uZmlnVG9rZW5zIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvb3RlckxpbmsgfSBmcm9tICcuL21vZGVscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyTGlua3NDb25maWcgZXh0ZW5kcyBNYWluTWVudUxpbmtzQ29uZmlnIHtcbiAgZHluYW1pY0xpbmtzPzogT2JzZXJ2YWJsZTxGb290ZXJMaW5rW10+O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgY29uZmlndXJhdGlvbiB0b2tlbnMgZm9yIHRoZSBmb290ZXIgbGlua3MsIHByb3ZpZGluZyBhIHN0cnVjdHVyZWQgd2F5IHRvIGluamVjdCBhbmQgbWFuYWdlIGZvb3RlciBsaW5rIGNvbmZpZ3VyYXRpb25zLlxuICogVGhpcyB1dGlsaXR5IGZ1bmN0aW9uIGVuY2Fwc3VsYXRlcyB0aGUgY29uZmlndXJhdGlvbiBmb3IgZm9vdGVyIGxpbmtzLCBpbmNsdWRpbmcgZGVmYXVsdHMgYW5kIHRoZSBhYmlsaXR5IHRvIGluamVjdCBjdXN0b20gY29uZmlndXJhdGlvbnMuXG4gKlxuICogQHJldHVybnMge09iamVjdH0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgY29uZmlndXJhdGlvbiB0b2tlbnMgZm9yIGZvb3RlciBsaW5rczpcbiAqIC0gYEZvb3RlckxpbmtzQ29uZmlnYDogQSB0b2tlbiBmb3IgaW5qZWN0aW5nIHRoZSBmb290ZXIgbGlua3MgY29uZmlndXJhdGlvbi5cbiAqIC0gYEZvb3RlckxpbmtzRGVmYXVsdENvbmZpZ2A6IEEgdG9rZW4gcmVwcmVzZW50aW5nIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdmFsdWVzLlxuICogLSBgaW5qZWN0Rm9vdGVyTGlua3NDb25maWdgOiBBIGZ1bmN0aW9uIHRvIGluamVjdCB0aGUgY3VycmVudCBmb290ZXIgbGlua3MgY29uZmlndXJhdGlvbi5cbiAqIC0gYHByb3ZpZGVGb290ZXJMaW5rc0NvbmZpZ2A6IEEgZnVuY3Rpb24gdG8gcHJvdmlkZSBhIGN1c3RvbSBjb25maWd1cmF0aW9uIGZvciBmb290ZXIgbGlua3MuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEluIHlvdXIgbW9kdWxlIG9yIGNvbXBvbmVudFxuICogQE5nTW9kdWxlKHtcbiAqICAgcHJvdmlkZXJzOiBbXG4gKiAgICAgcHJvdmlkZUZvb3RlckxpbmtzQ29uZmlnKHtcbiAqICAgICAgIGxlZ2FsTm90aWNlVXJsOiAnaHR0cHM6Ly93d3cuY3VzdG9tLXVybC9sZWdhbC1ub3RpY2UnLFxuICogICAgICAgcHJvdmlkZXJJZGVudGlmaWNhdGlvblVybDogJ2h0dHBzOi8vd3d3LmN1c3RvbS11cmwvcHJvdmlkZXItaWRlbnRpZmljYXRpb24nLFxuICogICAgICAgZHluYW1pY0xpbmtzOiBteUR5bmFtaWNMaW5rc09ic2VydmFibGVcbiAqICAgICB9KVxuICogICBdXG4gKiB9KVxuICogZXhwb3J0IGNsYXNzIE15TW9kdWxlIHt9XG4gKi9cbmV4cG9ydCBjb25zdCB7IEZvb3RlckxpbmtzQ29uZmlnLCBGb290ZXJMaW5rc0RlZmF1bHRDb25maWcsIGluamVjdEZvb3RlckxpbmtzQ29uZmlnLCBwcm92aWRlRm9vdGVyTGlua3NDb25maWcgfSA9IGNyZWF0ZUNvbmZpZ1Rva2VucyhcbiAgJ0Zvb3RlckxpbmtzJyxcbiAgJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2Zvb3RlcicsXG4gIHtcbiAgICBwcm92aWRlcklkZW50aWZpY2F0aW9uVXJsOiBidWlsZFdlYnNpdGVVcmwoJ3Byb3ZpZGVyaWRlbnRpZmljYXRpb24nKSxcbiAgICBsZWdhbE5vdGljZVVybDogYnVpbGRXZWJzaXRlVXJsKCdsZWdhbG5vdGljZScpLFxuICB9IGFzIEZvb3RlckxpbmtzQ29uZmlnLFxuKTtcbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
en: {
|
|
3
|
+
legalNotice: 'Legal notice',
|
|
4
|
+
providerIdentification: 'Provider identification',
|
|
5
|
+
dataProtection: 'Data protection',
|
|
6
|
+
openSource: 'Open-source licenses',
|
|
7
|
+
termsAndConditions: 'Terms and Conditions',
|
|
8
|
+
status: 'Status',
|
|
9
|
+
},
|
|
10
|
+
de: {
|
|
11
|
+
legalNotice: 'Rechtliche Hinweise',
|
|
12
|
+
providerIdentification: 'Impressum',
|
|
13
|
+
dataProtection: 'Datenschutz',
|
|
14
|
+
openSource: 'Open-Source-Lizenzen',
|
|
15
|
+
termsAndConditions: 'Allgemeine Geschäftsbedingungen',
|
|
16
|
+
status: 'Status',
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmkxOG4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9mb290ZXIvc3JjL2xpYi9mb290ZXIuaTE4bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxlQUFlO0lBQ2IsRUFBRSxFQUFFO1FBQ0YsV0FBVyxFQUFFLGNBQWM7UUFDM0Isc0JBQXNCLEVBQUUseUJBQXlCO1FBQ2pELGNBQWMsRUFBRSxpQkFBaUI7UUFDakMsVUFBVSxFQUFFLHNCQUFzQjtRQUNsQyxrQkFBa0IsRUFBRSxzQkFBc0I7UUFDMUMsTUFBTSxFQUFFLFFBQVE7S0FDakI7SUFDRCxFQUFFLEVBQUU7UUFDRixXQUFXLEVBQUUscUJBQXFCO1FBQ2xDLHNCQUFzQixFQUFFLFdBQVc7UUFDbkMsY0FBYyxFQUFFLGFBQWE7UUFDN0IsVUFBVSxFQUFFLHNCQUFzQjtRQUNsQyxrQkFBa0IsRUFBRSxpQ0FBaUM7UUFDckQsTUFBTSxFQUFFLFFBQVE7S0FDakI7Q0FDbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zbGF0aW9uT2JqZWN0IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsL3RyYW5zbGF0ZSc7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgZW46IHtcbiAgICBsZWdhbE5vdGljZTogJ0xlZ2FsIG5vdGljZScsXG4gICAgcHJvdmlkZXJJZGVudGlmaWNhdGlvbjogJ1Byb3ZpZGVyIGlkZW50aWZpY2F0aW9uJyxcbiAgICBkYXRhUHJvdGVjdGlvbjogJ0RhdGEgcHJvdGVjdGlvbicsXG4gICAgb3BlblNvdXJjZTogJ09wZW4tc291cmNlIGxpY2Vuc2VzJyxcbiAgICB0ZXJtc0FuZENvbmRpdGlvbnM6ICdUZXJtcyBhbmQgQ29uZGl0aW9ucycsXG4gICAgc3RhdHVzOiAnU3RhdHVzJyxcbiAgfSxcbiAgZGU6IHtcbiAgICBsZWdhbE5vdGljZTogJ1JlY2h0bGljaGUgSGlud2Vpc2UnLFxuICAgIHByb3ZpZGVySWRlbnRpZmljYXRpb246ICdJbXByZXNzdW0nLFxuICAgIGRhdGFQcm90ZWN0aW9uOiAnRGF0ZW5zY2h1dHonLFxuICAgIG9wZW5Tb3VyY2U6ICdPcGVuLVNvdXJjZS1MaXplbnplbicsXG4gICAgdGVybXNBbmRDb25kaXRpb25zOiAnQWxsZ2VtZWluZSBHZXNjaMOkZnRzYmVkaW5ndW5nZW4nLFxuICAgIHN0YXR1czogJ1N0YXR1cycsXG4gIH0sXG59IGFzIFRyYW5zbGF0aW9uT2JqZWN0O1xuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { combineLatest, map, of } from 'rxjs';
|
|
2
|
+
import { injectFooterLinksConfig } from '../footer.config';
|
|
3
|
+
/**
|
|
4
|
+
* Creates an observable stream of footer links, combining statically configured links with dynamically provided ones.
|
|
5
|
+
* It leverages the footer links configuration injected from `injectFooterLinksConfig` and optionally includes
|
|
6
|
+
* dynamic links if provided. All links are filtered to include only those with a non-empty URL.
|
|
7
|
+
*
|
|
8
|
+
* @function createFooterLinks$
|
|
9
|
+
* @returns {Observable<FooterLink[]>} An Observable that emits an array of `FooterLink` objects. Each `FooterLink`
|
|
10
|
+
* contains a `name` and a `url`. The observable emits updates if the set of dynamic links changes.
|
|
11
|
+
*/
|
|
12
|
+
export function createFooterLinks$() {
|
|
13
|
+
const { legalNoticeUrl, providerIdentificationUrl, dataProtectionUrl, openSourceUrl, termsAndConditionsUrl, statusUrl, dynamicLinks } = injectFooterLinksConfig();
|
|
14
|
+
const dynamicLinks$ = dynamicLinks ?? of([]);
|
|
15
|
+
const links = [
|
|
16
|
+
{ name: 'status', url: statusUrl },
|
|
17
|
+
{ name: 'termsAndConditions', url: termsAndConditionsUrl },
|
|
18
|
+
{ name: 'providerIdentification', url: providerIdentificationUrl },
|
|
19
|
+
{ name: 'openSource', url: openSourceUrl },
|
|
20
|
+
{ name: 'dataProtection', url: dataProtectionUrl },
|
|
21
|
+
{ name: 'legalNotice', url: legalNoticeUrl },
|
|
22
|
+
];
|
|
23
|
+
return combineLatest([dynamicLinks$, of(links)]).pipe(map((links) => links.flat().filter((link) => !!link.url)));
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWZvb3Rlci1saW5rcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2Zvb3Rlci9zcmMvbGliL2hlbHBlcnMvY3JlYXRlLWZvb3Rlci1saW5rcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsYUFBYSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHM0Q7Ozs7Ozs7O0dBUUc7QUFFSCxNQUFNLFVBQVUsa0JBQWtCO0lBQ2hDLE1BQU0sRUFBRSxjQUFjLEVBQUUseUJBQXlCLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsR0FDbkksdUJBQXVCLEVBQUUsQ0FBQztJQUM1QixNQUFNLGFBQWEsR0FBRyxZQUFZLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLE1BQU0sS0FBSyxHQUFHO1FBQ1osRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUU7UUFDbEMsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLHFCQUFxQixFQUFFO1FBQzFELEVBQUUsSUFBSSxFQUFFLHdCQUF3QixFQUFFLEdBQUcsRUFBRSx5QkFBeUIsRUFBRTtRQUNsRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRTtRQUMxQyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLEVBQUUsaUJBQWlCLEVBQUU7UUFDbEQsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUU7S0FDN0MsQ0FBQztJQUVGLE9BQU8sYUFBYSxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBc0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBtYXAsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpbmplY3RGb290ZXJMaW5rc0NvbmZpZyB9IGZyb20gJy4uL2Zvb3Rlci5jb25maWcnO1xuaW1wb3J0IHsgRm9vdGVyTGluayB9IGZyb20gJy4uL21vZGVscyc7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBvYnNlcnZhYmxlIHN0cmVhbSBvZiBmb290ZXIgbGlua3MsIGNvbWJpbmluZyBzdGF0aWNhbGx5IGNvbmZpZ3VyZWQgbGlua3Mgd2l0aCBkeW5hbWljYWxseSBwcm92aWRlZCBvbmVzLlxuICogSXQgbGV2ZXJhZ2VzIHRoZSBmb290ZXIgbGlua3MgY29uZmlndXJhdGlvbiBpbmplY3RlZCBmcm9tIGBpbmplY3RGb290ZXJMaW5rc0NvbmZpZ2AgYW5kIG9wdGlvbmFsbHkgaW5jbHVkZXNcbiAqIGR5bmFtaWMgbGlua3MgaWYgcHJvdmlkZWQuIEFsbCBsaW5rcyBhcmUgZmlsdGVyZWQgdG8gaW5jbHVkZSBvbmx5IHRob3NlIHdpdGggYSBub24tZW1wdHkgVVJMLlxuICpcbiAqIEBmdW5jdGlvbiBjcmVhdGVGb290ZXJMaW5rcyRcbiAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEZvb3RlckxpbmtbXT59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBhbiBhcnJheSBvZiBgRm9vdGVyTGlua2Agb2JqZWN0cy4gRWFjaCBgRm9vdGVyTGlua2BcbiAqIGNvbnRhaW5zIGEgYG5hbWVgIGFuZCBhIGB1cmxgLiBUaGUgb2JzZXJ2YWJsZSBlbWl0cyB1cGRhdGVzIGlmIHRoZSBzZXQgb2YgZHluYW1pYyBsaW5rcyBjaGFuZ2VzLlxuICovXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGb290ZXJMaW5rcyQoKTogT2JzZXJ2YWJsZTxGb290ZXJMaW5rW10+IHtcbiAgY29uc3QgeyBsZWdhbE5vdGljZVVybCwgcHJvdmlkZXJJZGVudGlmaWNhdGlvblVybCwgZGF0YVByb3RlY3Rpb25VcmwsIG9wZW5Tb3VyY2VVcmwsIHRlcm1zQW5kQ29uZGl0aW9uc1VybCwgc3RhdHVzVXJsLCBkeW5hbWljTGlua3MgfSA9XG4gICAgaW5qZWN0Rm9vdGVyTGlua3NDb25maWcoKTtcbiAgY29uc3QgZHluYW1pY0xpbmtzJCA9IGR5bmFtaWNMaW5rcyA/PyBvZihbXSk7XG4gIGNvbnN0IGxpbmtzID0gW1xuICAgIHsgbmFtZTogJ3N0YXR1cycsIHVybDogc3RhdHVzVXJsIH0sXG4gICAgeyBuYW1lOiAndGVybXNBbmRDb25kaXRpb25zJywgdXJsOiB0ZXJtc0FuZENvbmRpdGlvbnNVcmwgfSxcbiAgICB7IG5hbWU6ICdwcm92aWRlcklkZW50aWZpY2F0aW9uJywgdXJsOiBwcm92aWRlcklkZW50aWZpY2F0aW9uVXJsIH0sXG4gICAgeyBuYW1lOiAnb3BlblNvdXJjZScsIHVybDogb3BlblNvdXJjZVVybCB9LFxuICAgIHsgbmFtZTogJ2RhdGFQcm90ZWN0aW9uJywgdXJsOiBkYXRhUHJvdGVjdGlvblVybCB9LFxuICAgIHsgbmFtZTogJ2xlZ2FsTm90aWNlJywgdXJsOiBsZWdhbE5vdGljZVVybCB9LFxuICBdO1xuXG4gIHJldHVybiBjb21iaW5lTGF0ZXN0KFtkeW5hbWljTGlua3MkLCBvZihsaW5rcyldKS5waXBlKG1hcCgobGlua3MpID0+IGxpbmtzLmZsYXQoKS5maWx0ZXIoKGxpbmspOiBsaW5rIGlzIEZvb3RlckxpbmsgPT4gISFsaW5rLnVybCkpKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './create-footer-links';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9mb290ZXIvc3JjL2xpYi9oZWxwZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1mb290ZXItbGlua3MnO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLWxpbmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9mb290ZXIvc3JjL2xpYi9tb2RlbHMvZm9vdGVyLWxpbmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyTGluayB7XG4gIG5hbWU6IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const FooterVariant = {
|
|
2
|
+
LIGHT: 'light',
|
|
3
|
+
DARK: 'dark',
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLXZhcmlhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9mb290ZXIvc3JjL2xpYi9tb2RlbHMvZm9vdGVyLXZhcmlhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQzNCLEtBQUssRUFBRSxPQUFPO0lBQ2QsSUFBSSxFQUFFLE1BQU07Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRm9vdGVyVmFyaWFudCA9ICh0eXBlb2YgRm9vdGVyVmFyaWFudClba2V5b2YgdHlwZW9mIEZvb3RlclZhcmlhbnRdO1xuXG5leHBvcnQgY29uc3QgRm9vdGVyVmFyaWFudCA9IHtcbiAgTElHSFQ6ICdsaWdodCcsXG4gIERBUks6ICdkYXJrJyxcbn0gYXMgY29uc3Q7XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './footer-link';
|
|
2
|
+
export * from './footer-variant';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9mb290ZXIvc3JjL2xpYi9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZm9vdGVyLWxpbmsnO1xuZXhwb3J0ICogZnJvbSAnLi9mb290ZXItdmFyaWFudCc7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2R4LWFuZ3VsYXItY29tcG9uZW50cy1mb290ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9mb290ZXIvc3JjL29keC1hbmd1bGFyLWNvbXBvbmVudHMtZm9vdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -9,13 +9,13 @@ export let HeaderComponent = class HeaderComponent {
|
|
|
9
9
|
this.element = injectElement();
|
|
10
10
|
}
|
|
11
11
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HeaderComponent, isStandalone: true, selector: "odx-header", ngImport: i0, template: "<ng-content select=\"button[odxMainMenuButton]\"
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HeaderComponent, isStandalone: true, selector: "odx-header", ngImport: i0, template: "<ng-content select=\"button[odxMainMenuButton]\" />\n<odx-logo />\n<ng-content select=\"odx-header-title\" />\n<div class=\"odx-header__content\">\n <ng-content />\n</div>\n<ng-content select=\"odx-action-group, odx-auth\" />\n<ng-content select=\"[odxHeaderAvatar]\" />\n", dependencies: [{ kind: "directive", type: LogoDirective, selector: "odx-logo", inputs: ["size", "variant"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
13
13
|
};
|
|
14
14
|
HeaderComponent = __decorate([
|
|
15
15
|
CSSComponent('header')
|
|
16
16
|
], HeaderComponent);
|
|
17
17
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderComponent, decorators: [{
|
|
18
18
|
type: Component,
|
|
19
|
-
args: [{ standalone: true, selector: 'odx-header', imports: [LogoDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"button[odxMainMenuButton]\"
|
|
19
|
+
args: [{ standalone: true, selector: 'odx-header', imports: [LogoDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"button[odxMainMenuButton]\" />\n<odx-logo />\n<ng-content select=\"odx-header-title\" />\n<div class=\"odx-header__content\">\n <ng-content />\n</div>\n<ng-content select=\"odx-action-group, odx-auth\" />\n<ng-content select=\"[odxHeaderAvatar]\" />\n" }]
|
|
20
20
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2hlYWRlci9zcmMvbGliL2hlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9oZWFkZXIvc3JjL2xpYi9oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBVzVDLFdBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWU7SUFBckI7UUFDVyxZQUFPLEdBQUcsYUFBYSxFQUFFLENBQUM7S0FDM0M7K0dBRlksZUFBZTttR0FBZixlQUFlLHNFQ2Q1QixtUkFRQSw0Q0RDWSxhQUFhOztBQUtaLGVBQWU7SUFUM0IsWUFBWSxDQUFDLFFBQVEsQ0FBQztHQVNWLGVBQWUsQ0FFM0I7NEZBRlksZUFBZTtrQkFSM0IsU0FBUztpQ0FDSSxJQUFJLFlBQ04sWUFBWSxXQUNiLENBQUMsYUFBYSxDQUFDLGlCQUVULGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9nb0RpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2xvZ28nO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGluamVjdEVsZW1lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuXG5AQ1NTQ29tcG9uZW50KCdoZWFkZXInKVxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnb2R4LWhlYWRlcicsXG4gIGltcG9ydHM6IFtMb2dvRGlyZWN0aXZlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImJ1dHRvbltvZHhNYWluTWVudUJ1dHRvbl1cIiAvPlxuPG9keC1sb2dvIC8+XG48bmctY29udGVudCBzZWxlY3Q9XCJvZHgtaGVhZGVyLXRpdGxlXCIgLz5cbjxkaXYgY2xhc3M9XCJvZHgtaGVhZGVyX19jb250ZW50XCI+XG4gIDxuZy1jb250ZW50IC8+XG48L2Rpdj5cbjxuZy1jb250ZW50IHNlbGVjdD1cIm9keC1hY3Rpb24tZ3JvdXAsIG9keC1hdXRoXCIgLz5cbjxuZy1jb250ZW50IHNlbGVjdD1cIltvZHhIZWFkZXJBdmF0YXJdXCIgLz5cbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './lib/directives';
|
|
2
|
+
export * from './lib/header-navigation.component';
|
|
3
|
+
export * from './lib/header-navigation.module';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9oZWFkZXItbmF2aWdhdGlvbi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2hlYWRlci1uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9oZWFkZXItbmF2aWdhdGlvbi5tb2R1bGUnO1xuIl19
|
package/esm2022/components/header-navigation/lib/directives/header-navigation-link.directive.mjs
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Directive, inject } from '@angular/core';
|
|
2
|
+
import { RouterLinkActive } from '@angular/router';
|
|
3
|
+
import { reactiveClassBinding } from '@odx/angular/utils';
|
|
4
|
+
import { distinctUntilChanged, startWith } from 'rxjs';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/router";
|
|
7
|
+
export class HeaderNavigationRouterLinkDirective {
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderNavigationRouterLinkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: HeaderNavigationRouterLinkDirective, isStandalone: true, selector: "[routerLink][odxHeaderNavigationLink]", hostDirectives: [{ directive: i1.RouterLinkActive, inputs: ["routerLinkActiveOptions", "routerLinkActiveOptions"] }], ngImport: i0 }); }
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderNavigationRouterLinkDirective, decorators: [{
|
|
12
|
+
type: Directive,
|
|
13
|
+
args: [{
|
|
14
|
+
standalone: true,
|
|
15
|
+
selector: '[routerLink][odxHeaderNavigationLink]',
|
|
16
|
+
hostDirectives: [{ directive: RouterLinkActive, inputs: ['routerLinkActiveOptions'] }],
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
export class HeaderNavigationLinkDirective {
|
|
20
|
+
constructor() {
|
|
21
|
+
const routerLinkActive = inject(RouterLinkActive, { self: true, optional: true });
|
|
22
|
+
if (!routerLinkActive)
|
|
23
|
+
return;
|
|
24
|
+
const isActive$ = routerLinkActive.isActiveChange.pipe(startWith(routerLinkActive.isActive), distinctUntilChanged());
|
|
25
|
+
reactiveClassBinding(isActive$, 'is-active');
|
|
26
|
+
}
|
|
27
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderNavigationLinkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
28
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: HeaderNavigationLinkDirective, isStandalone: true, selector: "[odxHeaderNavigationLink]", ngImport: i0 }); }
|
|
29
|
+
}
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderNavigationLinkDirective, decorators: [{
|
|
31
|
+
type: Directive,
|
|
32
|
+
args: [{
|
|
33
|
+
standalone: true,
|
|
34
|
+
selector: '[odxHeaderNavigationLink]',
|
|
35
|
+
}]
|
|
36
|
+
}], ctorParameters: function () { return []; } });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW5hdmlnYXRpb24tbGluay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9oZWFkZXItbmF2aWdhdGlvbi9zcmMvbGliL2RpcmVjdGl2ZXMvaGVhZGVyLW5hdmlnYXRpb24tbGluay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBT3ZELE1BQU0sT0FBTyxtQ0FBbUM7K0dBQW5DLG1DQUFtQzttR0FBbkMsbUNBQW1DOzs0RkFBbkMsbUNBQW1DO2tCQUwvQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsdUNBQXVDO29CQUNqRCxjQUFjLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUM7aUJBQ3ZGOztBQU9ELE1BQU0sT0FBTyw2QkFBNkI7SUFDeEM7UUFDRSxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLGdCQUFnQjtZQUFFLE9BQU87UUFDOUIsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBQ3JILG9CQUFvQixDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMvQyxDQUFDOytHQU5VLDZCQUE2QjttR0FBN0IsNkJBQTZCOzs0RkFBN0IsNkJBQTZCO2tCQUp6QyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsMkJBQTJCO2lCQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rQWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHJlYWN0aXZlQ2xhc3NCaW5kaW5nIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW3JvdXRlckxpbmtdW29keEhlYWRlck5hdmlnYXRpb25MaW5rXScsXG4gIGhvc3REaXJlY3RpdmVzOiBbeyBkaXJlY3RpdmU6IFJvdXRlckxpbmtBY3RpdmUsIGlucHV0czogWydyb3V0ZXJMaW5rQWN0aXZlT3B0aW9ucyddIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJOYXZpZ2F0aW9uUm91dGVyTGlua0RpcmVjdGl2ZSB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbb2R4SGVhZGVyTmF2aWdhdGlvbkxpbmtdJyxcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyTmF2aWdhdGlvbkxpbmtEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCByb3V0ZXJMaW5rQWN0aXZlID0gaW5qZWN0KFJvdXRlckxpbmtBY3RpdmUsIHsgc2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWUgfSk7XG4gICAgaWYgKCFyb3V0ZXJMaW5rQWN0aXZlKSByZXR1cm47XG4gICAgY29uc3QgaXNBY3RpdmUkID0gcm91dGVyTGlua0FjdGl2ZS5pc0FjdGl2ZUNoYW5nZS5waXBlKHN0YXJ0V2l0aChyb3V0ZXJMaW5rQWN0aXZlLmlzQWN0aXZlKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gICAgcmVhY3RpdmVDbGFzc0JpbmRpbmcoaXNBY3RpdmUkLCAnaXMtYWN0aXZlJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './header-navigation-link.directive';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9oZWFkZXItbmF2aWdhdGlvbi9zcmMvbGliL2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQ0FBb0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaGVhZGVyLW5hdmlnYXRpb24tbGluay5kaXJlY3RpdmUnO1xuIl19
|