@tedi-design-system/angular 6.5.0-rc.11 → 6.5.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.
@@ -219,6 +219,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
219
219
  }, styles: [".tedi-button{display:inline-flex;gap:var(--_btn-inner-spacing);align-items:center;justify-content:center;padding:var(--_btn-padding);font-family:var(--family-default);font-weight:var(--body-regular-weight);line-height:var(--body-bold-line-height);color:var(--_btn-text);text-decoration:none;cursor:pointer;background:var(--_btn-bg);border:var(--tedi-borders-01) solid var(--_btn-border);border-radius:var(--button-radius-default);transition:.15s ease;transition-property:background-color,border-color}.tedi-button--icon-only{width:var(--button-md-icon-size);height:var(--button-md-icon-size);padding:var(--button-md-icon-padding)}.tedi-button--pl:not(.tedi-button--neutral,.tedi-button--danger-neutral,.tedi-button--neutral-inverted){padding-left:calc(var(--_btn-padding-x) + var(--_btn-inner-spacing) - 1px)}.tedi-button--pr:not(.tedi-button--neutral,.tedi-button--danger-neutral,.tedi-button--neutral-inverted){padding-right:calc(var(--_btn-padding-x) + var(--_btn-inner-spacing) - 1px)}.tedi-button:hover{color:var(--_btn-hover-text);background:var(--_btn-hover-bg);border-color:var(--_btn-hover-border)}.tedi-button:active{color:var(--_btn-active-text);background:var(--_btn-active-bg);border-color:var(--_btn-active-border)}.tedi-button:focus-visible{color:var(--_btn-focus-text);outline:2px solid var(--_btn-outline);outline-offset:1px;background:var(--_btn-focus-bg);border-color:var(--_btn-focus-border)}.tedi-button:disabled{color:var(--_btn-disabled-text);cursor:not-allowed;background:var(--_btn-disabled-bg);border-color:var(--_btn-disabled-border)}.tedi-button tedi-icon{font-size:inherit;color:inherit}.tedi-button--small{font-size:var(--button-text-size-sm);--_btn-padding: calc(var(--_btn-padding-y) - 1px) calc(var(--_btn-padding-x) - 1px);--_btn-inner-spacing: var(--button-sm-inner-spacing);--_btn-padding-y: var(--button-sm-padding-y);--_btn-padding-x: var(--button-sm-padding-x)}.tedi-button--default{font-size:var(--button-text-size-default);--_btn-padding: calc(var(--_btn-padding-y) - 1px) calc(var(--_btn-padding-x) - 1px);--_btn-inner-spacing: var(--button-md-inner-spacing);--_btn-padding-y: var(--button-md-padding-y);--_btn-padding-x: var(--button-md-padding-x)}.tedi-button--primary{--_btn-bg: var(--button-main-primary-background-default);--_btn-border: var(--button-main-primary-border-default);--_btn-text: var(--button-main-primary-text-default);--_btn-outline: var(--tedi-primary-500)}.tedi-button--primary{--_btn-hover-bg: var( --button-main-primary-background-hover, var(--button-main-primary-background-default) );--_btn-hover-border: var( --button-main-primary-border-hover, var(--button-main-primary-border-default) );--_btn-hover-text: var( --button-main-primary-text-hover, var(--button-main-primary-text-default) )}.tedi-button--primary{--_btn-focus-bg: var( --button-main-primary-background-focus, var(--button-main-primary-background-default) );--_btn-focus-border: var( --button-main-primary-border-focus, var(--button-main-primary-border-default) );--_btn-focus-text: var( --button-main-primary-text-focus, var(--button-main-primary-text-default) )}.tedi-button--primary{--_btn-active-bg: var( --button-main-primary-background-active, var(--button-main-primary-background-default) );--_btn-active-border: var( --button-main-primary-border-active, var(--button-main-primary-border-default) );--_btn-active-text: var( --button-main-primary-text-active, var(--button-main-primary-text-default) )}.tedi-button--primary{--_btn-disabled-text: var(--button-main-disabled-general-text);--_btn-disabled-bg: var(--button-main-disabled-general-background);--_btn-disabled-border: var(--button-main-disabled-general-border)}.tedi-button--secondary{--_btn-bg: var(--button-main-secondary-background-default);--_btn-border: var(--button-main-secondary-border-default);--_btn-text: var(--button-main-secondary-text-default);--_btn-outline: var(--tedi-primary-500)}.tedi-button--secondary{--_btn-hover-bg: var( --button-main-secondary-background-hover, var(--button-main-secondary-background-default) );--_btn-hover-border: var( --button-main-secondary-border-hover, var(--button-main-secondary-border-default) );--_btn-hover-text: var( --button-main-secondary-text-hover, var(--button-main-secondary-text-default) )}.tedi-button--secondary{--_btn-focus-bg: var( --button-main-secondary-background-focus, var(--button-main-secondary-background-default) );--_btn-focus-border: var( --button-main-secondary-border-focus, var(--button-main-secondary-border-default) );--_btn-focus-text: var( --button-main-secondary-text-focus, var(--button-main-secondary-text-default) )}.tedi-button--secondary{--_btn-active-bg: var( --button-main-secondary-background-active, var(--button-main-secondary-background-default) );--_btn-active-border: var( --button-main-secondary-border-active, var(--button-main-secondary-border-default) );--_btn-active-text: var( --button-main-secondary-text-active, var(--button-main-secondary-text-default) )}.tedi-button--secondary{--_btn-disabled-text: var(--button-main-disabled-general-text);--_btn-disabled-bg: var(--button-main-disabled-general-background);--_btn-disabled-border: var(--button-main-disabled-general-border)}.tedi-button--neutral{--_btn-bg: var(--button-main-neutral-background-default);--_btn-border: var(--button-main-neutral-border-default);--_btn-text: var(--button-main-neutral-text-default);--_btn-outline: var(--tedi-primary-500)}.tedi-button--neutral{--_btn-hover-bg: var( --button-main-neutral-background-hover, var(--button-main-neutral-background-default) );--_btn-hover-border: var( --button-main-neutral-border-hover, var(--button-main-neutral-border-default) );--_btn-hover-text: var( --button-main-neutral-text-hover, var(--button-main-neutral-text-default) )}.tedi-button--neutral{--_btn-focus-bg: var( --button-main-neutral-background-focus, var(--button-main-neutral-background-default) );--_btn-focus-border: var( --button-main-neutral-border-focus, var(--button-main-neutral-border-default) );--_btn-focus-text: var( --button-main-neutral-text-focus, var(--button-main-neutral-text-default) )}.tedi-button--neutral{--_btn-active-bg: var( --button-main-neutral-background-active, var(--button-main-neutral-background-default) );--_btn-active-border: var( --button-main-neutral-border-active, var(--button-main-neutral-border-default) );--_btn-active-text: var( --button-main-neutral-text-active, var(--button-main-neutral-text-default) )}.tedi-button--neutral{--_btn-disabled-text: var(--button-main-disabled-general-text);--_btn-disabled-bg: var(--button-main-disabled-neutral-background);--_btn-disabled-border: var(--button-main-disabled-neutral-border)}.tedi-button--neutral:where(.tedi-button--small){--_btn-padding-y: var(--button-sm-neutral-padding-y);--_btn-padding-x: var(--button-sm-neutral-padding-x);--_btn-padding: calc(var(--_btn-padding-y) - 1px) var(--_btn-padding-x)}.tedi-button--neutral:where(.tedi-button--default){--_btn-padding-y: var(--button-md-neutral-padding-y);--_btn-padding-x: var(--button-md-neutral-padding-x);--_btn-padding: calc(var(--_btn-padding-y) - 1px) var(--_btn-padding-x)}.tedi-button--success{--_btn-bg: var(--button-main-success-background-default);--_btn-border: var(--button-main-success-border-default);--_btn-text: var(--button-main-success-text-default);--_btn-outline: var(--tedi-primary-500)}.tedi-button--success{--_btn-hover-bg: var( --button-main-success-background-hover, var(--button-main-success-background-default) );--_btn-hover-border: var( --button-main-success-border-hover, var(--button-main-success-border-default) );--_btn-hover-text: var( --button-main-success-text-hover, var(--button-main-success-text-default) )}.tedi-button--success{--_btn-focus-bg: var( --button-main-success-background-focus, var(--button-main-success-background-default) );--_btn-focus-border: var( --button-main-success-border-focus, var(--button-main-success-border-default) );--_btn-focus-text: var( --button-main-success-text-focus, var(--button-main-success-text-default) )}.tedi-button--success{--_btn-active-bg: var( --button-main-success-background-active, var(--button-main-success-background-default) );--_btn-active-border: var( --button-main-success-border-active, var(--button-main-success-border-default) );--_btn-active-text: var( --button-main-success-text-active, var(--button-main-success-text-default) )}.tedi-button--success{--_btn-disabled-text: var(--button-main-disabled-general-text);--_btn-disabled-bg: var(--button-main-disabled-general-background);--_btn-disabled-border: var(--button-main-disabled-general-border)}.tedi-button--danger{--_btn-bg: var(--button-main-danger-background-default);--_btn-border: var(--button-main-danger-border-default);--_btn-text: var(--button-main-danger-text-default);--_btn-outline: var(--tedi-primary-500)}.tedi-button--danger{--_btn-hover-bg: var( --button-main-danger-background-hover, var(--button-main-danger-background-default) );--_btn-hover-border: var( --button-main-danger-border-hover, var(--button-main-danger-border-default) );--_btn-hover-text: var( --button-main-danger-text-hover, var(--button-main-danger-text-default) )}.tedi-button--danger{--_btn-focus-bg: var( --button-main-danger-background-focus, var(--button-main-danger-background-default) );--_btn-focus-border: var( --button-main-danger-border-focus, var(--button-main-danger-border-default) );--_btn-focus-text: var( --button-main-danger-text-focus, var(--button-main-danger-text-default) )}.tedi-button--danger{--_btn-active-bg: var( --button-main-danger-background-active, var(--button-main-danger-background-default) );--_btn-active-border: var( --button-main-danger-border-active, var(--button-main-danger-border-default) );--_btn-active-text: var( --button-main-danger-text-active, var(--button-main-danger-text-default) )}.tedi-button--danger{--_btn-disabled-text: var(--button-main-disabled-general-text);--_btn-disabled-bg: var(--button-main-disabled-general-background);--_btn-disabled-border: var(--button-main-disabled-general-border)}.tedi-button--danger-neutral:where(.tedi-button--small){--_btn-padding-y: var(--button-sm-neutral-padding-y);--_btn-padding-x: var(--button-sm-neutral-padding-x);--_btn-padding: calc(var(--_btn-padding-y) - 1px) var(--_btn-padding-x)}.tedi-button--danger-neutral:where(.tedi-button--default){--_btn-padding-y: var(--button-md-neutral-padding-y);--_btn-padding-x: var(--button-md-neutral-padding-x);--_btn-padding: calc(var(--_btn-padding-y) - 1px) var(--_btn-padding-x)}.tedi-button--danger-neutral{--_btn-bg: var(--button-main-danger-neutral-background-default);--_btn-border: var(--button-main-danger-neutral-border-default);--_btn-text: var(--button-main-danger-neutral-text-default);--_btn-outline: var(--tedi-primary-500)}.tedi-button--danger-neutral{--_btn-hover-bg: var( --button-main-danger-neutral-background-hover, var(--button-main-danger-neutral-background-default) );--_btn-hover-border: var( --button-main-danger-neutral-border-hover, var(--button-main-danger-neutral-border-default) );--_btn-hover-text: var( --button-main-danger-neutral-text-hover, var(--button-main-danger-neutral-text-default) )}.tedi-button--danger-neutral{--_btn-focus-bg: var( --button-main-danger-neutral-background-focus, var(--button-main-danger-neutral-background-default) );--_btn-focus-border: var( --button-main-danger-neutral-border-focus, var(--button-main-danger-neutral-border-default) );--_btn-focus-text: var( --button-main-danger-neutral-text-focus, var(--button-main-danger-neutral-text-default) )}.tedi-button--danger-neutral{--_btn-active-bg: var( --button-main-danger-neutral-background-active, var(--button-main-danger-neutral-background-default) );--_btn-active-border: var( --button-main-danger-neutral-border-active, var(--button-main-danger-neutral-border-default) );--_btn-active-text: var( --button-main-danger-neutral-text-active, var(--button-main-danger-neutral-text-default) )}.tedi-button--danger-neutral{--_btn-disabled-text: var(--button-main-disabled-general-text);--_btn-disabled-bg: var(--button-main-disabled-neutral-background);--_btn-disabled-border: var(--button-main-disabled-neutral-border)}.tedi-button--primary-inverted{--_btn-bg: var(--button-main-primary-inverted-background-default);--_btn-border: var(--button-main-primary-inverted-border-default);--_btn-text: var(--button-main-primary-inverted-text-default);--_btn-outline: var(--tedi-primary-500)}.tedi-button--primary-inverted{--_btn-hover-bg: var( --button-main-primary-inverted-background-hover, var(--button-main-primary-inverted-background-default) );--_btn-hover-border: var( --button-main-primary-inverted-border-hover, var(--button-main-primary-inverted-border-default) );--_btn-hover-text: var( --button-main-primary-inverted-text-hover, var(--button-main-primary-inverted-text-default) )}.tedi-button--primary-inverted{--_btn-focus-bg: var( --button-main-primary-inverted-background-focus, var(--button-main-primary-inverted-background-default) );--_btn-focus-border: var( --button-main-primary-inverted-border-focus, var(--button-main-primary-inverted-border-default) );--_btn-focus-text: var( --button-main-primary-inverted-text-focus, var(--button-main-primary-inverted-text-default) )}.tedi-button--primary-inverted{--_btn-active-bg: var( --button-main-primary-inverted-background-active, var(--button-main-primary-inverted-background-default) );--_btn-active-border: var( --button-main-primary-inverted-border-active, var(--button-main-primary-inverted-border-default) );--_btn-active-text: var( --button-main-primary-inverted-text-active, var(--button-main-primary-inverted-text-default) )}.tedi-button--primary-inverted{--_btn-disabled-text: var(--button-main-disabled-general-text);--_btn-disabled-bg: var(--button-main-disabled-general-background);--_btn-disabled-border: var(--button-main-disabled-general-border)}.tedi-button--secondary-inverted{--_btn-bg: var(--button-main-secondary-inverted-background-default);--_btn-border: var(--button-main-secondary-inverted-border-default);--_btn-text: var(--button-main-secondary-inverted-text-default);--_btn-outline: var(--tedi-primary-500)}.tedi-button--secondary-inverted{--_btn-hover-bg: var( --button-main-secondary-inverted-background-hover, var(--button-main-secondary-inverted-background-default) );--_btn-hover-border: var( --button-main-secondary-inverted-border-hover, var(--button-main-secondary-inverted-border-default) );--_btn-hover-text: var( --button-main-secondary-inverted-text-hover, var(--button-main-secondary-inverted-text-default) )}.tedi-button--secondary-inverted{--_btn-focus-bg: var( --button-main-secondary-inverted-background-focus, var(--button-main-secondary-inverted-background-default) );--_btn-focus-border: var( --button-main-secondary-inverted-border-focus, var(--button-main-secondary-inverted-border-default) );--_btn-focus-text: var( --button-main-secondary-inverted-text-focus, var(--button-main-secondary-inverted-text-default) )}.tedi-button--secondary-inverted{--_btn-active-bg: var( --button-main-secondary-inverted-background-active, var(--button-main-secondary-inverted-background-default) );--_btn-active-border: var( --button-main-secondary-inverted-border-active, var(--button-main-secondary-inverted-border-default) );--_btn-active-text: var( --button-main-secondary-inverted-text-active, var(--button-main-secondary-inverted-text-default) )}.tedi-button--secondary-inverted{--_btn-disabled-text: var(--button-main-disabled-general-text);--_btn-disabled-bg: var(--button-main-disabled-general-background);--_btn-disabled-border: var(--button-main-disabled-general-border)}.tedi-button--neutral-inverted{--_btn-bg: var(--button-main-neutral-inverted-background-default);--_btn-border: var(--button-main-neutral-inverted-border-default);--_btn-text: var(--button-main-neutral-inverted-text-default);--_btn-outline: var(--tedi-primary-500)}.tedi-button--neutral-inverted{--_btn-hover-bg: var( --button-main-neutral-inverted-background-hover, var(--button-main-neutral-inverted-background-default) );--_btn-hover-border: var( --button-main-neutral-inverted-border-hover, var(--button-main-neutral-inverted-border-default) );--_btn-hover-text: var( --button-main-neutral-inverted-text-hover, var(--button-main-neutral-inverted-text-default) )}.tedi-button--neutral-inverted{--_btn-focus-bg: var( --button-main-neutral-inverted-background-focus, var(--button-main-neutral-inverted-background-default) );--_btn-focus-border: var( --button-main-neutral-inverted-border-focus, var(--button-main-neutral-inverted-border-default) );--_btn-focus-text: var( --button-main-neutral-inverted-text-focus, var(--button-main-neutral-inverted-text-default) )}.tedi-button--neutral-inverted{--_btn-active-bg: var( --button-main-neutral-inverted-background-active, var(--button-main-neutral-inverted-background-default) );--_btn-active-border: var( --button-main-neutral-inverted-border-active, var(--button-main-neutral-inverted-border-default) );--_btn-active-text: var( --button-main-neutral-inverted-text-active, var(--button-main-neutral-inverted-text-default) )}.tedi-button--neutral-inverted{--_btn-disabled-text: var(--button-main-disabled-general-text);--_btn-disabled-bg: var(--button-main-disabled-neutral-background);--_btn-disabled-border: var(--button-main-disabled-neutral-border)}.tedi-button--neutral-inverted:where(.tedi-button--small){--_btn-padding-y: var(--button-sm-neutral-padding-y);--_btn-padding-x: var(--button-sm-neutral-padding-x);--_btn-padding: calc(var(--_btn-padding-y) - 1px) var(--_btn-padding-x)}.tedi-button--neutral-inverted:where(.tedi-button--default){--_btn-padding-y: var(--button-md-neutral-padding-y);--_btn-padding-x: var(--button-md-neutral-padding-x);--_btn-padding: calc(var(--_btn-padding-y) - 1px) var(--_btn-padding-x)}.tedi-button[class*=-inverted]:focus-visible{outline:none;box-shadow:0 0 0 1px var(--tedi-neutral-100),0 0 0 3px var(--_btn-outline)}.tedi-button--icon-only.tedi-button--neutral{--_btn-bg: var( --button-main-neutral-icon-only-background-default );--_btn-border: var(--button-main-neutral-border-default);--_btn-text: var(--button-main-neutral-text-default);--_btn-outline: var(--tedi-primary-500)}.tedi-button--icon-only.tedi-button--neutral{--_btn-hover-bg: var( --button-main-neutral-icon-only-background-hover, var(--button-main-neutral-icon-only-background-default) );--_btn-hover-border: var( --button-main-neutral-border-hover, var(--button-main-neutral-border-default) );--_btn-hover-text: var( --button-main-neutral-text-hover, var(--button-main-neutral-text-default) )}.tedi-button--icon-only.tedi-button--neutral{--_btn-focus-bg: var( --button-main-neutral-icon-only-background-focus, var(--button-main-neutral-icon-only-background-default) );--_btn-focus-border: var( --button-main-neutral-border-focus, var(--button-main-neutral-border-default) );--_btn-focus-text: var( --button-main-neutral-text-focus, var(--button-main-neutral-text-default) )}.tedi-button--icon-only.tedi-button--neutral{--_btn-active-bg: var( --button-main-neutral-icon-only-background-active, var(--button-main-neutral-icon-only-background-default) );--_btn-active-border: var( --button-main-neutral-border-active, var(--button-main-neutral-border-default) );--_btn-active-text: var( --button-main-neutral-text-active, var(--button-main-neutral-text-default) )}.tedi-button--icon-only.tedi-button--neutral{--_btn-disabled-text: var(--button-main-disabled-general-text);--_btn-disabled-bg: var(--button-main-disabled-neutral-background);--_btn-disabled-border: var(--button-main-disabled-neutral-border)}.tedi-button--icon-only.tedi-button--neutral-inverted{--_btn-bg: var( --button-main-neutral-inverted-icon-only-background-default );--_btn-border: var(--button-main-neutral-inverted-border-default);--_btn-text: var(--button-main-neutral-inverted-text-default);--_btn-outline: var(--tedi-primary-500)}.tedi-button--icon-only.tedi-button--neutral-inverted{--_btn-hover-bg: var( --button-main-neutral-inverted-icon-only-background-hover, var(--button-main-neutral-inverted-icon-only-background-default) );--_btn-hover-border: var( --button-main-neutral-inverted-border-hover, var(--button-main-neutral-inverted-border-default) );--_btn-hover-text: var( --button-main-neutral-inverted-text-hover, var(--button-main-neutral-inverted-text-default) )}.tedi-button--icon-only.tedi-button--neutral-inverted{--_btn-focus-bg: var( --button-main-neutral-inverted-icon-only-background-focus, var(--button-main-neutral-inverted-icon-only-background-default) );--_btn-focus-border: var( --button-main-neutral-inverted-border-focus, var(--button-main-neutral-inverted-border-default) );--_btn-focus-text: var( --button-main-neutral-inverted-text-focus, var(--button-main-neutral-inverted-text-default) )}.tedi-button--icon-only.tedi-button--neutral-inverted{--_btn-active-bg: var( --button-main-neutral-inverted-icon-only-background-active, var(--button-main-neutral-inverted-icon-only-background-default) );--_btn-active-border: var( --button-main-neutral-inverted-border-active, var(--button-main-neutral-inverted-border-default) );--_btn-active-text: var( --button-main-neutral-inverted-text-active, var(--button-main-neutral-inverted-text-default) )}.tedi-button--icon-only.tedi-button--neutral-inverted{--_btn-disabled-text: var(--button-main-disabled-general-text);--_btn-disabled-bg: var(--button-main-disabled-neutral-background);--_btn-disabled-border: var(--button-main-disabled-neutral-border)}.tedi-button--icon-only.tedi-button--danger-neutral{--_btn-bg: var( --button-main-danger-neutral-icon-only-background-default );--_btn-border: var(--button-main-danger-neutral-border-default);--_btn-text: var(--button-main-danger-neutral-text-default);--_btn-outline: var(--tedi-primary-500)}.tedi-button--icon-only.tedi-button--danger-neutral{--_btn-hover-bg: var( --button-main-danger-neutral-icon-only-background-hover, var(--button-main-danger-neutral-icon-only-background-default) );--_btn-hover-border: var( --button-main-danger-neutral-border-hover, var(--button-main-danger-neutral-border-default) );--_btn-hover-text: var( --button-main-danger-neutral-text-hover, var(--button-main-danger-neutral-text-default) )}.tedi-button--icon-only.tedi-button--danger-neutral{--_btn-focus-bg: var( --button-main-danger-neutral-icon-only-background-focus, var(--button-main-danger-neutral-icon-only-background-default) );--_btn-focus-border: var( --button-main-danger-neutral-border-focus, var(--button-main-danger-neutral-border-default) );--_btn-focus-text: var( --button-main-danger-neutral-text-focus, var(--button-main-danger-neutral-text-default) )}.tedi-button--icon-only.tedi-button--danger-neutral{--_btn-active-bg: var( --button-main-danger-neutral-icon-only-background-active, var(--button-main-danger-neutral-icon-only-background-default) );--_btn-active-border: var( --button-main-danger-neutral-border-active, var(--button-main-danger-neutral-border-default) );--_btn-active-text: var( --button-main-danger-neutral-text-active, var(--button-main-danger-neutral-text-default) )}.tedi-button--icon-only.tedi-button--danger-neutral{--_btn-disabled-text: var(--button-main-disabled-general-text);--_btn-disabled-bg: var(--button-main-disabled-neutral-background);--_btn-disabled-border: var(--button-main-disabled-neutral-border)}.tedi-button--icon-only.tedi-button--small{width:var(--button-sm-icon-size);height:var(--button-sm-icon-size);padding:var(--button-sm-icon-padding)}\n"] }]
