@tedi-design-system/angular 4.2.0-rc.1 → 5.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/community/components/navigation/index.d.ts +1 -0
  2. package/community/components/navigation/index.d.ts.map +1 -1
  3. package/community/components/navigation/table-of-contents/index.d.ts +4 -0
  4. package/community/components/navigation/table-of-contents/index.d.ts.map +1 -0
  5. package/community/components/navigation/table-of-contents/table-of-contents-item/table-of-contents-item.component.d.ts +12 -0
  6. package/community/components/navigation/table-of-contents/table-of-contents-item/table-of-contents-item.component.d.ts.map +1 -0
  7. package/community/components/navigation/table-of-contents/table-of-contents-nested-wrapper.component.d.ts +11 -0
  8. package/community/components/navigation/table-of-contents/table-of-contents-nested-wrapper.component.d.ts.map +1 -0
  9. package/community/components/navigation/table-of-contents/table-of-contents.component.d.ts +76 -0
  10. package/community/components/navigation/table-of-contents/table-of-contents.component.d.ts.map +1 -0
  11. package/fesm2022/tedi-design-system-angular-community.mjs +255 -9
  12. package/fesm2022/tedi-design-system-angular-community.mjs.map +1 -1
  13. package/fesm2022/tedi-design-system-angular-tedi.mjs +319 -106
  14. package/fesm2022/tedi-design-system-angular-tedi.mjs.map +1 -1
  15. package/index.css +1 -1
  16. package/package.json +2 -2
  17. package/tedi/components/layout/header/header-language/header-language.component.d.ts.map +1 -1
  18. package/tedi/components/layout/header/header-profile/header-profile.component.d.ts +7 -1
  19. package/tedi/components/layout/header/header-profile/header-profile.component.d.ts.map +1 -1
  20. package/tedi/components/layout/header/header-role/header-role.component.d.ts +1 -1
  21. package/tedi/components/layout/header/header-role/header-role.component.d.ts.map +1 -1
  22. package/tedi/components/navigation/link/link.component.d.ts +6 -1
  23. package/tedi/components/navigation/link/link.component.d.ts.map +1 -1
  24. package/tedi/components/overlay/popover/index.d.ts +1 -1
  25. package/tedi/components/overlay/popover/popover-content/popover-content.component.d.ts +1 -1
  26. package/tedi/components/overlay/popover/popover-content/popover-content.component.d.ts.map +1 -1
  27. package/tedi/components/overlay/popover/popover-trigger/popover-trigger.directive.d.ts +16 -0
  28. package/tedi/components/overlay/popover/popover-trigger/popover-trigger.directive.d.ts.map +1 -0
  29. package/tedi/components/overlay/popover/popover.component.d.ts +32 -12
  30. package/tedi/components/overlay/popover/popover.component.d.ts.map +1 -1
  31. package/tedi/components/overlay/tooltip/tooltip-trigger/tooltip-trigger.component.d.ts +2 -1
  32. package/tedi/components/overlay/tooltip/tooltip-trigger/tooltip-trigger.component.d.ts.map +1 -1
  33. package/tedi/utils/elements.util.d.ts +2 -0
  34. package/tedi/utils/elements.util.d.ts.map +1 -0
  35. package/tedi/components/overlay/popover/popover-trigger/popover-trigger.component.d.ts +0 -10
  36. package/tedi/components/overlay/popover/popover-trigger/popover-trigger.component.d.ts.map +0 -1
@@ -1,4 +1,5 @@
1
1
  export * from "./breadcrumbs/breadcrumbs.component";
2
2
  export * from "./pagination/pagination.component";
3
+ export * from "./table-of-contents";
3
4
  export * from "./tabs";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../community/components/navigation/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../community/components/navigation/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./table-of-contents.component";
