@tedi-design-system/angular 6.2.0-rc.11 → 6.2.0-rc.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -1
- package/community/components/cards/accordion/accordion/accordion.component.d.ts +3 -0
- package/community/components/cards/accordion/accordion/accordion.component.d.ts.map +1 -1
- package/fesm2022/tedi-design-system-angular-community.mjs +3 -0
- package/fesm2022/tedi-design-system-angular-community.mjs.map +1 -1
- package/fesm2022/tedi-design-system-angular-tedi.mjs +231 -4
- package/fesm2022/tedi-design-system-angular-tedi.mjs.map +1 -1
- package/index.css +1 -1
- package/package.json +9 -9
- package/tedi/components/cards/accordion/accordion/accordion.component.d.ts +14 -0
- package/tedi/components/cards/accordion/accordion/accordion.component.d.ts.map +1 -0
- package/tedi/components/cards/accordion/accordion-item/accordion-item.component.d.ts +90 -0
- package/tedi/components/cards/accordion/accordion-item/accordion-item.component.d.ts.map +1 -0
- package/tedi/components/cards/accordion/index.d.ts +3 -0
- package/tedi/components/cards/accordion/index.d.ts.map +1 -0
- package/tedi/components/cards/index.d.ts +2 -0
- package/tedi/components/cards/index.d.ts.map +1 -0
- package/tedi/components/index.d.ts +1 -0
- package/tedi/components/index.d.ts.map +1 -1
- package/tedi/components/tags/index.d.ts +1 -0
- package/tedi/components/tags/index.d.ts.map +1 -1
- package/tedi/components/tags/status-badge/status-badge.component.d.ts +55 -0
- package/tedi/components/tags/status-badge/status-badge.component.d.ts.map +1 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { input, computed, ViewEncapsulation, ChangeDetectionStrategy, Component, signal, inject, ElementRef, Directive, Injectable, InjectionToken, REQUEST, PLATFORM_ID, effect, isSignal, Pipe, model, output, Injector, Renderer2, HostListener, viewChild, contentChild, contentChildren, forwardRef, ViewChild, TemplateRef, viewChildren, HostBinding, Attribute, ViewContainerRef, runInInjectionContext, ContentChildren, afterNextRender, ContentChild, makeEnvironmentProviders } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/cdk/layout';
|
|
4
|
-
import
|
|
4
|
+
import * as i1$2 from '@angular/common';
|
|
5
|
+
import { DOCUMENT, isPlatformBrowser, isPlatformServer, NgTemplateOutlet, NgClass, NgFor, NgIf, CommonModule } from '@angular/common';
|
|
5
6
|
import { Overlay, OverlayConfig } from '@angular/cdk/overlay';
|
|
6
7
|
import { ComponentPortal } from '@angular/cdk/portal';
|
|
7
8
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
@@ -1615,11 +1616,11 @@ class ToastComponent {
|
|
|
1615
1616
|
this.mouseLeave.emit();
|
|
1616
1617
|
}
|
|
1617
1618
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1618
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: ToastComponent, isStandalone: true, selector: "tedi-toast", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, duration: { classPropertyName: "duration", publicName: "duration", isSignal: true, isRequired: false, transformFunction: null }, showProgressBar: { classPropertyName: "showProgressBar", publicName: "showProgressBar", isSignal: true, isRequired: false, transformFunction: null }, paused: { classPropertyName: "paused", publicName: "paused", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", mouseEnter: "mouseEnter", mouseLeave: "mouseLeave" }, ngImport: i0, template: "<div\n class=\"tedi-toast__wrapper\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <tedi-alert\n [title]=\"title()\"\n [type]=\"type()\"\n [icon]=\"icon()\"\n [showClose]=\"true\"\n [closeDelay]=\"300\"\n [role]=\"role()\"\n (closeClick)=\"handleClose()\"\n >\n <ng-content></ng-content>\n </tedi-alert>\n @if (showProgressBar() && duration() > 0) {\n <div\n class=\"tedi-toast__progress tedi-toast__progress--{{ type() }}\"\n [class.tedi-toast__progress--paused]=\"paused()\"\n [style.animation-duration.ms]=\"duration()\"\n ></div>\n }\n</div>\n", styles: ["tedi-toast{display:block;width:var(--toast-width);max-width:100%}.tedi-toast__wrapper{position:relative;padding:var(--toast-outer-spacing, 4px)}.tedi-toast__wrapper tedi-alert{box-shadow:0 4px 10px 0 var(--tedi-alpha-14, rgba(0, 0, 0, .14))}.tedi-toast__progress{position:absolute;bottom:var(--toast-outer-spacing);left:var(--toast-outer-spacing);width:calc(100% - var(--toast-outer-spacing) * 2);height:4px;background:var(--toast-progress-color);
|
|
1619
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: ToastComponent, isStandalone: true, selector: "tedi-toast", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, duration: { classPropertyName: "duration", publicName: "duration", isSignal: true, isRequired: false, transformFunction: null }, showProgressBar: { classPropertyName: "showProgressBar", publicName: "showProgressBar", isSignal: true, isRequired: false, transformFunction: null }, paused: { classPropertyName: "paused", publicName: "paused", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", mouseEnter: "mouseEnter", mouseLeave: "mouseLeave" }, ngImport: i0, template: "<div\n class=\"tedi-toast__wrapper\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <tedi-alert\n [title]=\"title()\"\n [type]=\"type()\"\n [icon]=\"icon()\"\n [showClose]=\"true\"\n [closeDelay]=\"300\"\n [role]=\"role()\"\n (closeClick)=\"handleClose()\"\n >\n <ng-content></ng-content>\n </tedi-alert>\n @if (showProgressBar() && duration() > 0) {\n <div\n class=\"tedi-toast__progress tedi-toast__progress--{{ type() }}\"\n [class.tedi-toast__progress--paused]=\"paused()\"\n [style.animation-duration.ms]=\"duration()\"\n ></div>\n }\n</div>\n", styles: ["tedi-toast{display:block;width:var(--toast-width);max-width:100%}.tedi-toast__wrapper{position:relative;padding:var(--toast-outer-spacing, 4px)}.tedi-toast__wrapper tedi-alert{box-shadow:0 4px 10px 0 var(--tedi-alpha-14, rgba(0, 0, 0, .14))}.tedi-toast__progress{position:absolute;bottom:var(--toast-outer-spacing);left:var(--toast-outer-spacing);width:calc(100% - var(--toast-outer-spacing) * 2);height:4px;background:var(--toast-progress-color);border-radius:0 var(--alert-radius) 0 var(--alert-radius);transform-origin:left;animation:toast-progress linear forwards}.tedi-toast__progress--success{--toast-progress-color: var(--alert-default-border-success)}.tedi-toast__progress--info{--toast-progress-color: var(--alert-default-border-info)}.tedi-toast__progress--danger{--toast-progress-color: var(--alert-default-border-danger)}.tedi-toast__progress--warning{--toast-progress-color: var(--alert-default-border-warning)}.tedi-toast__progress--paused{animation-play-state:paused}.tedi-toast-container{position:fixed;inset:0;z-index:var(--z-index-toast, 1050);pointer-events:none}.tedi-toast-container__position{position:absolute;display:flex;flex-direction:column;gap:var(--dimensions-05);max-height:calc(100vh - var(--toast-margin-bottom) * 2);overflow:visible}.tedi-toast-container__position>*{pointer-events:auto}.tedi-toast-container__position--top-left{top:var(--toast-margin-bottom);left:var(--toast-margin-right);align-items:flex-start}.tedi-toast-container__position--top-left tedi-toast{animation:toast-slide-in-left .3s ease-out forwards}.tedi-toast-container__position--top-left tedi-toast.tedi-toast--exiting{animation:toast-slide-out-left .3s ease-out forwards}.tedi-toast-container__position--top-right{top:var(--toast-margin-bottom);right:var(--toast-margin-right);align-items:flex-end}.tedi-toast-container__position--top-right tedi-toast{animation:toast-slide-in-right .3s ease-out forwards}.tedi-toast-container__position--top-right tedi-toast.tedi-toast--exiting{animation:toast-slide-out-right .3s ease-out forwards}.tedi-toast-container__position--bottom-left{bottom:var(--toast-margin-bottom);left:var(--toast-margin-right);flex-direction:column-reverse;align-items:flex-start}.tedi-toast-container__position--bottom-left tedi-toast{animation:toast-slide-in-left .3s ease-out forwards}.tedi-toast-container__position--bottom-left tedi-toast.tedi-toast--exiting{animation:toast-slide-out-left .3s ease-out forwards}.tedi-toast-container__position--bottom-right{right:var(--toast-margin-right);bottom:var(--toast-margin-bottom);flex-direction:column-reverse;align-items:flex-end}.tedi-toast-container__position--bottom-right tedi-toast{animation:toast-slide-in-right .3s ease-out forwards}.tedi-toast-container__position--bottom-right tedi-toast.tedi-toast--exiting{animation:toast-slide-out-right .3s ease-out forwards}@media (max-width: 575.98px){.tedi-toast-container__position--top-left,.tedi-toast-container__position--top-right,.tedi-toast-container__position--bottom-left,.tedi-toast-container__position--bottom-right{right:var(--toast-margin-right);left:var(--toast-margin-left);align-items:stretch;transform:none}.tedi-toast-container__position--top-left tedi-toast,.tedi-toast-container__position--top-right tedi-toast,.tedi-toast-container__position--bottom-left tedi-toast,.tedi-toast-container__position--bottom-right tedi-toast{width:100%;animation:toast-slide-in-right .3s ease-out forwards}.tedi-toast-container__position--top-left tedi-toast.tedi-toast--exiting,.tedi-toast-container__position--top-right tedi-toast.tedi-toast--exiting,.tedi-toast-container__position--bottom-left tedi-toast.tedi-toast--exiting,.tedi-toast-container__position--bottom-right tedi-toast.tedi-toast--exiting{animation:toast-slide-out-right .3s ease-out forwards}}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes toast-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes toast-slide-out-right{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes toast-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes toast-slide-out-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes toast-slide-in-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes toast-slide-in-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes toast-slide-out-up{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes toast-slide-out-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}\n"], dependencies: [{ kind: "component", type: AlertComponent, selector: "tedi-alert", inputs: ["title", "type", "icon", "showClose", "role", "variant", "titleElement", "open", "closeDelay"], outputs: ["openChange", "closeClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1619
1620
|
}
|
|
1620
1621
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ToastComponent, decorators: [{
|
|
1621
1622
|
type: Component,
|
|
1622
|
-
args: [{ selector: "tedi-toast", standalone: true, imports: [AlertComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"tedi-toast__wrapper\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <tedi-alert\n [title]=\"title()\"\n [type]=\"type()\"\n [icon]=\"icon()\"\n [showClose]=\"true\"\n [closeDelay]=\"300\"\n [role]=\"role()\"\n (closeClick)=\"handleClose()\"\n >\n <ng-content></ng-content>\n </tedi-alert>\n @if (showProgressBar() && duration() > 0) {\n <div\n class=\"tedi-toast__progress tedi-toast__progress--{{ type() }}\"\n [class.tedi-toast__progress--paused]=\"paused()\"\n [style.animation-duration.ms]=\"duration()\"\n ></div>\n }\n</div>\n", styles: ["tedi-toast{display:block;width:var(--toast-width);max-width:100%}.tedi-toast__wrapper{position:relative;padding:var(--toast-outer-spacing, 4px)}.tedi-toast__wrapper tedi-alert{box-shadow:0 4px 10px 0 var(--tedi-alpha-14, rgba(0, 0, 0, .14))}.tedi-toast__progress{position:absolute;bottom:var(--toast-outer-spacing);left:var(--toast-outer-spacing);width:calc(100% - var(--toast-outer-spacing) * 2);height:4px;background:var(--toast-progress-color);
|
|
1623
|
+
args: [{ selector: "tedi-toast", standalone: true, imports: [AlertComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"tedi-toast__wrapper\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <tedi-alert\n [title]=\"title()\"\n [type]=\"type()\"\n [icon]=\"icon()\"\n [showClose]=\"true\"\n [closeDelay]=\"300\"\n [role]=\"role()\"\n (closeClick)=\"handleClose()\"\n >\n <ng-content></ng-content>\n </tedi-alert>\n @if (showProgressBar() && duration() > 0) {\n <div\n class=\"tedi-toast__progress tedi-toast__progress--{{ type() }}\"\n [class.tedi-toast__progress--paused]=\"paused()\"\n [style.animation-duration.ms]=\"duration()\"\n ></div>\n }\n</div>\n", styles: ["tedi-toast{display:block;width:var(--toast-width);max-width:100%}.tedi-toast__wrapper{position:relative;padding:var(--toast-outer-spacing, 4px)}.tedi-toast__wrapper tedi-alert{box-shadow:0 4px 10px 0 var(--tedi-alpha-14, rgba(0, 0, 0, .14))}.tedi-toast__progress{position:absolute;bottom:var(--toast-outer-spacing);left:var(--toast-outer-spacing);width:calc(100% - var(--toast-outer-spacing) * 2);height:4px;background:var(--toast-progress-color);border-radius:0 var(--alert-radius) 0 var(--alert-radius);transform-origin:left;animation:toast-progress linear forwards}.tedi-toast__progress--success{--toast-progress-color: var(--alert-default-border-success)}.tedi-toast__progress--info{--toast-progress-color: var(--alert-default-border-info)}.tedi-toast__progress--danger{--toast-progress-color: var(--alert-default-border-danger)}.tedi-toast__progress--warning{--toast-progress-color: var(--alert-default-border-warning)}.tedi-toast__progress--paused{animation-play-state:paused}.tedi-toast-container{position:fixed;inset:0;z-index:var(--z-index-toast, 1050);pointer-events:none}.tedi-toast-container__position{position:absolute;display:flex;flex-direction:column;gap:var(--dimensions-05);max-height:calc(100vh - var(--toast-margin-bottom) * 2);overflow:visible}.tedi-toast-container__position>*{pointer-events:auto}.tedi-toast-container__position--top-left{top:var(--toast-margin-bottom);left:var(--toast-margin-right);align-items:flex-start}.tedi-toast-container__position--top-left tedi-toast{animation:toast-slide-in-left .3s ease-out forwards}.tedi-toast-container__position--top-left tedi-toast.tedi-toast--exiting{animation:toast-slide-out-left .3s ease-out forwards}.tedi-toast-container__position--top-right{top:var(--toast-margin-bottom);right:var(--toast-margin-right);align-items:flex-end}.tedi-toast-container__position--top-right tedi-toast{animation:toast-slide-in-right .3s ease-out forwards}.tedi-toast-container__position--top-right tedi-toast.tedi-toast--exiting{animation:toast-slide-out-right .3s ease-out forwards}.tedi-toast-container__position--bottom-left{bottom:var(--toast-margin-bottom);left:var(--toast-margin-right);flex-direction:column-reverse;align-items:flex-start}.tedi-toast-container__position--bottom-left tedi-toast{animation:toast-slide-in-left .3s ease-out forwards}.tedi-toast-container__position--bottom-left tedi-toast.tedi-toast--exiting{animation:toast-slide-out-left .3s ease-out forwards}.tedi-toast-container__position--bottom-right{right:var(--toast-margin-right);bottom:var(--toast-margin-bottom);flex-direction:column-reverse;align-items:flex-end}.tedi-toast-container__position--bottom-right tedi-toast{animation:toast-slide-in-right .3s ease-out forwards}.tedi-toast-container__position--bottom-right tedi-toast.tedi-toast--exiting{animation:toast-slide-out-right .3s ease-out forwards}@media (max-width: 575.98px){.tedi-toast-container__position--top-left,.tedi-toast-container__position--top-right,.tedi-toast-container__position--bottom-left,.tedi-toast-container__position--bottom-right{right:var(--toast-margin-right);left:var(--toast-margin-left);align-items:stretch;transform:none}.tedi-toast-container__position--top-left tedi-toast,.tedi-toast-container__position--top-right tedi-toast,.tedi-toast-container__position--bottom-left tedi-toast,.tedi-toast-container__position--bottom-right tedi-toast{width:100%;animation:toast-slide-in-right .3s ease-out forwards}.tedi-toast-container__position--top-left tedi-toast.tedi-toast--exiting,.tedi-toast-container__position--top-right tedi-toast.tedi-toast--exiting,.tedi-toast-container__position--bottom-left tedi-toast.tedi-toast--exiting,.tedi-toast-container__position--bottom-right tedi-toast.tedi-toast--exiting{animation:toast-slide-out-right .3s ease-out forwards}}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes toast-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes toast-slide-out-right{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes toast-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes toast-slide-out-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes toast-slide-in-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes toast-slide-in-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes toast-slide-out-up{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes toast-slide-out-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}\n"] }]
|
|
1623
1624
|
}] });
|
|
1624
1625
|
|
|
1625
1626
|
const POSITIONS = [
|
|
@@ -6392,6 +6393,232 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
6392
6393
|
}, template: "@if (type() === \"danger\") {\n <span class=\"tedi-tag__icon-wrapper\">\n <tedi-icon name=\"error\" color=\"danger\" [size]=\"16\" />\n </span>\n}\n\n<span class=\"tedi-tag__content\" [attr.id]=\"uniqueId\">\n <ng-content />\n</span>\n\n@if (loading()) {\n <span class=\"tedi-tag__spinner-wrapper\">\n <tedi-spinner [size]=\"48\" />\n </span>\n} @else if (closable()) {\n <button\n type=\"button\"\n tedi-closing-button\n size=\"small\"\n [iconSize]=\"18\"\n (click)=\"handleClose($event)\"\n [attr.aria-describedby]=\"uniqueId\"\n [ariaLabel]=\"'remove' | tediTranslate\"\n >\n </button>\n}\n", styles: [".tedi-tag{--_background-color: var(--tag-primary-background);--_border-color: var(--tag-primary-border);--_line-height: var(--body-small-regular-line-height);display:inline-flex;gap:var(--tag-default-padding-x);align-items:flex-start;padding:0 var(--tag-default-padding-x);font-family:var(--family-default);font-size:var(--body-small-regular-size);font-weight:var(--body-small-regular-weight);line-height:var(--_line-height);color:var(--general-text-primary);background-color:var(--_background-color);border-radius:var(--tag-default-radius);box-shadow:inset 0 0 0 1px var(--_border-color)}.tedi-tag__content{padding:var(--tag-default-padding-y) 0}.tedi-tag__icon-wrapper{line-height:var(--_line-height)}.tedi-tag__spinner-wrapper{display:flex;align-items:center;height:calc(var(--_line-height) + var(--tag-default-padding-y))}.tedi-tag__spinner-wrapper tedi-spinner{--tedi-spinner-size: 12;--tedi-spinner-stroke: 2}.tedi-tag--closable:not(.tedi-tag--loading){padding-right:0}.tedi-tag--closable:not(.tedi-tag--loading) .tedi-closing-button{border-radius:0 var(--button-radius-sm) var(--button-radius-sm) 0}.tedi-tag--secondary{--_background-color: var(--tag-secondary-background);--_border-color: var(--tag-secondary-border)}.tedi-tag--danger{--_background-color: var(--tag-danger-background);--_border-color: var(--tag-danger-border)}\n"] }]
|
|
6393
6394
|
}] });
|
|
6394
6395
|
|
|
6396
|
+
class StatusBadgeComponent {
|
|
6397
|
+
idGenerator = inject(_IdGenerator);
|
|
6398
|
+
uniqueId = this.idGenerator.getId("tedi-status-badge");
|
|
6399
|
+
/**
|
|
6400
|
+
* The text to be displayed inside the StatusBadge.
|
|
6401
|
+
*/
|
|
6402
|
+
text = input("");
|
|
6403
|
+
/**
|
|
6404
|
+
* Additional classes to apply custom styles to the StatusBadge.
|
|
6405
|
+
*/
|
|
6406
|
+
class = input();
|
|
6407
|
+
/**
|
|
6408
|
+
* Provides the full text or description when the Badge represents an abbreviation.
|
|
6409
|
+
* This is typically shown as a tooltip on hover.
|
|
6410
|
+
*/
|
|
6411
|
+
title = input();
|
|
6412
|
+
/**
|
|
6413
|
+
* ARIA role attribute for accessibility.
|
|
6414
|
+
*/
|
|
6415
|
+
role = input();
|
|
6416
|
+
/**
|
|
6417
|
+
* Specifies the color scheme of the StatusBadge.
|
|
6418
|
+
* @default neutral
|
|
6419
|
+
*/
|
|
6420
|
+
color = input("neutral");
|
|
6421
|
+
/**
|
|
6422
|
+
* Determines the style or visual type of the StatusBadge.
|
|
6423
|
+
* @default filled
|
|
6424
|
+
*/
|
|
6425
|
+
variant = input("filled");
|
|
6426
|
+
/**
|
|
6427
|
+
* Specifies the size of the StatusBadge.
|
|
6428
|
+
* @default default
|
|
6429
|
+
*/
|
|
6430
|
+
size = input("default");
|
|
6431
|
+
/**
|
|
6432
|
+
* StatusBadge status indicator.
|
|
6433
|
+
*/
|
|
6434
|
+
status = input();
|
|
6435
|
+
/**
|
|
6436
|
+
* The name of the icon to be displayed inside the StatusBadge. The icon is rendered using the `Icon` component.
|
|
6437
|
+
*/
|
|
6438
|
+
icon = input("");
|
|
6439
|
+
classes = computed(() => {
|
|
6440
|
+
const classList = ["tedi-status-badge"];
|
|
6441
|
+
if (this.color()) {
|
|
6442
|
+
classList.push(`tedi-status-badge--color-${this.color()}`);
|
|
6443
|
+
}
|
|
6444
|
+
if (this.variant()) {
|
|
6445
|
+
classList.push(`tedi-status-badge--variant-${this.variant()}`);
|
|
6446
|
+
}
|
|
6447
|
+
if (this.status()) {
|
|
6448
|
+
classList.push("tedi-status-badge--status", `tedi-status-badge--status-${this.status()}`);
|
|
6449
|
+
}
|
|
6450
|
+
if (this.size() === "large") {
|
|
6451
|
+
classList.push("tedi-status-badge--large");
|
|
6452
|
+
}
|
|
6453
|
+
const hasText = !!this.text()?.trim();
|
|
6454
|
+
const hasIcon = !!this.icon()?.trim();
|
|
6455
|
+
if (hasIcon && !hasText) {
|
|
6456
|
+
classList.push("tedi-status-badge__icon-only");
|
|
6457
|
+
}
|
|
6458
|
+
const customClass = this.class();
|
|
6459
|
+
if (customClass) {
|
|
6460
|
+
classList.push(customClass);
|
|
6461
|
+
}
|
|
6462
|
+
return classList;
|
|
6463
|
+
});
|
|
6464
|
+
ariaLive = computed(() => {
|
|
6465
|
+
if (this.role() === "alert") {
|
|
6466
|
+
return "assertive";
|
|
6467
|
+
}
|
|
6468
|
+
if (this.role() === "status") {
|
|
6469
|
+
return "polite";
|
|
6470
|
+
}
|
|
6471
|
+
return null;
|
|
6472
|
+
});
|
|
6473
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: StatusBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6474
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: StatusBadgeComponent, isStandalone: true, selector: "tedi-status-badge", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (title()) {\n <abbr\n [ngClass]=\"classes()\"\n [attr.id]=\"uniqueId\"\n [attr.title]=\"title()\"\n [attr.role]=\"role()\"\n [attr.aria-live]=\"ariaLive()\"\n >\n <ng-container *ngTemplateOutlet=\"statusBadgeContent\"></ng-container>\n </abbr>\n} @else {\n <div\n [ngClass]=\"classes()\"\n [attr.id]=\"uniqueId\"\n [attr.role]=\"role()\"\n [attr.aria-live]=\"ariaLive()\"\n >\n <ng-container *ngTemplateOutlet=\"statusBadgeContent\"></ng-container>\n </div>\n}\n\n<ng-template #statusBadgeContent>\n @if (icon()) {\n <tedi-icon class=\"tedi-status-badge__icon\" [name]=\"icon()\" [size]=\"16\" />\n }\n\n @if (text()) {\n <span class=\"tedi-status-badge__text\">{{ text() }}</span>\n }\n</ng-template>\n", styles: [".tedi-status-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:var(--tag-default-padding-y) var(--tag-default-padding-x);font-size:var(--body-small-regular-size);font-weight:var(--body-small-regular-weight);line-height:var(--body-small-regular-line-height);color:var(--_status-badge-text);text-decoration:none;background:var(--_status-badge-background);border-radius:var(--tag-default-radius);box-shadow:var(--_status-badge-box-shadow)}.tedi-status-badge__text{min-width:fit-content;padding:0 var(--tag-default-padding-x)}.tedi-status-badge--large{min-width:var(--tag-status-large-min-width);padding:var(--tag-status-large-padding-y) var(--tag-status-large-padding-x)}.tedi-status-badge.tedi-status-badge--variant-filled.tedi-status-badge--color-neutral{--_status-badge-text: var(--status-badge-text-neutral);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-neutral);--_status-badge-background: var( --status-badge-background-neutral );--_status-badge-box-shadow: none}.tedi-status-badge.tedi-status-badge--variant-filled.tedi-status-badge--color-brand{--_status-badge-text: var(--status-badge-text-brand);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-brand);--_status-badge-background: var( --status-badge-background-brand );--_status-badge-box-shadow: none}.tedi-status-badge.tedi-status-badge--variant-filled.tedi-status-badge--color-accent{--_status-badge-text: var(--status-badge-text-accent);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-accent);--_status-badge-background: var( --status-badge-background-accent );--_status-badge-box-shadow: none}.tedi-status-badge.tedi-status-badge--variant-filled.tedi-status-badge--color-success{--_status-badge-text: var(--status-badge-text-success);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-success);--_status-badge-background: var( --status-badge-background-success );--_status-badge-box-shadow: none}.tedi-status-badge.tedi-status-badge--variant-filled.tedi-status-badge--color-danger{--_status-badge-text: var(--status-badge-text-danger);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-danger);--_status-badge-background: var( --status-badge-background-danger );--_status-badge-box-shadow: none}.tedi-status-badge.tedi-status-badge--variant-filled.tedi-status-badge--color-warning{--_status-badge-text: var(--status-badge-text-warning);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-warning);--_status-badge-background: var( --status-badge-background-warning );--_status-badge-box-shadow: none}.tedi-status-badge.tedi-status-badge--variant-filled.tedi-status-badge--color-transparent{--_status-badge-text: var(--status-badge-text-transparent);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-transparent);--_status-badge-background: var( --status-badge-background-transparent );--_status-badge-box-shadow: none}.tedi-status-badge.tedi-status-badge--variant-filled-bordered.tedi-status-badge--color-neutral{--_status-badge-text: var(--status-badge-text-neutral);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-neutral);--_status-badge-background: var( --status-badge-background-neutral )}.tedi-status-badge.tedi-status-badge--variant-filled-bordered.tedi-status-badge--color-brand{--_status-badge-text: var(--status-badge-text-brand);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-brand);--_status-badge-background: var( --status-badge-background-brand )}.tedi-status-badge.tedi-status-badge--variant-filled-bordered.tedi-status-badge--color-accent{--_status-badge-text: var(--status-badge-text-accent);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-accent);--_status-badge-background: var( --status-badge-background-accent )}.tedi-status-badge.tedi-status-badge--variant-filled-bordered.tedi-status-badge--color-success{--_status-badge-text: var(--status-badge-text-success);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-success);--_status-badge-background: var( --status-badge-background-success )}.tedi-status-badge.tedi-status-badge--variant-filled-bordered.tedi-status-badge--color-danger{--_status-badge-text: var(--status-badge-text-danger);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-danger);--_status-badge-background: var( --status-badge-background-danger )}.tedi-status-badge.tedi-status-badge--variant-filled-bordered.tedi-status-badge--color-warning{--_status-badge-text: var(--status-badge-text-warning);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-warning);--_status-badge-background: var( --status-badge-background-warning )}.tedi-status-badge.tedi-status-badge--variant-filled-bordered.tedi-status-badge--color-transparent{--_status-badge-text: var(--status-badge-text-transparent);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-transparent);--_status-badge-background: var( --status-badge-background-transparent )}.tedi-status-badge.tedi-status-badge--variant-bordered.tedi-status-badge--color-neutral{--_status-badge-text: var(--status-badge-text-neutral);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-neutral);--_status-badge-background: transparent}.tedi-status-badge.tedi-status-badge--variant-bordered.tedi-status-badge--color-brand{--_status-badge-text: var(--status-badge-text-brand);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-brand);--_status-badge-background: transparent}.tedi-status-badge.tedi-status-badge--variant-bordered.tedi-status-badge--color-accent{--_status-badge-text: var(--status-badge-text-accent);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-accent);--_status-badge-background: transparent}.tedi-status-badge.tedi-status-badge--variant-bordered.tedi-status-badge--color-success{--_status-badge-text: var(--status-badge-text-success);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-success);--_status-badge-background: transparent}.tedi-status-badge.tedi-status-badge--variant-bordered.tedi-status-badge--color-danger{--_status-badge-text: var(--status-badge-text-danger);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-danger);--_status-badge-background: transparent}.tedi-status-badge.tedi-status-badge--variant-bordered.tedi-status-badge--color-warning{--_status-badge-text: var(--status-badge-text-warning);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-warning);--_status-badge-background: transparent}.tedi-status-badge.tedi-status-badge--variant-bordered.tedi-status-badge--color-transparent{--_status-badge-text: var(--status-badge-text-transparent);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-transparent);--_status-badge-background: transparent}.tedi-status-badge--status:before{position:absolute;top:-.125rem;right:-.125rem;z-index:1;width:var(--status-indicator-sm);height:var(--status-indicator-sm);content:\"\";background-color:var(--_status-badge--indicator-background);border:1px solid var(--status-badge-indicator-border);border-radius:50%}.tedi-status-badge--status.tedi-status-badge--large:before{width:var(--status-indicator-lg);height:var(--status-indicator-lg)}.tedi-status-badge--status-inactive:before{--_status-badge--indicator-background: var( --status-badge-indicator-inactive )}.tedi-status-badge--status-success:before{--_status-badge--indicator-background: var( --status-badge-indicator-success )}.tedi-status-badge--status-danger:before{--_status-badge--indicator-background: var( --status-badge-indicator-danger )}.tedi-status-badge--status-warning:before{--_status-badge--indicator-background: var( --status-badge-indicator-warning )}.tedi-status-badge .tedi-status-badge__icon{color:inherit}.tedi-status-badge__icon-only{display:inline-flex;align-items:center;padding:var(--tag-status-icon-padding-y) var(--tag-status-icon-padding-x);line-height:var(--body-small-regular-line-height)}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "tedi-icon", inputs: ["name", "size", "color", "background", "variant", "type", "label"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
6475
|
+
}
|
|
6476
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: StatusBadgeComponent, decorators: [{
|
|
6477
|
+
type: Component,
|
|
6478
|
+
args: [{ selector: "tedi-status-badge", standalone: true, imports: [IconComponent, CommonModule, NgClass], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (title()) {\n <abbr\n [ngClass]=\"classes()\"\n [attr.id]=\"uniqueId\"\n [attr.title]=\"title()\"\n [attr.role]=\"role()\"\n [attr.aria-live]=\"ariaLive()\"\n >\n <ng-container *ngTemplateOutlet=\"statusBadgeContent\"></ng-container>\n </abbr>\n} @else {\n <div\n [ngClass]=\"classes()\"\n [attr.id]=\"uniqueId\"\n [attr.role]=\"role()\"\n [attr.aria-live]=\"ariaLive()\"\n >\n <ng-container *ngTemplateOutlet=\"statusBadgeContent\"></ng-container>\n </div>\n}\n\n<ng-template #statusBadgeContent>\n @if (icon()) {\n <tedi-icon class=\"tedi-status-badge__icon\" [name]=\"icon()\" [size]=\"16\" />\n }\n\n @if (text()) {\n <span class=\"tedi-status-badge__text\">{{ text() }}</span>\n }\n</ng-template>\n", styles: [".tedi-status-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:var(--tag-default-padding-y) var(--tag-default-padding-x);font-size:var(--body-small-regular-size);font-weight:var(--body-small-regular-weight);line-height:var(--body-small-regular-line-height);color:var(--_status-badge-text);text-decoration:none;background:var(--_status-badge-background);border-radius:var(--tag-default-radius);box-shadow:var(--_status-badge-box-shadow)}.tedi-status-badge__text{min-width:fit-content;padding:0 var(--tag-default-padding-x)}.tedi-status-badge--large{min-width:var(--tag-status-large-min-width);padding:var(--tag-status-large-padding-y) var(--tag-status-large-padding-x)}.tedi-status-badge.tedi-status-badge--variant-filled.tedi-status-badge--color-neutral{--_status-badge-text: var(--status-badge-text-neutral);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-neutral);--_status-badge-background: var( --status-badge-background-neutral );--_status-badge-box-shadow: none}.tedi-status-badge.tedi-status-badge--variant-filled.tedi-status-badge--color-brand{--_status-badge-text: var(--status-badge-text-brand);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-brand);--_status-badge-background: var( --status-badge-background-brand );--_status-badge-box-shadow: none}.tedi-status-badge.tedi-status-badge--variant-filled.tedi-status-badge--color-accent{--_status-badge-text: var(--status-badge-text-accent);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-accent);--_status-badge-background: var( --status-badge-background-accent );--_status-badge-box-shadow: none}.tedi-status-badge.tedi-status-badge--variant-filled.tedi-status-badge--color-success{--_status-badge-text: var(--status-badge-text-success);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-success);--_status-badge-background: var( --status-badge-background-success );--_status-badge-box-shadow: none}.tedi-status-badge.tedi-status-badge--variant-filled.tedi-status-badge--color-danger{--_status-badge-text: var(--status-badge-text-danger);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-danger);--_status-badge-background: var( --status-badge-background-danger );--_status-badge-box-shadow: none}.tedi-status-badge.tedi-status-badge--variant-filled.tedi-status-badge--color-warning{--_status-badge-text: var(--status-badge-text-warning);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-warning);--_status-badge-background: var( --status-badge-background-warning );--_status-badge-box-shadow: none}.tedi-status-badge.tedi-status-badge--variant-filled.tedi-status-badge--color-transparent{--_status-badge-text: var(--status-badge-text-transparent);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-transparent);--_status-badge-background: var( --status-badge-background-transparent );--_status-badge-box-shadow: none}.tedi-status-badge.tedi-status-badge--variant-filled-bordered.tedi-status-badge--color-neutral{--_status-badge-text: var(--status-badge-text-neutral);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-neutral);--_status-badge-background: var( --status-badge-background-neutral )}.tedi-status-badge.tedi-status-badge--variant-filled-bordered.tedi-status-badge--color-brand{--_status-badge-text: var(--status-badge-text-brand);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-brand);--_status-badge-background: var( --status-badge-background-brand )}.tedi-status-badge.tedi-status-badge--variant-filled-bordered.tedi-status-badge--color-accent{--_status-badge-text: var(--status-badge-text-accent);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-accent);--_status-badge-background: var( --status-badge-background-accent )}.tedi-status-badge.tedi-status-badge--variant-filled-bordered.tedi-status-badge--color-success{--_status-badge-text: var(--status-badge-text-success);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-success);--_status-badge-background: var( --status-badge-background-success )}.tedi-status-badge.tedi-status-badge--variant-filled-bordered.tedi-status-badge--color-danger{--_status-badge-text: var(--status-badge-text-danger);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-danger);--_status-badge-background: var( --status-badge-background-danger )}.tedi-status-badge.tedi-status-badge--variant-filled-bordered.tedi-status-badge--color-warning{--_status-badge-text: var(--status-badge-text-warning);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-warning);--_status-badge-background: var( --status-badge-background-warning )}.tedi-status-badge.tedi-status-badge--variant-filled-bordered.tedi-status-badge--color-transparent{--_status-badge-text: var(--status-badge-text-transparent);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-transparent);--_status-badge-background: var( --status-badge-background-transparent )}.tedi-status-badge.tedi-status-badge--variant-bordered.tedi-status-badge--color-neutral{--_status-badge-text: var(--status-badge-text-neutral);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-neutral);--_status-badge-background: transparent}.tedi-status-badge.tedi-status-badge--variant-bordered.tedi-status-badge--color-brand{--_status-badge-text: var(--status-badge-text-brand);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-brand);--_status-badge-background: transparent}.tedi-status-badge.tedi-status-badge--variant-bordered.tedi-status-badge--color-accent{--_status-badge-text: var(--status-badge-text-accent);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-accent);--_status-badge-background: transparent}.tedi-status-badge.tedi-status-badge--variant-bordered.tedi-status-badge--color-success{--_status-badge-text: var(--status-badge-text-success);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-success);--_status-badge-background: transparent}.tedi-status-badge.tedi-status-badge--variant-bordered.tedi-status-badge--color-danger{--_status-badge-text: var(--status-badge-text-danger);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-danger);--_status-badge-background: transparent}.tedi-status-badge.tedi-status-badge--variant-bordered.tedi-status-badge--color-warning{--_status-badge-text: var(--status-badge-text-warning);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-warning);--_status-badge-background: transparent}.tedi-status-badge.tedi-status-badge--variant-bordered.tedi-status-badge--color-transparent{--_status-badge-text: var(--status-badge-text-transparent);--_status-badge-box-shadow: inset 0 0 0 1px var(--status-badge-border-transparent);--_status-badge-background: transparent}.tedi-status-badge--status:before{position:absolute;top:-.125rem;right:-.125rem;z-index:1;width:var(--status-indicator-sm);height:var(--status-indicator-sm);content:\"\";background-color:var(--_status-badge--indicator-background);border:1px solid var(--status-badge-indicator-border);border-radius:50%}.tedi-status-badge--status.tedi-status-badge--large:before{width:var(--status-indicator-lg);height:var(--status-indicator-lg)}.tedi-status-badge--status-inactive:before{--_status-badge--indicator-background: var( --status-badge-indicator-inactive )}.tedi-status-badge--status-success:before{--_status-badge--indicator-background: var( --status-badge-indicator-success )}.tedi-status-badge--status-danger:before{--_status-badge--indicator-background: var( --status-badge-indicator-danger )}.tedi-status-badge--status-warning:before{--_status-badge--indicator-background: var( --status-badge-indicator-warning )}.tedi-status-badge .tedi-status-badge__icon{color:inherit}.tedi-status-badge__icon-only{display:inline-flex;align-items:center;padding:var(--tag-status-icon-padding-y) var(--tag-status-icon-padding-x);line-height:var(--body-small-regular-line-height)}\n"] }]
|
|
6479
|
+
}] });
|
|
6480
|
+
|
|
6481
|
+
class AccordionItemComponent {
|
|
6482
|
+
idGenerator = inject(_IdGenerator);
|
|
6483
|
+
bodyId = this.idGenerator.getId("tedi-accordion-body");
|
|
6484
|
+
headerId = this.idGenerator.getId("tedi-accordion-header");
|
|
6485
|
+
/**
|
|
6486
|
+
* If false, disables header toggling and enables using interactive elements in the accordion header.
|
|
6487
|
+
*/
|
|
6488
|
+
headerClickable = input(true);
|
|
6489
|
+
/** The title of the accordion item. */
|
|
6490
|
+
title = input("");
|
|
6491
|
+
/**
|
|
6492
|
+
* Sets how the accordion title stretches horizontally.
|
|
6493
|
+
* `hug` - container sizes to its content.
|
|
6494
|
+
* `fill` - container expands to available space, moving any trailing elements to the end.
|
|
6495
|
+
*/
|
|
6496
|
+
titleLayout = input("hug");
|
|
6497
|
+
/**
|
|
6498
|
+
* Whether the title is rendered as separate text in the accordion header.
|
|
6499
|
+
* If false and `showExpandLabel` is true, the title is used as the expand button label.
|
|
6500
|
+
*/
|
|
6501
|
+
showSeparateTitle = input(true);
|
|
6502
|
+
/** Label shown when accordion is collapsed */
|
|
6503
|
+
openLabel = input("open");
|
|
6504
|
+
/** Label shown when accordion is expanded */
|
|
6505
|
+
closeLabel = input("close");
|
|
6506
|
+
/**
|
|
6507
|
+
* Controls whether the expand/collapse label is shown.
|
|
6508
|
+
*/
|
|
6509
|
+
showExpandLabel = input(true);
|
|
6510
|
+
/**
|
|
6511
|
+
* Controls whether the default expand/collapse action is shown.
|
|
6512
|
+
*/
|
|
6513
|
+
showDefaultExpandAction = input(true);
|
|
6514
|
+
/**
|
|
6515
|
+
* Position of the expand action relative to the header content.
|
|
6516
|
+
*/
|
|
6517
|
+
expandActionPosition = input("end");
|
|
6518
|
+
/**
|
|
6519
|
+
* Whether the accordion item is expanded initially.
|
|
6520
|
+
* Does not control the expanded state after initialization.
|
|
6521
|
+
*/
|
|
6522
|
+
defaultExpanded = input(false);
|
|
6523
|
+
/** Optional description text shown in the header */
|
|
6524
|
+
description = input(undefined);
|
|
6525
|
+
/**
|
|
6526
|
+
* Position of the description relative to the title.
|
|
6527
|
+
*/
|
|
6528
|
+
descriptionPosition = input("start");
|
|
6529
|
+
/**
|
|
6530
|
+
* Enables the icon-card layout variant.
|
|
6531
|
+
*/
|
|
6532
|
+
showIconCard = input(false);
|
|
6533
|
+
/**
|
|
6534
|
+
* Marks the accordion item as selected.
|
|
6535
|
+
*/
|
|
6536
|
+
selected = input(false);
|
|
6537
|
+
/**
|
|
6538
|
+
* Custom CSS classes for the accordion header.
|
|
6539
|
+
*/
|
|
6540
|
+
headerClass = input(null);
|
|
6541
|
+
/**
|
|
6542
|
+
* Custom CSS classes for the accordion body.
|
|
6543
|
+
*/
|
|
6544
|
+
bodyClass = input(null);
|
|
6545
|
+
expanded = model(false);
|
|
6546
|
+
accordion = inject(AccordionComponent, { optional: true });
|
|
6547
|
+
ngOnInit() {
|
|
6548
|
+
this.setExpanded(this.defaultExpanded());
|
|
6549
|
+
}
|
|
6550
|
+
toggle() {
|
|
6551
|
+
this.setExpanded(!this.expanded());
|
|
6552
|
+
this.accordion?.onItemToggled(this);
|
|
6553
|
+
}
|
|
6554
|
+
setExpanded(value) {
|
|
6555
|
+
this.expanded.set(value);
|
|
6556
|
+
}
|
|
6557
|
+
expandLabel = computed(() => this.expanded() ? this.closeLabel() : this.openLabel());
|
|
6558
|
+
showStartExpandAction = computed(() => this.showDefaultExpandAction() && this.expandActionPosition() === "start");
|
|
6559
|
+
showEndExpandAction = computed(() => this.showDefaultExpandAction() && this.expandActionPosition() === "end");
|
|
6560
|
+
headerClasses = computed(() => {
|
|
6561
|
+
const customClass = this.headerClass();
|
|
6562
|
+
return {
|
|
6563
|
+
"tedi-accordion__header": true,
|
|
6564
|
+
...(customClass ? { [customClass]: true } : {}),
|
|
6565
|
+
"tedi-accordion__header--hoverable": this.headerClickable(),
|
|
6566
|
+
"tedi-accordion__header--expanded": this.expanded(),
|
|
6567
|
+
"tedi-accordion__header--with-icon-card": this.showIconCard(),
|
|
6568
|
+
};
|
|
6569
|
+
});
|
|
6570
|
+
bodyClasses = computed(() => {
|
|
6571
|
+
const customClass = this.bodyClass();
|
|
6572
|
+
return {
|
|
6573
|
+
"tedi-accordion__body": true,
|
|
6574
|
+
...(customClass ? { [customClass]: true } : {}),
|
|
6575
|
+
"tedi-accordion__body--with-icon-card": this.showIconCard(),
|
|
6576
|
+
};
|
|
6577
|
+
});
|
|
6578
|
+
hideTitleFromSR = computed(() => {
|
|
6579
|
+
return !this.headerClickable() && !this.showExpandLabel();
|
|
6580
|
+
});
|
|
6581
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AccordionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6582
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: AccordionItemComponent, isStandalone: true, selector: "tedi-accordion-item", inputs: { headerClickable: { classPropertyName: "headerClickable", publicName: "headerClickable", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, titleLayout: { classPropertyName: "titleLayout", publicName: "titleLayout", isSignal: true, isRequired: false, transformFunction: null }, showSeparateTitle: { classPropertyName: "showSeparateTitle", publicName: "showSeparateTitle", isSignal: true, isRequired: false, transformFunction: null }, openLabel: { classPropertyName: "openLabel", publicName: "openLabel", isSignal: true, isRequired: false, transformFunction: null }, closeLabel: { classPropertyName: "closeLabel", publicName: "closeLabel", isSignal: true, isRequired: false, transformFunction: null }, showExpandLabel: { classPropertyName: "showExpandLabel", publicName: "showExpandLabel", isSignal: true, isRequired: false, transformFunction: null }, showDefaultExpandAction: { classPropertyName: "showDefaultExpandAction", publicName: "showDefaultExpandAction", isSignal: true, isRequired: false, transformFunction: null }, expandActionPosition: { classPropertyName: "expandActionPosition", publicName: "expandActionPosition", isSignal: true, isRequired: false, transformFunction: null }, defaultExpanded: { classPropertyName: "defaultExpanded", publicName: "defaultExpanded", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, descriptionPosition: { classPropertyName: "descriptionPosition", publicName: "descriptionPosition", isSignal: true, isRequired: false, transformFunction: null }, showIconCard: { classPropertyName: "showIconCard", publicName: "showIconCard", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, headerClass: { classPropertyName: "headerClass", publicName: "headerClass", isSignal: true, isRequired: false, transformFunction: null }, bodyClass: { classPropertyName: "bodyClass", publicName: "bodyClass", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expanded: "expandedChange" }, ngImport: i0, template: "<div\n class=\"tedi-accordion__item\"\n [class.tedi-accordion__item--selected]=\"selected()\"\n [class.tedi-accordion__item--expanded]=\"expanded()\"\n>\n @if (showIconCard()) {\n <ng-content select=\"[tedi-accordion-icon-card]\"></ng-content>\n }\n\n <div class=\"tedi-accordion__header-row\">\n @if (headerClickable()) {\n <button\n [id]=\"headerId\"\n type=\"button\"\n [ngClass]=\"headerClasses()\"\n (click)=\"toggle()\"\n [attr.aria-expanded]=\"expanded()\"\n [attr.aria-controls]=\"bodyId\"\n >\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\n </button>\n } @else {\n <div [id]=\"headerId\" [ngClass]=\"headerClasses()\">\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\n </div>\n }\n </div>\n\n <div\n [ngClass]=\"bodyClasses()\"\n [id]=\"bodyId\"\n [attr.role]=\"expanded() ? 'region' : null\"\n [attr.aria-labelledby]=\"headerId\"\n [attr.aria-hidden]=\"!expanded()\"\n [attr.inert]=\"!expanded() ? '' : null\"\n >\n <div class=\"tedi-accordion__body--inner\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-template #headerContent>\n <div class=\"tedi-accordion__start\">\n <ng-content select=\"[tedi-accordion-start-action]\"></ng-content>\n\n <ng-content select=\"[tedi-accordion-start-before-title]\"></ng-content>\n\n <span\n class=\"tedi-accordion__title\"\n [class.tedi-accordion__title--with-description]=\"description()\"\n [class.tedi-accordion__title--grow]=\"titleLayout() === 'fill'\"\n >\n <span class=\"tedi-accordion__title--main\">\n @if (showStartExpandAction()) {\n <ng-container *ngTemplateOutlet=\"collapseButton\"></ng-container>\n }\n\n @if (showSeparateTitle()) {\n <span\n tedi-text\n color=\"secondary\"\n modifiers=\"normal\"\n [id]=\"headerId + '-title'\"\n [attr.aria-hidden]=\"hideTitleFromSR() ? 'true' : null\"\n >\n {{ title() | tediTranslate }}\n </span>\n }\n </span>\n\n @if (descriptionPosition() !== \"end\") {\n <ng-content select=\"[tedi-accordion-start-description]\"></ng-content>\n\n @if (description(); as desc) {\n <span tedi-text color=\"tertiary\" modifiers=\"normal\">\n {{ desc | tediTranslate }}\n </span>\n }\n }\n </span>\n\n <ng-content select=\"[tedi-accordion-start-after-title]\"></ng-content>\n </div>\n\n @if (descriptionPosition() !== \"start\") {\n <ng-content select=\"[tedi-accordion-end-description]\"></ng-content>\n\n @if (description(); as desc) {\n <span tedi-text color=\"tertiary\" modifiers=\"small\">\n {{ desc | tediTranslate }}\n </span>\n }\n }\n\n @if (showEndExpandAction()) {\n <ng-container *ngTemplateOutlet=\"collapseButton\"></ng-container>\n }\n\n <ng-content select=\"[tedi-accordion-end-action]\"></ng-content>\n</ng-template>\n\n<ng-template #collapseButton>\n @if (headerClickable()) {\n <div\n tedi-text\n modifiers=\"normal\"\n class=\"tedi-accordion__expand-indicator\"\n [class.tedi-accordion__expand-indicator--with-label]=\"showExpandLabel()\"\n >\n {{ (showExpandLabel() ? expandLabel() : \"\") | tediTranslate }}\n <ng-container *ngTemplateOutlet=\"expandIcon\"></ng-container>\n </div>\n } @else {\n <button\n type=\"button\"\n class=\"tedi-accordion__toggle-button\"\n tedi-link\n [underline]=\"false\"\n (click)=\"toggle()\"\n [attr.aria-expanded]=\"expanded()\"\n [attr.aria-controls]=\"bodyId\"\n [attr.aria-label]=\"\n !showExpandLabel() ? (expandLabel() | tediTranslate) : null\n \"\n [attr.aria-labelledby]=\"headerId + '-title'\"\n >\n @if (showExpandLabel()) {\n {{ (showSeparateTitle() ? expandLabel() : title()) | tediTranslate }}\n }\n <ng-container *ngTemplateOutlet=\"expandIcon\"></ng-container>\n </button>\n }\n</ng-template>\n\n<ng-template #expandIcon>\n <tedi-icon\n aria-hidden=\"true\"\n name=\"expand_more\"\n class=\"tedi-accordion__icon\"\n [class.tedi-accordion__icon--expanded]=\"expanded()\"\n [class.tedi-accordion__icon--no-label]=\"!showExpandLabel()\"\n />\n</ng-template>\n", styles: [".tedi-accordion__item{display:grid;grid-template-rows:max-content minmax(0,0fr);grid-template-columns:auto 1fr;transition:grid-template-rows .3s ease}.tedi-accordion__item--selected{border:1px solid var(--card-border-selected);border-radius:var(--card-radius-rounded)}.tedi-accordion__item--selected .tedi-accordion__header,.tedi-accordion__item--selected.tedi-accordion__item--expanded .tedi-accordion__body,.tedi-accordion__item--selected [tedi-accordion-icon-card]{border:transparent}.tedi-accordion__item--selected .tedi-accordion__header--with-icon-card,.tedi-accordion__item--selected.tedi-accordion__item--expanded .tedi-accordion__body--with-icon-card{border-left:1px solid var(--card-border-primary)}.tedi-accordion__item--selected .tedi-accordion__header--expanded{border-bottom:1px solid var(--card-border-primary)}.tedi-accordion__item--expanded{grid-template-rows:max-content minmax(0,1fr)}.tedi-accordion__item--expanded .tedi-accordion__body{border:1px solid var(--card-border-primary);border-top:none;border-radius:0 0 var(--card-radius-rounded) var(--card-radius-rounded)}.tedi-accordion__item--expanded .tedi-accordion__body--with-icon-card{border-radius:0 0 var(--card-radius-rounded) 0}.tedi-accordion__header-row{display:flex;grid-row:1;grid-column:2;align-items:stretch}.tedi-accordion__header{position:relative;display:flex;flex:1;gap:var(--layout-grid-gutters-16);align-items:center;padding:var(--card-padding-md-default);background:var(--card-background-primary);border:1px solid var(--card-border-primary);border-radius:var(--card-radius-rounded)}.tedi-accordion__header--expanded{border-radius:var(--card-radius-rounded) var(--card-radius-rounded) 0 0}.tedi-accordion__header--expanded.tedi-accordion__header--with-icon-card{border-radius:0 var(--card-radius-rounded) 0 0}.tedi-accordion__header--with-icon-card{border-radius:var(--card-radius-sharp) var(--card-radius-rounded) var(--card-radius-rounded) var(--card-radius-sharp)}.tedi-accordion__header--hoverable{cursor:pointer}.tedi-accordion__header--hoverable:hover{background:var(--general-surface-hover)}.tedi-accordion__header--hoverable:active{background:var(--general-surface-brand-tertiary)}.tedi-accordion__header--hoverable:focus-visible{z-index:1;outline:none;background:var(--card-background-primary);border:1px solid var(--card-border-primary);box-shadow:0 0 0 1px var(--tedi-neutral-100),0 0 0 3px var(--tedi-primary-500)}.tedi-accordion__body{grid-row:2;grid-column:2;overflow:hidden;background:var(--card-background-primary)}.tedi-accordion__body--inner{padding:var(--card-padding-md-default)}.tedi-accordion__icon{transition:transform .2s ease-in-out}.tedi-accordion__icon--expanded{transform:rotate(-180deg)}.tedi-accordion__start{display:flex;flex:1;gap:var(--layout-grid-gutters-08);align-items:center;min-width:0}[tedi-accordion-icon-card]{display:inline-flex;grid-row:1/span 2;grid-column:1;gap:var(--layout-grid-gutters-08);align-items:flex-start;align-self:stretch;justify-content:flex-end;padding:var(--card-padding-md-default);background:var(--card-background-secondary);border:1px solid var(--card-border-primary);border-right:none;border-radius:var(--card-radius-rounded) var(--card-radius-sharp) var(--card-radius-sharp) var(--card-radius-rounded)}.tedi-accordion__title{display:flex;gap:var(--layout-grid-gutters-08)}.tedi-accordion__title--main{display:flex;gap:inherit;align-items:center}.tedi-accordion__title--with-description,.tedi-accordion__title:has([tedi-accordion-start-description]){flex-direction:column;gap:0;align-items:flex-start}.tedi-accordion__title--grow{flex:1;justify-content:space-between}.tedi-accordion__toggle-button{display:flex;padding:0;font-size:var(--body-regular-size);background:transparent;border:transparent}.tedi-accordion__expand-indicator{display:flex;align-items:center;color:var(--accordion-action-color)}.tedi-accordion__expand-indicator tedi-icon{color:inherit}.tedi-accordion__expand-indicator--with-label tedi-icon{margin-left:var(--button-sm-inner-spacing);font-size:var(--tedi-size-02);line-height:inherit}.tedi-link tedi-icon.tedi-accordion__icon--no-label{font-size:var(--icon-05)}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "tedi-icon", inputs: ["name", "size", "color", "background", "variant", "type", "label"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TextComponent, selector: "[tedi-text]", inputs: ["modifiers", "color"] }, { kind: "component", type: LinkComponent, selector: "[tedi-link]", inputs: ["variant", "size", "underline", "target", "xs", "sm", "md", "lg", "xl", "xxl"] }, { kind: "pipe", type: TediTranslationPipe, name: "tediTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
6583
|
+
}
|
|
6584
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AccordionItemComponent, decorators: [{
|
|
6585
|
+
type: Component,
|
|
6586
|
+
args: [{ selector: "tedi-accordion-item", standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
6587
|
+
IconComponent,
|
|
6588
|
+
CommonModule,
|
|
6589
|
+
TextComponent,
|
|
6590
|
+
LinkComponent,
|
|
6591
|
+
TediTranslationPipe,
|
|
6592
|
+
NgClass,
|
|
6593
|
+
], template: "<div\n class=\"tedi-accordion__item\"\n [class.tedi-accordion__item--selected]=\"selected()\"\n [class.tedi-accordion__item--expanded]=\"expanded()\"\n>\n @if (showIconCard()) {\n <ng-content select=\"[tedi-accordion-icon-card]\"></ng-content>\n }\n\n <div class=\"tedi-accordion__header-row\">\n @if (headerClickable()) {\n <button\n [id]=\"headerId\"\n type=\"button\"\n [ngClass]=\"headerClasses()\"\n (click)=\"toggle()\"\n [attr.aria-expanded]=\"expanded()\"\n [attr.aria-controls]=\"bodyId\"\n >\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\n </button>\n } @else {\n <div [id]=\"headerId\" [ngClass]=\"headerClasses()\">\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\n </div>\n }\n </div>\n\n <div\n [ngClass]=\"bodyClasses()\"\n [id]=\"bodyId\"\n [attr.role]=\"expanded() ? 'region' : null\"\n [attr.aria-labelledby]=\"headerId\"\n [attr.aria-hidden]=\"!expanded()\"\n [attr.inert]=\"!expanded() ? '' : null\"\n >\n <div class=\"tedi-accordion__body--inner\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-template #headerContent>\n <div class=\"tedi-accordion__start\">\n <ng-content select=\"[tedi-accordion-start-action]\"></ng-content>\n\n <ng-content select=\"[tedi-accordion-start-before-title]\"></ng-content>\n\n <span\n class=\"tedi-accordion__title\"\n [class.tedi-accordion__title--with-description]=\"description()\"\n [class.tedi-accordion__title--grow]=\"titleLayout() === 'fill'\"\n >\n <span class=\"tedi-accordion__title--main\">\n @if (showStartExpandAction()) {\n <ng-container *ngTemplateOutlet=\"collapseButton\"></ng-container>\n }\n\n @if (showSeparateTitle()) {\n <span\n tedi-text\n color=\"secondary\"\n modifiers=\"normal\"\n [id]=\"headerId + '-title'\"\n [attr.aria-hidden]=\"hideTitleFromSR() ? 'true' : null\"\n >\n {{ title() | tediTranslate }}\n </span>\n }\n </span>\n\n @if (descriptionPosition() !== \"end\") {\n <ng-content select=\"[tedi-accordion-start-description]\"></ng-content>\n\n @if (description(); as desc) {\n <span tedi-text color=\"tertiary\" modifiers=\"normal\">\n {{ desc | tediTranslate }}\n </span>\n }\n }\n </span>\n\n <ng-content select=\"[tedi-accordion-start-after-title]\"></ng-content>\n </div>\n\n @if (descriptionPosition() !== \"start\") {\n <ng-content select=\"[tedi-accordion-end-description]\"></ng-content>\n\n @if (description(); as desc) {\n <span tedi-text color=\"tertiary\" modifiers=\"small\">\n {{ desc | tediTranslate }}\n </span>\n }\n }\n\n @if (showEndExpandAction()) {\n <ng-container *ngTemplateOutlet=\"collapseButton\"></ng-container>\n }\n\n <ng-content select=\"[tedi-accordion-end-action]\"></ng-content>\n</ng-template>\n\n<ng-template #collapseButton>\n @if (headerClickable()) {\n <div\n tedi-text\n modifiers=\"normal\"\n class=\"tedi-accordion__expand-indicator\"\n [class.tedi-accordion__expand-indicator--with-label]=\"showExpandLabel()\"\n >\n {{ (showExpandLabel() ? expandLabel() : \"\") | tediTranslate }}\n <ng-container *ngTemplateOutlet=\"expandIcon\"></ng-container>\n </div>\n } @else {\n <button\n type=\"button\"\n class=\"tedi-accordion__toggle-button\"\n tedi-link\n [underline]=\"false\"\n (click)=\"toggle()\"\n [attr.aria-expanded]=\"expanded()\"\n [attr.aria-controls]=\"bodyId\"\n [attr.aria-label]=\"\n !showExpandLabel() ? (expandLabel() | tediTranslate) : null\n \"\n [attr.aria-labelledby]=\"headerId + '-title'\"\n >\n @if (showExpandLabel()) {\n {{ (showSeparateTitle() ? expandLabel() : title()) | tediTranslate }}\n }\n <ng-container *ngTemplateOutlet=\"expandIcon\"></ng-container>\n </button>\n }\n</ng-template>\n\n<ng-template #expandIcon>\n <tedi-icon\n aria-hidden=\"true\"\n name=\"expand_more\"\n class=\"tedi-accordion__icon\"\n [class.tedi-accordion__icon--expanded]=\"expanded()\"\n [class.tedi-accordion__icon--no-label]=\"!showExpandLabel()\"\n />\n</ng-template>\n", styles: [".tedi-accordion__item{display:grid;grid-template-rows:max-content minmax(0,0fr);grid-template-columns:auto 1fr;transition:grid-template-rows .3s ease}.tedi-accordion__item--selected{border:1px solid var(--card-border-selected);border-radius:var(--card-radius-rounded)}.tedi-accordion__item--selected .tedi-accordion__header,.tedi-accordion__item--selected.tedi-accordion__item--expanded .tedi-accordion__body,.tedi-accordion__item--selected [tedi-accordion-icon-card]{border:transparent}.tedi-accordion__item--selected .tedi-accordion__header--with-icon-card,.tedi-accordion__item--selected.tedi-accordion__item--expanded .tedi-accordion__body--with-icon-card{border-left:1px solid var(--card-border-primary)}.tedi-accordion__item--selected .tedi-accordion__header--expanded{border-bottom:1px solid var(--card-border-primary)}.tedi-accordion__item--expanded{grid-template-rows:max-content minmax(0,1fr)}.tedi-accordion__item--expanded .tedi-accordion__body{border:1px solid var(--card-border-primary);border-top:none;border-radius:0 0 var(--card-radius-rounded) var(--card-radius-rounded)}.tedi-accordion__item--expanded .tedi-accordion__body--with-icon-card{border-radius:0 0 var(--card-radius-rounded) 0}.tedi-accordion__header-row{display:flex;grid-row:1;grid-column:2;align-items:stretch}.tedi-accordion__header{position:relative;display:flex;flex:1;gap:var(--layout-grid-gutters-16);align-items:center;padding:var(--card-padding-md-default);background:var(--card-background-primary);border:1px solid var(--card-border-primary);border-radius:var(--card-radius-rounded)}.tedi-accordion__header--expanded{border-radius:var(--card-radius-rounded) var(--card-radius-rounded) 0 0}.tedi-accordion__header--expanded.tedi-accordion__header--with-icon-card{border-radius:0 var(--card-radius-rounded) 0 0}.tedi-accordion__header--with-icon-card{border-radius:var(--card-radius-sharp) var(--card-radius-rounded) var(--card-radius-rounded) var(--card-radius-sharp)}.tedi-accordion__header--hoverable{cursor:pointer}.tedi-accordion__header--hoverable:hover{background:var(--general-surface-hover)}.tedi-accordion__header--hoverable:active{background:var(--general-surface-brand-tertiary)}.tedi-accordion__header--hoverable:focus-visible{z-index:1;outline:none;background:var(--card-background-primary);border:1px solid var(--card-border-primary);box-shadow:0 0 0 1px var(--tedi-neutral-100),0 0 0 3px var(--tedi-primary-500)}.tedi-accordion__body{grid-row:2;grid-column:2;overflow:hidden;background:var(--card-background-primary)}.tedi-accordion__body--inner{padding:var(--card-padding-md-default)}.tedi-accordion__icon{transition:transform .2s ease-in-out}.tedi-accordion__icon--expanded{transform:rotate(-180deg)}.tedi-accordion__start{display:flex;flex:1;gap:var(--layout-grid-gutters-08);align-items:center;min-width:0}[tedi-accordion-icon-card]{display:inline-flex;grid-row:1/span 2;grid-column:1;gap:var(--layout-grid-gutters-08);align-items:flex-start;align-self:stretch;justify-content:flex-end;padding:var(--card-padding-md-default);background:var(--card-background-secondary);border:1px solid var(--card-border-primary);border-right:none;border-radius:var(--card-radius-rounded) var(--card-radius-sharp) var(--card-radius-sharp) var(--card-radius-rounded)}.tedi-accordion__title{display:flex;gap:var(--layout-grid-gutters-08)}.tedi-accordion__title--main{display:flex;gap:inherit;align-items:center}.tedi-accordion__title--with-description,.tedi-accordion__title:has([tedi-accordion-start-description]){flex-direction:column;gap:0;align-items:flex-start}.tedi-accordion__title--grow{flex:1;justify-content:space-between}.tedi-accordion__toggle-button{display:flex;padding:0;font-size:var(--body-regular-size);background:transparent;border:transparent}.tedi-accordion__expand-indicator{display:flex;align-items:center;color:var(--accordion-action-color)}.tedi-accordion__expand-indicator tedi-icon{color:inherit}.tedi-accordion__expand-indicator--with-label tedi-icon{margin-left:var(--button-sm-inner-spacing);font-size:var(--tedi-size-02);line-height:inherit}.tedi-link tedi-icon.tedi-accordion__icon--no-label{font-size:var(--icon-05)}\n"] }]
|
|
6594
|
+
}] });
|
|
6595
|
+
|
|
6596
|
+
class AccordionComponent {
|
|
6597
|
+
/**
|
|
6598
|
+
* Whether the accordion allows multiple items to be expanded at the same time.
|
|
6599
|
+
* If false, opening one item will collapse the others automatically.
|
|
6600
|
+
*/
|
|
6601
|
+
allowMultiple = input(false);
|
|
6602
|
+
items = contentChildren(AccordionItemComponent);
|
|
6603
|
+
onItemToggled(activeItem) {
|
|
6604
|
+
if (this.allowMultiple())
|
|
6605
|
+
return;
|
|
6606
|
+
if (activeItem.expanded()) {
|
|
6607
|
+
this.items().forEach((item) => {
|
|
6608
|
+
if (item !== activeItem) {
|
|
6609
|
+
item.setExpanded(false);
|
|
6610
|
+
}
|
|
6611
|
+
});
|
|
6612
|
+
}
|
|
6613
|
+
}
|
|
6614
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6615
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.15", type: AccordionComponent, isStandalone: true, selector: "tedi-accordion", inputs: { allowMultiple: { classPropertyName: "allowMultiple", publicName: "allowMultiple", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "items", predicate: AccordionItemComponent, isSignal: true }], ngImport: i0, template: "<ng-content />", isInline: true, styles: ["tedi-accordion{display:flex;flex-direction:column;gap:var(--layout-grid-gutters-08)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
6616
|
+
}
|
|
6617
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AccordionComponent, decorators: [{
|
|
6618
|
+
type: Component,
|
|
6619
|
+
args: [{ selector: "tedi-accordion", standalone: true, template: "<ng-content />", encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["tedi-accordion{display:flex;flex-direction:column;gap:var(--layout-grid-gutters-08)}\n"] }]
|
|
6620
|
+
}] });
|
|
6621
|
+
|
|
6395
6622
|
class VerticalSpacingItemDirective {
|
|
6396
6623
|
el;
|
|
6397
6624
|
renderer;
|
|
@@ -6457,5 +6684,5 @@ function provideTedi(config = {}) {
|
|
|
6457
6684
|
* Generated bundle index. Do not edit.
|
|
6458
6685
|
*/
|
|
6459
6686
|
|
|
6460
|
-
export { AVAILABLE_LANGUAGES, AlertComponent, BREAKPOINTS, BaseButtonDirective, BreakpointService, ButtonComponent, CarouselComponent, CarouselContentComponent, CarouselFooterComponent, CarouselHeaderComponent, CarouselIndicatorsComponent, CarouselNavigationComponent, CarouselSlideDirective, CheckboxComponent, ClosingButtonComponent, ColComponent, CollapseComponent, DatePickerComponent, DropdownComponent, DropdownContentComponent, DropdownItemComponent, DropdownTriggerDirective, FeedbackTextComponent, FooterBodyComponent, FooterBottomComponent, FooterComponent, FooterSectionComponent, FooterSideComponent, HeaderActionsComponent, HeaderComponent, HeaderContentComponent, HeaderLanguageComponent, HeaderLoginComponent, HeaderLogoutComponent, HeaderProfileComponent, HeaderRoleComponent, HideAtDirective, IconComponent, InfoButtonComponent, LANGUAGE_COOKIE_NAME, LANGUAGE_FALLBACK_VALUE, LabelComponent, LinkComponent, ListComponent, ModalComponent, ModalContentComponent, ModalFooterComponent, ModalHeaderComponent, NumberFieldComponent, PopoverComponent, PopoverContentComponent, PopoverTriggerDirective, RowComponent, SeparatorComponent, ShowAtDirective, SideNavComponent, SideNavDropdownComponent, SideNavDropdownGroupComponent, SideNavDropdownItemComponent, SideNavGroupTitleComponent, SideNavItemComponent, SideNavOverlayComponent, SideNavToggleComponent, SpinnerComponent, TEDI_THEME_DEFAULT_TOKEN, TEDI_TRANSLATION_DEFAULT_TOKEN, THEME_CLASS_PREFIX, THEME_COOKIE_NAME, THEME_FALLBACK_VALUE, TOAST_DEFAULT_DURATION, TagComponent, TediTranslationPipe, TediTranslationService, TextComponent, TextGroupComponent, TextGroupLabelComponent, TextGroupValueComponent, ThemeService, TimelineComponent, TimelineDescriptionComponent, TimelineItemComponent, TimelineTitleComponent, ToastComponent, ToastService, ToggleComponent, TooltipComponent, TooltipContentComponent, TooltipTriggerComponent, VerticalSpacingDirective, VerticalSpacingItemDirective, breakpointInput, generateUUID, provideTedi };
|
|
6687
|
+
export { AVAILABLE_LANGUAGES, AccordionComponent, AccordionItemComponent, AlertComponent, BREAKPOINTS, BaseButtonDirective, BreakpointService, ButtonComponent, CarouselComponent, CarouselContentComponent, CarouselFooterComponent, CarouselHeaderComponent, CarouselIndicatorsComponent, CarouselNavigationComponent, CarouselSlideDirective, CheckboxComponent, ClosingButtonComponent, ColComponent, CollapseComponent, DatePickerComponent, DropdownComponent, DropdownContentComponent, DropdownItemComponent, DropdownTriggerDirective, FeedbackTextComponent, FooterBodyComponent, FooterBottomComponent, FooterComponent, FooterSectionComponent, FooterSideComponent, HeaderActionsComponent, HeaderComponent, HeaderContentComponent, HeaderLanguageComponent, HeaderLoginComponent, HeaderLogoutComponent, HeaderProfileComponent, HeaderRoleComponent, HideAtDirective, IconComponent, InfoButtonComponent, LANGUAGE_COOKIE_NAME, LANGUAGE_FALLBACK_VALUE, LabelComponent, LinkComponent, ListComponent, ModalComponent, ModalContentComponent, ModalFooterComponent, ModalHeaderComponent, NumberFieldComponent, PopoverComponent, PopoverContentComponent, PopoverTriggerDirective, RowComponent, SeparatorComponent, ShowAtDirective, SideNavComponent, SideNavDropdownComponent, SideNavDropdownGroupComponent, SideNavDropdownItemComponent, SideNavGroupTitleComponent, SideNavItemComponent, SideNavOverlayComponent, SideNavToggleComponent, SpinnerComponent, StatusBadgeComponent, TEDI_THEME_DEFAULT_TOKEN, TEDI_TRANSLATION_DEFAULT_TOKEN, THEME_CLASS_PREFIX, THEME_COOKIE_NAME, THEME_FALLBACK_VALUE, TOAST_DEFAULT_DURATION, TagComponent, TediTranslationPipe, TediTranslationService, TextComponent, TextGroupComponent, TextGroupLabelComponent, TextGroupValueComponent, ThemeService, TimelineComponent, TimelineDescriptionComponent, TimelineItemComponent, TimelineTitleComponent, ToastComponent, ToastService, ToggleComponent, TooltipComponent, TooltipContentComponent, TooltipTriggerComponent, VerticalSpacingDirective, VerticalSpacingItemDirective, breakpointInput, generateUUID, provideTedi };
|
|
6461
6688
|
//# sourceMappingURL=tedi-design-system-angular-tedi.mjs.map
|