@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
|