2
+ export * from "./table-of-contents-nested-wrapper.component";
3
+ export * from "./table-of-contents-item/table-of-contents-item.component";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../community/components/navigation/table-of-contents/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,2DAA2D,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { EventEmitter } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export declare class TableOfContentsItemComponent {
4
+ idTo: import("@angular/core").InputSignal<string>;
5
+ selected: import("@angular/core").WritableSignal<boolean>;
6
+ itemSelected: EventEmitter<string>;
7
+ classes: import("@angular/core").Signal<string>;
8
+ itemClick(): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableOfContentsItemComponent, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableOfContentsItemComponent, "tedi-table-of-contents-item", never, { "idTo": { "alias": "idTo"; "required": true; "isSignal": true; }; }, {}, never, ["*", "tedi-table-of-contents-item,tedi-table-of-contents-nested-wrapper"], true, never>;
11
+ }
12
+ //# sourceMappingURL=table-of-contents-item.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-of-contents-item.component.d.ts","sourceRoot":"","sources":["../../../../../../community/components/navigation/table-of-contents/table-of-contents-item/table-of-contents-item.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,YAAY,EACb,MAAM,eAAe,CAAC;;AAGvB,qBAMa,4BAA4B;IACvC,IAAI,8CAA4B;IAEhC,QAAQ,kDAAiB;IAEzB,YAAY,uBAA8B;IAE1C,OAAO,yCAMJ;IAEH,SAAS;yCAfE,4BAA4B;2CAA5B,4BAA4B;CAkBxC"}
@@ -0,0 +1,11 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Wrapper component for nested table of contents items.
4
+ * Workaround for https://github.com/angular/angular/issues/57345,
5
+ * which is a issue when you use `@if() {}` syntax inside a component that uses ng-content.
6
+ */
7
+ export declare class TableOfContentsNestedWrapperComponent {
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableOfContentsNestedWrapperComponent, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableOfContentsNestedWrapperComponent, "tedi-table-of-contents-nested-wrapper", never, {}, {}, never, ["*"], true, never>;
10
+ }
11
+ //# sourceMappingURL=table-of-contents-nested-wrapper.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-of-contents-nested-wrapper.component.d.ts","sourceRoot":"","sources":["../../../../../community/components/navigation/table-of-contents/table-of-contents-nested-wrapper.component.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AACH,qBAIa,qCAAqC;yCAArC,qCAAqC;2CAArC,qCAAqC;CAAG"}
@@ -0,0 +1,76 @@
1
+ import { TemplateRef, OnDestroy, AfterContentInit } from "@angular/core";
2
+ import { DialogRef } from "@angular/cdk/dialog";
3
+ import { TableOfContentsItemComponent } from "./table-of-contents-item/table-of-contents-item.component";
4
+ import * as i0 from "@angular/core";
5
+ export type TableOfContentsPosition = "default" | "fixed" | "sticky";
6
+ export type TableOfContentsBreakpoint = "mobile" | "tablet" | "desktop" | "never";
7
+ export declare class TableOfContentsComponent implements OnDestroy, AfterContentInit {
8
+ /**
9
+ * Heading of the table of contents
10
+ */
11
+ heading: import("@angular/core").InputSignal<string>;
12
+ /**
13
+ * Should component be initially shown. Won't work with open and onToggle.
14
+ * @default false
15
+ */
16
+ defaultOpen?: boolean;
17
+ /**
18
+ * Should the component be open or closed.
19
+ * Use to handle state outside of component, should use with onToggle prop.
20
+ */
21
+ open?: boolean;
22
+ /**
23
+ * Should child table of contents elements when clicked scroll
24
+ */
25
+ scrollOnClick: import("@angular/core").InputSignal<boolean>;
26
+ /**
27
+ * Callback when component is toggled.
28
+ * Use to handle state outside of component, should use with open prop.
29
+ */
30
+ onToggle?: (open: boolean) => void;
31
+ /**
32
+ * Position strategy of the table of contents
33
+ * @default default
34
+ */
35
+ position: import("@angular/core").InputSignal<TableOfContentsPosition>;
36
+ /**
37
+ * ARIA label for the <nav> component
38
+ */
39
+ ariaLabel: import("@angular/core").InputSignal<string>;
40
+ /**
41
+ * Breakpoint to switch to modal view
42
+ * @default mobile
43
+ */
44
+ modalBreakpoint: import("@angular/core").InputSignal<TableOfContentsBreakpoint>;
45
+ /**
46
+ * Should the component track scroll and update active item
47
+ */
48
+ scrollAware: import("@angular/core").InputSignal<boolean>;
49
+ isSeeking: boolean;
50
+ seekingTimeout: NodeJS.Timeout | undefined;
51
+ dialogRef?: DialogRef;
52
+ isOpen: import("@angular/core").WritableSignal<boolean>;
53
+ templateRef: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
54
+ private intersectionObservers;
55
+ private tableItems;
56
+ private router;
57
+ private dialog;
58
+ private update$;
59
+ private itemsChanged$;
60
+ activeElement: import("@angular/core").Signal<TableOfContentsItemComponent | undefined>;
61
+ activeId: import("@angular/core").Signal<string | undefined>;
62
+ classes: import("@angular/core").Signal<string>;
63
+ footerClasses: import("@angular/core").Signal<string>;
64
+ constructor();
65
+ ngAfterContentInit(): void;
66
+ ngOnDestroy(): void;
67
+ openMobileModal(): void;
68
+ seekTo(id: string): void;
69
+ private hookItems;
70
+ private hookObservers;
71
+ observerCallback(): void;
72
+ private cleanupObservers;
73
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableOfContentsComponent, never>;
74
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableOfContentsComponent, "tedi-table-of-contents", never, { "heading": { "alias": "heading"; "required": true; "isSignal": true; }; "scrollOnClick": { "alias": "scrollOnClick"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "modalBreakpoint": { "alias": "modalBreakpoint"; "required": false; "isSignal": true; }; "scrollAware": { "alias": "scrollAware"; "required": false; "isSignal": true; }; }, {}, ["tableItems"], ["*"], true, never>;
75
+ }
76
+ //# sourceMappingURL=table-of-contents.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-of-contents.component.d.ts","sourceRoot":"","sources":["../../../../../community/components/navigation/table-of-contents/table-of-contents.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,WAAW,EAGX,SAAS,EACT,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAWvB,OAAO,EAAU,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,4BAA4B,EAAE,MAAM,2DAA2D,CAAC;;AAIzG,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AACrE,MAAM,MAAM,yBAAyB,GACjC,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,OAAO,CAAC;AAEZ,qBAca,wBAAyB,YAAW,SAAS,EAAE,gBAAgB;IAC1E;;OAEG;IACH,OAAO,8CAA4B;IACnC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,aAAa,+CAAwB;IACrC;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnC;;;OAGG;IACH,QAAQ,+DAA6C;IAErD;;OAEG;IACH,SAAS,8CAAsC;IAE/C;;;OAGG;IACH,eAAe,iEAA8C;IAE7D;;OAEG;IACH,WAAW,+CAAwB;IAEnC,SAAS,UAAS;IAClB,cAAc,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3C,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,MAAM,kDAAiB;IAEvB,WAAW,mEAAsD;IAEjE,OAAO,CAAC,qBAAqB,CAA8B;IAE3D,OAAO,CAAC,UAAU,CAEf;IACH,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,MAAM,CAAkB;IAEhC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,aAAa,CAAuB;IAE5C,aAAa,2EAEX;IAEF,QAAQ,qDAAgD;IAExD,OAAO,yCAYJ;IAEH,aAAa,yCAMV;;IAUH,kBAAkB,IAAI,IAAI;IAK1B,WAAW,IAAI,IAAI;IAOnB,eAAe;IAef,MAAM,CAAC,EAAE,EAAE,MAAM;IA4BjB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,aAAa;IAqBrB,gBAAgB;IAmChB,OAAO,CAAC,gBAAgB;yCAtOb,wBAAwB;2CAAxB,wBAAwB;CA0OpC"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, inject, computed, ViewEncapsulation, Component, Directive, ChangeDetectionStrategy, signal, contentChildren, effect, booleanAttribute, model, forwardRef, viewChild, output, TemplateRef, Injector, contentChild, ElementRef, HostListener, Injectable } from '@angular/core';
2
+ import { input, inject, computed, ViewEncapsulation, Component, Directive, ChangeDetectionStrategy, signal, contentChildren, effect, booleanAttribute, model, forwardRef, viewChild, output, TemplateRef, Injector, contentChild, ElementRef, HostListener, Injectable, EventEmitter } from '@angular/core';
3
3
  import * as i1 from '@tedi-design-system/angular/tedi';
4
4
  import { BaseButtonDirective, IconComponent, ButtonComponent, generateUUID, FeedbackTextComponent, LabelComponent, BreakpointService, ClosingButtonComponent, TextComponent, TediTranslationPipe, SpinnerComponent, TediTranslationService, TooltipComponent, TooltipTriggerComponent, TooltipContentComponent, InfoButtonComponent, VerticalSpacingDirective, LinkComponent } from '@tedi-design-system/angular/tedi';
5
5
  import * as i1$2 from '@angular/forms';
@@ -9,16 +9,17 @@ import { CdkOverlayOrigin, OverlayModule } from '@angular/cdk/overlay';
9
9
  import * as i3 from '@angular/cdk/listbox';
10
10
  import { CdkListbox, CdkListboxModule } from '@angular/cdk/listbox';
11
11
  import { FocusKeyManager, A11yModule } from '@angular/cdk/a11y';
12
- import { DialogRef, DIALOG_DATA, DialogModule } from '@angular/cdk/dialog';
12
+ import { DialogRef, DIALOG_DATA, DialogModule, Dialog } from '@angular/cdk/dialog';
13
13
  import { CdkScrollable } from '@angular/cdk/scrolling';
14
14
  import * as i1$1 from '@angular/common';
15
- import { NgStyle, CommonModule } from '@angular/common';
15
+ import { NgStyle, CommonModule, NgTemplateOutlet } from '@angular/common';
16
16
  import * as i2$1 from '@angular/cdk/menu';
17
17
  import { CdkMenu, CdkMenuModule } from '@angular/cdk/menu';
18
18
  import * as i1$3 from '@angular/router';
19
- import { RouterLink, RouterLinkActive } from '@angular/router';
19
+ import { RouterLink, Router, RouterLinkActive } from '@angular/router';
20
+ import { CardComponent as CardComponent$1, CardContentComponent as CardContentComponent$1 } from 'community/components/cards';
21
+ import { Subject, takeUntil, startWith } from 'rxjs';
20
22
  import { toSignal } from '@angular/core/rxjs-interop';
21
- import { startWith } from 'rxjs';
22
23
 
23
24
  class FloatingButtonComponent {
24
25
  /**
@@ -1211,13 +1212,13 @@ class ModalComponent {
1211
1212
  }
1212
1213
  }
1213
1214
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1214
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.15", type: ModalComponent, isStandalone: true, selector: "tedi-modal", inputs: { maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { maxWidth: "maxWidthChange", variant: "variantChange" }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: "<div class=\"tedi-modal__container\">\n <ng-content select=\"tedi-modal-header\" />\n <div class=\"tedi-modal__content\" cdkScrollable>\n <ng-content />\n </div>\n\n <ng-content select=\"tedi-modal-footer\" />\n</div>\n", styles: [".cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media (prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media (forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-pane:has(.tedi-modal--width-xs),.tedi-modal--width-xs{width:100%;max-width:var(--modal-max-width-xs)}.cdk-overlay-pane:has(.tedi-modal--width-sm),.tedi-modal--width-sm{width:100%;max-width:var(--modal-max-width-sm)}.cdk-overlay-pane:has(.tedi-modal--width-md),.tedi-modal--width-md{width:100%;max-width:var(--modal-max-width-md)}.cdk-overlay-pane:has(.tedi-modal--width-lg),.tedi-modal--width-lg{width:100%;max-width:var(--modal-max-width-lg)}.cdk-overlay-pane:has(.tedi-modal--width-xl),.tedi-modal--width-xl{width:100%;max-width:var(--modal-max-width-xl)}.tedi-modal{--_modal-border: var(--borders-01) solid var(--modal-border-outer);--_modal-padding: var(--dimensions-13);--_tedi-modal-heading-padding-x: var(--modal-heading-padding-x);--_tedi-modal-heading-padding-y: var(--modal-heading-padding-y);--_tedi-modal-footer-padding-x: var(--modal-footer-padding-x);--_tedi-modal-footer-padding-y: var(--modal-footer-padding-y);overflow:auto;----_tedi-modal-heading-padding-x-x-desktop: var(--dimensions-10);----_tedi-modal-heading-padding-x-x-tablet: var(--dimensions-10);----_tedi-modal-heading-padding-x-x-mobile: var(--dimensions-10);----_tedi-modal-heading-padding-x-y-desktop: var(--dimensions-05);----_tedi-modal-heading-padding-x-y-tablet: var(--dimensions-05);----_tedi-modal-heading-padding-x-y-mobile: var(--dimensions-05)}.tedi-modal--padding-small{--modal-heading-padding-x-desktop: var(--dimensions-10);--modal-heading-padding-x-tablet: var(--dimensions-10);--modal-heading-padding-x-mobile: var(--dimensions-10);--modal-heading-padding-y-desktop: var(--dimensions-05);--modal-heading-padding-y-tablet: var(--dimensions-05);--modal-heading-padding-y-mobile: var(--dimensions-05);--modal-footer-padding-x-desktop: var(--dimensions-10);--modal-footer-padding-x-tablet: var(--dimensions-10);--modal-footer-padding-x-mobile: var(--dimensions-10);--modal-footer-padding-y-desktop: var(--dimensions-05);--modal-footer-padding-y-tablet: var(--dimensions-05);--modal-footer-padding-y-mobile: var(--dimensions-05)}.tedi-modal__content{padding:var(--_modal-padding);overflow-y:auto}.tedi-modal__container{display:flex;flex-direction:column;max-height:95dvh;background-color:var(--modal-background);border:var(--_modal-border);border-radius:var(--modal-radius)}\n"], dependencies: [{ kind: "ngmodule", type: DialogModule }, { kind: "directive", type: CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }], encapsulation: i0.ViewEncapsulation.None });
1215
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.15", type: ModalComponent, isStandalone: true, selector: "tedi-modal", inputs: { maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { maxWidth: "maxWidthChange", variant: "variantChange" }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: "<div class=\"tedi-modal__container\">\n <ng-content select=\"tedi-modal-header\" />\n <div class=\"tedi-modal__content\" cdkScrollable>\n <ng-content />\n </div>\n\n <ng-content select=\"tedi-modal-footer\" />\n</div>\n", styles: [".cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media (prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media (forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-pane:has(.tedi-modal--width-xs),.tedi-modal--width-xs{width:100%;max-width:var(--modal-max-width-xs)}.cdk-overlay-pane:has(.tedi-modal--width-sm),.tedi-modal--width-sm{width:100%;max-width:var(--modal-max-width-sm)}.cdk-overlay-pane:has(.tedi-modal--width-md),.tedi-modal--width-md{width:100%;max-width:var(--modal-max-width-md)}.cdk-overlay-pane:has(.tedi-modal--width-lg),.tedi-modal--width-lg{width:100%;max-width:var(--modal-max-width-lg)}.cdk-overlay-pane:has(.tedi-modal--width-xl),.tedi-modal--width-xl{width:100%;max-width:var(--modal-max-width-xl)}.tedi-modal{--_modal-border: var(--borders-01) solid var(--modal-border-outer);--_modal-padding: var(--dimensions-13);--_tedi-modal-heading-padding-x: var(--modal-heading-padding-x);--_tedi-modal-heading-padding-y: var(--modal-heading-padding-y);--_tedi-modal-footer-padding-x: var(--modal-footer-padding-x);--_tedi-modal-footer-padding-y: var(--modal-footer-padding-y);overflow:auto;----_tedi-modal-heading-padding-x-x-desktop: var(--dimensions-10);----_tedi-modal-heading-padding-x-x-tablet: var(--dimensions-10);----_tedi-modal-heading-padding-x-x-mobile: var(--dimensions-10);----_tedi-modal-heading-padding-x-y-desktop: var(--dimensions-05);----_tedi-modal-heading-padding-x-y-tablet: var(--dimensions-05);----_tedi-modal-heading-padding-x-y-mobile: var(--dimensions-05)}.tedi-modal--padding-small{--modal-heading-padding-x-desktop: var(--dimensions-10);--modal-heading-padding-x-tablet: var(--dimensions-10);--modal-heading-padding-x-mobile: var(--dimensions-10);--modal-heading-padding-y-desktop: var(--dimensions-05);--modal-heading-padding-y-tablet: var(--dimensions-05);--modal-heading-padding-y-mobile: var(--dimensions-05);--modal-footer-padding-x-desktop: var(--dimensions-10);--modal-footer-padding-x-tablet: var(--dimensions-10);--modal-footer-padding-x-mobile: var(--dimensions-10);--modal-footer-padding-y-desktop: var(--dimensions-05);--modal-footer-padding-y-tablet: var(--dimensions-05);--modal-footer-padding-y-mobile: var(--dimensions-05)}.tedi-modal__content{padding:var(--_modal-padding);overflow-y:auto}.tedi-modal__container{display:flex;flex-direction:column;max-height:95dvh;background-color:var(--modal-background);border:var(--_modal-border);border-radius:var(--modal-radius)}.tedi-bottom-dialog{bottom:20%}\n"], dependencies: [{ kind: "ngmodule", type: DialogModule }, { kind: "directive", type: CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }], encapsulation: i0.ViewEncapsulation.None });
1215
1216
  }
1216
1217
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ModalComponent, decorators: [{
1217
1218
  type: Component,
1218
1219
  args: [{ selector: "tedi-modal", imports: [DialogModule, CdkScrollable], encapsulation: ViewEncapsulation.None, host: {
1219
1220
  "[class]": "hostClasses()",
1220
- }, template: "<div class=\"tedi-modal__container\">\n <ng-content select=\"tedi-modal-header\" />\n <div class=\"tedi-modal__content\" cdkScrollable>\n <ng-content />\n </div>\n\n <ng-content select=\"tedi-modal-footer\" />\n</div>\n", styles: [".cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media (prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media (forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-pane:has(.tedi-modal--width-xs),.tedi-modal--width-xs{width:100%;max-width:var(--modal-max-width-xs)}.cdk-overlay-pane:has(.tedi-modal--width-sm),.tedi-modal--width-sm{width:100%;max-width:var(--modal-max-width-sm)}.cdk-overlay-pane:has(.tedi-modal--width-md),.tedi-modal--width-md{width:100%;max-width:var(--modal-max-width-md)}.cdk-overlay-pane:has(.tedi-modal--width-lg),.tedi-modal--width-lg{width:100%;max-width:var(--modal-max-width-lg)}.cdk-overlay-pane:has(.tedi-modal--width-xl),.tedi-modal--width-xl{width:100%;max-width:var(--modal-max-width-xl)}.tedi-modal{--_modal-border: var(--borders-01) solid var(--modal-border-outer);--_modal-padding: var(--dimensions-13);--_tedi-modal-heading-padding-x: var(--modal-heading-padding-x);--_tedi-modal-heading-padding-y: var(--modal-heading-padding-y);--_tedi-modal-footer-padding-x: var(--modal-footer-padding-x);--_tedi-modal-footer-padding-y: var(--modal-footer-padding-y);overflow:auto;----_tedi-modal-heading-padding-x-x-desktop: var(--dimensions-10);----_tedi-modal-heading-padding-x-x-tablet: var(--dimensions-10);----_tedi-modal-heading-padding-x-x-mobile: var(--dimensions-10);----_tedi-modal-heading-padding-x-y-desktop: var(--dimensions-05);----_tedi-modal-heading-padding-x-y-tablet: var(--dimensions-05);----_tedi-modal-heading-padding-x-y-mobile: var(--dimensions-05)}.tedi-modal--padding-small{--modal-heading-padding-x-desktop: var(--dimensions-10);--modal-heading-padding-x-tablet: var(--dimensions-10);--modal-heading-padding-x-mobile: var(--dimensions-10);--modal-heading-padding-y-desktop: var(--dimensions-05);--modal-heading-padding-y-tablet: var(--dimensions-05);--modal-heading-padding-y-mobile: var(--dimensions-05);--modal-footer-padding-x-desktop: var(--dimensions-10);--modal-footer-padding-x-tablet: var(--dimensions-10);--modal-footer-padding-x-mobile: var(--dimensions-10);--modal-footer-padding-y-desktop: var(--dimensions-05);--modal-footer-padding-y-tablet: var(--dimensions-05);--modal-footer-padding-y-mobile: var(--dimensions-05)}.tedi-modal__content{padding:var(--_modal-padding);overflow-y:auto}.tedi-modal__container{display:flex;flex-direction:column;max-height:95dvh;background-color:var(--modal-background);border:var(--_modal-border);border-radius:var(--modal-radius)}\n"] }]
1221
+ }, template: "<div class=\"tedi-modal__container\">\n <ng-content select=\"tedi-modal-header\" />\n <div class=\"tedi-modal__content\" cdkScrollable>\n <ng-content />\n </div>\n\n <ng-content select=\"tedi-modal-footer\" />\n</div>\n", styles: [".cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media (prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media (forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-pane:has(.tedi-modal--width-xs),.tedi-modal--width-xs{width:100%;max-width:var(--modal-max-width-xs)}.cdk-overlay-pane:has(.tedi-modal--width-sm),.tedi-modal--width-sm{width:100%;max-width:var(--modal-max-width-sm)}.cdk-overlay-pane:has(.tedi-modal--width-md),.tedi-modal--width-md{width:100%;max-width:var(--modal-max-width-md)}.cdk-overlay-pane:has(.tedi-modal--width-lg),.tedi-modal--width-lg{width:100%;max-width:var(--modal-max-width-lg)}.cdk-overlay-pane:has(.tedi-modal--width-xl),.tedi-modal--width-xl{width:100%;max-width:var(--modal-max-width-xl)}.tedi-modal{--_modal-border: var(--borders-01) solid var(--modal-border-outer);--_modal-padding: var(--dimensions-13);--_tedi-modal-heading-padding-x: var(--modal-heading-padding-x);--_tedi-modal-heading-padding-y: var(--modal-heading-padding-y);--_tedi-modal-footer-padding-x: var(--modal-footer-padding-x);--_tedi-modal-footer-padding-y: var(--modal-footer-padding-y);overflow:auto;----_tedi-modal-heading-padding-x-x-desktop: var(--dimensions-10);----_tedi-modal-heading-padding-x-x-tablet: var(--dimensions-10);----_tedi-modal-heading-padding-x-x-mobile: var(--dimensions-10);----_tedi-modal-heading-padding-x-y-desktop: var(--dimensions-05);----_tedi-modal-heading-padding-x-y-tablet: var(--dimensions-05);----_tedi-modal-heading-padding-x-y-mobile: var(--dimensions-05)}.tedi-modal--padding-small{--modal-heading-padding-x-desktop: var(--dimensions-10);--modal-heading-padding-x-tablet: var(--dimensions-10);--modal-heading-padding-x-mobile: var(--dimensions-10);--modal-heading-padding-y-desktop: var(--dimensions-05);--modal-heading-padding-y-tablet: var(--dimensions-05);--modal-heading-padding-y-mobile: var(--dimensions-05);--modal-footer-padding-x-desktop: var(--dimensions-10);--modal-footer-padding-x-tablet: var(--dimensions-10);--modal-footer-padding-x-mobile: var(--dimensions-10);--modal-footer-padding-y-desktop: var(--dimensions-05);--modal-footer-padding-y-tablet: var(--dimensions-05);--modal-footer-padding-y-mobile: var(--dimensions-05)}.tedi-modal__content{padding:var(--_modal-padding);overflow-y:auto}.tedi-modal__container{display:flex;flex-direction:column;max-height:95dvh;background-color:var(--modal-background);border:var(--_modal-border);border-radius:var(--modal-radius)}.tedi-bottom-dialog{bottom:20%}\n"] }]
1221
1222
  }] });
1222
1223
 
1223
1224
  class ModalFooterComponent {
@@ -2741,7 +2742,7 @@ class BreadcrumbsComponent {
2741
2742
  return null;
2742
2743
  }
2743
2744
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BreadcrumbsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2744
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: BreadcrumbsComponent, isStandalone: true, selector: "tedi-breadcrumbs", inputs: { crumbs: { classPropertyName: "crumbs", publicName: "crumbs", isSignal: true, isRequired: false, transformFunction: null }, shortCrumbs: { classPropertyName: "shortCrumbs", publicName: "shortCrumbs", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "xxl", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<nav\n *ngIf=\"this.breakpointInputs().crumbs.length > 0\"\n aria-label=\"Breadcrumb\"\n class=\"tedi__breadcrumbs\"\n>\n <ol class=\"tedi__breadcrumbs__list\">\n <ng-container *ngIf=\"!this.breakpointInputs().shortCrumbs\">\n <ng-container\n *ngFor=\"let crumb of this.breakpointInputs().crumbs; let last = last\"\n >\n @if (!last) {\n <li class=\"tedi__breadcrumbs__item\">\n <a tedi-link [routerLink]=\"crumb.href\" [underline]=\"false\">{{\n crumb.label\n }}</a>\n <tedi-icon color=\"brand\" name=\"chevron_right\" />\n </li>\n } @else {\n <li\n aria-current=\"page\"\n tedi-text\n modifiers=\"inline-block\"\n color=\"secondary\"\n >\n {{ crumb.label }}\n </li>\n }\n </ng-container>\n </ng-container>\n </ol>\n <ng-container\n *ngIf=\"\n this.breakpointInputs().crumbs.length > 1 &&\n this.breakpointInputs().shortCrumbs\n \"\n >\n <div class=\"tedi__breadcrumbs__item\">\n <tedi-icon color=\"brand\" name=\"arrow_back\" />\n <a\n tedi-link\n [routerLink]=\"getSecondLastCrumb()?.href\"\n [underline]=\"false\"\n >{{ getSecondLastCrumb()?.label }}</a\n >\n </div>\n </ng-container>\n</nav>\n", styles: [":host{display:block}.tedi__breadcrumbs__list{display:flex;flex-wrap:wrap;align-items:center;margin:0;list-style:none}.tedi__breadcrumbs__item{display:flex;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: LinkComponent, selector: "[tedi-link]", inputs: ["variant", "size", "underline", "xs", "sm", "md", "lg", "xl", "xxl"] }, { kind: "component", type: IconComponent, selector: "tedi-icon", inputs: ["name", "size", "color", "background", "variant", "type", "label"] }, { kind: "component", type: TextComponent, selector: "[tedi-text]", inputs: ["modifiers", "color"] }] });
2745
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: BreadcrumbsComponent, isStandalone: true, selector: "tedi-breadcrumbs", inputs: { crumbs: { classPropertyName: "crumbs", publicName: "crumbs", isSignal: true, isRequired: false, transformFunction: null }, shortCrumbs: { classPropertyName: "shortCrumbs", publicName: "shortCrumbs", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "xxl", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<nav\n *ngIf=\"this.breakpointInputs().crumbs.length > 0\"\n aria-label=\"Breadcrumb\"\n class=\"tedi__breadcrumbs\"\n>\n <ol class=\"tedi__breadcrumbs__list\">\n <ng-container *ngIf=\"!this.breakpointInputs().shortCrumbs\">\n <ng-container\n *ngFor=\"let crumb of this.breakpointInputs().crumbs; let last = last\"\n >\n @if (!last) {\n <li class=\"tedi__breadcrumbs__item\">\n <a tedi-link [routerLink]=\"crumb.href\" [underline]=\"false\">{{\n crumb.label\n }}</a>\n <tedi-icon color=\"brand\" name=\"chevron_right\" />\n </li>\n } @else {\n <li\n aria-current=\"page\"\n tedi-text\n modifiers=\"inline-block\"\n color=\"secondary\"\n >\n {{ crumb.label }}\n </li>\n }\n </ng-container>\n </ng-container>\n </ol>\n <ng-container\n *ngIf=\"\n this.breakpointInputs().crumbs.length > 1 &&\n this.breakpointInputs().shortCrumbs\n \"\n >\n <div class=\"tedi__breadcrumbs__item\">\n <tedi-icon color=\"brand\" name=\"arrow_back\" />\n <a\n tedi-link\n [routerLink]=\"getSecondLastCrumb()?.href\"\n [underline]=\"false\"\n >{{ getSecondLastCrumb()?.label }}</a\n >\n </div>\n </ng-container>\n</nav>\n", styles: [":host{display:block}.tedi__breadcrumbs__list{display:flex;flex-wrap:wrap;align-items:center;margin:0;list-style:none}.tedi__breadcrumbs__item{display:flex;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: LinkComponent, selector: "[tedi-link]", inputs: ["variant", "size", "underline", "target", "xs", "sm", "md", "lg", "xl", "xxl"] }, { kind: "component", type: IconComponent, selector: "tedi-icon", inputs: ["name", "size", "color", "background", "variant", "type", "label"] }, { kind: "component", type: TextComponent, selector: "[tedi-text]", inputs: ["modifiers", "color"] }] });
2745
2746
  }
2746
2747
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BreadcrumbsComponent, decorators: [{
2747
2748
  type: Component,
@@ -2835,6 +2836,251 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
2835
2836
  ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"tedi-pagination\">\n @if (!hideResults()) {\n <span\n tedi-text\n class=\"tedi-pagination__results\"\n color=\"secondary\"\n modifiers=\"small\"\n >{{ length() }} {{ \"pagination.results\" | tediTranslate: length() }}</span\n >\n }\n <nav\n [attr.aria-label]=\"'pagination.title' | tediTranslate\"\n class=\"tedi-pagination__pager\"\n >\n <ul class=\"tedi-pagination__pages\">\n <li>\n <button\n tedi-button\n [disabled]=\"!hasPreviousButton()\"\n class=\"tedi-pagination__nav-button\"\n size=\"small\"\n variant=\"neutral\"\n type=\"button\"\n (click)=\"changePage(-1)\"\n [attr.aria-label]=\"'pagination.prev-page' | tediTranslate\"\n >\n <tedi-icon name=\"arrow_back\" />\n </button>\n </li>\n @for (pageNr of pages(); track $index) {\n <li>\n <tedi-pagination-page\n [page]=\"pageNr\"\n [active]=\"pageNr === page()\"\n (pageSelected)=\"selectPage(pageNr)\"\n />\n </li>\n }\n <li>\n <button\n tedi-button\n [disabled]=\"!hasNextButton()\"\n class=\"tedi-pagination__nav-button\"\n size=\"small\"\n variant=\"neutral\"\n type=\"button\"\n (click)=\"changePage(1)\"\n [attr.aria-label]=\"'pagination.next-page' | tediTranslate\"\n >\n <tedi-icon name=\"arrow_forward\" />\n </button>\n </li>\n </ul>\n </nav>\n\n @if (!hidePageSize()) {\n <div class=\"tedi-pagination__page-size-options\">\n <label tedi-text color=\"secondary\" modifiers=\"small\" [for]=\"dropdownId\">{{\n \"pagination.page-size\" | tediTranslate\n }}</label>\n <select\n [id]=\"dropdownId\"\n [(ngModel)]=\"pageSize\"\n (change)=\"pageSizeChanged()\"\n class=\"tedi-pagination__dropdown\"\n >\n @for (size of pageSizeOptions(); track size) {\n <option [value]=\"size\">{{ size }}</option>\n }\n </select>\n </div>\n }\n</div>\n", styles: [".tedi-pagination{--_pagination-border: var(--general-border-secondary, #9293a4);--_pagination-background: var(--general-surface-primary, #fff);--_pagination-page-background: transparent;--_pagination-page-text: var(--general-text-secondary, #4b4e62);--_pagination-layout: \"results page-size-options\" \"pager pager\";--_pagination-padding-y: var(--pagination-padding-y);--_pagination-padding-x: var(--pagination-padding-x);--_pagination-button-size: var(--pagination-button-size);border-top:1px solid var(--_pagination-border);background:var(--_pagination-background);padding:var(--_pagination-padding-y) var(--_pagination-padding-x);display:grid;align-items:center;grid-template-areas:var(--_pagination-layout);gap:var(--layout-grid-gutters-04)}@media (min-width: 768px){.tedi-pagination{--_pagination-layout: \"results pager page-size-options\";grid-template-columns:repeat(3,1fr)}}.tedi-pagination__results{grid-area:results}.tedi-pagination__pager{grid-area:pager;justify-self:center}.tedi-pagination__pages{display:flex;justify-items:center;align-items:center;list-style:none;margin:0;gap:var(--layout-grid-gutters-08)}.tedi-pagination__page{display:flex;justify-content:center;align-items:center;height:100%;width:100%;flex-shrink:0;border-radius:50%;border:none;background:var(--_pagination-page-background);color:var(--_pagination-page-text);cursor:pointer}.tedi-pagination__page:hover{--_pagination-page-background: var( --button-main-neutral-icon-only-background-hover, #e7f0f6 );--_pagination-page-text: var(--button-main-neutral-text-hover, #004277)}.tedi-pagination__page:active{--_pagination-page-background: var( --button-main-neutral-icon-only-background-active, #d0e1ee );--_pagination-page-text: var(--button-main-neutral-text-active, #003662)}.tedi-pagination__page:focus{--_pagination-page-background: var( --button-main-neutral-icon-only-background-focus, rgba(0, 0, 0, 0) );--_pagination-page-text: var(--button-main-neutral-text-focus, #005aa3)}.tedi-pagination__page.tedi-pagination__page--active{--_pagination-page-background: var( --general-surface-brand-secondary, #004277 );--_pagination-page-text: var(--general-text-white, #fff);pointer-events:none}.tedi-pagination__nav-button.tedi-button[disabled]{color:transparent;pointer-events:none;-webkit-user-select:none;user-select:none}.tedi-pagination__page-size-options{grid-area:page-size-options;display:flex;align-items:center;justify-self:flex-end;gap:var(--form-field-inner-spacing)}.tedi-pagination__dropdown{border:1px solid var(--form-input-border-default, #838494);border-radius:var(--form-field-radius);min-height:var(--form-field-height-sm)}\n"] }]
2836
2837
  }] });
2837
2838
 
2839
+ class TableOfContentsItemComponent {
2840
+ idTo = input.required();
2841
+ selected = signal(false);
2842
+ itemSelected = new EventEmitter();
2843
+ classes = computed(() => {
2844
+ const classes = ["table-of-contents__item"];
2845
+ if (this.selected()) {
2846
+ classes.push("table-of-contents__item--active");
2847
+ }
2848
+ return classes.join(" ");
2849
+ });
2850
+ itemClick() {
2851
+ this.itemSelected.emit(this.idTo());
2852
+ }
2853
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TableOfContentsItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2854
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.15", type: TableOfContentsItemComponent, isStandalone: true, selector: "tedi-table-of-contents-item", inputs: { idTo: { classPropertyName: "idTo", publicName: "idTo", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div [class]=\"classes()\">\n <a\n tedi-button\n variant=\"neutral\"\n class=\"table-of-contents__item-anchor\"\n (click)=\"itemClick()\"\n >\n <ng-content />\n </a>\n\n <ng-content\n select=\"tedi-table-of-contents-item,tedi-table-of-contents-nested-wrapper\"\n />\n</div>\n", styles: [".table-of-contents__item{display:flex;flex-direction:column;gap:var(--dimensions-05)}.table-of-contents__item--active .table-of-contents__item-anchor{border-color:var(--link-primary-default);color:var(--link-primary-active)}.table-of-contents__item--active .table-of-contents__item-anchor:hover{border-color:var(--link-primary-active)}.table-of-contents__item .table-of-contents__item .table-of-contents__item-anchor{padding-left:var(--table-of-contents-padding-left-level-2)}.table-of-contents__item-anchor{display:flex;align-items:flex-start;flex-direction:column;--_table-of-contents-inset: 1px;padding:0 calc(var(--table-of-contents-padding-left-level-1) - var(--_table-of-contents-inset));border:0;border-left:var(--table-of-contents-active-item-border-width) solid transparent;border-radius:0;margin-left:-var(--_table-of-contents-inset)}.table-of-contents__item-anchor:hover{text-decoration:underline}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "[tedi-button]", inputs: ["variant", "size"] }] });
2855
+ }
2856
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TableOfContentsItemComponent, decorators: [{
2857
+ type: Component,
2858
+ args: [{ selector: "tedi-table-of-contents-item", imports: [ButtonComponent], template: "<div [class]=\"classes()\">\n <a\n tedi-button\n variant=\"neutral\"\n class=\"table-of-contents__item-anchor\"\n (click)=\"itemClick()\"\n >\n <ng-content />\n </a>\n\n <ng-content\n select=\"tedi-table-of-contents-item,tedi-table-of-contents-nested-wrapper\"\n />\n</div>\n", styles: [".table-of-contents__item{display:flex;flex-direction:column;gap:var(--dimensions-05)}.table-of-contents__item--active .table-of-contents__item-anchor{border-color:var(--link-primary-default);color:var(--link-primary-active)}.table-of-contents__item--active .table-of-contents__item-anchor:hover{border-color:var(--link-primary-active)}.table-of-contents__item .table-of-contents__item .table-of-contents__item-anchor{padding-left:var(--table-of-contents-padding-left-level-2)}.table-of-contents__item-anchor{display:flex;align-items:flex-start;flex-direction:column;--_table-of-contents-inset: 1px;padding:0 calc(var(--table-of-contents-padding-left-level-1) - var(--_table-of-contents-inset));border:0;border-left:var(--table-of-contents-active-item-border-width) solid transparent;border-radius:0;margin-left:-var(--_table-of-contents-inset)}.table-of-contents__item-anchor:hover{text-decoration:underline}\n"] }]
2859
+ }] });
2860
+
2861
+ class TableOfContentsComponent {
2862
+ /**
2863
+ * Heading of the table of contents
2864
+ */
2865
+ heading = input.required();
2866
+ /**
2867
+ * Should component be initially shown. Won't work with open and onToggle.
2868
+ * @default false
2869
+ */
2870
+ defaultOpen;
2871
+ /**
2872
+ * Should the component be open or closed.
2873
+ * Use to handle state outside of component, should use with onToggle prop.
2874
+ */
2875
+ open;
2876
+ /**
2877
+ * Should child table of contents elements when clicked scroll
2878
+ */
2879
+ scrollOnClick = input(true);
2880
+ /**
2881
+ * Callback when component is toggled.
2882
+ * Use to handle state outside of component, should use with open prop.
2883
+ */
2884
+ onToggle;
2885
+ /**
2886
+ * Position strategy of the table of contents
2887
+ * @default default
2888
+ */
2889
+ position = input("default");
2890
+ /**
2891
+ * ARIA label for the <nav> component
2892
+ */
2893
+ ariaLabel = input("Table of contents");
2894
+ /**
2895
+ * Breakpoint to switch to modal view
2896
+ * @default mobile
2897
+ */
2898
+ modalBreakpoint = input("mobile");
2899
+ /**
2900
+ * Should the component track scroll and update active item
2901
+ */
2902
+ scrollAware = input(true);
2903
+ isSeeking = false;
2904
+ seekingTimeout;
2905
+ dialogRef;
2906
+ isOpen = signal(false);
2907
+ templateRef = viewChild("defaultTemplate");
2908
+ intersectionObservers = [];
2909
+ tableItems = contentChildren(TableOfContentsItemComponent, {
2910
+ descendants: true,
2911
+ });
2912
+ router = inject(Router);
2913
+ dialog = inject(Dialog);
2914
+ update$ = new Subject();
2915
+ itemsChanged$ = new Subject();
2916
+ activeElement = computed(() => this.tableItems().find((item) => item.selected()));
2917
+ activeId = computed(() => this.activeElement()?.idTo());
2918
+ classes = computed(() => {
2919
+ const classes = ["table-of-contents"];
2920
+ classes.push(`table-of-contents--position-${this.position() ?? "default"}`);
2921
+ if (this.modalBreakpoint() !== "never") {
2922
+ classes.push(`table-of-contents--modal-breakpoint-${this.modalBreakpoint()}`);
2923
+ }
2924
+ if (this.isOpen()) {
2925
+ classes.push("table-of-contents--modal-active");
2926
+ }
2927
+ return classes.join(" ");
2928
+ });
2929
+ footerClasses = computed(() => {
2930
+ const classes = ["table-of-contents__footer"];
2931
+ classes.push(`table-of-contents__footer--modal-breakpoint-${this.modalBreakpoint()}`);
2932
+ return classes.join(" ");
2933
+ });
2934
+ constructor() {
2935
+ effect(() => {
2936
+ const items = this.tableItems();
2937
+ this.itemsChanged$.next();
2938
+ this.hookItems(items);
2939
+ });
2940
+ }
2941
+ ngAfterContentInit() {
2942
+ const items = this.tableItems();
2943
+ this.hookObservers(items);
2944
+ }
2945
+ ngOnDestroy() {
2946
+ this.cleanupObservers();
2947
+ this.update$.next();
2948
+ this.update$.complete();
2949
+ }
2950
+ openMobileModal() {
2951
+ const templateRef = this.templateRef();
2952
+ if (!templateRef) {
2953
+ return;
2954
+ }
2955
+ this.dialogRef = this.dialog.open(templateRef);
2956
+ this.isOpen.set(true);
2957
+ this.dialogRef.closed.subscribe(() => {
2958
+ this.isOpen.set(false);
2959
+ this.dialogRef = undefined;
2960
+ });
2961
+ }
2962
+ seekTo(id) {
2963
+ if (!this.scrollOnClick) {
2964
+ return;
2965
+ }
2966
+ this.isSeeking = true;
2967
+ clearTimeout(this.seekingTimeout);
2968
+ this.seekingTimeout = setTimeout(() => {
2969
+ this.isSeeking = false;
2970
+ }, 500);
2971
+ if (!id) {
2972
+ this.router.navigate([], {
2973
+ fragment: undefined,
2974
+ queryParamsHandling: "preserve",
2975
+ });
2976
+ return;
2977
+ }
2978
+ const targetElement = document.getElementById(id);
2979
+ targetElement?.scrollIntoView({ behavior: "smooth" });
2980
+ this.router.navigate([], {
2981
+ fragment: id,
2982
+ queryParamsHandling: "preserve",
2983
+ });
2984
+ }
2985
+ hookItems(items) {
2986
+ items.forEach((item) => {
2987
+ item.itemSelected.pipe(takeUntil(this.update$)).subscribe(() => {
2988
+ item.selected.set(true);
2989
+ this.dialogRef?.close();
2990
+ items.forEach((other) => {
2991
+ if (other !== item) {
2992
+ other.selected.set(false);
2993
+ }
2994
+ });
2995
+ this.seekTo(item.idTo());
2996
+ });
2997
+ });
2998
+ }
2999
+ hookObservers(items) {
3000
+ const observer = new IntersectionObserver(() => this.observerCallback(), {
3001
+ rootMargin: "0px 0px 0px 0px",
3002
+ });
3003
+ items.forEach((item) => {
3004
+ const id = item.idTo();
3005
+ if (!id) {
3006
+ return;
3007
+ }
3008
+ const element = document.getElementById(id);
3009
+ if (!element) {
3010
+ return;
3011
+ }
3012
+ observer.observe(element);
3013
+ });
3014
+ this.intersectionObservers.push(observer);
3015
+ }
3016
+ observerCallback() {
3017
+ if (!this.scrollAware() || this.isSeeking) {
3018
+ return;
3019
+ }
3020
+ const items = [...this.tableItems()];
3021
+ // select the topmost screen item
3022
+ items.sort((a, b) => {
3023
+ const aElement = document.getElementById(a.idTo());
3024
+ const bElement = document.getElementById(b.idTo());
3025
+ if (!aElement || !bElement) {
3026
+ return 0;
3027
+ }
3028
+ const aRect = aElement.getBoundingClientRect();
3029
+ const bRect = bElement.getBoundingClientRect();
3030
+ return aRect.top - bRect.top;
3031
+ });
3032
+ for (const item of items) {
3033
+ const element = document.getElementById(item.idTo());
3034
+ if (!element) {
3035
+ continue;
3036
+ }
3037
+ const rect = element.getBoundingClientRect();
3038
+ const top = rect.top;
3039
+ const bottom = rect.bottom;
3040
+ if (top >= 0 && bottom <= window.innerHeight) {
3041
+ this.activeElement()?.selected.set(false);
3042
+ item.selected.set(true);
3043
+ break;
3044
+ }
3045
+ }
3046
+ }
3047
+ cleanupObservers() {
3048
+ this.intersectionObservers.forEach((obs) => obs.disconnect());
3049
+ this.intersectionObservers = [];
3050
+ }
3051
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TableOfContentsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3052
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TableOfContentsComponent, isStandalone: true, selector: "tedi-table-of-contents", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: true, transformFunction: null }, scrollOnClick: { classPropertyName: "scrollOnClick", publicName: "scrollOnClick", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, modalBreakpoint: { classPropertyName: "modalBreakpoint", publicName: "modalBreakpoint", isSignal: true, isRequired: false, transformFunction: null }, scrollAware: { classPropertyName: "scrollAware", publicName: "scrollAware", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "tableItems", predicate: TableOfContentsItemComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["defaultTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template #defaultTemplate>\n <nav [attr.aria-label]=\"ariaLabel()\" [class]=\"classes()\">\n <tedi-card>\n <tedi-card-content class=\"table-of-contents__content\">\n <h1 tedi-text modifiers=\"h4\" class=\"table-of-contents__header\">\n {{ heading() }}\n </h1>\n <div class=\"table-of-contents__items\">\n <ng-content />\n </div>\n </tedi-card-content>\n </tedi-card>\n </nav>\n</ng-template>\n\n@if (!isOpen()) {\n <ng-container *ngTemplateOutlet=\"defaultTemplate\" />\n\n <tedi-card [class]=\"footerClasses()\">\n <tedi-card-content>\n <button\n class=\"table-of-contents__footer-trigger\"\n (click)=\"openMobileModal()\"\n >\n <h1 tedi-text modifiers=\"normal\" class=\"table-of-contents__header\">\n {{ heading() }}\n\n <div tedi-button variant=\"neutral\">\n {{ \"open\" | tediTranslate }}\n <tedi-icon name=\"expand_more\" />\n </div>\n </h1>\n </button>\n </tedi-card-content>\n </tedi-card>\n}\n", styles: [".table-of-contents{display:none;max-height:100vh}.table-of-contents--position-sticky{position:sticky;top:var(--dimensions-10)}.table-of-contents--position-fixed{position:fixed}.table-of-contents__content{padding:0;padding-bottom:var(--dimensions-10)}.table-of-contents__header{width:100%;padding:var(--dimensions-10);display:flex;align-items:center;justify-content:space-between}.table-of-contents__items{gap:var(--dimensions-05);display:flex;flex-direction:column}.table-of-contents--modal-active{display:initial}@media (min-width: 576px){.table-of-contents--modal-breakpoint-mobile{display:initial}}@media (min-width: 768px){.table-of-contents--modal-breakpoint-tablet{display:initial}}@media (min-width: 992px){.table-of-contents--modal-breakpoint-desktop{display:initial}}.table-of-contents__footer{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-index-fixed);padding:0;--_card-padding-top: 0;--_card-padding-left: 0;--_card-padding-bottom: 0;--_card-padding-right: 0}.table-of-contents__footer-trigger{border:none;width:100%;background-color:transparent;padding:0;cursor:pointer}.table-of-contents__footer-trigger .tedi-button{padding:0}.table-of-contents__footer-trigger:hover{background-color:transparent}.table-of-contents__footer .table-of-contents__header{padding:var(--dimensions-10)}@media (min-width: 576px){.table-of-contents__footer--modal-breakpoint-mobile{display:none}}@media (min-width: 768px){.table-of-contents__footer--modal-breakpoint-tablet{display:none}}@media (min-width: 992px){.table-of-contents__footer--modal-breakpoint-desktop{display:none}}\n"], dependencies: [{ kind: "component", type: CardComponent$1, selector: "tedi-card", inputs: ["borderless", "spacing", "accentBorder", "selected"] }, { kind: "component", type: CardContentComponent$1, selector: "tedi-card-content", inputs: ["hasSeparator", "autoWidth", "timeline"] }, { kind: "component", type: TextComponent, selector: "[tedi-text]", inputs: ["modifiers", "color"] }, { kind: "component", type: ButtonComponent, selector: "[tedi-button]", inputs: ["variant", "size"] }, { kind: "component", type: IconComponent, selector: "tedi-icon", inputs: ["name", "size", "color", "background", "variant", "type", "label"] }, { kind: "pipe", type: TediTranslationPipe, name: "tediTranslate" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
3053
+ }
3054
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TableOfContentsComponent, decorators: [{
3055
+ type: Component,
3056
+ args: [{ selector: "tedi-table-of-contents", imports: [
3057
+ CardComponent$1,
3058
+ CardContentComponent$1,
3059
+ TextComponent,
3060
+ ButtonComponent,
3061
+ IconComponent,
3062
+ TediTranslationPipe,
3063
+ NgTemplateOutlet,
3064
+ ], template: "<ng-template #defaultTemplate>\n <nav [attr.aria-label]=\"ariaLabel()\" [class]=\"classes()\">\n <tedi-card>\n <tedi-card-content class=\"table-of-contents__content\">\n <h1 tedi-text modifiers=\"h4\" class=\"table-of-contents__header\">\n {{ heading() }}\n </h1>\n <div class=\"table-of-contents__items\">\n <ng-content />\n </div>\n </tedi-card-content>\n </tedi-card>\n </nav>\n</ng-template>\n\n@if (!isOpen()) {\n <ng-container *ngTemplateOutlet=\"defaultTemplate\" />\n\n <tedi-card [class]=\"footerClasses()\">\n <tedi-card-content>\n <button\n class=\"table-of-contents__footer-trigger\"\n (click)=\"openMobileModal()\"\n >\n <h1 tedi-text modifiers=\"normal\" class=\"table-of-contents__header\">\n {{ heading() }}\n\n <div tedi-button variant=\"neutral\">\n {{ \"open\" | tediTranslate }}\n <tedi-icon name=\"expand_more\" />\n </div>\n </h1>\n </button>\n </tedi-card-content>\n </tedi-card>\n}\n", styles: [".table-of-contents{display:none;max-height:100vh}.table-of-contents--position-sticky{position:sticky;top:var(--dimensions-10)}.table-of-contents--position-fixed{position:fixed}.table-of-contents__content{padding:0;padding-bottom:var(--dimensions-10)}.table-of-contents__header{width:100%;padding:var(--dimensions-10);display:flex;align-items:center;justify-content:space-between}.table-of-contents__items{gap:var(--dimensions-05);display:flex;flex-direction:column}.table-of-contents--modal-active{display:initial}@media (min-width: 576px){.table-of-contents--modal-breakpoint-mobile{display:initial}}@media (min-width: 768px){.table-of-contents--modal-breakpoint-tablet{display:initial}}@media (min-width: 992px){.table-of-contents--modal-breakpoint-desktop{display:initial}}.table-of-contents__footer{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-index-fixed);padding:0;--_card-padding-top: 0;--_card-padding-left: 0;--_card-padding-bottom: 0;--_card-padding-right: 0}.table-of-contents__footer-trigger{border:none;width:100%;background-color:transparent;padding:0;cursor:pointer}.table-of-contents__footer-trigger .tedi-button{padding:0}.table-of-contents__footer-trigger:hover{background-color:transparent}.table-of-contents__footer .table-of-contents__header{padding:var(--dimensions-10)}@media (min-width: 576px){.table-of-contents__footer--modal-breakpoint-mobile{display:none}}@media (min-width: 768px){.table-of-contents__footer--modal-breakpoint-tablet{display:none}}@media (min-width: 992px){.table-of-contents__footer--modal-breakpoint-desktop{display:none}}\n"] }]
3065
+ }], ctorParameters: () => [] });
3066
+
3067
+ /**
3068
+ * Wrapper component for nested table of contents items.
3069
+ * Workaround for https://github.com/angular/angular/issues/57345,
3070
+ * which is a issue when you use `@if() {}` syntax inside a component that uses ng-content.
3071
+ */
3072
+ class TableOfContentsNestedWrapperComponent {
3073
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TableOfContentsNestedWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3074
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TableOfContentsNestedWrapperComponent, isStandalone: true, selector: "tedi-table-of-contents-nested-wrapper", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
3075
+ }
3076
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TableOfContentsNestedWrapperComponent, decorators: [{
3077
+ type: Component,
3078
+ args: [{
3079
+ selector: "tedi-table-of-contents-nested-wrapper",
3080
+ template: `<ng-content></ng-content>`,
3081
+ }]
3082
+ }] });
3083
+
2838
3084
  class TabContentComponent {
2839
3085
  tabId = input.required();
2840
3086
  content = viewChild.required("content");
@@ -2973,5 +3219,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
2973
3219
  * Generated bundle index. Do not edit.
2974
3220
  */
2975
3221
 
2976
- export { AccordionComponent, AccordionIconComponent, AccordionItemComponent, AccordionItemContentComponent, AccordionItemHeaderComponent, BreadcrumbsComponent, CardColorsDirective, CardComponent, CardContentComponent, CardHeaderComponent, CardPaddingDirective, CardRowComponent, CheckboxCardGroupComponent, CheckboxComponent, CheckboxGroupComponent, ChoiceGroupDirective, DropdownComponent, DropdownItemComponent, DropdownTriggerDirective, FileDropzone, FileDropzoneComponent, FileSizeStandards, FloatingButtonComponent, FormFieldComponent, IECFileSize, InputComponent, InputGroupComponent, ModalComponent, ModalFooterComponent, ModalHeaderComponent, MultiselectComponent, PaginationComponent, RadioCardGroupComponent, RadioComponent, RadioGroupComponent, SIFileSize, SearchComponent, SelectComponent, SelectOptionComponent, StatusBadgeComponent, TabComponent, TabContentComponent, TableStylesComponent, TabsComponent, TagComponent, TextareaComponent, formatBytes, getDefaultHelpers, modalBreakpoints, roundNumber, specialOptionControls, validateFileSize, validateFileType };
3222
+ export { AccordionComponent, AccordionIconComponent, AccordionItemComponent, AccordionItemContentComponent, AccordionItemHeaderComponent, BreadcrumbsComponent, CardColorsDirective, CardComponent, CardContentComponent, CardHeaderComponent, CardPaddingDirective, CardRowComponent, CheckboxCardGroupComponent, CheckboxComponent, CheckboxGroupComponent, ChoiceGroupDirective, DropdownComponent, DropdownItemComponent, DropdownTriggerDirective, FileDropzone, FileDropzoneComponent, FileSizeStandards, FloatingButtonComponent, FormFieldComponent, IECFileSize, InputComponent, InputGroupComponent, ModalComponent, ModalFooterComponent, ModalHeaderComponent, MultiselectComponent, PaginationComponent, RadioCardGroupComponent, RadioComponent, RadioGroupComponent, SIFileSize, SearchComponent, SelectComponent, SelectOptionComponent, StatusBadgeComponent, TabComponent, TabContentComponent, TableOfContentsComponent, TableOfContentsItemComponent, TableOfContentsNestedWrapperComponent, TableStylesComponent, TabsComponent, TagComponent, TextareaComponent, formatBytes, getDefaultHelpers, modalBreakpoints, roundNumber, specialOptionControls, validateFileSize, validateFileType };
2977
3223
  //# sourceMappingURL=tedi-design-system-angular-community.mjs.map