@odx/angular 5.4.0 → 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.
Files changed (60) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/components/footer/README.md +3 -0
  3. package/components/footer/index.d.ts +3 -0
  4. package/components/footer/lib/footer.component.d.ts +23 -0
  5. package/components/footer/lib/footer.config.d.ts +30 -0
  6. package/components/footer/lib/footer.i18n.d.ts +3 -0
  7. package/components/footer/lib/helpers/create-footer-links.d.ts +12 -0
  8. package/components/footer/lib/helpers/index.d.ts +1 -0
  9. package/components/footer/lib/models/footer-link.d.ts +4 -0
  10. package/components/footer/lib/models/footer-variant.d.ts +5 -0
  11. package/components/footer/lib/models/index.d.ts +2 -0
  12. package/components/header/lib/header.component.d.ts +1 -1
  13. package/components/header-navigation/README.md +3 -0
  14. package/components/header-navigation/index.d.ts +3 -0
  15. package/components/header-navigation/lib/directives/header-navigation-link.directive.d.ts +11 -0
  16. package/components/header-navigation/lib/directives/index.d.ts +1 -0
  17. package/components/header-navigation/lib/header-navigation.component.d.ts +8 -0
  18. package/components/header-navigation/lib/header-navigation.module.d.ts +9 -0
  19. package/components/main-menu/lib/helpers/create-main-menu-links.d.ts +2 -1
  20. package/components/main-menu/lib/main-menu.component.d.ts +5 -5
  21. package/components/main-menu/lib/main-menu.config.d.ts +1 -0
  22. package/esm2022/breakpoints/lib/directives/match-breakpoints.directive.mjs +3 -2
  23. package/esm2022/components/footer/index.mjs +4 -0
  24. package/esm2022/components/footer/lib/footer.component.mjs +51 -0
  25. package/esm2022/components/footer/lib/footer.config.mjs +29 -0
  26. package/esm2022/components/footer/lib/footer.i18n.mjs +19 -0
  27. package/esm2022/components/footer/lib/helpers/create-footer-links.mjs +25 -0
  28. package/esm2022/components/footer/lib/helpers/index.mjs +2 -0
  29. package/esm2022/components/footer/lib/models/footer-link.mjs +2 -0
  30. package/esm2022/components/footer/lib/models/footer-variant.mjs +5 -0
  31. package/esm2022/components/footer/lib/models/index.mjs +3 -0
  32. package/esm2022/components/footer/odx-angular-components-footer.mjs +5 -0
  33. package/esm2022/components/header/lib/header.component.mjs +3 -3
  34. package/esm2022/components/header-navigation/index.mjs +4 -0
  35. package/esm2022/components/header-navigation/lib/directives/header-navigation-link.directive.mjs +37 -0
  36. package/esm2022/components/header-navigation/lib/directives/index.mjs +2 -0
  37. package/esm2022/components/header-navigation/lib/header-navigation.component.mjs +28 -0
  38. package/esm2022/components/header-navigation/lib/header-navigation.module.mjs +19 -0
  39. package/esm2022/components/header-navigation/odx-angular-components-header-navigation.mjs +5 -0
  40. package/esm2022/components/main-menu/lib/helpers/create-main-menu-links.mjs +7 -4
  41. package/esm2022/components/main-menu/lib/main-menu.component.mjs +9 -11
  42. package/esm2022/components/main-menu/lib/main-menu.config.mjs +1 -1
  43. package/esm2022/components/notification/lib/features/with-save-notifications.mjs +2 -2
  44. package/esm2022/utils/lib/helpers/build-website-url.mjs +24 -1
  45. package/fesm2022/odx-angular-breakpoints.mjs +2 -1
  46. package/fesm2022/odx-angular-breakpoints.mjs.map +1 -1
  47. package/fesm2022/odx-angular-components-footer.mjs +131 -0
  48. package/fesm2022/odx-angular-components-footer.mjs.map +1 -0
  49. package/fesm2022/odx-angular-components-header-navigation.mjs +84 -0
  50. package/fesm2022/odx-angular-components-header-navigation.mjs.map +1 -0
  51. package/fesm2022/odx-angular-components-header.mjs +2 -2
  52. package/fesm2022/odx-angular-components-header.mjs.map +1 -1
  53. package/fesm2022/odx-angular-components-main-menu.mjs +11 -9
  54. package/fesm2022/odx-angular-components-main-menu.mjs.map +1 -1
  55. package/fesm2022/odx-angular-components-notification.mjs +1 -1
  56. package/fesm2022/odx-angular-components-notification.mjs.map +1 -1
  57. package/fesm2022/odx-angular-utils.mjs +23 -0
  58. package/fesm2022/odx-angular-utils.mjs.map +1 -1
  59. package/package.json +13 -1
  60. package/utils/lib/helpers/build-website-url.d.ts +23 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @odx/angular