220
220
  }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
221
221
 
222
+ /**
223
+ * Interactive wrapper around a `tedi-card`. Apply to an anchor (with `href`
224
+ * or `routerLink`) for navigation or to a button for actions — the host
225
+ * element provides the interaction semantics and applies the hover, active,
226
+ * focus and disabled states to the card and its blocks inside.
227
+ *
228
+ * Only a projected `tedi-card` is rendered — other content is ignored. The
229
+ * card may use any card sub-components (content, rows, icon cells). Do not
230
+ * place other interactive elements inside.
231
+ */
232
+ class CardButtonComponent {
233
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: CardButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
234
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: CardButtonComponent, isStandalone: true, selector: "a[tedi-card-button], button[tedi-card-button]", host: { classAttribute: "tedi-card-button" }, ngImport: i0, template: "<ng-content select=\"tedi-card\"></ng-content>\n", styles: [".tedi-card-button{display:block;width:100%;height:100%;padding:0;font:inherit;color:inherit;text-align:left;text-decoration:none;cursor:pointer;background:none;border:none}.tedi-card-button>.tedi-card{height:100%}.tedi-card-button>.tedi-card>.tedi-card-row{flex:1 0 auto}.tedi-card-button:hover>.tedi-card{border-color:var(--button-card-hover-border)}.tedi-card-button:hover>.tedi-card .tedi-card-content,.tedi-card-button:hover>.tedi-card .tedi-card-icon{background-color:var(--button-card-hover-background)}.tedi-card-button:hover>.tedi-card .tedi-icon{color:var(--button-card-icon-hover)}.tedi-card-button:hover>.tedi-card .tedi-separator{border-color:var(--button-card-hover-border)}.tedi-card-button:active>.tedi-card{border-color:var(--button-card-active-border)}.tedi-card-button:active>.tedi-card .tedi-card-content,.tedi-card-button:active>.tedi-card .tedi-card-icon{background-color:var(--button-card-active-background)}.tedi-card-button:active>.tedi-card .tedi-icon{color:var(--button-card-icon-hover)}.tedi-card-button:active>.tedi-card .tedi-separator{border-color:var(--button-card-active-border)}.tedi-card-button:focus-visible{outline:none;border-radius:var(--card-radius-rounded);box-shadow:0 0 0 1px var(--tedi-neutral-100),0 0 0 3px var(--tedi-primary-500)}.tedi-card-button:disabled{cursor:default}.tedi-card-button:disabled>.tedi-card{color:var(--general-text-disabled);border-color:var(--button-card-disabled-border)}.tedi-card-button:disabled>.tedi-card .tedi-card-content,.tedi-card-button:disabled>.tedi-card .tedi-card-icon{background-color:var(--button-card-disabled-background)}.tedi-card-button:disabled>.tedi-card [class*=tedi-text--],.tedi-card-button:disabled>.tedi-card .tedi-icon,.tedi-card-button:disabled>.tedi-card .tedi-card-icon{color:var(--general-text-disabled)}.tedi-card-button:disabled>.tedi-card .tedi-separator{border-color:var(--button-card-disabled-border)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
235
+ }
236
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: CardButtonComponent, decorators: [{
237
+ type: Component,
238
+ args: [{ selector: "a[tedi-card-button], button[tedi-card-button]", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
239
+ class: "tedi-card-button",
240
+ }, template: "<ng-content select=\"tedi-card\"></ng-content>\n", styles: [".tedi-card-button{display:block;width:100%;height:100%;padding:0;font:inherit;color:inherit;text-align:left;text-decoration:none;cursor:pointer;background:none;border:none}.tedi-card-button>.tedi-card{height:100%}.tedi-card-button>.tedi-card>.tedi-card-row{flex:1 0 auto}.tedi-card-button:hover>.tedi-card{border-color:var(--button-card-hover-border)}.tedi-card-button:hover>.tedi-card .tedi-card-content,.tedi-card-button:hover>.tedi-card .tedi-card-icon{background-color:var(--button-card-hover-background)}.tedi-card-button:hover>.tedi-card .tedi-icon{color:var(--button-card-icon-hover)}.tedi-card-button:hover>.tedi-card .tedi-separator{border-color:var(--button-card-hover-border)}.tedi-card-button:active>.tedi-card{border-color:var(--button-card-active-border)}.tedi-card-button:active>.tedi-card .tedi-card-content,.tedi-card-button:active>.tedi-card .tedi-card-icon{background-color:var(--button-card-active-background)}.tedi-card-button:active>.tedi-card .tedi-icon{color:var(--button-card-icon-hover)}.tedi-card-button:active>.tedi-card .tedi-separator{border-color:var(--button-card-active-border)}.tedi-card-button:focus-visible{outline:none;border-radius:var(--card-radius-rounded);box-shadow:0 0 0 1px var(--tedi-neutral-100),0 0 0 3px var(--tedi-primary-500)}.tedi-card-button:disabled{cursor:default}.tedi-card-button:disabled>.tedi-card{color:var(--general-text-disabled);border-color:var(--button-card-disabled-border)}.tedi-card-button:disabled>.tedi-card .tedi-card-content,.tedi-card-button:disabled>.tedi-card .tedi-card-icon{background-color:var(--button-card-disabled-background)}.tedi-card-button:disabled>.tedi-card [class*=tedi-text--],.tedi-card-button:disabled>.tedi-card .tedi-icon,.tedi-card-button:disabled>.tedi-card .tedi-card-icon{color:var(--general-text-disabled)}.tedi-card-button:disabled>.tedi-card .tedi-separator{border-color:var(--button-card-disabled-border)}\n"] }]
241
+ }] });
242
+
222
243
  /**
223
244
  * Grid breakpoints in `rem`, mirroring `$grid-breakpoints` in
224
245
  * `@tedi-design-system/core`. `rem` is used (instead of `px`) so breakpoints
@@ -2519,6 +2540,341 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
2519
2540
  args: [{ standalone: true, selector: "tedi-collapse", imports: [CollapseButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n class=\"tedi-collapse\"\n [class.tedi-collapse--open]=\"isOpen() === true\"\n [class.tedi-collapse--inverted]=\"isInvertedActive()\"\n>\n <button\n tedi-collapse-button\n [open]=\"isOpen()\"\n [openText]=\"openText()\"\n [closeText]=\"closeText()\"\n [hideText]=\"hideCollapseText()\"\n [arrowType]=\"arrowType()\"\n [size]=\"size()\"\n [inverted]=\"inverted()\"\n [ariaControls]=\"collapseContentId\"\n (openChange)=\"isOpen.set($event)\"\n ></button>\n <div class=\"tedi-collapse__content\" [id]=\"collapseContentId\">\n <div class=\"tedi-collapse__extender\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block}.tedi-collapse--inverted{color:var(--general-text-white)}.tedi-collapse__extender{visibility:hidden;min-height:0;padding-top:var(--tedi-dimensions-05);transition:visibility .3s}.tedi-collapse__content{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .3s}.tedi-collapse--open>.tedi-collapse__content{grid-template-rows:1fr}.tedi-collapse--open>.tedi-collapse__content .tedi-collapse__extender{visibility:visible}\n"] }]
2520
2541
  }], propDecorators: { openText: [{ type: i0.Input, args: [{ isSignal: true, alias: "openText", required: false }] }], closeText: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeText", required: false }] }], defaultOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultOpen", required: false }] }], hideCollapseText: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideCollapseText", required: false }] }], arrowType: [{ type: i0.Input, args: [{ isSignal: true, alias: "arrowType", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], inverted: [{ type: i0.Input, args: [{ isSignal: true, alias: "inverted", required: false }] }] } });
2521
2542
 
2543
+ function getCardBorderPlacementColor(border) {
2544
+ if (!border) {
2545
+ return [undefined, undefined];
2546
+ }
2547
+ if (border.startsWith("top-")) {
2548
+ return ["top", border.slice("top-".length)];
2549
+ }
2550
+ if (border.startsWith("left-")) {
2551
+ return ["left", border.slice("left-".length)];
2552
+ }
2553
+ return [undefined, border];
2554
+ }
2555
+ function getPaddingCssVariables(padding) {
2556
+ if (typeof padding === "number") {
2557
+ return {
2558
+ "--card-content-padding-top": `${padding}rem`,
2559
+ "--card-content-padding-right": `${padding}rem`,
2560
+ "--card-content-padding-bottom": `${padding}rem`,
2561
+ "--card-content-padding-left": `${padding}rem`,
2562
+ };
2563
+ }
2564
+ if ("vertical" in padding && "horizontal" in padding) {
2565
+ return {
2566
+ "--card-content-padding-top": `${padding.vertical}rem`,
2567
+ "--card-content-padding-right": `${padding.horizontal}rem`,
2568
+ "--card-content-padding-bottom": `${padding.vertical}rem`,
2569
+ "--card-content-padding-left": `${padding.horizontal}rem`,
2570
+ };
2571
+ }
2572
+ const { top = 0, right = 0, bottom = 0, left = 0 } = padding;
2573
+ return {
2574
+ "--card-content-padding-top": `${top}rem`,
2575
+ "--card-content-padding-right": `${right}rem`,
2576
+ "--card-content-padding-bottom": `${bottom}rem`,
2577
+ "--card-content-padding-left": `${left}rem`,
2578
+ };
2579
+ }
2580
+ function resolveCardBorderRadius(config) {
2581
+ if (config === false) {
2582
+ return {
2583
+ topLeft: false,
2584
+ topRight: false,
2585
+ bottomRight: false,
2586
+ bottomLeft: false,
2587
+ };
2588
+ }
2589
+ const { top, right, bottom, left, topLeft, topRight, bottomRight, bottomLeft } = config ?? {};
2590
+ const sideTop = top !== false;
2591
+ const sideRight = right !== false;
2592
+ const sideBottom = bottom !== false;
2593
+ const sideLeft = left !== false;
2594
+ // corner overrides take precedence over side values
2595
+ return {
2596
+ topLeft: topLeft ?? (sideTop && sideLeft),
2597
+ topRight: topRight ?? (sideTop && sideRight),
2598
+ bottomRight: bottomRight ?? (sideBottom && sideRight),
2599
+ bottomLeft: bottomLeft ?? (sideBottom && sideLeft),
2600
+ };
2601
+ }
2602
+
2603
+ /**
2604
+ * Card is a container for grouping related content. Compose it from
2605
+ * `tedi-card-header`, `tedi-card-content` and `tedi-card-notification` blocks.
2606
+ * `background` and `padding` set here act as defaults for all child blocks.
2607
+ */
2608
+ class CardComponent {
2609
+ /**
2610
+ * Default background color for child content blocks.
2611
+ */
2612
+ background = input(...(ngDevMode ? [undefined, { debugName: "background" }] : []));
2613
+ /**
2614
+ * Default padding for child content blocks.
2615
+ * Value is either a predefined number in rems or an object of
2616
+ * vertical/horizontal or top/right/bottom/left number values in rems.
2617
+ */
2618
+ padding = input(...(ngDevMode ? [undefined, { debugName: "padding" }] : []));
2619
+ /**
2620
+ * Controls card border radius.
2621
+ * Accepts `false` to remove all radius or an object to control
2622
+ * sides or individual corners. Corner values take precedence over sides.
2623
+ */
2624
+ borderRadius = input(...(ngDevMode ? [undefined, { debugName: "borderRadius" }] : []));
2625
+ /**
2626
+ * Removes border from card.
2627
+ * @default false
2628
+ */
2629
+ borderless = input(false, ...(ngDevMode ? [{ debugName: "borderless" }] : []));
2630
+ /**
2631
+ * Type of border. Plain background value colors the whole border,
2632
+ * `top-` or `left-` prefixed value draws a thick accent border on that side.
2633
+ */
2634
+ border = input(...(ngDevMode ? [undefined, { debugName: "border" }] : []));
2635
+ xs = input(...(ngDevMode ? [undefined, { debugName: "xs" }] : []));
2636
+ sm = input(...(ngDevMode ? [undefined, { debugName: "sm" }] : []));
2637
+ md = input(...(ngDevMode ? [undefined, { debugName: "md" }] : []));
2638
+ lg = input(...(ngDevMode ? [undefined, { debugName: "lg" }] : []));
2639
+ xl = input(...(ngDevMode ? [undefined, { debugName: "xl" }] : []));
2640
+ xxl = input(...(ngDevMode ? [undefined, { debugName: "xxl" }] : []));
2641
+ breakpointService = inject(BreakpointService);
2642
+ breakpointInputs = computed(() => {
2643
+ return this.breakpointService.getBreakpointInputs({
2644
+ background: this.background(),
2645
+ padding: this.padding(),
2646
+ borderRadius: this.borderRadius(),
2647
+ borderless: this.borderless(),
2648
+ border: this.border(),
2649
+ xs: this.xs(),
2650
+ sm: this.sm(),
2651
+ md: this.md(),
2652
+ lg: this.lg(),
2653
+ xl: this.xl(),
2654
+ xxl: this.xxl(),
2655
+ });
2656
+ }, ...(ngDevMode ? [{ debugName: "breakpointInputs" }] : []));
2657
+ classes = computed(() => {
2658
+ const { border, borderless, borderRadius } = this.breakpointInputs();
2659
+ const classList = ["tedi-card"];
2660
+ const [placement, color] = getCardBorderPlacementColor(border);
2661
+ if (placement) {
2662
+ classList.push(`tedi-card--border-${placement}`);
2663
+ }
2664
+ if (color) {
2665
+ classList.push(`tedi-card--border--${color}`);
2666
+ }
2667
+ if (borderless) {
2668
+ classList.push("tedi-card--borderless");
2669
+ }
2670
+ const corners = resolveCardBorderRadius(borderRadius);
2671
+ if (!corners.topLeft) {
2672
+ classList.push("tedi-card--no-radius-tl");
2673
+ }
2674
+ if (!corners.topRight) {
2675
+ classList.push("tedi-card--no-radius-tr");
2676
+ }
2677
+ if (!corners.bottomRight) {
2678
+ classList.push("tedi-card--no-radius-br");
2679
+ }
2680
+ if (!corners.bottomLeft) {
2681
+ classList.push("tedi-card--no-radius-bl");
2682
+ }
2683
+ return classList.join(" ");
2684
+ }, ...(ngDevMode ? [{ debugName: "classes" }] : []));
2685
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2686
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.24", type: CardComponent, isStandalone: true, selector: "tedi-card", inputs: { background: { classPropertyName: "background", publicName: "background", isSignal: true, isRequired: false, transformFunction: null }, padding: { classPropertyName: "padding", publicName: "padding", isSignal: true, isRequired: false, transformFunction: null }, borderRadius: { classPropertyName: "borderRadius", publicName: "borderRadius", isSignal: true, isRequired: false, transformFunction: null }, borderless: { classPropertyName: "borderless", publicName: "borderless", isSignal: true, isRequired: false, transformFunction: null }, border: { classPropertyName: "border", publicName: "border", 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 } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".tedi-card{position:relative;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--card-border-primary);border-radius:var(--card-radius-rounded)}.tedi-card--border--accent{border-color:var(--card-background-accent);--card-border-color: var(--card-background-accent)}.tedi-card--border--brand-primary{border-color:var(--card-background-brand-primary);--card-border-color: var(--card-background-brand-primary)}.tedi-card--border--brand-secondary{border-color:var(--card-background-brand-secondary);--card-border-color: var(--card-background-brand-secondary)}.tedi-card--border--brand-tertiary{border-color:var(--card-background-brand-tertiary);--card-border-color: var(--card-background-brand-tertiary)}.tedi-card--border--brand-quaternary{border-color:var(--card-background-brand-quaternary);--card-border-color: var(--card-background-brand-quaternary)}.tedi-card--border--primary{border-color:var(--card-background-primary);--card-border-color: var(--card-background-primary)}.tedi-card--border--secondary{border-color:var(--card-background-secondary);--card-border-color: var(--card-background-secondary)}.tedi-card--border--tertiary{border-color:var(--card-background-tertiary);--card-border-color: var(--card-background-tertiary)}.tedi-card--border--info-primary{border-color:var(--general-status-info-background-light);--card-border-color: var(--general-status-info-background-light)}.tedi-card--border--info-secondary{border-color:var(--general-status-info-background-dark);--card-border-color: var(--general-status-info-background-dark)}.tedi-card--border--neutral-primary{border-color:var(--general-status-neutral-background-light);--card-border-color: var(--general-status-neutral-background-light)}.tedi-card--border--neutral-secondary{border-color:var(--general-status-neutral-background-dark);--card-border-color: var(--general-status-neutral-background-dark)}.tedi-card--border--success-primary{border-color:var(--card-background-success);--card-border-color: var(--card-background-success)}.tedi-card--border--success-secondary{border-color:var(--general-status-success-background-secondary);--card-border-color: var(--general-status-success-background-secondary)}.tedi-card--border--danger-primary{border-color:var(--general-status-danger-background-primary);--card-border-color: var(--general-status-danger-background-primary)}.tedi-card--border--danger-secondary{border-color:var(--general-status-danger-background-secondary);--card-border-color: var(--general-status-danger-background-secondary)}.tedi-card--border--warning-primary{border-color:var(--general-status-warning-background-light);--card-border-color: var(--general-status-warning-background-light)}.tedi-card--border--warning-secondary{border-color:var(--general-status-warning-background-dark);--card-border-color: var(--general-status-warning-background-dark)}.tedi-card--border-left{border-top-color:var(--card-border-primary);border-right-color:var(--card-border-primary);border-bottom-color:var(--card-border-primary);border-left:4px solid var(--card-border-color)}.tedi-card--border-top{border-top:4px solid var(--card-border-color);border-right-color:var(--card-border-primary);border-bottom-color:var(--card-border-primary);border-left-color:var(--card-border-primary)}.tedi-card--borderless{border:none}.tedi-card--no-radius-tl{border-top-left-radius:0}.tedi-card--no-radius-tr{border-top-right-radius:0}.tedi-card--no-radius-br{border-bottom-right-radius:0}.tedi-card--no-radius-bl{border-bottom-left-radius:0}@media print{.tedi-card--border-left,.tedi-card--border-top{border-color:var(--general-border-secondary)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2687
+ }
2688
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: CardComponent, decorators: [{
2689
+ type: Component,
2690
+ args: [{ selector: "tedi-card", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
2691
+ "[class]": "classes()",
2692
+ }, template: "<ng-content></ng-content>\n", styles: [".tedi-card{position:relative;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--card-border-primary);border-radius:var(--card-radius-rounded)}.tedi-card--border--accent{border-color:var(--card-background-accent);--card-border-color: var(--card-background-accent)}.tedi-card--border--brand-primary{border-color:var(--card-background-brand-primary);--card-border-color: var(--card-background-brand-primary)}.tedi-card--border--brand-secondary{border-color:var(--card-background-brand-secondary);--card-border-color: var(--card-background-brand-secondary)}.tedi-card--border--brand-tertiary{border-color:var(--card-background-brand-tertiary);--card-border-color: var(--card-background-brand-tertiary)}.tedi-card--border--brand-quaternary{border-color:var(--card-background-brand-quaternary);--card-border-color: var(--card-background-brand-quaternary)}.tedi-card--border--primary{border-color:var(--card-background-primary);--card-border-color: var(--card-background-primary)}.tedi-card--border--secondary{border-color:var(--card-background-secondary);--card-border-color: var(--card-background-secondary)}.tedi-card--border--tertiary{border-color:var(--card-background-tertiary);--card-border-color: var(--card-background-tertiary)}.tedi-card--border--info-primary{border-color:var(--general-status-info-background-light);--card-border-color: var(--general-status-info-background-light)}.tedi-card--border--info-secondary{border-color:var(--general-status-info-background-dark);--card-border-color: var(--general-status-info-background-dark)}.tedi-card--border--neutral-primary{border-color:var(--general-status-neutral-background-light);--card-border-color: var(--general-status-neutral-background-light)}.tedi-card--border--neutral-secondary{border-color:var(--general-status-neutral-background-dark);--card-border-color: var(--general-status-neutral-background-dark)}.tedi-card--border--success-primary{border-color:var(--card-background-success);--card-border-color: var(--card-background-success)}.tedi-card--border--success-secondary{border-color:var(--general-status-success-background-secondary);--card-border-color: var(--general-status-success-background-secondary)}.tedi-card--border--danger-primary{border-color:var(--general-status-danger-background-primary);--card-border-color: var(--general-status-danger-background-primary)}.tedi-card--border--danger-secondary{border-color:var(--general-status-danger-background-secondary);--card-border-color: var(--general-status-danger-background-secondary)}.tedi-card--border--warning-primary{border-color:var(--general-status-warning-background-light);--card-border-color: var(--general-status-warning-background-light)}.tedi-card--border--warning-secondary{border-color:var(--general-status-warning-background-dark);--card-border-color: var(--general-status-warning-background-dark)}.tedi-card--border-left{border-top-color:var(--card-border-primary);border-right-color:var(--card-border-primary);border-bottom-color:var(--card-border-primary);border-left:4px solid var(--card-border-color)}.tedi-card--border-top{border-top:4px solid var(--card-border-color);border-right-color:var(--card-border-primary);border-bottom-color:var(--card-border-primary);border-left-color:var(--card-border-primary)}.tedi-card--borderless{border:none}.tedi-card--no-radius-tl{border-top-left-radius:0}.tedi-card--no-radius-tr{border-top-right-radius:0}.tedi-card--no-radius-br{border-bottom-right-radius:0}.tedi-card--no-radius-bl{border-bottom-left-radius:0}@media print{.tedi-card--border-left,.tedi-card--border-top{border-color:var(--general-border-secondary)}}\n"] }]
2693
+ }], propDecorators: { background: [{ type: i0.Input, args: [{ isSignal: true, alias: "background", required: false }] }], padding: [{ type: i0.Input, args: [{ isSignal: true, alias: "padding", required: false }] }], borderRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "borderRadius", required: false }] }], borderless: [{ type: i0.Input, args: [{ isSignal: true, alias: "borderless", required: false }] }], border: [{ type: i0.Input, args: [{ isSignal: true, alias: "border", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "xxl", required: false }] }] } });
2694
+
2695
+ /**
2696
+ * Content block of a card. Inherits unset `background` and `padding`
2697
+ * from the parent `tedi-card`.
2698
+ */
2699
+ class CardContentComponent {
2700
+ /**
2701
+ * Background color.
2702
+ * @default primary
2703
+ */
2704
+ background = input(...(ngDevMode ? [undefined, { debugName: "background" }] : []));
2705
+ /**
2706
+ * Content padding.
2707
+ * Value is either a predefined number in rems or an object of
2708
+ * vertical/horizontal or top/right/bottom/left number values in rems.
2709
+ * @default 1
2710
+ */
2711
+ padding = input(...(ngDevMode ? [undefined, { debugName: "padding" }] : []));
2712
+ /**
2713
+ * Background image url.
2714
+ */
2715
+ backgroundImage = input(...(ngDevMode ? [undefined, { debugName: "backgroundImage" }] : []));
2716
+ /**
2717
+ * Background position for the image.
2718
+ */
2719
+ backgroundPosition = input(...(ngDevMode ? [undefined, { debugName: "backgroundPosition" }] : []));
2720
+ /**
2721
+ * Background size for the image.
2722
+ */
2723
+ backgroundSize = input(...(ngDevMode ? [undefined, { debugName: "backgroundSize" }] : []));
2724
+ /**
2725
+ * Background repeat for the image.
2726
+ */
2727
+ backgroundRepeat = input(...(ngDevMode ? [undefined, { debugName: "backgroundRepeat" }] : []));
2728
+ /**
2729
+ * Takes only as much width as its content needs instead of growing.
2730
+ * Useful for icon or date cells inside `tedi-card-row`.
2731
+ * @default false
2732
+ */
2733
+ autoWidth = input(false, ...(ngDevMode ? [{ debugName: "autoWidth" }] : []));
2734
+ xs = input(...(ngDevMode ? [undefined, { debugName: "xs" }] : []));
2735
+ sm = input(...(ngDevMode ? [undefined, { debugName: "sm" }] : []));
2736
+ md = input(...(ngDevMode ? [undefined, { debugName: "md" }] : []));
2737
+ lg = input(...(ngDevMode ? [undefined, { debugName: "lg" }] : []));
2738
+ xl = input(...(ngDevMode ? [undefined, { debugName: "xl" }] : []));
2739
+ xxl = input(...(ngDevMode ? [undefined, { debugName: "xxl" }] : []));
2740
+ blockClass = "tedi-card-content";
2741
+ defaultBackground = "primary";
2742
+ breakpointService = inject(BreakpointService);
2743
+ card = inject(CardComponent, { optional: true });
2744
+ breakpointInputs = computed(() => {
2745
+ return this.breakpointService.getBreakpointInputs({
2746
+ background: this.background(),
2747
+ padding: this.padding(),
2748
+ backgroundImage: this.backgroundImage(),
2749
+ backgroundPosition: this.backgroundPosition(),
2750
+ backgroundSize: this.backgroundSize(),
2751
+ backgroundRepeat: this.backgroundRepeat(),
2752
+ autoWidth: this.autoWidth(),
2753
+ xs: this.xs(),
2754
+ sm: this.sm(),
2755
+ md: this.md(),
2756
+ lg: this.lg(),
2757
+ xl: this.xl(),
2758
+ xxl: this.xxl(),
2759
+ });
2760
+ }, ...(ngDevMode ? [{ debugName: "breakpointInputs" }] : []));
2761
+ classes = computed(() => {
2762
+ const { background, autoWidth } = this.breakpointInputs();
2763
+ const resolvedBackground = background ?? this.inheritedBackground() ?? this.defaultBackground;
2764
+ const classList = [
2765
+ this.blockClass,
2766
+ `${this.blockClass}--background--${resolvedBackground}`,
2767
+ ];
2768
+ if (autoWidth) {
2769
+ classList.push(`${this.blockClass}--auto-width`);
2770
+ }
2771
+ return classList.join(" ");
2772
+ }, ...(ngDevMode ? [{ debugName: "classes" }] : []));
2773
+ styles = computed(() => {
2774
+ const { padding, backgroundImage, backgroundPosition, backgroundSize, backgroundRepeat } = this.breakpointInputs();
2775
+ const resolvedPadding = padding ?? this.card?.breakpointInputs().padding ?? this.defaultPadding();
2776
+ const styles = getPaddingCssVariables(resolvedPadding);
2777
+ if (backgroundImage) {
2778
+ styles["background-image"] = `url(${backgroundImage})`;
2779
+ }
2780
+ if (backgroundPosition) {
2781
+ styles["background-position"] = backgroundPosition;
2782
+ }
2783
+ if (backgroundSize) {
2784
+ styles["background-size"] = backgroundSize;
2785
+ }
2786
+ if (backgroundRepeat) {
2787
+ styles["background-repeat"] = backgroundRepeat;
2788
+ }
2789
+ return styles;
2790
+ }, ...(ngDevMode ? [{ debugName: "styles" }] : []));
2791
+ inheritedBackground() {
2792
+ return this.card?.breakpointInputs().background;
2793
+ }
2794
+ defaultPadding() {
2795
+ return 1;
2796
+ }
2797
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: CardContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2798
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.24", type: CardContentComponent, isStandalone: true, selector: "tedi-card-content", inputs: { background: { classPropertyName: "background", publicName: "background", isSignal: true, isRequired: false, transformFunction: null }, padding: { classPropertyName: "padding", publicName: "padding", isSignal: true, isRequired: false, transformFunction: null }, backgroundImage: { classPropertyName: "backgroundImage", publicName: "backgroundImage", isSignal: true, isRequired: false, transformFunction: null }, backgroundPosition: { classPropertyName: "backgroundPosition", publicName: "backgroundPosition", isSignal: true, isRequired: false, transformFunction: null }, backgroundSize: { classPropertyName: "backgroundSize", publicName: "backgroundSize", isSignal: true, isRequired: false, transformFunction: null }, backgroundRepeat: { classPropertyName: "backgroundRepeat", publicName: "backgroundRepeat", isSignal: true, isRequired: false, transformFunction: null }, autoWidth: { classPropertyName: "autoWidth", publicName: "autoWidth", 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 } }, host: { properties: { "class": "classes()", "style": "styles()" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".tedi-card-content--background--accent{background-color:var(--card-background-accent)}.tedi-card-content--background--brand-primary{background-color:var(--card-background-brand-primary)}.tedi-card-content--background--brand-secondary{background-color:var(--card-background-brand-secondary)}.tedi-card-content--background--brand-tertiary{background-color:var(--card-background-brand-tertiary)}.tedi-card-content--background--brand-quaternary{background-color:var(--card-background-brand-quaternary)}.tedi-card-content--background--primary{background-color:var(--card-background-primary)}.tedi-card-content--background--secondary{background-color:var(--card-background-secondary)}.tedi-card-content--background--tertiary{background-color:var(--card-background-tertiary)}.tedi-card-content--background--info-primary{background-color:var(--general-status-info-background-light)}.tedi-card-content--background--info-secondary{background-color:var(--general-status-info-background-dark)}.tedi-card-content--background--neutral-primary{background-color:var(--general-status-neutral-background-light)}.tedi-card-content--background--neutral-secondary{background-color:var(--general-status-neutral-background-dark)}.tedi-card-content--background--success-primary{background-color:var(--card-background-success)}.tedi-card-content--background--success-secondary{background-color:var(--general-status-success-background-secondary)}.tedi-card-content--background--danger-primary{background-color:var(--general-status-danger-background-primary)}.tedi-card-content--background--danger-secondary{background-color:var(--general-status-danger-background-secondary)}.tedi-card-content--background--warning-primary{background-color:var(--general-status-warning-background-light)}.tedi-card-content--background--warning-secondary{background-color:var(--general-status-warning-background-dark)}.tedi-card-content--background--brand-primary,.tedi-card-content--background--brand-secondary{color:var(--general-text-white)}.tedi-card-content{display:block;flex:1 1 1px;padding:var(--card-content-padding-top) var(--card-content-padding-right) var(--card-content-padding-bottom) var(--card-content-padding-left)}.tedi-card-content--auto-width{flex:0 0 auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2799
+ }
2800
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: CardContentComponent, decorators: [{
2801
+ type: Component,
2802
+ args: [{ selector: "tedi-card-content", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
2803
+ "[class]": "classes()",
2804
+ "[style]": "styles()",
2805
+ }, template: "<ng-content></ng-content>\n", styles: [".tedi-card-content--background--accent{background-color:var(--card-background-accent)}.tedi-card-content--background--brand-primary{background-color:var(--card-background-brand-primary)}.tedi-card-content--background--brand-secondary{background-color:var(--card-background-brand-secondary)}.tedi-card-content--background--brand-tertiary{background-color:var(--card-background-brand-tertiary)}.tedi-card-content--background--brand-quaternary{background-color:var(--card-background-brand-quaternary)}.tedi-card-content--background--primary{background-color:var(--card-background-primary)}.tedi-card-content--background--secondary{background-color:var(--card-background-secondary)}.tedi-card-content--background--tertiary{background-color:var(--card-background-tertiary)}.tedi-card-content--background--info-primary{background-color:var(--general-status-info-background-light)}.tedi-card-content--background--info-secondary{background-color:var(--general-status-info-background-dark)}.tedi-card-content--background--neutral-primary{background-color:var(--general-status-neutral-background-light)}.tedi-card-content--background--neutral-secondary{background-color:var(--general-status-neutral-background-dark)}.tedi-card-content--background--success-primary{background-color:var(--card-background-success)}.tedi-card-content--background--success-secondary{background-color:var(--general-status-success-background-secondary)}.tedi-card-content--background--danger-primary{background-color:var(--general-status-danger-background-primary)}.tedi-card-content--background--danger-secondary{background-color:var(--general-status-danger-background-secondary)}.tedi-card-content--background--warning-primary{background-color:var(--general-status-warning-background-light)}.tedi-card-content--background--warning-secondary{background-color:var(--general-status-warning-background-dark)}.tedi-card-content--background--brand-primary,.tedi-card-content--background--brand-secondary{color:var(--general-text-white)}.tedi-card-content{display:block;flex:1 1 1px;padding:var(--card-content-padding-top) var(--card-content-padding-right) var(--card-content-padding-bottom) var(--card-content-padding-left)}.tedi-card-content--auto-width{flex:0 0 auto}\n"] }]
2806
+ }], propDecorators: { background: [{ type: i0.Input, args: [{ isSignal: true, alias: "background", required: false }] }], padding: [{ type: i0.Input, args: [{ isSignal: true, alias: "padding", required: false }] }], backgroundImage: [{ type: i0.Input, args: [{ isSignal: true, alias: "backgroundImage", required: false }] }], backgroundPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "backgroundPosition", required: false }] }], backgroundSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "backgroundSize", required: false }] }], backgroundRepeat: [{ type: i0.Input, args: [{ isSignal: true, alias: "backgroundRepeat", required: false }] }], autoWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoWidth", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "xxl", required: false }] }] } });
2807
+
2808
+ /**
2809
+ * Icon cell for a card row. The projected icon is aligned to the top of the
2810
+ * cell and inherits the cell color. Pair the small size with a 16px icon.
2811
+ */
2812
+ class CardIconComponent extends CardContentComponent {
2813
+ /**
2814
+ * Visual type of the icon cell.
2815
+ * @default default
2816
+ */
2817
+ type = input("default", ...(ngDevMode ? [{ debugName: "type" }] : []));
2818
+ /**
2819
+ * Size of the icon cell.
2820
+ * @default default
2821
+ */
2822
+ size = input("default", ...(ngDevMode ? [{ debugName: "size" }] : []));
2823
+ blockClass = "tedi-card-icon";
2824
+ inheritedBackground() {
2825
+ return this.type() === "brand" ? "brand-primary" : "secondary";
2826
+ }
2827
+ defaultPadding() {
2828
+ return this.size() === "small" ? 0.75 : 1;
2829
+ }
2830
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: CardIconComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2831
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.24", type: CardIconComponent, isStandalone: true, selector: "tedi-card-icon", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "style": "styles()" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".tedi-card-icon{display:flex;flex:0 0 auto;gap:var(--layout-grid-gutters-08);align-items:flex-start;color:var(--general-icon-secondary);padding:var(--card-content-padding-top) var(--card-content-padding-right) var(--card-content-padding-bottom) var(--card-content-padding-left)}.tedi-card-icon .tedi-icon{color:inherit}.tedi-card-icon--background--accent{background-color:var(--card-background-accent)}.tedi-card-icon--background--brand-primary{background-color:var(--card-background-brand-primary)}.tedi-card-icon--background--brand-secondary{background-color:var(--card-background-brand-secondary)}.tedi-card-icon--background--brand-tertiary{background-color:var(--card-background-brand-tertiary)}.tedi-card-icon--background--brand-quaternary{background-color:var(--card-background-brand-quaternary)}.tedi-card-icon--background--primary{background-color:var(--card-background-primary)}.tedi-card-icon--background--secondary{background-color:var(--card-background-secondary)}.tedi-card-icon--background--tertiary{background-color:var(--card-background-tertiary)}.tedi-card-icon--background--info-primary{background-color:var(--general-status-info-background-light)}.tedi-card-icon--background--info-secondary{background-color:var(--general-status-info-background-dark)}.tedi-card-icon--background--neutral-primary{background-color:var(--general-status-neutral-background-light)}.tedi-card-icon--background--neutral-secondary{background-color:var(--general-status-neutral-background-dark)}.tedi-card-icon--background--success-primary{background-color:var(--card-background-success)}.tedi-card-icon--background--success-secondary{background-color:var(--general-status-success-background-secondary)}.tedi-card-icon--background--danger-primary{background-color:var(--general-status-danger-background-primary)}.tedi-card-icon--background--danger-secondary{background-color:var(--general-status-danger-background-secondary)}.tedi-card-icon--background--warning-primary{background-color:var(--general-status-warning-background-light)}.tedi-card-icon--background--warning-secondary{background-color:var(--general-status-warning-background-dark)}.tedi-card-icon--background--brand-primary,.tedi-card-icon--background--brand-secondary{color:var(--general-text-white)}.tedi-card-icon--auto-width{flex:0 0 auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2832
+ }
2833
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: CardIconComponent, decorators: [{
2834
+ type: Component,
2835
+ args: [{ selector: "tedi-card-icon", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
2836
+ "[class]": "classes()",
2837
+ "[style]": "styles()",
2838
+ }, template: "<ng-content></ng-content>\n", styles: [".tedi-card-icon{display:flex;flex:0 0 auto;gap:var(--layout-grid-gutters-08);align-items:flex-start;color:var(--general-icon-secondary);padding:var(--card-content-padding-top) var(--card-content-padding-right) var(--card-content-padding-bottom) var(--card-content-padding-left)}.tedi-card-icon .tedi-icon{color:inherit}.tedi-card-icon--background--accent{background-color:var(--card-background-accent)}.tedi-card-icon--background--brand-primary{background-color:var(--card-background-brand-primary)}.tedi-card-icon--background--brand-secondary{background-color:var(--card-background-brand-secondary)}.tedi-card-icon--background--brand-tertiary{background-color:var(--card-background-brand-tertiary)}.tedi-card-icon--background--brand-quaternary{background-color:var(--card-background-brand-quaternary)}.tedi-card-icon--background--primary{background-color:var(--card-background-primary)}.tedi-card-icon--background--secondary{background-color:var(--card-background-secondary)}.tedi-card-icon--background--tertiary{background-color:var(--card-background-tertiary)}.tedi-card-icon--background--info-primary{background-color:var(--general-status-info-background-light)}.tedi-card-icon--background--info-secondary{background-color:var(--general-status-info-background-dark)}.tedi-card-icon--background--neutral-primary{background-color:var(--general-status-neutral-background-light)}.tedi-card-icon--background--neutral-secondary{background-color:var(--general-status-neutral-background-dark)}.tedi-card-icon--background--success-primary{background-color:var(--card-background-success)}.tedi-card-icon--background--success-secondary{background-color:var(--general-status-success-background-secondary)}.tedi-card-icon--background--danger-primary{background-color:var(--general-status-danger-background-primary)}.tedi-card-icon--background--danger-secondary{background-color:var(--general-status-danger-background-secondary)}.tedi-card-icon--background--warning-primary{background-color:var(--general-status-warning-background-light)}.tedi-card-icon--background--warning-secondary{background-color:var(--general-status-warning-background-dark)}.tedi-card-icon--background--brand-primary,.tedi-card-icon--background--brand-secondary{color:var(--general-text-white)}.tedi-card-icon--auto-width{flex:0 0 auto}\n"] }]
2839
+ }], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
2840
+
2841
+ /**
2842
+ * Lays out card content cells horizontally inside a card.
2843
+ * Place a `tedi-separator` between cells (vertical, `size="auto"`) or
2844
+ * between rows (horizontal) to draw dividers.
2845
+ */
2846
+ class CardRowComponent {
2847
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: CardRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2848
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: CardRowComponent, isStandalone: true, selector: "tedi-card-row", host: { properties: { "class.tedi-card-row": "true" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".tedi-card-row{display:flex}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2849
+ }
2850
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: CardRowComponent, decorators: [{
2851
+ type: Component,
2852
+ args: [{ selector: "tedi-card-row", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
2853
+ "[class.tedi-card-row]": "true",
2854
+ }, template: "<ng-content></ng-content>\n", styles: [".tedi-card-row{display:flex}\n"] }]
2855
+ }] });
2856
+
2857
+ /**
2858
+ * Header block of a card. Same API as `tedi-card-content`, but defaults to
2859
+ * the brand-primary background and does not inherit background from the card.
2860
+ */
2861
+ class CardHeaderComponent extends CardContentComponent {
2862
+ blockClass = "tedi-card-header";
2863
+ defaultBackground = "brand-primary";
2864
+ inheritedBackground() {
2865
+ return undefined;
2866
+ }
2867
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: CardHeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2868
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: CardHeaderComponent, isStandalone: true, selector: "tedi-card-header", host: { properties: { "class": "classes()", "style": "styles()" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".tedi-card-header--background--accent{background-color:var(--card-background-accent)}.tedi-card-header--background--brand-primary{background-color:var(--card-background-brand-primary)}.tedi-card-header--background--brand-secondary{background-color:var(--card-background-brand-secondary)}.tedi-card-header--background--brand-tertiary{background-color:var(--card-background-brand-tertiary)}.tedi-card-header--background--brand-quaternary{background-color:var(--card-background-brand-quaternary)}.tedi-card-header--background--primary{background-color:var(--card-background-primary)}.tedi-card-header--background--secondary{background-color:var(--card-background-secondary)}.tedi-card-header--background--tertiary{background-color:var(--card-background-tertiary)}.tedi-card-header--background--info-primary{background-color:var(--general-status-info-background-light)}.tedi-card-header--background--info-secondary{background-color:var(--general-status-info-background-dark)}.tedi-card-header--background--neutral-primary{background-color:var(--general-status-neutral-background-light)}.tedi-card-header--background--neutral-secondary{background-color:var(--general-status-neutral-background-dark)}.tedi-card-header--background--success-primary{background-color:var(--card-background-success)}.tedi-card-header--background--success-secondary{background-color:var(--general-status-success-background-secondary)}.tedi-card-header--background--danger-primary{background-color:var(--general-status-danger-background-primary)}.tedi-card-header--background--danger-secondary{background-color:var(--general-status-danger-background-secondary)}.tedi-card-header--background--warning-primary{background-color:var(--general-status-warning-background-light)}.tedi-card-header--background--warning-secondary{background-color:var(--general-status-warning-background-dark)}.tedi-card-header--background--brand-primary,.tedi-card-header--background--brand-secondary{color:var(--general-text-white)}.tedi-card-header{z-index:1;display:block;flex:0 0 auto;padding:var(--card-content-padding-top) var(--card-content-padding-right) var(--card-content-padding-bottom) var(--card-content-padding-left)}@media print{.tedi-card-header{color:var(--general-text-primary);background:var(--card-background-primary);border-bottom:1px solid var(--card-border-primary)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2869
+ }
2870
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: CardHeaderComponent, decorators: [{
2871
+ type: Component,
2872
+ args: [{ selector: "tedi-card-header", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
2873
+ "[class]": "classes()",
2874
+ "[style]": "styles()",
2875
+ }, template: "<ng-content></ng-content>\n", styles: [".tedi-card-header--background--accent{background-color:var(--card-background-accent)}.tedi-card-header--background--brand-primary{background-color:var(--card-background-brand-primary)}.tedi-card-header--background--brand-secondary{background-color:var(--card-background-brand-secondary)}.tedi-card-header--background--brand-tertiary{background-color:var(--card-background-brand-tertiary)}.tedi-card-header--background--brand-quaternary{background-color:var(--card-background-brand-quaternary)}.tedi-card-header--background--primary{background-color:var(--card-background-primary)}.tedi-card-header--background--secondary{background-color:var(--card-background-secondary)}.tedi-card-header--background--tertiary{background-color:var(--card-background-tertiary)}.tedi-card-header--background--info-primary{background-color:var(--general-status-info-background-light)}.tedi-card-header--background--info-secondary{background-color:var(--general-status-info-background-dark)}.tedi-card-header--background--neutral-primary{background-color:var(--general-status-neutral-background-light)}.tedi-card-header--background--neutral-secondary{background-color:var(--general-status-neutral-background-dark)}.tedi-card-header--background--success-primary{background-color:var(--card-background-success)}.tedi-card-header--background--success-secondary{background-color:var(--general-status-success-background-secondary)}.tedi-card-header--background--danger-primary{background-color:var(--general-status-danger-background-primary)}.tedi-card-header--background--danger-secondary{background-color:var(--general-status-danger-background-secondary)}.tedi-card-header--background--warning-primary{background-color:var(--general-status-warning-background-light)}.tedi-card-header--background--warning-secondary{background-color:var(--general-status-warning-background-dark)}.tedi-card-header--background--brand-primary,.tedi-card-header--background--brand-secondary{color:var(--general-text-white)}.tedi-card-header{z-index:1;display:block;flex:0 0 auto;padding:var(--card-content-padding-top) var(--card-content-padding-right) var(--card-content-padding-bottom) var(--card-content-padding-left)}@media print{.tedi-card-header{color:var(--general-text-primary);background:var(--card-background-primary);border-bottom:1px solid var(--card-border-primary)}}\n"] }]
2876
+ }] });
2877
+
2522
2878
  class ListComponent {
2523
2879
  /**
2524
2880
  * Is list styled?
@@ -12418,6 +12774,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
12418
12774
  class TimelineComponent {
12419
12775
  /** Index of active item */
12420
12776
  activeIndex = input(...(ngDevMode ? [undefined, { debugName: "activeIndex" }] : []));
12777
+ /**
12778
+ * Visual variant. "card" wraps the timeline in the borders and paddings
12779
+ * of a card.
12780
+ * @default default
12781
+ */
12782
+ variant = input("default", ...(ngDevMode ? [{ debugName: "variant" }] : []));
12783
+ /**
12784
+ * Item padding in rems for the card variant.
12785
+ * @default 1
12786
+ */
12787
+ cardPadding = input(...(ngDevMode ? [undefined, { debugName: "cardPadding" }] : []));
12421
12788
  items = signal([], ...(ngDevMode ? [{ debugName: "items" }] : []));
12422
12789
  registerItem(item) {
12423
12790
  this.items.update((list) => [...list, item]);
@@ -12426,17 +12793,42 @@ class TimelineComponent {
12426
12793
  this.items.update((list) => list.filter((i) => i !== item));
12427
12794
  }
12428
12795
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: TimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12429
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.24", type: TimelineComponent, isStandalone: true, selector: "tedi-timeline", inputs: { activeIndex: { classPropertyName: "activeIndex", publicName: "activeIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-content />", isInline: true, styles: ["tedi-timeline{display:grid;grid-template-columns:max-content 1fr;grid-auto-rows:auto;grid-auto-flow:row dense;column-gap:var(--layout-grid-gutters-12)}@media(min-width:62rem){tedi-timeline{grid-template-columns:max-content max-content 1fr;grid-auto-flow:row;row-gap:0}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
12796
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.24", type: TimelineComponent, isStandalone: true, selector: "tedi-timeline", inputs: { activeIndex: { classPropertyName: "activeIndex", publicName: "activeIndex", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, cardPadding: { classPropertyName: "cardPadding", publicName: "cardPadding", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.tedi-timeline--card": "variant() === 'card'", "style.--_timeline-card-padding": "variant() === 'card' && cardPadding() != null ? cardPadding() + 'rem' : null" }, classAttribute: "tedi-timeline" }, ngImport: i0, template: "<ng-content />", isInline: true, styles: [".tedi-timeline{display:grid;grid-template-columns:max-content 1fr;grid-auto-rows:auto;grid-auto-flow:row dense;column-gap:var(--layout-grid-gutters-12)}@media(min-width:62rem){.tedi-timeline{grid-template-columns:max-content max-content 1fr;grid-auto-flow:row;row-gap:0}}.tedi-timeline--card{--_timeline-card-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-timeline--card .tedi-timeline-item{display:grid;grid-template-columns:subgrid;grid-column:1/-1;padding:var(--_timeline-card-padding);border-bottom:1px solid var(--card-border-primary)}.tedi-timeline--card .tedi-timeline-item:last-child{border-bottom:0}.tedi-timeline--card .tedi-timeline-item:not(:last-child) .tedi-timeline__marker{margin-bottom:calc(-2 * var(--_timeline-card-padding) - 10px)}.tedi-timeline--card .tedi-timeline__marker .tedi-separator--dot-only-outlined:before{background-color:var(--card-background-primary)}@media(max-width:61.98rem){.tedi-timeline--card .tedi-timeline-item .tedi-timeline__marker{grid-row:1/span 2}.tedi-timeline--card .tedi-timeline-item.tedi-timeline__item--has-bottom .tedi-timeline__marker{grid-row:1/span 3}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
12430
12797
  }
12431
12798
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: TimelineComponent, decorators: [{
12432
12799
  type: Component,
12433
- args: [{ standalone: true, selector: "tedi-timeline", template: "<ng-content />", encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["tedi-timeline{display:grid;grid-template-columns:max-content 1fr;grid-auto-rows:auto;grid-auto-flow:row dense;column-gap:var(--layout-grid-gutters-12)}@media(min-width:62rem){tedi-timeline{grid-template-columns:max-content max-content 1fr;grid-auto-flow:row;row-gap:0}}\n"] }]
12434
- }], propDecorators: { activeIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeIndex", required: false }] }] } });
12800
+ args: [{ standalone: true, selector: "tedi-timeline", template: "<ng-content />", encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
12801
+ class: "tedi-timeline",
12802
+ "[class.tedi-timeline--card]": "variant() === 'card'",
12803
+ "[style.--_timeline-card-padding]": "variant() === 'card' && cardPadding() != null ? cardPadding() + 'rem' : null",
12804
+ }, styles: [".tedi-timeline{display:grid;grid-template-columns:max-content 1fr;grid-auto-rows:auto;grid-auto-flow:row dense;column-gap:var(--layout-grid-gutters-12)}@media(min-width:62rem){.tedi-timeline{grid-template-columns:max-content max-content 1fr;grid-auto-flow:row;row-gap:0}}.tedi-timeline--card{--_timeline-card-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-timeline--card .tedi-timeline-item{display:grid;grid-template-columns:subgrid;grid-column:1/-1;padding:var(--_timeline-card-padding);border-bottom:1px solid var(--card-border-primary)}.tedi-timeline--card .tedi-timeline-item:last-child{border-bottom:0}.tedi-timeline--card .tedi-timeline-item:not(:last-child) .tedi-timeline__marker{margin-bottom:calc(-2 * var(--_timeline-card-padding) - 10px)}.tedi-timeline--card .tedi-timeline__marker .tedi-separator--dot-only-outlined:before{background-color:var(--card-background-primary)}@media(max-width:61.98rem){.tedi-timeline--card .tedi-timeline-item .tedi-timeline__marker{grid-row:1/span 2}.tedi-timeline--card .tedi-timeline-item.tedi-timeline__item--has-bottom .tedi-timeline__marker{grid-row:1/span 3}}\n"] }]
12805
+ }], propDecorators: { activeIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeIndex", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], cardPadding: [{ type: i0.Input, args: [{ isSignal: true, alias: "cardPadding", required: false }] }] } });
12806
+
12807
+ /**
12808
+ * Marks content that is pinned to the bottom of a timeline item's timings
12809
+ * column on desktop and rendered after the item content on mobile.
12810
+ *
12811
+ * Usage: `<p *tediTimelineTimingsBottom>Muudetud 08.02.2024</p>`
12812
+ */
12813
+ class TimelineTimingsBottomDirective {
12814
+ templateRef = inject(TemplateRef);
12815
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: TimelineTimingsBottomDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
12816
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.24", type: TimelineTimingsBottomDirective, isStandalone: true, selector: "[tediTimelineTimingsBottom]", ngImport: i0 });
12817
+ }
12818
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: TimelineTimingsBottomDirective, decorators: [{
12819
+ type: Directive,
12820
+ args: [{
12821
+ selector: "[tediTimelineTimingsBottom]",
12822
+ standalone: true,
12823
+ }]
12824
+ }] });
12435
12825
 
