@tedi-design-system/angular 8.1.0-rc.3 → 8.1.0-rc.4
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.
|
@@ -17671,6 +17671,165 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
|
|
|
17671
17671
|
}, template: "<tedi-dropdown position=\"bottom-end\">\n <button tedi-button tedi-dropdown-trigger variant=\"neutral\" type=\"button\">\n <tedi-icon name=\"tune\" [size]=\"18\" color=\"inherit\" />\n {{ triggerLabel() ?? defaultLabel() }}\n </button>\n <tedi-dropdown-content>\n @for (column of hideableColumns(); track column.id) {\n @let isVisible = column.getIsVisible();\n @let isLastVisible = isVisible && visibleCount() === 1;\n <li\n tedi-dropdown-item\n [value]=\"column.id\"\n [disabled]=\"isLastVisible\"\n [closeOnSelect]=\"false\"\n (itemSelect)=\"handleToggle(column)\"\n >\n <tedi-dropdown-item-value\n type=\"checkbox\"\n [selected]=\"isVisible\"\n [disabled]=\"isLastVisible\"\n >\n <tedi-dropdown-item-value-label>\n {{ resolveHeader(column) }}\n </tedi-dropdown-item-value-label>\n </tedi-dropdown-item-value>\n </li>\n }\n </tedi-dropdown-content>\n</tedi-dropdown>\n", styles: [".tedi-table-columns-menu{display:inline-flex}.tedi-table-columns-menu__option{display:flex;width:100%}\n"] }]
|
|
17672
17672
|
}], propDecorators: { triggerLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "triggerLabel", required: false }] }] } });
|
|
17673
17673
|
|
|
17674
|
+
class LinkComponent {
|
|
17675
|
+
variant = input("default", ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
17676
|
+
size = input("default", ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
17677
|
+
underline = input(true, ...(ngDevMode ? [{ debugName: "underline" }] : []));
|
|
17678
|
+
target = input(...(ngDevMode ? [undefined, { debugName: "target" }] : []));
|
|
17679
|
+
xs = input(...(ngDevMode ? [undefined, { debugName: "xs" }] : []));
|
|
17680
|
+
sm = input(...(ngDevMode ? [undefined, { debugName: "sm" }] : []));
|
|
17681
|
+
md = input(...(ngDevMode ? [undefined, { debugName: "md" }] : []));
|
|
17682
|
+
lg = input(...(ngDevMode ? [undefined, { debugName: "lg" }] : []));
|
|
17683
|
+
xl = input(...(ngDevMode ? [undefined, { debugName: "xl" }] : []));
|
|
17684
|
+
xxl = input(...(ngDevMode ? [undefined, { debugName: "xxl" }] : []));
|
|
17685
|
+
host = inject(ElementRef);
|
|
17686
|
+
renderer = inject(Renderer2);
|
|
17687
|
+
ngAfterContentChecked() {
|
|
17688
|
+
const childNodes = Array.from(this.host.nativeElement.childNodes);
|
|
17689
|
+
for (const node of childNodes) {
|
|
17690
|
+
if (node.nodeType === Node.TEXT_NODE && node.textContent?.trim()) {
|
|
17691
|
+
if (node.parentNode !== this.host.nativeElement) {
|
|
17692
|
+
continue;
|
|
17693
|
+
}
|
|
17694
|
+
const span = this.renderer.createElement("span");
|
|
17695
|
+
this.renderer.insertBefore(this.host.nativeElement, span, node);
|
|
17696
|
+
this.renderer.appendChild(span, node);
|
|
17697
|
+
}
|
|
17698
|
+
}
|
|
17699
|
+
}
|
|
17700
|
+
breakpointService = inject(BreakpointService);
|
|
17701
|
+
breakpointInputs = computed(() => {
|
|
17702
|
+
return this.breakpointService.getBreakpointInputs({
|
|
17703
|
+
variant: this.variant(),
|
|
17704
|
+
size: this.size(),
|
|
17705
|
+
underline: this.underline(),
|
|
17706
|
+
xs: this.xs(),
|
|
17707
|
+
sm: this.sm(),
|
|
17708
|
+
md: this.md(),
|
|
17709
|
+
lg: this.lg(),
|
|
17710
|
+
xl: this.xl(),
|
|
17711
|
+
xxl: this.xxl(),
|
|
17712
|
+
});
|
|
17713
|
+
}, ...(ngDevMode ? [{ debugName: "breakpointInputs" }] : []));
|
|
17714
|
+
classes = computed(() => {
|
|
17715
|
+
const classList = ["tedi-link"];
|
|
17716
|
+
if (this.breakpointInputs().variant === "inverted") {
|
|
17717
|
+
classList.push("tedi-link--inverted");
|
|
17718
|
+
}
|
|
17719
|
+
if (this.breakpointInputs().size === "small") {
|
|
17720
|
+
classList.push("tedi-link--small");
|
|
17721
|
+
}
|
|
17722
|
+
if (!this.breakpointInputs().underline) {
|
|
17723
|
+
classList.push("tedi-link--no-underline");
|
|
17724
|
+
}
|
|
17725
|
+
return classList.join(" ");
|
|
17726
|
+
}, ...(ngDevMode ? [{ debugName: "classes" }] : []));
|
|
17727
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: LinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
17728
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: LinkComponent, isStandalone: true, selector: "[tedi-link]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, underline: { classPropertyName: "underline", publicName: "underline", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", 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()", "attr.tabIndex": "0" } }, ngImport: i0, template: "<ng-content></ng-content>\n@if (target() === \"_blank\") {\n <span class=\"sr-only\">{{ \"anchor.new-tab\" | tediTranslate }}</span>\n}\n", styles: [".tedi-link{display:inline-flex;text-decoration:none;cursor:pointer;color:var(--link-primary-default)}.tedi-link:hover:not(:disabled,[aria-disabled=true]){color:var(--link-primary-hover)}.tedi-link:hover:not(:disabled,[aria-disabled=true]) .tedi-link__text{text-decoration:underline}.tedi-link:active:not(:disabled,[aria-disabled=true]){color:var(--link-primary-active)}.tedi-link:active:not(:disabled,[aria-disabled=true]) .tedi-link__text{text-decoration:underline}.tedi-link:focus-visible:not(:disabled){color:var(--link-primary-focus);outline:2px solid var(--link-primary-focus);outline-offset:1px;border-radius:0}.tedi-link:focus-visible:not(:disabled) .tedi-link__text{text-decoration:underline}.tedi-link:where(button){padding:0;font:inherit;text-align:inherit;appearance:none;background:none;border:0}.tedi-link--inverted{color:var(--link-inverted-default)}.tedi-link--inverted:hover:not(:disabled,[aria-disabled=true]){color:var(--link-inverted-hover)}.tedi-link--inverted:hover:not(:disabled,[aria-disabled=true]) .tedi-link__text{text-decoration:underline}.tedi-link--inverted:active:not(:disabled,[aria-disabled=true]){color:var(--link-inverted-active)}.tedi-link--inverted:active:not(:disabled,[aria-disabled=true]) .tedi-link__text{text-decoration:underline}.tedi-link--inverted:focus-visible:not(:disabled){color:var(--link-inverted-focus);outline:2px solid var(--link-inverted-focus);outline-offset:1px;border-radius:0}.tedi-link--inverted:focus-visible:not(:disabled) .tedi-link__text{text-decoration:underline}.tedi-link--small{font-size:var(--body-small-regular-size)}.tedi-link:not(.tedi-link--no-underline) :not(tedi-icon){text-decoration:underline}.tedi-link:hover :not(tedi-icon){text-decoration:underline}.tedi-link tedi-icon{--_tedi-icon-size: var(--icon-03);height:fit-content;margin-right:var(--button-sm-inner-spacing);margin-left:var(--button-sm-inner-spacing);line-height:inherit;color:inherit}.tedi-link tedi-icon:first-child{margin-left:0}.tedi-link tedi-icon:last-child{margin-right:0}.tedi-link--small tedi-icon{--_tedi-icon-size: var(--icon-02)}\n"], dependencies: [{ kind: "pipe", type: TediTranslationPipe, name: "tediTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
17729
|
+
}
|
|
17730
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: LinkComponent, decorators: [{
|
|
17731
|
+
type: Component,
|
|
17732
|
+
args: [{ selector: "[tedi-link]", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [TediTranslationPipe], host: {
|
|
17733
|
+
"[class]": "classes()",
|
|
17734
|
+
"[attr.tabIndex]": "0",
|
|
17735
|
+
}, template: "<ng-content></ng-content>\n@if (target() === \"_blank\") {\n <span class=\"sr-only\">{{ \"anchor.new-tab\" | tediTranslate }}</span>\n}\n", styles: [".tedi-link{display:inline-flex;text-decoration:none;cursor:pointer;color:var(--link-primary-default)}.tedi-link:hover:not(:disabled,[aria-disabled=true]){color:var(--link-primary-hover)}.tedi-link:hover:not(:disabled,[aria-disabled=true]) .tedi-link__text{text-decoration:underline}.tedi-link:active:not(:disabled,[aria-disabled=true]){color:var(--link-primary-active)}.tedi-link:active:not(:disabled,[aria-disabled=true]) .tedi-link__text{text-decoration:underline}.tedi-link:focus-visible:not(:disabled){color:var(--link-primary-focus);outline:2px solid var(--link-primary-focus);outline-offset:1px;border-radius:0}.tedi-link:focus-visible:not(:disabled) .tedi-link__text{text-decoration:underline}.tedi-link:where(button){padding:0;font:inherit;text-align:inherit;appearance:none;background:none;border:0}.tedi-link--inverted{color:var(--link-inverted-default)}.tedi-link--inverted:hover:not(:disabled,[aria-disabled=true]){color:var(--link-inverted-hover)}.tedi-link--inverted:hover:not(:disabled,[aria-disabled=true]) .tedi-link__text{text-decoration:underline}.tedi-link--inverted:active:not(:disabled,[aria-disabled=true]){color:var(--link-inverted-active)}.tedi-link--inverted:active:not(:disabled,[aria-disabled=true]) .tedi-link__text{text-decoration:underline}.tedi-link--inverted:focus-visible:not(:disabled){color:var(--link-inverted-focus);outline:2px solid var(--link-inverted-focus);outline-offset:1px;border-radius:0}.tedi-link--inverted:focus-visible:not(:disabled) .tedi-link__text{text-decoration:underline}.tedi-link--small{font-size:var(--body-small-regular-size)}.tedi-link:not(.tedi-link--no-underline) :not(tedi-icon){text-decoration:underline}.tedi-link:hover :not(tedi-icon){text-decoration:underline}.tedi-link tedi-icon{--_tedi-icon-size: var(--icon-03);height:fit-content;margin-right:var(--button-sm-inner-spacing);margin-left:var(--button-sm-inner-spacing);line-height:inherit;color:inherit}.tedi-link tedi-icon:first-child{margin-left:0}.tedi-link tedi-icon:last-child{margin-right:0}.tedi-link--small tedi-icon{--_tedi-icon-size: var(--icon-02)}\n"] }]
|
|
17736
|
+
}], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], underline: [{ type: i0.Input, args: [{ isSignal: true, alias: "underline", required: false }] }], target: [{ type: i0.Input, args: [{ isSignal: true, alias: "target", 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 }] }] } });
|
|
17737
|
+
|
|
17738
|
+
const DEFAULT_MAX_LENGTH = 200;
|
|
17739
|
+
const characterSegmenter = new Intl.Segmenter(undefined, {
|
|
17740
|
+
granularity: "grapheme",
|
|
17741
|
+
});
|
|
17742
|
+
function normalizeMaxLength(value) {
|
|
17743
|
+
const lengths = breakpointInput(value);
|
|
17744
|
+
const normalized = { ...lengths };
|
|
17745
|
+
for (const key of Object.keys(lengths)) {
|
|
17746
|
+
const length = lengths[key];
|
|
17747
|
+
if (length !== undefined) {
|
|
17748
|
+
normalized[key] = Number.isFinite(length)
|
|
17749
|
+
? Math.max(0, Math.floor(length))
|
|
17750
|
+
: DEFAULT_MAX_LENGTH;
|
|
17751
|
+
}
|
|
17752
|
+
}
|
|
17753
|
+
return normalized;
|
|
17754
|
+
}
|
|
17755
|
+
class TruncateComponent {
|
|
17756
|
+
/**
|
|
17757
|
+
* Text to display and truncate when it exceeds `maxLength`.
|
|
17758
|
+
*/
|
|
17759
|
+
text = input.required(...(ngDevMode ? [{ debugName: "text" }] : []));
|
|
17760
|
+
/**
|
|
17761
|
+
* Maximum characters shown while collapsed, excluding the ellipsis.
|
|
17762
|
+
* Accepts a number or a breakpoint object, e.g. `{ xs: 100, md: 200 }`.
|
|
17763
|
+
* @default 200
|
|
17764
|
+
*/
|
|
17765
|
+
maxLength = input({ xs: DEFAULT_MAX_LENGTH }, ...(ngDevMode ? [{ debugName: "maxLength", transform: normalizeMaxLength }] : [{ transform: normalizeMaxLength }]));
|
|
17766
|
+
/**
|
|
17767
|
+
* Text appended when content is truncated.
|
|
17768
|
+
* @default "..."
|
|
17769
|
+
*/
|
|
17770
|
+
ellipsis = input("...", ...(ngDevMode ? [{ debugName: "ellipsis" }] : []));
|
|
17771
|
+
/**
|
|
17772
|
+
* Shows an expand/collapse button when the text exceeds `maxLength`.
|
|
17773
|
+
* When false, `expanded` can still be controlled programmatically.
|
|
17774
|
+
* @default true
|
|
17775
|
+
*/
|
|
17776
|
+
expandable = input(true, ...(ngDevMode ? [{ debugName: "expandable" }] : []));
|
|
17777
|
+
/**
|
|
17778
|
+
* Whether to show the full text. Supports two-way binding with `[(expanded)]`.
|
|
17779
|
+
* @default false
|
|
17780
|
+
*/
|
|
17781
|
+
expanded = model(false, ...(ngDevMode ? [{ debugName: "expanded" }] : []));
|
|
17782
|
+
breakpointService = inject(BreakpointService);
|
|
17783
|
+
textId = `tedi-truncate-text-${generateUUID()}`;
|
|
17784
|
+
resolvedMaxLength = computed(() => {
|
|
17785
|
+
const value = this.maxLength();
|
|
17786
|
+
if (value.xxl !== undefined &&
|
|
17787
|
+
this.breakpointService.isAboveBreakpoint("xxl")()) {
|
|
17788
|
+
return value.xxl;
|
|
17789
|
+
}
|
|
17790
|
+
if (value.xl !== undefined &&
|
|
17791
|
+
this.breakpointService.isAboveBreakpoint("xl")()) {
|
|
17792
|
+
return value.xl;
|
|
17793
|
+
}
|
|
17794
|
+
if (value.lg !== undefined &&
|
|
17795
|
+
this.breakpointService.isAboveBreakpoint("lg")()) {
|
|
17796
|
+
return value.lg;
|
|
17797
|
+
}
|
|
17798
|
+
if (value.md !== undefined &&
|
|
17799
|
+
this.breakpointService.isAboveBreakpoint("md")()) {
|
|
17800
|
+
return value.md;
|
|
17801
|
+
}
|
|
17802
|
+
if (value.sm !== undefined &&
|
|
17803
|
+
this.breakpointService.isAboveBreakpoint("sm")()) {
|
|
17804
|
+
return value.sm;
|
|
17805
|
+
}
|
|
17806
|
+
return value.xs;
|
|
17807
|
+
}, ...(ngDevMode ? [{ debugName: "resolvedMaxLength" }] : []));
|
|
17808
|
+
characters = computed(() => Array.from(characterSegmenter.segment(this.text()), ({ segment }) => segment), ...(ngDevMode ? [{ debugName: "characters" }] : []));
|
|
17809
|
+
exceedsMaxLength = computed(() => this.characters().length > this.resolvedMaxLength(), ...(ngDevMode ? [{ debugName: "exceedsMaxLength" }] : []));
|
|
17810
|
+
isTruncated = computed(() => this.exceedsMaxLength() && !this.expanded(), ...(ngDevMode ? [{ debugName: "isTruncated" }] : []));
|
|
17811
|
+
showToggle = computed(() => this.exceedsMaxLength() && this.expandable(), ...(ngDevMode ? [{ debugName: "showToggle" }] : []));
|
|
17812
|
+
displayText = computed(() => {
|
|
17813
|
+
const text = this.text();
|
|
17814
|
+
if (!this.isTruncated()) {
|
|
17815
|
+
return text;
|
|
17816
|
+
}
|
|
17817
|
+
return `${this.characters().slice(0, this.resolvedMaxLength()).join("").trimEnd()}${this.ellipsis()}`;
|
|
17818
|
+
}, ...(ngDevMode ? [{ debugName: "displayText" }] : []));
|
|
17819
|
+
toggle() {
|
|
17820
|
+
this.expanded.update((expanded) => !expanded);
|
|
17821
|
+
}
|
|
17822
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: TruncateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
17823
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: TruncateComponent, isStandalone: true, selector: "tedi-truncate", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: true, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, ellipsis: { classPropertyName: "ellipsis", publicName: "ellipsis", isSignal: true, isRequired: false, transformFunction: null }, expandable: { classPropertyName: "expandable", publicName: "expandable", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expanded: "expandedChange" }, host: { properties: { "class.tedi-truncate--expanded": "expanded()" }, classAttribute: "tedi-truncate" }, ngImport: i0, template: "<span tedi-text color=\"secondary\" class=\"tedi-truncate__text\" [id]=\"textId\">{{\n displayText()\n}}</span>\n@if (showToggle()) {\n <button\n tedi-link\n type=\"button\"\n class=\"tedi-truncate__toggle\"\n [attr.aria-expanded]=\"expanded()\"\n [attr.aria-controls]=\"textId\"\n (click)=\"toggle()\"\n >\n {{\n (expanded() ? \"truncate.see-less\" : \"truncate.see-more\") | tediTranslate\n }}\n </button>\n}\n", styles: [".tedi-truncate:not(.tedi-truncate--expanded) .tedi-truncate__toggle{margin-inline-start:var(--tedi-dimensions-03)}.tedi-truncate--expanded .tedi-truncate__toggle{display:flex}\n"], dependencies: [{ kind: "component", type: TextComponent, selector: "[tedi-text]", inputs: ["modifiers", "color"] }, { kind: "component", type: LinkComponent, selector: "[tedi-link]", inputs: ["variant", "size", "underline", "target", "xs", "sm", "md", "lg", "xl", "xxl"] }, { kind: "pipe", type: TediTranslationPipe, name: "tediTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
17824
|
+
}
|
|
17825
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: TruncateComponent, decorators: [{
|
|
17826
|
+
type: Component,
|
|
17827
|
+
args: [{ selector: "tedi-truncate", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [TextComponent, LinkComponent, TediTranslationPipe], host: {
|
|
17828
|
+
class: "tedi-truncate",
|
|
17829
|
+
"[class.tedi-truncate--expanded]": "expanded()",
|
|
17830
|
+
}, template: "<span tedi-text color=\"secondary\" class=\"tedi-truncate__text\" [id]=\"textId\">{{\n displayText()\n}}</span>\n@if (showToggle()) {\n <button\n tedi-link\n type=\"button\"\n class=\"tedi-truncate__toggle\"\n [attr.aria-expanded]=\"expanded()\"\n [attr.aria-controls]=\"textId\"\n (click)=\"toggle()\"\n >\n {{\n (expanded() ? \"truncate.see-less\" : \"truncate.see-more\") | tediTranslate\n }}\n </button>\n}\n", styles: [".tedi-truncate:not(.tedi-truncate--expanded) .tedi-truncate__toggle{margin-inline-start:var(--tedi-dimensions-03)}.tedi-truncate--expanded .tedi-truncate__toggle{display:flex}\n"] }]
|
|
17831
|
+
}], propDecorators: { text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: true }] }], maxLength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxLength", required: false }] }], ellipsis: [{ type: i0.Input, args: [{ isSignal: true, alias: "ellipsis", required: false }] }], expandable: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandable", required: false }] }], expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: false }] }, { type: i0.Output, args: ["expandedChange"] }] } });
|
|
17832
|
+
|
|
17674
17833
|
class FilterGroupComponent {
|
|
17675
17834
|
/**
|
|
17676
17835
|
* Multi-select mode allows multiple filters to be selected simultaneously.
|
|
@@ -19121,70 +19280,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
|
|
|
19121
19280
|
args: ["class"]
|
|
19122
19281
|
}] } });
|
|
19123
19282
|
|
|
19124
|
-
class LinkComponent {
|
|
19125
|
-
variant = input("default", ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
19126
|
-
size = input("default", ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
19127
|
-
underline = input(true, ...(ngDevMode ? [{ debugName: "underline" }] : []));
|
|
19128
|
-
target = input(...(ngDevMode ? [undefined, { debugName: "target" }] : []));
|
|
19129
|
-
xs = input(...(ngDevMode ? [undefined, { debugName: "xs" }] : []));
|
|
19130
|
-
sm = input(...(ngDevMode ? [undefined, { debugName: "sm" }] : []));
|
|
19131
|
-
md = input(...(ngDevMode ? [undefined, { debugName: "md" }] : []));
|
|
19132
|
-
lg = input(...(ngDevMode ? [undefined, { debugName: "lg" }] : []));
|
|
19133
|
-
xl = input(...(ngDevMode ? [undefined, { debugName: "xl" }] : []));
|
|
19134
|
-
xxl = input(...(ngDevMode ? [undefined, { debugName: "xxl" }] : []));
|
|
19135
|
-
host = inject(ElementRef);
|
|
19136
|
-
renderer = inject(Renderer2);
|
|
19137
|
-
ngAfterContentChecked() {
|
|
19138
|
-
const childNodes = Array.from(this.host.nativeElement.childNodes);
|
|
19139
|
-
for (const node of childNodes) {
|
|
19140
|
-
if (node.nodeType === Node.TEXT_NODE && node.textContent?.trim()) {
|
|
19141
|
-
if (node.parentNode !== this.host.nativeElement) {
|
|
19142
|
-
continue;
|
|
19143
|
-
}
|
|
19144
|
-
const span = this.renderer.createElement("span");
|
|
19145
|
-
this.renderer.insertBefore(this.host.nativeElement, span, node);
|
|
19146
|
-
this.renderer.appendChild(span, node);
|
|
19147
|
-
}
|
|
19148
|
-
}
|
|
19149
|
-
}
|
|
19150
|
-
breakpointService = inject(BreakpointService);
|
|
19151
|
-
breakpointInputs = computed(() => {
|
|
19152
|
-
return this.breakpointService.getBreakpointInputs({
|
|
19153
|
-
variant: this.variant(),
|
|
19154
|
-
size: this.size(),
|
|
19155
|
-
underline: this.underline(),
|
|
19156
|
-
xs: this.xs(),
|
|
19157
|
-
sm: this.sm(),
|
|
19158
|
-
md: this.md(),
|
|
19159
|
-
lg: this.lg(),
|
|
19160
|
-
xl: this.xl(),
|
|
19161
|
-
xxl: this.xxl(),
|
|
19162
|
-
});
|
|
19163
|
-
}, ...(ngDevMode ? [{ debugName: "breakpointInputs" }] : []));
|
|
19164
|
-
classes = computed(() => {
|
|
19165
|
-
const classList = ["tedi-link"];
|
|
19166
|
-
if (this.breakpointInputs().variant === "inverted") {
|
|
19167
|
-
classList.push("tedi-link--inverted");
|
|
19168
|
-
}
|
|
19169
|
-
if (this.breakpointInputs().size === "small") {
|
|
19170
|
-
classList.push("tedi-link--small");
|
|
19171
|
-
}
|
|
19172
|
-
if (!this.breakpointInputs().underline) {
|
|
19173
|
-
classList.push("tedi-link--no-underline");
|
|
19174
|
-
}
|
|
19175
|
-
return classList.join(" ");
|
|
19176
|
-
}, ...(ngDevMode ? [{ debugName: "classes" }] : []));
|
|
19177
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: LinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
19178
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: LinkComponent, isStandalone: true, selector: "[tedi-link]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, underline: { classPropertyName: "underline", publicName: "underline", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", 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()", "attr.tabIndex": "0" } }, ngImport: i0, template: "<ng-content></ng-content>\n@if (target() === \"_blank\") {\n <span class=\"sr-only\">{{ \"anchor.new-tab\" | tediTranslate }}</span>\n}\n", styles: [".tedi-link{display:inline-flex;text-decoration:none;cursor:pointer;color:var(--link-primary-default)}.tedi-link:hover:not(:disabled,[aria-disabled=true]){color:var(--link-primary-hover)}.tedi-link:hover:not(:disabled,[aria-disabled=true]) .tedi-link__text{text-decoration:underline}.tedi-link:active:not(:disabled,[aria-disabled=true]){color:var(--link-primary-active)}.tedi-link:active:not(:disabled,[aria-disabled=true]) .tedi-link__text{text-decoration:underline}.tedi-link:focus-visible:not(:disabled){color:var(--link-primary-focus);outline:2px solid var(--link-primary-focus);outline-offset:1px;border-radius:0}.tedi-link:focus-visible:not(:disabled) .tedi-link__text{text-decoration:underline}.tedi-link:where(button){padding:0;font:inherit;text-align:inherit;appearance:none;background:none;border:0}.tedi-link--inverted{color:var(--link-inverted-default)}.tedi-link--inverted:hover:not(:disabled,[aria-disabled=true]){color:var(--link-inverted-hover)}.tedi-link--inverted:hover:not(:disabled,[aria-disabled=true]) .tedi-link__text{text-decoration:underline}.tedi-link--inverted:active:not(:disabled,[aria-disabled=true]){color:var(--link-inverted-active)}.tedi-link--inverted:active:not(:disabled,[aria-disabled=true]) .tedi-link__text{text-decoration:underline}.tedi-link--inverted:focus-visible:not(:disabled){color:var(--link-inverted-focus);outline:2px solid var(--link-inverted-focus);outline-offset:1px;border-radius:0}.tedi-link--inverted:focus-visible:not(:disabled) .tedi-link__text{text-decoration:underline}.tedi-link--small{font-size:var(--body-small-regular-size)}.tedi-link:not(.tedi-link--no-underline) :not(tedi-icon){text-decoration:underline}.tedi-link:hover :not(tedi-icon){text-decoration:underline}.tedi-link tedi-icon{--_tedi-icon-size: var(--icon-03);height:fit-content;margin-right:var(--button-sm-inner-spacing);margin-left:var(--button-sm-inner-spacing);line-height:inherit;color:inherit}.tedi-link tedi-icon:first-child{margin-left:0}.tedi-link tedi-icon:last-child{margin-right:0}.tedi-link--small tedi-icon{--_tedi-icon-size: var(--icon-02)}\n"], dependencies: [{ kind: "pipe", type: TediTranslationPipe, name: "tediTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
19179
|
-
}
|
|
19180
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: LinkComponent, decorators: [{
|
|
19181
|
-
type: Component,
|
|
19182
|
-
args: [{ selector: "[tedi-link]", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [TediTranslationPipe], host: {
|
|
19183
|
-
"[class]": "classes()",
|
|
19184
|
-
"[attr.tabIndex]": "0",
|
|
19185
|
-
}, template: "<ng-content></ng-content>\n@if (target() === \"_blank\") {\n <span class=\"sr-only\">{{ \"anchor.new-tab\" | tediTranslate }}</span>\n}\n", styles: [".tedi-link{display:inline-flex;text-decoration:none;cursor:pointer;color:var(--link-primary-default)}.tedi-link:hover:not(:disabled,[aria-disabled=true]){color:var(--link-primary-hover)}.tedi-link:hover:not(:disabled,[aria-disabled=true]) .tedi-link__text{text-decoration:underline}.tedi-link:active:not(:disabled,[aria-disabled=true]){color:var(--link-primary-active)}.tedi-link:active:not(:disabled,[aria-disabled=true]) .tedi-link__text{text-decoration:underline}.tedi-link:focus-visible:not(:disabled){color:var(--link-primary-focus);outline:2px solid var(--link-primary-focus);outline-offset:1px;border-radius:0}.tedi-link:focus-visible:not(:disabled) .tedi-link__text{text-decoration:underline}.tedi-link:where(button){padding:0;font:inherit;text-align:inherit;appearance:none;background:none;border:0}.tedi-link--inverted{color:var(--link-inverted-default)}.tedi-link--inverted:hover:not(:disabled,[aria-disabled=true]){color:var(--link-inverted-hover)}.tedi-link--inverted:hover:not(:disabled,[aria-disabled=true]) .tedi-link__text{text-decoration:underline}.tedi-link--inverted:active:not(:disabled,[aria-disabled=true]){color:var(--link-inverted-active)}.tedi-link--inverted:active:not(:disabled,[aria-disabled=true]) .tedi-link__text{text-decoration:underline}.tedi-link--inverted:focus-visible:not(:disabled){color:var(--link-inverted-focus);outline:2px solid var(--link-inverted-focus);outline-offset:1px;border-radius:0}.tedi-link--inverted:focus-visible:not(:disabled) .tedi-link__text{text-decoration:underline}.tedi-link--small{font-size:var(--body-small-regular-size)}.tedi-link:not(.tedi-link--no-underline) :not(tedi-icon){text-decoration:underline}.tedi-link:hover :not(tedi-icon){text-decoration:underline}.tedi-link tedi-icon{--_tedi-icon-size: var(--icon-03);height:fit-content;margin-right:var(--button-sm-inner-spacing);margin-left:var(--button-sm-inner-spacing);line-height:inherit;color:inherit}.tedi-link tedi-icon:first-child{margin-left:0}.tedi-link tedi-icon:last-child{margin-right:0}.tedi-link--small tedi-icon{--_tedi-icon-size: var(--icon-02)}\n"] }]
|
|
19186
|
-
}], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], underline: [{ type: i0.Input, args: [{ isSignal: true, alias: "underline", required: false }] }], target: [{ type: i0.Input, args: [{ isSignal: true, alias: "target", 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 }] }] } });
|
|
19187
|
-
|
|
19188
19283
|
class FooterBottomComponent {
|
|
19189
19284
|
injector = inject(Injector);
|
|
19190
19285
|
renderer = inject(Renderer2);
|
|
@@ -21457,5 +21552,5 @@ function provideTedi(config = {}) {
|
|
|
21457
21552
|
* Generated bundle index. Do not edit.
|
|
21458
21553
|
*/
|
|
21459
21554
|
|
|
21460
|
-
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, VerticalSpacingDirective, VerticalSpacingItemDirective, addDays, addMonths, addYears, breakpointInput, buildMonthGrid, calculateArrowOffset, calculateVisibleTagCount, computeGroupSpans, cookieSignal, createTablePersistence, 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 };
|
|
21555
|
+
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, cookieSignal, createTablePersistence, 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 };
|
|
21461
21556
|
//# sourceMappingURL=tedi-design-system-angular-tedi.mjs.map
|