2
2
 
3
+ ## 5.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 40bef6d: Added header navigation component
8
+ - b18ae5a: Allow any content in header. The content is projected into it's own area inside the header
9
+ - 49f971d: Add footer component
10
+
11
+ ### Patch Changes
12
+
13
+ - 6699568: Allow dynamic text content for main menu title, subtitle and copyright
14
+
3
15
  ## 5.4.0
4
16
 
5
17
  ### Minor Changes
@@ -0,0 +1,3 @@
1
+ # @odx/angular/components/footer
2
+
3
+ Secondary entry point of `@odx/angular`. It can be used by importing from `@odx/angular/components/footer`.
@@ -0,0 +1,3 @@
1
+ export * from './lib/footer.component';
2
+ export * from './lib/footer.config';
3
+ export * from './lib/models';
@@ -0,0 +1,23 @@
1
+ import { DynamicTextContent } from '@odx/angular/cdk/dynamic-view';
2
+ import { trackByIndex } from '@odx/angular/utils';
3
+ import { FooterVariant } from './models';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Represents the footer component of an application, dynamically generating links and supporting various styles.
7
+ * This component integrates dynamic and static content for the footer, including a logo, navigational links, and a customizable description.
8
+ *
9
+ * @usage `<odx-footer [description]="dynamicOrStaticContent" [variant]="'light'|'dark'"></odx-footer>`
10
+ *
11
+ * @input
12
+ * - `description` - Accepts dynamic content (observable or static string) for displaying a custom description in the footer.
13
+ * - `variant` - Sets the footer's appearance theme, supporting `light` and `dark` variants as defined by `FooterVariant`.
14
+ */
15
+ export declare class FooterComponent {
16
+ protected readonly footerLinks$: import("rxjs").Observable<import("./models").FooterLink[]>;
17
+ protected readonly trackByIndex: typeof trackByIndex;
18
+ readonly element: import("@angular/core").ElementRef<HTMLElement>;
19
+ description?: DynamicTextContent | null;
20
+ variant: FooterVariant;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<FooterComponent, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<FooterComponent, "odx-footer", never, { "description": { "alias": "description"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; }, {}, never, ["*", "[odxLink]"], true, never>;
23
+ }
@@ -0,0 +1,30 @@
1
+ import { MainMenuLinksConfig } from '@odx/angular/components/main-menu';
2
+ import { Observable } from 'rxjs';
3
+ import { FooterLink } from './models';
4
+ export interface FooterLinksConfig extends MainMenuLinksConfig {
5
+ dynamicLinks?: Observable<FooterLink[]>;
6
+ }
7
+ /**
8
+ * Creates configuration tokens for the footer links, providing a structured way to inject and manage footer link configurations.
9
+ * This utility function encapsulates the configuration for footer links, including defaults and the ability to inject custom configurations.
10
+ *
11
+ * @returns {Object} An object containing configuration tokens for footer links:
12
+ * - `FooterLinksConfig`: A token for injecting the footer links configuration.
13
+ * - `FooterLinksDefaultConfig`: A token representing the default configuration values.
14
+ * - `injectFooterLinksConfig`: A function to inject the current footer links configuration.
15
+ * - `provideFooterLinksConfig`: A function to provide a custom configuration for footer links.
16
+ *
17
+ * @example
18
+ * // In your module or component
19
+ * @NgModule({
20
+ * providers: [
21
+ * provideFooterLinksConfig({
22
+ * legalNoticeUrl: 'https://www.custom-url/legal-notice',
23
+ * providerIdentificationUrl: 'https://www.custom-url/provider-identification',
24
+ * dynamicLinks: myDynamicLinksObservable
25
+ * })
26
+ * ]
27
+ * })
28
+ * export class MyModule {}
29
+ */
30
+ export declare const FooterLinksConfig: import("@angular/core").InjectionToken<Partial<FooterLinksConfig>>, FooterLinksDefaultConfig: FooterLinksConfig, injectFooterLinksConfig: () => FooterLinksConfig, provideFooterLinksConfig: <D extends import("@odx/angular/utils").ConfigDependencies<unknown> = import("@odx/angular/utils").ConfigDependencies<Partial<FooterLinksConfig>>>(config: import("@odx/angular/utils").ConfigProvider<Partial<FooterLinksConfig>, D>) => import("@angular/core").FactoryProvider | import("@angular/core").ValueProvider;
@@ -0,0 +1,3 @@
1
+ import { TranslationObject } from '@odx/angular/internal/translate';
2
+ declare const _default: TranslationObject;
3
+ export default _default;
@@ -0,0 +1,12 @@
1
+ import { Observable } from 'rxjs';
2
+ import { FooterLink } from '../models';
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 declare function createFooterLinks$(): Observable<FooterLink[]>;
@@ -0,0 +1 @@
1
+ export * from './create-footer-links';
@@ -0,0 +1,4 @@
1
+ export interface FooterLink {
2
+ name: string;
3
+ url: string;
4
+ }
@@ -0,0 +1,5 @@
1
+ export type FooterVariant = (typeof FooterVariant)[keyof typeof FooterVariant];
2
+ export declare const FooterVariant: {
3
+ readonly LIGHT: "light";
4
+ readonly DARK: "dark";
5
+ };
@@ -0,0 +1,2 @@
1
+ export * from './footer-link';
2
+ export * from './footer-variant';
@@ -2,5 +2,5 @@ import * as i0 from "@angular/core";
2
2
  export declare class HeaderComponent {
3
3
  readonly element: import("@angular/core").ElementRef<HTMLElement>;
4
4
  static ɵfac: i0.ɵɵFactoryDeclaration<HeaderComponent, never>;
5
- static ɵcmp: i0.ɵɵComponentDeclaration<HeaderComponent, "odx-header", never, {}, {}, never, ["button[odxMainMenuButton]", "odx-header-title", "odx-action-group, odx-auth", "[odxHeaderAvatar]"], true, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<HeaderComponent, "odx-header", never, {}, {}, never, ["button[odxMainMenuButton]", "odx-header-title", "*", "odx-action-group, odx-auth", "[odxHeaderAvatar]"], true, never>;
6
6
  }
@@ -0,0 +1,3 @@
1
+ # @odx/angular/components/header-navigation
2
+
3
+ Secondary entry point of `@odx/angular`. It can be used by importing from `@odx/angular/components/header-navigation`.
@@ -0,0 +1,3 @@
1
+ export * from './lib/directives';
2
+ export * from './lib/header-navigation.component';
3
+ export * from './lib/header-navigation.module';
@@ -0,0 +1,11 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "@angular/router";
3
+ export declare class HeaderNavigationRouterLinkDirective {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<HeaderNavigationRouterLinkDirective, never>;
5
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HeaderNavigationRouterLinkDirective, "[routerLink][odxHeaderNavigationLink]", never, {}, {}, never, never, true, [{ directive: typeof i1.RouterLinkActive; inputs: { "routerLinkActiveOptions": "routerLinkActiveOptions"; }; outputs: {}; }]>;
6
+ }
7
+ export declare class HeaderNavigationLinkDirective {
8
+ constructor();
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<HeaderNavigationLinkDirective, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HeaderNavigationLinkDirective, "[odxHeaderNavigationLink]", never, {}, {}, never, never, true, never>;
11
+ }
@@ -0,0 +1 @@
1
+ export * from './header-navigation-link.directive';
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class HeaderNavigationComponent {
3
+ readonly element: import("@angular/core").ElementRef<HTMLElement>;
4
+ centered: boolean;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<HeaderNavigationComponent, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<HeaderNavigationComponent, "odx-header-navigation", never, { "centered": { "alias": "centered"; "required": false; }; }, {}, never, ["ng-template, [odxHeaderNavigationLink]"], true, never>;
7
+ static ngAcceptInputType_centered: unknown;
8
+ }
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./header-navigation.component";
3
+ import * as i2 from "./directives/header-navigation-link.directive";
4
+ import * as i3 from "@odx/angular";
5
+ export declare class HeaderNavigationModule {
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<HeaderNavigationModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<HeaderNavigationModule, never, [typeof i1.HeaderNavigationComponent, typeof i2.HeaderNavigationLinkDirective, typeof i2.HeaderNavigationRouterLinkDirective], [typeof i3.CoreModule, typeof i1.HeaderNavigationComponent, typeof i2.HeaderNavigationLinkDirective, typeof i2.HeaderNavigationRouterLinkDirective]>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<HeaderNavigationModule>;
9
+ }
@@ -1,2 +1,3 @@
1
+ import { Observable } from 'rxjs';
1
2
  import { MainMenuLink } from '../models';
2
- export declare function createMainMenuLinks(): MainMenuLink[];
3
+ export declare function createMainMenuLinks$(): Observable<MainMenuLink[]>;
@@ -1,15 +1,15 @@
1
+ import { DynamicTextContent } from '@odx/angular/cdk/dynamic-view';
1
2
  import { trackByIndex } from '@odx/angular/utils';
2
3
  import { MainMenuService } from './main-menu.service';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class MainMenuComponent {
5
- protected dynamicLinks: import("rxjs").Observable<import("./models").MainMenuLink[]>;
6
6
  protected readonly mainMenuService: MainMenuService;
7
- protected readonly mainMenuLinks: import("./models").MainMenuLink[];
7
+ protected readonly mainMenuLinks$: import("rxjs").Observable<import("./models").MainMenuLink[]>;
8
8
  protected readonly trackByIndex: typeof trackByIndex;
9
9
  readonly element: import("@angular/core").ElementRef<HTMLElement>;
10
- title: string;
11
- subtitle: string | null;
12
- copyright: string | null;
10
+ title: DynamicTextContent;
11
+ subtitle?: DynamicTextContent | null;
12
+ copyright?: DynamicTextContent | null;
13
13
  set isOpen(value: boolean);
14
14
  get isOpen(): boolean;
15
15
  menuOpen: import("rxjs").Observable<boolean>;
@@ -6,6 +6,7 @@ export interface MainMenuLinksConfig {
6
6
  providerIdentificationUrl: string | null;
7
7
  termsAndConditionsUrl?: string | null;
8
8
  openSourceUrl?: string | null;
9
+ statusUrl?: string | null;
9
10
  dynamicLinks?: Observable<MainMenuLink[]>;
10
11
  }
11
12
  export declare const MainMenuLinksConfig: import("@angular/core").InjectionToken<Partial<MainMenuLinksConfig>>, MainMenuLinksDefaultConfig: MainMenuLinksConfig, injectMainMenuLinksConfig: () => MainMenuLinksConfig, provideMainMenuLinksConfig: <D extends import("@odx/angular/utils").ConfigDependencies<unknown> = import("@odx/angular/utils").ConfigDependencies<Partial<MainMenuLinksConfig>>>(config: import("@odx/angular/utils").ConfigProvider<Partial<MainMenuLinksConfig>, D>) => import("@angular/core").FactoryProvider | import("@angular/core").ValueProvider;
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2gtYnJlYWtwb2ludHMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2JyZWFrcG9pbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9tYXRjaC1icmVha3BvaW50cy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFPNUQsTUFBTSxPQUFPLHlCQUF5QjtJQUp0QztRQUttQixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFtQixFQUFFLENBQUMsQ0FBQztRQUMxRCx1QkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNoRCx1QkFBa0IsR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUN0QyxhQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9CLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFPMUQsMkRBQTJEO1FBRXBELGlCQUFZLEdBQWlDLElBQUksQ0FBQztLQW1CMUQ7SUExQkMsSUFDVyxXQUFXLENBQUMsS0FBMkQ7UUFDaEYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFNTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLGFBQWE7YUFDZixJQUFJLENBQ0gsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQ3hFLEdBQUcsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFDNUQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQzFCO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxrQkFBMkI7UUFDeEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixNQUFNLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN4RSxJQUFJLFFBQVEsRUFBRTtZQUNaLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDakQ7SUFDSCxDQUFDOytHQWhDVSx5QkFBeUI7bUdBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGtDQUFrQztpQkFDN0M7OEJBU1ksV0FBVztzQkFEckIsS0FBSzt1QkFBQyxxQkFBcUI7Z0JBT3JCLFlBQVk7c0JBRGxCLEtBQUs7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb2VyY2VBcnJheSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQnJlYWtwb2ludHNTZXJ2aWNlIH0gZnJvbSAnLi4vYnJlYWtwb2ludHMuc2VydmljZSc7XG5pbXBvcnQgeyBCcmVha3BvaW50TmFtZSB9IGZyb20gJy4uL21vZGVscyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW29keE1hdGNoQnJlYWtwb2ludHNdJyxcbn0pXG5leHBvcnQgY2xhc3MgTWF0Y2hCcmVha3BvaW50c0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYnJlYWtwb2ludHMkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QnJlYWtwb2ludE5hbWVbXT4oW10pO1xuICBwcml2YXRlIHJlYWRvbmx5IGJyZWFrcG9pbnRzU2VydmljZSA9IGluamVjdChCcmVha3BvaW50c1NlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRha2VVbnRpbERlc3Ryb3llZCA9IHVudGlsRGVzdHJveWVkKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGVtcGxhdGUgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXIgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG5cbiAgQElucHV0KCdvZHhNYXRjaEJyZWFrcG9pbnRzJylcbiAgcHVibGljIHNldCBicmVha3BvaW50cyh2YWx1ZTogQnJlYWtwb2ludE5hbWUgfCBCcmVha3BvaW50TmFtZVtdIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuYnJlYWtwb2ludHMkJC5uZXh0KGNvZXJjZUFycmF5KHZhbHVlID8/IFtdKSk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ29keE1hdGNoQnJlYWtwb2ludHNFbHNlJylcbiAgcHVibGljIGVsc2VUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYnJlYWtwb2ludHMkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoYnJlYWtwb2ludHMpID0+IHRoaXMuYnJlYWtwb2ludHNTZXJ2aWNlLm9ic2VydmUoYnJlYWtwb2ludHMpKSxcbiAgICAgICAgdGFwKChtYXRjaGVzQnJlYWtwb2ludHMpID0+IHRoaXMucmVuZGVyKG1hdGNoZXNCcmVha3BvaW50cykpLFxuICAgICAgICB0aGlzLnRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXIobWF0Y2hlc0JyZWFrcG9pbnRzOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XG4gICAgY29uc3QgdGVtcGxhdGUgPSBtYXRjaGVzQnJlYWtwb2ludHMgPyB0aGlzLnRlbXBsYXRlIDogdGhpcy5lbHNlVGVtcGxhdGU7XG4gICAgaWYgKHRlbXBsYXRlKSB7XG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRlbXBsYXRlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
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]\"></ng-content>\n<odx-logo></odx-logo>\n<ng-content select=\"odx-header-title\"></ng-content>\n<ng-content select=\"odx-action-group, odx-auth\"></ng-content>\n<ng-content select=\"[odxHeaderAvatar]\"></ng-content>\n", dependencies: [{ kind: "directive", type: LogoDirective, selector: "odx-logo", inputs: ["size", "variant"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
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]\"></ng-content>\n<odx-logo></odx-logo>\n<ng-content select=\"odx-header-title\"></ng-content>\n<ng-content select=\"odx-action-group, odx-auth\"></ng-content>\n<ng-content select=\"[odxHeaderAvatar]\"></ng-content>\n" }]
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2hlYWRlci9zcmMvbGliL2hlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9oZWFkZXIvc3JjL2xpYi9oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBVzVDLFdBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWU7SUFBckI7UUFDVyxZQUFPLEdBQUcsYUFBYSxFQUFFLENBQUM7S0FDM0M7K0dBRlksZUFBZTttR0FBZixlQUFlLHNFQ2Q1Qix5UUFLQSw0Q0RJWSxhQUFhOztBQUtaLGVBQWU7SUFUM0IsWUFBWSxDQUFDLFFBQVEsQ0FBQztHQVNWLGVBQWUsQ0FFM0I7NEZBRlksZUFBZTtrQkFSM0IsU0FBUztpQ0FDSSxJQUFJLFlBQ04sWUFBWSxXQUNiLENBQUMsYUFBYSxDQUFDLGlCQUVULGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9nb0RpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2xvZ28nO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGluamVjdEVsZW1lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuXG5AQ1NTQ29tcG9uZW50KCdoZWFkZXInKVxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnb2R4LWhlYWRlcicsXG4gIGltcG9ydHM6IFtMb2dvRGlyZWN0aXZlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImJ1dHRvbltvZHhNYWluTWVudUJ1dHRvbl1cIj48L25nLWNvbnRlbnQ+XG48b2R4LWxvZ28+PC9vZHgtbG9nbz5cbjxuZy1jb250ZW50IHNlbGVjdD1cIm9keC1oZWFkZXItdGl0bGVcIj48L25nLWNvbnRlbnQ+XG48bmctY29udGVudCBzZWxlY3Q9XCJvZHgtYWN0aW9uLWdyb3VwLCBvZHgtYXV0aFwiPjwvbmctY29udGVudD5cbjxuZy1jb250ZW50IHNlbGVjdD1cIltvZHhIZWFkZXJBdmF0YXJdXCI+PC9uZy1jb250ZW50PlxuIl19
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
@@ -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
@@ -0,0 +1,28 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, booleanAttribute } from '@angular/core';
3
+ import { ActionGroupComponent } from '@odx/angular/components/action-group';
4
+ import { CSSComponent, CSSModifier } from '@odx/angular/internal';
5
+ import { injectElement } from '@odx/angular/utils';
6
+ import * as i0 from "@angular/core";
7
+ export let HeaderNavigationComponent = class HeaderNavigationComponent {
8
+ constructor() {
9
+ this.element = injectElement();
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.12", type: HeaderNavigationComponent, isStandalone: true, selector: "odx-header-navigation", inputs: { centered: ["centered", "centered", booleanAttribute] }, ngImport: i0, template: "<odx-action-group class=\"odx-header-navigation__inner\">\n <ng-content select=\"ng-template, [odxHeaderNavigationLink]\" ngProjectAs=\"[odxButton]\" />\n</odx-action-group>\n", dependencies: [{ kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13
+ };
14
+ __decorate([
15
+ CSSModifier(),
16
+ __metadata("design:type", Boolean)
17
+ ], HeaderNavigationComponent.prototype, "centered", void 0);
18
+ HeaderNavigationComponent = __decorate([
19
+ CSSComponent('header-navigation')
20
+ ], HeaderNavigationComponent);
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderNavigationComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ standalone: true, selector: 'odx-header-navigation', imports: [ActionGroupComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<odx-action-group class=\"odx-header-navigation__inner\">\n <ng-content select=\"ng-template, [odxHeaderNavigationLink]\" ngProjectAs=\"[odxButton]\" />\n</odx-action-group>\n" }]
24
+ }], propDecorators: { centered: [{
25
+ type: Input,
26
+ args: [{ transform: booleanAttribute }]
27
+ }] } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvaGVhZGVyLW5hdmlnYXRpb24vc3JjL2xpYi9oZWFkZXItbmF2aWdhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9oZWFkZXItbmF2aWdhdGlvbi9zcmMvbGliL2hlYWRlci1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFXNUMsV0FBTSx5QkFBeUIsR0FBL0IsTUFBTSx5QkFBeUI7SUFBL0I7UUFDVyxZQUFPLEdBQUcsYUFBYSxFQUFFLENBQUM7S0FLM0M7K0dBTlkseUJBQXlCO21HQUF6Qix5QkFBeUIsc0dBSWhCLGdCQUFnQiw2QkNsQnRDLGtMQUdBLDRDRE9ZLG9CQUFvQjs7QUFTdkI7SUFGTixXQUFXLEVBQUU7OzJEQUVZO0FBTGYseUJBQXlCO0lBVHJDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQztHQVNyQix5QkFBeUIsQ0FNckM7NEZBTlkseUJBQXlCO2tCQVJyQyxTQUFTO2lDQUNJLElBQUksWUFDTix1QkFBdUIsV0FFeEIsQ0FBQyxvQkFBb0IsQ0FBQyxpQkFDaEIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs4QkFPeEMsUUFBUTtzQkFEZCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBib29sZWFuQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25Hcm91cENvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2FjdGlvbi1ncm91cCc7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQsIENTU01vZGlmaWVyIH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGluamVjdEVsZW1lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuXG5AQ1NTQ29tcG9uZW50KCdoZWFkZXItbmF2aWdhdGlvbicpXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdvZHgtaGVhZGVyLW5hdmlnYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbQWN0aW9uR3JvdXBDb21wb25lbnRdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyTmF2aWdhdGlvbkNvbXBvbmVudCB7XG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIEBDU1NNb2RpZmllcigpXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgY2VudGVyZWQhOiBib29sZWFuO1xufVxuIiwiPG9keC1hY3Rpb24tZ3JvdXAgY2xhc3M9XCJvZHgtaGVhZGVyLW5hdmlnYXRpb25fX2lubmVyXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIm5nLXRlbXBsYXRlLCBbb2R4SGVhZGVyTmF2aWdhdGlvbkxpbmtdXCIgbmdQcm9qZWN0QXM9XCJbb2R4QnV0dG9uXVwiIC8+XG48L29keC1hY3Rpb24tZ3JvdXA+XG4iXX0=