12436
12826
  class TimelineItemComponent {
12437
12827
  /** Item timings */
12438
12828
  timings = input([], ...(ngDevMode ? [{ debugName: "timings" }] : []));
12439
12829
  timeline = inject(TimelineComponent, { optional: true });
12830
+ isMobile = inject(BreakpointService).isBelowBreakpoint("lg");
12831
+ timingsBottom = contentChild(TimelineTimingsBottomDirective, ...(ngDevMode ? [{ debugName: "timingsBottom" }] : []));
12440
12832
  ngOnInit() {
12441
12833
  if (!this.timeline) {
12442
12834
  return;
@@ -12486,12 +12878,15 @@ class TimelineItemComponent {
12486
12878
  return "secondary";
12487
12879
  }, ...(ngDevMode ? [{ debugName: "color" }] : []));
12488
12880
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: TimelineItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12489
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: TimelineItemComponent, isStandalone: true, selector: "tedi-timeline-item", inputs: { timings: { classPropertyName: "timings", publicName: "timings", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"tedi-timeline__timings\">\n @for (timing of timings(); track timing; let index = $index) {\n <div tedi-text color=\"tertiary\" class=\"tedi-timeline__time\">\n {{ timing }}\n </div>\n }\n</div>\n<div\n class=\"tedi-timeline__marker\"\n [ngClass]=\"{ 'tedi-timeline__marker--large': state() === 'current' }\"\n>\n <tedi-separator\n [color]=\"color()\"\n variant=\"dot-only\"\n [dotSize]=\"state() === 'current' ? 'large' : 'medium'\"\n [dotFilled]=\"state() !== 'future'\"\n />\n @if (!isLast()) {\n <tedi-separator\n axis=\"vertical\"\n [color]=\"state() === 'past' ? 'accent' : 'secondary'\"\n />\n }\n</div>\n<div class=\"tedi-timeline__info\">\n <div>\n <ng-content select=\"tedi-timeline-title\" />\n <ng-content select=\"tedi-timeline-description\" />\n </div>\n <div class=\"tedi-timeline__content\">\n <ng-content />\n </div>\n</div>\n", styles: [":root{--timeline-padding-y: 8px;--timeline-text-min-height: 24px}tedi-timeline-item{display:contents}tedi-timeline-item .tedi-timeline__timings{display:flex;grid-row:auto;grid-column:2;gap:var(--layout-grid-gutters-04);align-items:center}@media(min-width:62rem){tedi-timeline-item .tedi-timeline__timings{flex-direction:column;grid-column:1;gap:0;align-items:end;padding-bottom:var(--timeline-padding-y)}}tedi-timeline-item .tedi-timeline__timings .tedi-timeline__time{position:relative;display:flex;align-items:center;font-size:var(--body-small-regular-size)}@media(min-width:62rem){tedi-timeline-item .tedi-timeline__timings .tedi-timeline__time{min-height:var(--timeline-text-min-height)}tedi-timeline-item .tedi-timeline__timings .tedi-timeline__time:first-child{font-size:var(--body-regular-size)}}@media(max-width:61.98rem){tedi-timeline-item .tedi-timeline__timings .tedi-timeline__time:before{display:none;width:4px;height:4px;margin-inline:var(--layout-grid-gutters-04);content:\"\";background-color:currentcolor;border-radius:50%}tedi-timeline-item .tedi-timeline__timings .tedi-timeline__time:not(:first-child):before{display:inline-block}}tedi-timeline-item .tedi-timeline__marker{display:flex;flex-direction:column;grid-row:span 2;grid-column:1;align-items:center;align-self:stretch;padding-top:6px}tedi-timeline-item .tedi-timeline__marker:not(:last-child){margin-bottom:-6px}@media(min-width:62rem){tedi-timeline-item .tedi-timeline__marker{grid-row:auto;grid-column:2}}tedi-timeline-item .tedi-timeline__marker--large{padding-top:3px}tedi-timeline-item .tedi-timeline__info{display:flex;flex-direction:column;grid-row:auto;grid-column:2;gap:var(--timeline-padding-y);padding-bottom:var(--timeline-padding-y)}@media(min-width:62rem){tedi-timeline-item .tedi-timeline__info{grid-column:3}}tedi-timeline-item .tedi-timeline__content{display:flex;flex-direction:column;gap:var(--timeline-padding-y)}\n"], dependencies: [{ kind: "component", type: SeparatorComponent, selector: "tedi-separator", inputs: ["axis", "color", "variant", "dotSize", "dotFilled", "thickness", "spacing", "size"] }, { kind: "component", type: TextComponent, selector: "[tedi-text]", inputs: ["modifiers", "color"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
12881
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: TimelineItemComponent, isStandalone: true, selector: "tedi-timeline-item", inputs: { timings: { classPropertyName: "timings", publicName: "timings", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.tedi-timeline__item--has-bottom": "isMobile() && !!timingsBottom()" }, classAttribute: "tedi-timeline-item" }, queries: [{ propertyName: "timingsBottom", first: true, predicate: TimelineTimingsBottomDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"tedi-timeline__timings\">\n @for (timing of timings(); track timing; let index = $index) {\n <div tedi-text color=\"tertiary\" class=\"tedi-timeline__time\">\n {{ timing }}\n </div>\n }\n @if (!isMobile() && timingsBottom()) {\n <div class=\"tedi-timeline__timings-bottom\">\n <ng-container *ngTemplateOutlet=\"timingsBottom()!.templateRef\" />\n </div>\n }\n</div>\n<div\n class=\"tedi-timeline__marker\"\n [ngClass]=\"{ 'tedi-timeline__marker--large': state() === 'current' }\"\n>\n <tedi-separator\n [color]=\"color()\"\n variant=\"dot-only\"\n [dotSize]=\"state() === 'current' ? 'large' : 'medium'\"\n [dotFilled]=\"state() !== 'future'\"\n />\n @if (!isLast()) {\n <tedi-separator\n axis=\"vertical\"\n [color]=\"state() === 'past' ? 'accent' : 'secondary'\"\n />\n }\n</div>\n<div class=\"tedi-timeline__info\">\n <div>\n <ng-content select=\"tedi-timeline-title\" />\n <ng-content select=\"tedi-timeline-description\" />\n </div>\n <div class=\"tedi-timeline__content\">\n <ng-content />\n </div>\n</div>\n@if (isMobile() && timingsBottom()) {\n <div class=\"tedi-timeline__timings-bottom\">\n <ng-container *ngTemplateOutlet=\"timingsBottom()!.templateRef\" />\n </div>\n}\n", styles: [":root{--timeline-padding-y: 8px;--timeline-text-min-height: 24px}tedi-timeline-item{display:contents}tedi-timeline-item .tedi-timeline__timings{display:flex;grid-row:auto;grid-column:2;gap:var(--layout-grid-gutters-04);align-items:center}@media(min-width:62rem){tedi-timeline-item .tedi-timeline__timings{flex-direction:column;grid-column:1;gap:0;align-items:end;padding-bottom:var(--timeline-padding-y)}}@media(min-width:62rem){tedi-timeline-item .tedi-timeline__timings>.tedi-timeline__timings-bottom{margin-top:auto;text-align:right}}tedi-timeline-item .tedi-timeline__timings .tedi-timeline__time{position:relative;display:flex;align-items:center;font-size:var(--body-small-regular-size)}@media(min-width:62rem){tedi-timeline-item .tedi-timeline__timings .tedi-timeline__time{min-height:var(--timeline-text-min-height)}tedi-timeline-item .tedi-timeline__timings .tedi-timeline__time:first-child{font-size:var(--body-regular-size)}}@media(max-width:61.98rem){tedi-timeline-item .tedi-timeline__timings .tedi-timeline__time:before{display:none;width:4px;height:4px;margin-inline:var(--layout-grid-gutters-04);content:\"\";background-color:currentcolor;border-radius:50%}tedi-timeline-item .tedi-timeline__timings .tedi-timeline__time:not(:first-child):before{display:inline-block}}tedi-timeline-item .tedi-timeline__marker{display:flex;flex-direction:column;grid-row:span 2;grid-column:1;align-items:center;align-self:stretch;padding-top:6px}tedi-timeline-item .tedi-timeline__marker:not(:last-child){margin-bottom:-6px}@media(min-width:62rem){tedi-timeline-item .tedi-timeline__marker{grid-row:auto;grid-column:2}}tedi-timeline-item .tedi-timeline__marker--large{padding-top:3px}tedi-timeline-item .tedi-timeline__info{display:flex;flex-direction:column;grid-row:auto;grid-column:2;gap:var(--timeline-padding-y);padding-bottom:var(--timeline-padding-y)}@media(min-width:62rem){tedi-timeline-item .tedi-timeline__info{grid-column:3}}tedi-timeline-item .tedi-timeline__content{display:flex;flex-direction:column;gap:var(--timeline-padding-y)}tedi-timeline-item>.tedi-timeline__timings-bottom{grid-row:auto;grid-column:2;padding-bottom:var(--timeline-padding-y)}tedi-timeline-item.tedi-timeline__item--has-bottom .tedi-timeline__marker{grid-row:span 3}\n"], dependencies: [{ kind: "component", type: SeparatorComponent, selector: "tedi-separator", inputs: ["axis", "color", "variant", "dotSize", "dotFilled", "thickness", "spacing", "size"] }, { kind: "component", type: TextComponent, selector: "[tedi-text]", inputs: ["modifiers", "color"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
12490
12882
  }
12491
12883
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: TimelineItemComponent, decorators: [{
12492
12884
  type: Component,
12493
- args: [{ standalone: true, selector: "tedi-timeline-item", imports: [SeparatorComponent, TextComponent, NgClass], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"tedi-timeline__timings\">\n @for (timing of timings(); track timing; let index = $index) {\n <div tedi-text color=\"tertiary\" class=\"tedi-timeline__time\">\n {{ timing }}\n </div>\n }\n</div>\n<div\n class=\"tedi-timeline__marker\"\n [ngClass]=\"{ 'tedi-timeline__marker--large': state() === 'current' }\"\n>\n <tedi-separator\n [color]=\"color()\"\n variant=\"dot-only\"\n [dotSize]=\"state() === 'current' ? 'large' : 'medium'\"\n [dotFilled]=\"state() !== 'future'\"\n />\n @if (!isLast()) {\n <tedi-separator\n axis=\"vertical\"\n [color]=\"state() === 'past' ? 'accent' : 'secondary'\"\n />\n }\n</div>\n<div class=\"tedi-timeline__info\">\n <div>\n <ng-content select=\"tedi-timeline-title\" />\n <ng-content select=\"tedi-timeline-description\" />\n </div>\n <div class=\"tedi-timeline__content\">\n <ng-content />\n </div>\n</div>\n", styles: [":root{--timeline-padding-y: 8px;--timeline-text-min-height: 24px}tedi-timeline-item{display:contents}tedi-timeline-item .tedi-timeline__timings{display:flex;grid-row:auto;grid-column:2;gap:var(--layout-grid-gutters-04);align-items:center}@media(min-width:62rem){tedi-timeline-item .tedi-timeline__timings{flex-direction:column;grid-column:1;gap:0;align-items:end;padding-bottom:var(--timeline-padding-y)}}tedi-timeline-item .tedi-timeline__timings .tedi-timeline__time{position:relative;display:flex;align-items:center;font-size:var(--body-small-regular-size)}@media(min-width:62rem){tedi-timeline-item .tedi-timeline__timings .tedi-timeline__time{min-height:var(--timeline-text-min-height)}tedi-timeline-item .tedi-timeline__timings .tedi-timeline__time:first-child{font-size:var(--body-regular-size)}}@media(max-width:61.98rem){tedi-timeline-item .tedi-timeline__timings .tedi-timeline__time:before{display:none;width:4px;height:4px;margin-inline:var(--layout-grid-gutters-04);content:\"\";background-color:currentcolor;border-radius:50%}tedi-timeline-item .tedi-timeline__timings .tedi-timeline__time:not(:first-child):before{display:inline-block}}tedi-timeline-item .tedi-timeline__marker{display:flex;flex-direction:column;grid-row:span 2;grid-column:1;align-items:center;align-self:stretch;padding-top:6px}tedi-timeline-item .tedi-timeline__marker:not(:last-child){margin-bottom:-6px}@media(min-width:62rem){tedi-timeline-item .tedi-timeline__marker{grid-row:auto;grid-column:2}}tedi-timeline-item .tedi-timeline__marker--large{padding-top:3px}tedi-timeline-item .tedi-timeline__info{display:flex;flex-direction:column;grid-row:auto;grid-column:2;gap:var(--timeline-padding-y);padding-bottom:var(--timeline-padding-y)}@media(min-width:62rem){tedi-timeline-item .tedi-timeline__info{grid-column:3}}tedi-timeline-item .tedi-timeline__content{display:flex;flex-direction:column;gap:var(--timeline-padding-y)}\n"] }]
12494
- }], propDecorators: { timings: [{ type: i0.Input, args: [{ isSignal: true, alias: "timings", required: false }] }] } });
12885
+ args: [{ standalone: true, selector: "tedi-timeline-item", imports: [SeparatorComponent, TextComponent, NgClass, NgTemplateOutlet], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
12886
+ class: "tedi-timeline-item",
12887
+ "[class.tedi-timeline__item--has-bottom]": "isMobile() && !!timingsBottom()",
12888
+ }, template: "<div class=\"tedi-timeline__timings\">\n @for (timing of timings(); track timing; let index = $index) {\n <div tedi-text color=\"tertiary\" class=\"tedi-timeline__time\">\n {{ timing }}\n </div>\n }\n @if (!isMobile() && timingsBottom()) {\n <div class=\"tedi-timeline__timings-bottom\">\n <ng-container *ngTemplateOutlet=\"timingsBottom()!.templateRef\" />\n </div>\n }\n</div>\n<div\n class=\"tedi-timeline__marker\"\n [ngClass]=\"{ 'tedi-timeline__marker--large': state() === 'current' }\"\n>\n <tedi-separator\n [color]=\"color()\"\n variant=\"dot-only\"\n [dotSize]=\"state() === 'current' ? 'large' : 'medium'\"\n [dotFilled]=\"state() !== 'future'\"\n />\n @if (!isLast()) {\n <tedi-separator\n axis=\"vertical\"\n [color]=\"state() === 'past' ? 'accent' : 'secondary'\"\n />\n }\n</div>\n<div class=\"tedi-timeline__info\">\n <div>\n <ng-content select=\"tedi-timeline-title\" />\n <ng-content select=\"tedi-timeline-description\" />\n </div>\n <div class=\"tedi-timeline__content\">\n <ng-content />\n </div>\n</div>\n@if (isMobile() && timingsBottom()) {\n <div class=\"tedi-timeline__timings-bottom\">\n <ng-container *ngTemplateOutlet=\"timingsBottom()!.templateRef\" />\n </div>\n}\n", styles: [":root{--timeline-padding-y: 8px;--timeline-text-min-height: 24px}tedi-timeline-item{display:contents}tedi-timeline-item .tedi-timeline__timings{display:flex;grid-row:auto;grid-column:2;gap:var(--layout-grid-gutters-04);align-items:center}@media(min-width:62rem){tedi-timeline-item .tedi-timeline__timings{flex-direction:column;grid-column:1;gap:0;align-items:end;padding-bottom:var(--timeline-padding-y)}}@media(min-width:62rem){tedi-timeline-item .tedi-timeline__timings>.tedi-timeline__timings-bottom{margin-top:auto;text-align:right}}tedi-timeline-item .tedi-timeline__timings .tedi-timeline__time{position:relative;display:flex;align-items:center;font-size:var(--body-small-regular-size)}@media(min-width:62rem){tedi-timeline-item .tedi-timeline__timings .tedi-timeline__time{min-height:var(--timeline-text-min-height)}tedi-timeline-item .tedi-timeline__timings .tedi-timeline__time:first-child{font-size:var(--body-regular-size)}}@media(max-width:61.98rem){tedi-timeline-item .tedi-timeline__timings .tedi-timeline__time:before{display:none;width:4px;height:4px;margin-inline:var(--layout-grid-gutters-04);content:\"\";background-color:currentcolor;border-radius:50%}tedi-timeline-item .tedi-timeline__timings .tedi-timeline__time:not(:first-child):before{display:inline-block}}tedi-timeline-item .tedi-timeline__marker{display:flex;flex-direction:column;grid-row:span 2;grid-column:1;align-items:center;align-self:stretch;padding-top:6px}tedi-timeline-item .tedi-timeline__marker:not(:last-child){margin-bottom:-6px}@media(min-width:62rem){tedi-timeline-item .tedi-timeline__marker{grid-row:auto;grid-column:2}}tedi-timeline-item .tedi-timeline__marker--large{padding-top:3px}tedi-timeline-item .tedi-timeline__info{display:flex;flex-direction:column;grid-row:auto;grid-column:2;gap:var(--timeline-padding-y);padding-bottom:var(--timeline-padding-y)}@media(min-width:62rem){tedi-timeline-item .tedi-timeline__info{grid-column:3}}tedi-timeline-item .tedi-timeline__content{display:flex;flex-direction:column;gap:var(--timeline-padding-y)}tedi-timeline-item>.tedi-timeline__timings-bottom{grid-row:auto;grid-column:2;padding-bottom:var(--timeline-padding-y)}tedi-timeline-item.tedi-timeline__item--has-bottom .tedi-timeline__marker{grid-row:span 3}\n"] }]
12889
+ }], propDecorators: { timings: [{ type: i0.Input, args: [{ isSignal: true, alias: "timings", required: false }] }], timingsBottom: [{ type: i0.ContentChild, args: [i0.forwardRef(() => TimelineTimingsBottomDirective), { isSignal: true }] }] } });
12495
12890
 
12496
12891
  class TimelineDescriptionComponent {
12497
12892
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: TimelineDescriptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
@@ -13788,5 +14183,5 @@ function provideTedi(config = {}) {
13788
14183
  * Generated bundle index. Do not edit.
13789
14184
  */
13790
14185
 
13791
- export { AVAILABLE_LANGUAGES, AccordionComponent, AccordionItemComponent, AccordionItemContentComponent, AccordionItemHeaderComponent, AlertComponent, AttachmentActionsComponent, AttachmentComponent, BREAKPOINTS, BaseButtonDirective, BreakpointService, ButtonComponent, CarouselComponent, CarouselContentComponent, CarouselFooterComponent, CarouselHeaderComponent, CarouselIndicatorsComponent, CarouselNavigationComponent, CarouselSlideDirective, CheckboxCardComponent, CheckboxCardGroupComponent, CheckboxComponent, CheckboxGroupComponent, ClosingButtonComponent, ColComponent, CollapseButtonComponent, CollapseComponent, DROPDOWN_API, DROPDOWN_CONTENT_API, DatePickerComponent, DropdownComponent, DropdownContentComponent, DropdownItemComponent, DropdownItemValueComponent, DropdownItemValueLabelComponent, DropdownItemValueMetaComponent, DropdownTriggerDirective, EllipsisComponent, EmptyStateComponent, FeedbackTextComponent, FilterComponent, FilterContentDirective, FilterGroupComponent, FilterPrependDirective, FooterBodyComponent, FooterBottomComponent, FooterComponent, FooterSectionComponent, FooterSideComponent, FormFieldComponent, HeaderActionsComponent, HeaderComponent, HeaderContentComponent, HeaderLanguageComponent, HeaderLoginComponent, HeaderLogoutComponent, HeaderProfileComponent, HeaderRoleComponent, HideAtDirective, HorizontalPushHandler, HorizontalStepperComponent, HorizontalStepperItemComponent, IconComponent, InfoButtonComponent, LANGUAGE_COOKIE_NAME, LANGUAGE_FALLBACK_VALUE, LabelComponent, LinkComponent, ListComponent, MODAL_DATA, MODAL_SIZE, ModalComponent, ModalContentComponent, ModalFooterComponent, ModalHeaderComponent, ModalRef, ModalService, NumberFieldComponent, PaginationComponent, PopoverComponent, PopoverContentComponent, PopoverTriggerDirective, ProgressBarComponent, RadioCardComponent, RadioCardGroupComponent, RadioComponent, RadioGroupComponent, RowComponent, ScrollFadeComponent, SelectComponent, SelectOptionTemplateDirective, SelectValueTemplateDirective, SeparatorComponent, ShowAtDirective, SideNavComponent, SideNavDropdownComponent, SideNavDropdownGroupComponent, SideNavDropdownItemComponent, SideNavGroupTitleComponent, SideNavItemComponent, SideNavOverlayComponent, SideNavToggleComponent, SpecialOptionControls, SpinnerComponent, StatusBadgeComponent, StatusIndicatorComponent, TEDI_FORM_FIELD_CONTROL, TEDI_TABLE_CONTEXT, TEDI_THEME_DEFAULT_TOKEN, TEDI_TRANSLATION_DEFAULT_TOKEN, THEME_CLASS_PREFIX, THEME_COOKIE_NAME, THEME_FALLBACK_VALUE, TOAST_DEFAULT_DURATION, TagComponent, TediPaginationResultsDirective, TediTableColumnsMenuComponent, TediTableComponent, TediTableHeaderButtonComponent, TediTableToolbarComponent, TediTranslationPipe, TediTranslationService, TextComponent, TextFieldComponent, TextGroupComponent, TextGroupLabelComponent, TextGroupValueComponent, ThemeService, TimeFieldComponent, TimePickerComponent, TimelineComponent, TimelineDescriptionComponent, TimelineItemComponent, TimelineTitleComponent, ToastComponent, ToastService, ToggleComponent, TooltipComponent, TooltipContentComponent, TooltipTriggerComponent, VerticalSpacingDirective, VerticalSpacingItemDirective, breakpointInput, calculateArrowOffset, createTablePersistence, generateUUID, getPlacementFromPositionChange, groupRowSpan, injectTediTableContext, provideTedi, toConnectedPositions, usePagination };
14186
+ export { AVAILABLE_LANGUAGES, AccordionComponent, AccordionItemComponent, AccordionItemContentComponent, AccordionItemHeaderComponent, AlertComponent, AttachmentActionsComponent, AttachmentComponent, BREAKPOINTS, BaseButtonDirective, BreakpointService, ButtonComponent, CardButtonComponent, CardComponent, CardContentComponent, CardHeaderComponent, CardIconComponent, CardRowComponent, CarouselComponent, CarouselContentComponent, CarouselFooterComponent, CarouselHeaderComponent, CarouselIndicatorsComponent, CarouselNavigationComponent, CarouselSlideDirective, CheckboxCardComponent, CheckboxCardGroupComponent, CheckboxComponent, CheckboxGroupComponent, ClosingButtonComponent, ColComponent, CollapseButtonComponent, CollapseComponent, DROPDOWN_API, DROPDOWN_CONTENT_API, DatePickerComponent, DropdownComponent, DropdownContentComponent, DropdownItemComponent, DropdownItemValueComponent, DropdownItemValueLabelComponent, DropdownItemValueMetaComponent, DropdownTriggerDirective, EllipsisComponent, EmptyStateComponent, FeedbackTextComponent, FilterComponent, FilterContentDirective, FilterGroupComponent, FilterPrependDirective, FooterBodyComponent, FooterBottomComponent, FooterComponent, FooterSectionComponent, FooterSideComponent, FormFieldComponent, HeaderActionsComponent, HeaderComponent, HeaderContentComponent, HeaderLanguageComponent, HeaderLoginComponent, HeaderLogoutComponent, HeaderProfileComponent, HeaderRoleComponent, HideAtDirective, HorizontalPushHandler, HorizontalStepperComponent, HorizontalStepperItemComponent, IconComponent, InfoButtonComponent, LANGUAGE_COOKIE_NAME, LANGUAGE_FALLBACK_VALUE, LabelComponent, LinkComponent, ListComponent, MODAL_DATA, MODAL_SIZE, ModalComponent, ModalContentComponent, ModalFooterComponent, ModalHeaderComponent, ModalRef, ModalService, NumberFieldComponent, PaginationComponent, PopoverComponent, PopoverContentComponent, PopoverTriggerDirective, ProgressBarComponent, RadioCardComponent, RadioCardGroupComponent, RadioComponent, RadioGroupComponent, RowComponent, ScrollFadeComponent, SelectComponent, SelectOptionTemplateDirective, SelectValueTemplateDirective, SeparatorComponent, ShowAtDirective, SideNavComponent, SideNavDropdownComponent, SideNavDropdownGroupComponent, SideNavDropdownItemComponent, SideNavGroupTitleComponent, SideNavItemComponent, SideNavOverlayComponent, SideNavToggleComponent, SpecialOptionControls, SpinnerComponent, StatusBadgeComponent, StatusIndicatorComponent, TEDI_FORM_FIELD_CONTROL, TEDI_TABLE_CONTEXT, TEDI_THEME_DEFAULT_TOKEN, TEDI_TRANSLATION_DEFAULT_TOKEN, THEME_CLASS_PREFIX, THEME_COOKIE_NAME, THEME_FALLBACK_VALUE, TOAST_DEFAULT_DURATION, TagComponent, TediPaginationResultsDirective, TediTableColumnsMenuComponent, TediTableComponent, TediTableHeaderButtonComponent, TediTableToolbarComponent, TediTranslationPipe, TediTranslationService, TextComponent, TextFieldComponent, TextGroupComponent, TextGroupLabelComponent, TextGroupValueComponent, ThemeService, TimeFieldComponent, TimePickerComponent, TimelineComponent, TimelineDescriptionComponent, TimelineItemComponent, TimelineTimingsBottomDirective, TimelineTitleComponent, ToastComponent, ToastService, ToggleComponent, TooltipComponent, TooltipContentComponent, TooltipTriggerComponent, VerticalSpacingDirective, VerticalSpacingItemDirective, breakpointInput, calculateArrowOffset, createTablePersistence, generateUUID, getCardBorderPlacementColor, getPaddingCssVariables, getPlacementFromPositionChange, groupRowSpan, injectTediTableContext, provideTedi, resolveCardBorderRadius, toConnectedPositions, usePagination };
13792
14187
  //# sourceMappingURL=tedi-design-system-angular-tedi.mjs.map