@tedi-design-system/angular 8.1.0-rc.6 → 8.1.0-rc.8

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.
@@ -4988,6 +4988,72 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
4988
4988
  }, template: "<ng-content></ng-content>\n", styles: ["@charset \"UTF-8\";.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{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"] }]
4989
4989
  }] });
4990
4990
 
4991
+ const isHeadingModifier = (modifier) => /^h[1-6]$/.test(modifier);
4992
+ class HeadingWithIconComponent {
4993
+ /**
4994
+ * Name of the Material Icon
4995
+ * https://fonts.google.com/icons
4996
+ *
4997
+ * Rendered as decorative and hidden from assistive technology — the
4998
+ * projected text is the accessible heading name.
4999
+ */
5000
+ icon = input.required(...(ngDevMode ? [{ debugName: "icon" }] : []));
5001
+ /**
5002
+ * Semantic heading tag. Also sets the typography unless a heading modifier
5003
+ * overrides it, so pick the tag that fits the surrounding document outline.
5004
+ * @default h4
5005
+ */
5006
+ element = input("h4", ...(ngDevMode ? [{ debugName: "element" }] : []));
5007
+ /**
5008
+ * Single or multiple modifiers to change the heading behavior. A heading
5009
+ * modifier here styles the heading as that level while `element` keeps the
5010
+ * semantics — e.g. an `h2` that looks like an `h4`.
5011
+ */
5012
+ modifiers = input(...(ngDevMode ? [undefined, { debugName: "modifiers" }] : []));
5013
+ /**
5014
+ * Heading text color.
5015
+ * @default primary
5016
+ */
5017
+ headingColor = input("primary", ...(ngDevMode ? [{ debugName: "headingColor" }] : []));
5018
+ /**
5019
+ * Color of the icon.
5020
+ * @default primary
5021
+ */
5022
+ iconColor = input("primary", ...(ngDevMode ? [{ debugName: "iconColor" }] : []));
5023
+ /**
5024
+ * Size of the icon in pixels.
5025
+ * @default 24
5026
+ */
5027
+ iconSize = input(24, ...(ngDevMode ? [{ debugName: "iconSize" }] : []));
5028
+ /**
5029
+ * Whether the icon should be filled or outlined.
5030
+ * @default outlined
5031
+ */
5032
+ iconVariant = input("outlined", ...(ngDevMode ? [{ debugName: "iconVariant" }] : []));
5033
+ // A heading modifier wins on specificity over the `element` tag in core's CSS,
5034
+ // so `element="h2" modifiers="h4"` renders at h4's line height — which is what
5035
+ // the icon has to be centered against.
5036
+ visualLevel = computed(() => {
5037
+ const modifiers = this.modifiers();
5038
+ const modifierList = Array.isArray(modifiers)
5039
+ ? modifiers
5040
+ : modifiers
5041
+ ? [modifiers]
5042
+ : [];
5043
+ return modifierList.find(isHeadingModifier) ?? this.element();
5044
+ }, ...(ngDevMode ? [{ debugName: "visualLevel" }] : []));
5045
+ lineHeightVar = computed(() => `var(--heading-${this.visualLevel()}-line-height)`, ...(ngDevMode ? [{ debugName: "lineHeightVar" }] : []));
5046
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: HeadingWithIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5047
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: HeadingWithIconComponent, isStandalone: true, selector: "tedi-heading-with-icon", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null }, element: { classPropertyName: "element", publicName: "element", isSignal: true, isRequired: false, transformFunction: null }, modifiers: { classPropertyName: "modifiers", publicName: "modifiers", isSignal: true, isRequired: false, transformFunction: null }, headingColor: { classPropertyName: "headingColor", publicName: "headingColor", isSignal: true, isRequired: false, transformFunction: null }, iconColor: { classPropertyName: "iconColor", publicName: "iconColor", isSignal: true, isRequired: false, transformFunction: null }, iconSize: { classPropertyName: "iconSize", publicName: "iconSize", isSignal: true, isRequired: false, transformFunction: null }, iconVariant: { classPropertyName: "iconVariant", publicName: "iconVariant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--_tedi-heading-with-icon-line-height": "lineHeightVar()" }, classAttribute: "tedi-heading-with-icon" }, ngImport: i0, template: "<tedi-icon\n class=\"tedi-heading-with-icon__icon\"\n [name]=\"icon()\"\n [color]=\"iconColor()\"\n [size]=\"iconSize()\"\n [variant]=\"iconVariant()\"\n/>\n\n@switch (element()) {\n @case (\"h1\") {\n <h1\n tedi-text\n class=\"tedi-heading-with-icon__heading\"\n [color]=\"headingColor()\"\n [modifiers]=\"modifiers()\"\n >\n <ng-container *ngTemplateOutlet=\"heading\"></ng-container>\n </h1>\n }\n @case (\"h2\") {\n <h2\n tedi-text\n class=\"tedi-heading-with-icon__heading\"\n [color]=\"headingColor()\"\n [modifiers]=\"modifiers()\"\n >\n <ng-container *ngTemplateOutlet=\"heading\"></ng-container>\n </h2>\n }\n @case (\"h3\") {\n <h3\n tedi-text\n class=\"tedi-heading-with-icon__heading\"\n [color]=\"headingColor()\"\n [modifiers]=\"modifiers()\"\n >\n <ng-container *ngTemplateOutlet=\"heading\"></ng-container>\n </h3>\n }\n @case (\"h4\") {\n <h4\n tedi-text\n class=\"tedi-heading-with-icon__heading\"\n [color]=\"headingColor()\"\n [modifiers]=\"modifiers()\"\n >\n <ng-container *ngTemplateOutlet=\"heading\"></ng-container>\n </h4>\n }\n @case (\"h5\") {\n <h5\n tedi-text\n class=\"tedi-heading-with-icon__heading\"\n [color]=\"headingColor()\"\n [modifiers]=\"modifiers()\"\n >\n <ng-container *ngTemplateOutlet=\"heading\"></ng-container>\n </h5>\n }\n @case (\"h6\") {\n <h6\n tedi-text\n class=\"tedi-heading-with-icon__heading\"\n [color]=\"headingColor()\"\n [modifiers]=\"modifiers()\"\n >\n <ng-container *ngTemplateOutlet=\"heading\"></ng-container>\n </h6>\n }\n}\n\n<ng-template #heading><ng-content></ng-content></ng-template>\n", styles: [".tedi-heading-with-icon{display:flex;gap:var(--content-heading-inner-spacing-x);align-items:flex-start}.tedi-heading-with-icon__icon{height:var(--_tedi-heading-with-icon-line-height)}.tedi-heading-with-icon__heading{flex:1;min-width:0;overflow-wrap:break-word}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "tedi-icon", inputs: ["name", "size", "color", "background", "variant", "type", "label"] }, { kind: "component", type: TextComponent, selector: "[tedi-text]", inputs: ["modifiers", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
5048
+ }
5049
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: HeadingWithIconComponent, decorators: [{
5050
+ type: Component,
5051
+ args: [{ selector: "tedi-heading-with-icon", standalone: true, imports: [NgTemplateOutlet, IconComponent, TextComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
5052
+ class: "tedi-heading-with-icon",
5053
+ "[style.--_tedi-heading-with-icon-line-height]": "lineHeightVar()",
5054
+ }, template: "<tedi-icon\n class=\"tedi-heading-with-icon__icon\"\n [name]=\"icon()\"\n [color]=\"iconColor()\"\n [size]=\"iconSize()\"\n [variant]=\"iconVariant()\"\n/>\n\n@switch (element()) {\n @case (\"h1\") {\n <h1\n tedi-text\n class=\"tedi-heading-with-icon__heading\"\n [color]=\"headingColor()\"\n [modifiers]=\"modifiers()\"\n >\n <ng-container *ngTemplateOutlet=\"heading\"></ng-container>\n </h1>\n }\n @case (\"h2\") {\n <h2\n tedi-text\n class=\"tedi-heading-with-icon__heading\"\n [color]=\"headingColor()\"\n [modifiers]=\"modifiers()\"\n >\n <ng-container *ngTemplateOutlet=\"heading\"></ng-container>\n </h2>\n }\n @case (\"h3\") {\n <h3\n tedi-text\n class=\"tedi-heading-with-icon__heading\"\n [color]=\"headingColor()\"\n [modifiers]=\"modifiers()\"\n >\n <ng-container *ngTemplateOutlet=\"heading\"></ng-container>\n </h3>\n }\n @case (\"h4\") {\n <h4\n tedi-text\n class=\"tedi-heading-with-icon__heading\"\n [color]=\"headingColor()\"\n [modifiers]=\"modifiers()\"\n >\n <ng-container *ngTemplateOutlet=\"heading\"></ng-container>\n </h4>\n }\n @case (\"h5\") {\n <h5\n tedi-text\n class=\"tedi-heading-with-icon__heading\"\n [color]=\"headingColor()\"\n [modifiers]=\"modifiers()\"\n >\n <ng-container *ngTemplateOutlet=\"heading\"></ng-container>\n </h5>\n }\n @case (\"h6\") {\n <h6\n tedi-text\n class=\"tedi-heading-with-icon__heading\"\n [color]=\"headingColor()\"\n [modifiers]=\"modifiers()\"\n >\n <ng-container *ngTemplateOutlet=\"heading\"></ng-container>\n </h6>\n }\n}\n\n<ng-template #heading><ng-content></ng-content></ng-template>\n", styles: [".tedi-heading-with-icon{display:flex;gap:var(--content-heading-inner-spacing-x);align-items:flex-start}.tedi-heading-with-icon__icon{height:var(--_tedi-heading-with-icon-line-height)}.tedi-heading-with-icon__heading{flex:1;min-width:0;overflow-wrap:break-word}\n"] }]
5055
+ }], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: true }] }], element: [{ type: i0.Input, args: [{ isSignal: true, alias: "element", required: false }] }], modifiers: [{ type: i0.Input, args: [{ isSignal: true, alias: "modifiers", required: false }] }], headingColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "headingColor", required: false }] }], iconColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconColor", required: false }] }], iconSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconSize", required: false }] }], iconVariant: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconVariant", required: false }] }] } });
5056
+
4991
5057
  class ListComponent {
4992
5058
  /**
4993
5059
  * Is list styled?
@@ -21068,6 +21134,151 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
21068
21134
  args: ["click"]
21069
21135
  }] } });
21070
21136
 
21137
+ class SkeletonComponent {
21138
+ liveAnnouncer = inject(LiveAnnouncer);
21139
+ translationService = inject(TediTranslationService);
21140
+ isBrowser = isPlatformBrowser(inject(PLATFORM_ID));
21141
+ /**
21142
+ * Announced by the skeleton's `role="status"` live region once the skeleton
21143
+ * has been on screen for `labelDelay`. Say what is loading: "Loading search
21144
+ * results" carries more than the generic fallback.
21145
+ * @default the translated `skeleton.loading` label
21146
+ */
21147
+ label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : []));
21148
+ /**
21149
+ * Announced when the skeleton is removed. The skeleton's own live region goes
21150
+ * with it, so this one goes through a page-level announcer. Only announced if
21151
+ * `label` was announced first, so content that arrives faster than
21152
+ * `labelDelay` stays silent.
21153
+ * @default the translated `skeleton.loading-completed` label
21154
+ */
21155
+ completedLabel = input(...(ngDevMode ? [undefined, { debugName: "completedLabel" }] : []));
21156
+ /**
21157
+ * Delay in ms before `label` is announced, so brief loads do not interrupt
21158
+ * the screen reader.
21159
+ * @default 200
21160
+ */
21161
+ labelDelay = input(200, ...(ngDevMode ? [{ debugName: "labelDelay" }] : []));
21162
+ /**
21163
+ * Text of the `role="status"` live region. Empty until `labelDelay` has
21164
+ * passed, so the region is in the DOM before it gains text: screen readers
21165
+ * only announce a live region they were already tracking.
21166
+ */
21167
+ announcement = signal("", ...(ngDevMode ? [{ debugName: "announcement" }] : []));
21168
+ announceTimer;
21169
+ ngOnInit() {
21170
+ if (!this.isBrowser) {
21171
+ return;
21172
+ }
21173
+ this.announceTimer = setTimeout(() => {
21174
+ this.announcement.set(this.label() ?? this.translationService.translate("skeleton.loading"));
21175
+ }, this.labelDelay());
21176
+ }
21177
+ ngOnDestroy() {
21178
+ clearTimeout(this.announceTimer);
21179
+ if (!this.announcement()) {
21180
+ return;
21181
+ }
21182
+ this.liveAnnouncer.announce(this.completedLabel() ??
21183
+ this.translationService.translate("skeleton.loading-completed"));
21184
+ }
21185
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SkeletonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21186
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.24", type: SkeletonComponent, isStandalone: true, selector: "tedi-skeleton", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, completedLabel: { classPropertyName: "completedLabel", publicName: "completedLabel", isSignal: true, isRequired: false, transformFunction: null }, labelDelay: { classPropertyName: "labelDelay", publicName: "labelDelay", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "aria-busy": "true" }, classAttribute: "tedi-skeleton" }, ngImport: i0, template: "<span class=\"sr-only\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">{{\n announcement()\n}}</span>\n<ng-content />\n", styles: [".tedi-skeleton{display:flex;flex-direction:column;gap:var(--loader-skeleton-inner-spacing-y);pointer-events:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
21187
+ }
21188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SkeletonComponent, decorators: [{
21189
+ type: Component,
21190
+ args: [{ standalone: true, selector: "tedi-skeleton", changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
21191
+ class: "tedi-skeleton",
21192
+ "aria-busy": "true",
21193
+ }, template: "<span class=\"sr-only\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">{{\n announcement()\n}}</span>\n<ng-content />\n", styles: [".tedi-skeleton{display:flex;flex-direction:column;gap:var(--loader-skeleton-inner-spacing-y);pointer-events:none}\n"] }]
21194
+ }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], completedLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "completedLabel", required: false }] }], labelDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelDelay", required: false }] }] } });
21195
+
21196
+ /**
21197
+ * Angular hands an attribute binding through as a string, so `width="50"` and
21198
+ * `height="100"` arrive as `"50"` / `"100"`. Both are read as the numeric form.
21199
+ */
21200
+ const NUMERIC = /^\d+(\.\d+)?$/;
21201
+ class SkeletonBlockComponent {
21202
+ /**
21203
+ * Width of the block. A number is a percentage of the container, a `px`
21204
+ * string is an absolute width, and `auto` fills the container.
21205
+ * @default auto
21206
+ */
21207
+ width = input("auto", ...(ngDevMode ? [{ debugName: "width" }] : []));
21208
+ /**
21209
+ * Height of the block. A text style (`p`, `h1`–`h6`) takes the line height of
21210
+ * the text the block stands in for and follows it across breakpoints, so the
21211
+ * real content drops in without shifting the layout. Pass a number instead
21212
+ * for a height in px, for blocks that stand in for something other than text.
21213
+ * @default p
21214
+ */
21215
+ height = input("p", ...(ngDevMode ? [{ debugName: "height" }] : []));
21216
+ /*
21217
+ * Per-breakpoint overrides. The base inputs describe the smallest viewport;
21218
+ * each breakpoint input layers a partial `SkeletonBlockInputs` on top from
21219
+ * that breakpoint and up, so larger breakpoints inherit from smaller ones
21220
+ * until overridden.
21221
+ */
21222
+ /** Overrides applied from the `xs` breakpoint (≥ 0px) and up. */
21223
+ xs = input(...(ngDevMode ? [undefined, { debugName: "xs" }] : []));
21224
+ /** Overrides applied from the `sm` breakpoint (≥ 576px) and up. */
21225
+ sm = input(...(ngDevMode ? [undefined, { debugName: "sm" }] : []));
21226
+ /** Overrides applied from the `md` breakpoint (≥ 768px) and up. */
21227
+ md = input(...(ngDevMode ? [undefined, { debugName: "md" }] : []));
21228
+ /** Overrides applied from the `lg` breakpoint (≥ 992px) and up. */
21229
+ lg = input(...(ngDevMode ? [undefined, { debugName: "lg" }] : []));
21230
+ /** Overrides applied from the `xl` breakpoint (≥ 1200px) and up. */
21231
+ xl = input(...(ngDevMode ? [undefined, { debugName: "xl" }] : []));
21232
+ /** Overrides applied from the `xxl` breakpoint (≥ 1400px) and up. */
21233
+ xxl = input(...(ngDevMode ? [undefined, { debugName: "xxl" }] : []));
21234
+ breakpointService = inject(BreakpointService);
21235
+ currentProps = computed(() => this.breakpointService.getBreakpointInputs({
21236
+ width: this.width(),
21237
+ height: this.height(),
21238
+ xs: this.xs(),
21239
+ sm: this.sm(),
21240
+ md: this.md(),
21241
+ lg: this.lg(),
21242
+ xl: this.xl(),
21243
+ xxl: this.xxl(),
21244
+ }), ...(ngDevMode ? [{ debugName: "currentProps" }] : []));
21245
+ classes = computed(() => {
21246
+ const height = this.currentProps().height;
21247
+ const classList = ["tedi-skeleton-block"];
21248
+ if (typeof height === "string" && !NUMERIC.test(height)) {
21249
+ classList.push(`tedi-skeleton-block--${height}`);
21250
+ }
21251
+ return classList.join(" ");
21252
+ }, ...(ngDevMode ? [{ debugName: "classes" }] : []));
21253
+ resolvedWidth = computed(() => {
21254
+ const width = this.currentProps().width;
21255
+ if (width === undefined || width === "auto") {
21256
+ return null;
21257
+ }
21258
+ return typeof width === "number" || NUMERIC.test(width)
21259
+ ? `${width}%`
21260
+ : width;
21261
+ }, ...(ngDevMode ? [{ debugName: "resolvedWidth" }] : []));
21262
+ resolvedHeight = computed(() => {
21263
+ const height = this.currentProps().height;
21264
+ if (typeof height === "number") {
21265
+ return `${height}px`;
21266
+ }
21267
+ return height && NUMERIC.test(height) ? `${height}px` : null;
21268
+ }, ...(ngDevMode ? [{ debugName: "resolvedHeight" }] : []));
21269
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SkeletonBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21270
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.24", type: SkeletonBlockComponent, isStandalone: true, selector: "tedi-skeleton-block", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", 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: { attributes: { "aria-hidden": "true" }, properties: { "class": "classes()", "style.width": "resolvedWidth()", "style.height": "resolvedHeight()" } }, ngImport: i0, template: "", isInline: true, styles: [".tedi-skeleton-block{display:block;width:100%;background:linear-gradient(to right,color-mix(in srgb,var(--loader-skeleton-color) 70%,var(--tedi-neutral-100)) 8%,var(--loader-skeleton-color) 18%,color-mix(in srgb,var(--loader-skeleton-color) 70%,var(--tedi-neutral-100)) 33%);background-size:1000px 100px;border-radius:var(--loader-skeleton-radius);animation:tedi-skeleton-block-wave 2s infinite ease-in-out}.tedi-skeleton-block--p{height:var(--body-regular-line-height)}.tedi-skeleton-block--h1{height:var(--heading-h1-line-height)}.tedi-skeleton-block--h2{height:var(--heading-h2-line-height)}.tedi-skeleton-block--h3{height:var(--heading-h3-line-height)}.tedi-skeleton-block--h4{height:var(--heading-h4-line-height)}.tedi-skeleton-block--h5{height:var(--heading-h5-line-height)}.tedi-skeleton-block--h6{height:var(--heading-h6-line-height)}@media(prefers-reduced-motion:reduce){.tedi-skeleton-block{animation:none}}@keyframes tedi-skeleton-block-wave{0%{background-position:-400px 0}to{background-position:600px 0}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
21271
+ }
21272
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SkeletonBlockComponent, decorators: [{
21273
+ type: Component,
21274
+ args: [{ standalone: true, selector: "tedi-skeleton-block", template: "", changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
21275
+ "[class]": "classes()",
21276
+ "[style.width]": "resolvedWidth()",
21277
+ "[style.height]": "resolvedHeight()",
21278
+ "aria-hidden": "true",
21279
+ }, styles: [".tedi-skeleton-block{display:block;width:100%;background:linear-gradient(to right,color-mix(in srgb,var(--loader-skeleton-color) 70%,var(--tedi-neutral-100)) 8%,var(--loader-skeleton-color) 18%,color-mix(in srgb,var(--loader-skeleton-color) 70%,var(--tedi-neutral-100)) 33%);background-size:1000px 100px;border-radius:var(--loader-skeleton-radius);animation:tedi-skeleton-block-wave 2s infinite ease-in-out}.tedi-skeleton-block--p{height:var(--body-regular-line-height)}.tedi-skeleton-block--h1{height:var(--heading-h1-line-height)}.tedi-skeleton-block--h2{height:var(--heading-h2-line-height)}.tedi-skeleton-block--h3{height:var(--heading-h3-line-height)}.tedi-skeleton-block--h4{height:var(--heading-h4-line-height)}.tedi-skeleton-block--h5{height:var(--heading-h5-line-height)}.tedi-skeleton-block--h6{height:var(--heading-h6-line-height)}@media(prefers-reduced-motion:reduce){.tedi-skeleton-block{animation:none}}@keyframes tedi-skeleton-block-wave{0%{background-position:-400px 0}to{background-position:600px 0}}\n"] }]
21280
+ }], propDecorators: { width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", 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 }] }] } });
21281
+
21071
21282
  /**
21072
21283
  * Marks a projected element as a single breadcrumb. Apply as a structural
21073
21284
  * directive on the crumb element; `tedi-breadcrumbs` collects each one and
@@ -21765,5 +21976,5 @@ function provideTedi(config = {}) {
21765
21976
  * Generated bundle index. Do not edit.
21766
21977
  */
21767
21978
 
21768
- export { AVAILABLE_LANGUAGES, AccordionComponent, AccordionItemComponent, AccordionItemContentComponent, AccordionItemHeaderComponent, AlertComponent, AttachmentActionsComponent, AttachmentComponent, BREAKPOINTS, BaseButtonDirective, BreadcrumbItemDirective, BreadcrumbSeparatorDirective, BreadcrumbsComponent, BreakpointService, ButtonComponent, ButtonGroupButtonDirective, ButtonGroupComponent, COUNTER_TAG_WIDTH, CalendarComponent, 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, DateFieldComponent, DatePickerComponent, DropdownComponent, DropdownContentComponent, DropdownItemComponent, DropdownItemValueComponent, DropdownItemValueLabelComponent, DropdownItemValueMetaComponent, DropdownTriggerDirective, EllipsisComponent, EmptyStateComponent, FeedbackTextComponent, FilterComponent, FilterContentDirective, FilterGroupComponent, FilterPrependDirective, FooterBodyComponent, FooterBottomComponent, FooterComponent, FooterSectionComponent, FooterSideComponent, FormFieldComponent, FormFieldExtraDirective, HeaderActionsComponent, HeaderBottomComponent, HeaderComponent, HeaderContentComponent, HeaderLanguageComponent, HeaderLoginComponent, HeaderLogoComponent, HeaderLogoDarkDirective, HeaderLogoutComponent, HeaderMobileButtonComponent, HeaderProfileComponent, HeaderRoleComponent, HeaderRoleContentDirective, HeaderRoleNoResultsDirective, HeaderRoleTitleDirective, HeaderSearchComponent, HeaderTopComponent, HideAtDirective, HorizontalPushHandler, HorizontalStepperComponent, HorizontalStepperItemComponent, IconComponent, InfoButtonComponent, InfoTooltipComponent, InputGroupComponent, InputGroupPrefixDirective, InputGroupSuffixDirective, LANGUAGE_COOKIE_NAME, LANGUAGE_FALLBACK_VALUE, LabelComponent, LabelRowComponent, LinkComponent, ListComponent, MODAL_DATA, MODAL_SIZE, ModalComponent, ModalContentComponent, ModalFooterComponent, ModalHeaderComponent, ModalRef, ModalService, NumberFieldComponent, PaginationComponent, PopoverComponent, PopoverContentComponent, PopoverTriggerDirective, ProgressBarComponent, RadioCardComponent, RadioCardGroupComponent, RadioComponent, RadioGroupComponent, RowComponent, ScrollFadeComponent, SearchComponent, SelectComponent, SelectOptionTemplateDirective, SelectTooltipTemplateDirective, SelectValueTemplateDirective, SeparatorComponent, ShowAtDirective, SideNavComponent, SideNavDropdownComponent, SideNavDropdownGroupComponent, SideNavDropdownItemComponent, SideNavGroupTitleComponent, SideNavItemComponent, SideNavOverlayComponent, SideNavToggleComponent, SliderComponent, SpecialOptionControls, SpinnerComponent, StatusBadgeComponent, StatusIndicatorComponent, TAG_GAP, TEDI_FIELD_CONTEXT, TEDI_FORM_FIELD_CONTROL, TEDI_INPUT_GROUP, TEDI_TABLE_CONTEXT, TEDI_THEME_DEFAULT_TOKEN, TEDI_TRANSLATION_DEFAULT_TOKEN, THEME_CLASS_PREFIX, THEME_COOKIE_NAME, THEME_FALLBACK_VALUE, TOAST_DEFAULT_DURATION, TabsComponent, TabsContentComponent, TabsListComponent, TabsTriggerComponent, TagComponent, TediPaginationResultsDirective, TediTableColumnsMenuComponent, TediTableComponent, TediTableHeaderButtonComponent, TediTableToolbarComponent, TediTranslationPipe, TediTranslationService, TextComponent, TextFieldComponent, TextGroupComponent, TextGroupLabelComponent, TextGroupValueComponent, TextareaComponent, ThemeService, TimeFieldComponent, TimePickerComponent, TimelineComponent, TimelineDescriptionComponent, TimelineItemComponent, TimelineTimingsBottomDirective, TimelineTitleComponent, ToastComponent, ToastService, ToggleComponent, TooltipComponent, TooltipContentComponent, TooltipTriggerComponent, TruncateComponent, VerticalSpacingDirective, VerticalSpacingItemDirective, addDays, addMonths, addYears, breakpointInput, buildMonthGrid, calculateArrowOffset, calculateVisibleTagCount, computeGroupSpans, controlDescribedBy, cookieSignal, createTablePersistence, deriveControlState, endOfMonth, formatDate, formatLocaleDate, formatLocaleDateHint, formatLocaleDateLong, formatMonthYear, generateUUID, getCardBorderPlacementColor, getDaysInMonth, getFirstDayOfWeek, getFocusableElements, getISOWeek, getMonthNames, getPaddingCssVariables, getPlacementFromPositionChange, getWeekdayNames, groupRowSpan, injectTediTableContext, isAfterDay, isBeforeDay, isDateInRange, isSameDay, isSameMonth, isSameYear, isValidTime, matchAny, matchDate, normalizeTime, parseDate, parseLocaleDate, provideTedi, resolveCardBorderRadius, startOfMonth, startOfWeek, toConnectedPositions, toggleDateInArray, usePagination };
21979
+ export { AVAILABLE_LANGUAGES, AccordionComponent, AccordionItemComponent, AccordionItemContentComponent, AccordionItemHeaderComponent, AlertComponent, AttachmentActionsComponent, AttachmentComponent, BREAKPOINTS, BaseButtonDirective, BreadcrumbItemDirective, BreadcrumbSeparatorDirective, BreadcrumbsComponent, BreakpointService, ButtonComponent, ButtonGroupButtonDirective, ButtonGroupComponent, COUNTER_TAG_WIDTH, CalendarComponent, 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, DateFieldComponent, DatePickerComponent, DropdownComponent, DropdownContentComponent, DropdownItemComponent, DropdownItemValueComponent, DropdownItemValueLabelComponent, DropdownItemValueMetaComponent, DropdownTriggerDirective, EllipsisComponent, EmptyStateComponent, FeedbackTextComponent, FilterComponent, FilterContentDirective, FilterGroupComponent, FilterPrependDirective, FooterBodyComponent, FooterBottomComponent, FooterComponent, FooterSectionComponent, FooterSideComponent, FormFieldComponent, FormFieldExtraDirective, HeaderActionsComponent, HeaderBottomComponent, HeaderComponent, HeaderContentComponent, HeaderLanguageComponent, HeaderLoginComponent, HeaderLogoComponent, HeaderLogoDarkDirective, HeaderLogoutComponent, HeaderMobileButtonComponent, HeaderProfileComponent, HeaderRoleComponent, HeaderRoleContentDirective, HeaderRoleNoResultsDirective, HeaderRoleTitleDirective, HeaderSearchComponent, HeaderTopComponent, HeadingWithIconComponent, HideAtDirective, HorizontalPushHandler, HorizontalStepperComponent, HorizontalStepperItemComponent, IconComponent, InfoButtonComponent, InfoTooltipComponent, InputGroupComponent, InputGroupPrefixDirective, InputGroupSuffixDirective, LANGUAGE_COOKIE_NAME, LANGUAGE_FALLBACK_VALUE, LabelComponent, LabelRowComponent, LinkComponent, ListComponent, MODAL_DATA, MODAL_SIZE, ModalComponent, ModalContentComponent, ModalFooterComponent, ModalHeaderComponent, ModalRef, ModalService, NumberFieldComponent, PaginationComponent, PopoverComponent, PopoverContentComponent, PopoverTriggerDirective, ProgressBarComponent, RadioCardComponent, RadioCardGroupComponent, RadioComponent, RadioGroupComponent, RowComponent, ScrollFadeComponent, SearchComponent, SelectComponent, SelectOptionTemplateDirective, SelectTooltipTemplateDirective, SelectValueTemplateDirective, SeparatorComponent, ShowAtDirective, SideNavComponent, SideNavDropdownComponent, SideNavDropdownGroupComponent, SideNavDropdownItemComponent, SideNavGroupTitleComponent, SideNavItemComponent, SideNavOverlayComponent, SideNavToggleComponent, SkeletonBlockComponent, SkeletonComponent, SliderComponent, SpecialOptionControls, SpinnerComponent, StatusBadgeComponent, StatusIndicatorComponent, TAG_GAP, TEDI_FIELD_CONTEXT, TEDI_FORM_FIELD_CONTROL, TEDI_INPUT_GROUP, TEDI_TABLE_CONTEXT, TEDI_THEME_DEFAULT_TOKEN, TEDI_TRANSLATION_DEFAULT_TOKEN, THEME_CLASS_PREFIX, THEME_COOKIE_NAME, THEME_FALLBACK_VALUE, TOAST_DEFAULT_DURATION, TabsComponent, TabsContentComponent, TabsListComponent, TabsTriggerComponent, TagComponent, TediPaginationResultsDirective, TediTableColumnsMenuComponent, TediTableComponent, TediTableHeaderButtonComponent, TediTableToolbarComponent, TediTranslationPipe, TediTranslationService, TextComponent, TextFieldComponent, TextGroupComponent, TextGroupLabelComponent, TextGroupValueComponent, TextareaComponent, ThemeService, TimeFieldComponent, TimePickerComponent, TimelineComponent, TimelineDescriptionComponent, TimelineItemComponent, TimelineTimingsBottomDirective, TimelineTitleComponent, ToastComponent, ToastService, ToggleComponent, TooltipComponent, TooltipContentComponent, TooltipTriggerComponent, TruncateComponent, VerticalSpacingDirective, VerticalSpacingItemDirective, addDays, addMonths, addYears, breakpointInput, buildMonthGrid, calculateArrowOffset, calculateVisibleTagCount, computeGroupSpans, controlDescribedBy, cookieSignal, createTablePersistence, deriveControlState, endOfMonth, formatDate, formatLocaleDate, formatLocaleDateHint, formatLocaleDateLong, formatMonthYear, generateUUID, getCardBorderPlacementColor, getDaysInMonth, getFirstDayOfWeek, getFocusableElements, getISOWeek, getMonthNames, getPaddingCssVariables, getPlacementFromPositionChange, getWeekdayNames, groupRowSpan, injectTediTableContext, isAfterDay, isBeforeDay, isDateInRange, isSameDay, isSameMonth, isSameYear, isValidTime, matchAny, matchDate, normalizeTime, parseDate, parseLocaleDate, provideTedi, resolveCardBorderRadius, startOfMonth, startOfWeek, toConnectedPositions, toggleDateInArray, usePagination };
21769
21980
  //# sourceMappingURL=tedi-design-system-angular-tedi.mjs.map