@taiga-ui/kit
Version:
Taiga UI Angular main components kit
162 lines (151 loc) • 26.8 kB
JavaScript
import * as i0 from '@angular/core';
import { ChangeDetectionStrategy, ViewEncapsulation, Component, Directive, inject, input, computed } from '@angular/core';
import { TUI_VERSION } from '@taiga-ui/cdk/constants';
import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
import { toSignal } from '@angular/core/rxjs-interop';
import { WaResizeObserverService } from '@ng-web-apis/resize-observer';
import { map } from 'rxjs';
import { coerceBooleanProperty } from '@angular/cdk/coercion';
let Styles$1 = class Styles {
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.21", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-fixed-gradient-5.7.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiProgressFixedGradient]:where(*[data-tui-version=\"5.7.0\"])::-moz-progress-bar{inline-size:100%!important;clip-path:inset(0 calc(100% - var(--tui-progress-percent)) 0 0 round var(--tui-radius-m));transition:clip-path var(--tui-duration) linear;margin-inline-end:calc(-100% + var(--tui-progress-percent))}[tuiProgressFixedGradient]:where(*[data-tui-version=\"5.7.0\"])::-webkit-progress-value{inline-size:100%!important;clip-path:inset(0 calc(100% - var(--tui-progress-percent)) 0 0 round var(--tui-radius-m));transition:clip-path var(--tui-duration) linear}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
};
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: Styles$1, decorators: [{
type: Component,
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-fixed-gradient-${TUI_VERSION}`, styles: ["[tuiProgressFixedGradient]:where(*[data-tui-version=\"5.7.0\"])::-moz-progress-bar{inline-size:100%!important;clip-path:inset(0 calc(100% - var(--tui-progress-percent)) 0 0 round var(--tui-radius-m));transition:clip-path var(--tui-duration) linear;margin-inline-end:calc(-100% + var(--tui-progress-percent))}[tuiProgressFixedGradient]:where(*[data-tui-version=\"5.7.0\"])::-webkit-progress-value{inline-size:100%!important;clip-path:inset(0 calc(100% - var(--tui-progress-percent)) 0 0 round var(--tui-radius-m));transition:clip-path var(--tui-duration) linear}\n"] }]
}] });
class TuiProgressFixedGradientDirective {
constructor() {
this.nothing = tuiWithStyles(Styles$1);
this.el = tuiInjectElement();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiProgressFixedGradientDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: TuiProgressFixedGradientDirective, isStandalone: true, selector: "progress[tuiProgressBar][tuiProgressFixedGradient]", host: { properties: { "style.--tui-progress-percent.%": "el.position * 100" } }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiProgressFixedGradientDirective, decorators: [{
type: Directive,
args: [{
selector: 'progress[tuiProgressBar][tuiProgressFixedGradient]',
host: { '[style.--tui-progress-percent.%]': 'el.position * 100' },
}]
}] });
const TUI_PROGRESS_DEFAULT_OPTIONS = {
color: null,
size: 'm',
};
const [TUI_PROGRESS_OPTIONS, tuiProgressOptionsProvider] = tuiCreateOptions(TUI_PROGRESS_DEFAULT_OPTIONS);
class TuiProgressBar {
constructor() {
this.options = inject(TUI_PROGRESS_OPTIONS);
this.color = input(this.options.color);
this.size = input(this.options.size);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiProgressBar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.21", type: TuiProgressBar, isStandalone: true, selector: "progress[tuiProgressBar]", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.7.0" }, properties: { "attr.data-size": "size()", "style.--tui-progress-color": "color()" } }, ngImport: i0, template: '', isInline: true, styles: ["@keyframes tuiIndeterminateAnimation{50%{background-position:left}}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"]){-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;--t-height: .75rem;display:block;inline-size:100%;block-size:var(--t-height);color:var(--tui-background-accent-1);background:var(--tui-background-neutral-2);clip-path:inset(0 .5px round var(--tui-radius-m));overflow:hidden;border-radius:1rem;flex-shrink:0}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])::-webkit-progress-value{transition:inline-size var(--tui-duration) linear}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])::-webkit-progress-value{background:var(--tui-progress-color, currentColor);border-radius:inherit}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])::-moz-progress-bar{background:var(--tui-progress-color, currentColor);border-radius:inherit}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])[data-size=xxs]{--t-height: .125rem}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])[data-size=xs]{--t-height: .25rem}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])[data-size=s]{--t-height: .5rem}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])[data-size=l]{--t-height: 1rem}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])[data-size=xl]{--t-height: 1.25rem}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])[data-size=xxl]{--t-height: 1.5rem}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"]):indeterminate{background:linear-gradient(to right,var(--tui-background-neutral-2) 0 45%,var(--tui-progress-color, currentColor) 45% 55%,var(--tui-background-neutral-2) 55% 100%) right;background-size:225%;animation:tuiIndeterminateAnimation 3s infinite ease-in-out}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"]):indeterminate::-webkit-progress-value{background:transparent}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"]):indeterminate::-moz-progress-bar{background:transparent}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])::-webkit-progress-inner-element{border-radius:inherit}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])::-webkit-progress-bar{background:transparent;border-radius:inherit}label[tuiProgressLabel] [tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"]):not(:first-child){position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;background:transparent}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiProgressBar, decorators: [{
type: Component,
args: [{ selector: 'progress[tuiProgressBar]', template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
'data-tui-version': TUI_VERSION,
'[attr.data-size]': 'size()',
'[style.--tui-progress-color]': 'color()',
}, styles: ["@keyframes tuiIndeterminateAnimation{50%{background-position:left}}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"]){-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;--t-height: .75rem;display:block;inline-size:100%;block-size:var(--t-height);color:var(--tui-background-accent-1);background:var(--tui-background-neutral-2);clip-path:inset(0 .5px round var(--tui-radius-m));overflow:hidden;border-radius:1rem;flex-shrink:0}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])::-webkit-progress-value{transition:inline-size var(--tui-duration) linear}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])::-webkit-progress-value{background:var(--tui-progress-color, currentColor);border-radius:inherit}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])::-moz-progress-bar{background:var(--tui-progress-color, currentColor);border-radius:inherit}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])[data-size=xxs]{--t-height: .125rem}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])[data-size=xs]{--t-height: .25rem}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])[data-size=s]{--t-height: .5rem}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])[data-size=l]{--t-height: 1rem}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])[data-size=xl]{--t-height: 1.25rem}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])[data-size=xxl]{--t-height: 1.5rem}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"]):indeterminate{background:linear-gradient(to right,var(--tui-background-neutral-2) 0 45%,var(--tui-progress-color, currentColor) 45% 55%,var(--tui-background-neutral-2) 55% 100%) right;background-size:225%;animation:tuiIndeterminateAnimation 3s infinite ease-in-out}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"]):indeterminate::-webkit-progress-value{background:transparent}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"]):indeterminate::-moz-progress-bar{background:transparent}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])::-webkit-progress-inner-element{border-radius:inherit}[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])::-webkit-progress-bar{background:transparent;border-radius:inherit}label[tuiProgressLabel] [tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"]):not(:first-child){position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;background:transparent}\n"] }]
}] });
class TuiProgressColorSegments {
constructor() {
this.el = tuiInjectElement();
this.width = toSignal(inject(WaResizeObserverService, { self: true }).pipe(map(([x]) => x?.contentRect.width ?? 0)), { initialValue: this.el.offsetWidth });
this.gradient = computed((colors = this.colors()) => {
if (!colors.length) {
return null;
}
const segmentWidth = this.width() / colors.length;
const colorsString = colors.reduce((acc, color, i) => `${acc}, ${color} ${i * segmentWidth}px ${(i + 1) * segmentWidth}px`, '');
return `linear-gradient(to right${colorsString})`;
});
this.colors = input([], {
alias: 'tuiProgressColorSegments',
});
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiProgressColorSegments, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.21", type: TuiProgressColorSegments, isStandalone: true, selector: "progress[tuiProgressBar][tuiProgressColorSegments]", inputs: { colors: { classPropertyName: "colors", publicName: "tuiProgressColorSegments", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--tui-progress-color": "gradient()" } }, providers: [WaResizeObserverService], ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiProgressColorSegments, decorators: [{
type: Directive,
args: [{
selector: 'progress[tuiProgressBar][tuiProgressColorSegments]',
providers: [WaResizeObserverService],
host: { '[style.--tui-progress-color]': 'gradient()' },
}]
}] });
class TuiProgressCircle {
constructor() {
this.options = inject(TUI_PROGRESS_OPTIONS);
this.ratio = computed((ratio = this.value() / this.max()) => Number.isFinite(ratio) ? ratio : 0);
this.value = input(0);
this.max = input(1);
this.color = input(this.options.color);
this.size = input(this.options.size);
this.arc = input(false, { transform: coerceBooleanProperty });
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiProgressCircle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.21", type: TuiProgressCircle, isStandalone: true, selector: "tui-progress-circle", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, arc: { classPropertyName: "arc", publicName: "arc", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "size()", "class._arc": "arc()", "style.--t-progress-ratio": "ratio()", "style.--tui-progress-color": "color()" } }, ngImport: i0, template: "<progress\n class=\"t-hidden-progress\"\n [max]=\"max()\"\n [value]=\"value()\"\n></progress>\n\n<svg\n aria-hidden=\"true\"\n height=\"100%\"\n width=\"100%\"\n class=\"t-svg\"\n>\n <circle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-track\"\n />\n\n <circle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-progress\"\n />\n</svg>\n", styles: [":host{--t-stroke-width: var(--tui-thickness, .375em);position:relative;display:block;color:var(--tui-background-accent-1);transform:rotate(-90deg);transform-origin:center;font-size:1rem;inline-size:var(--t-diameter);min-inline-size:var(--t-diameter);block-size:var(--t-diameter);border-radius:100%;-webkit-mask-image:radial-gradient(closest-side,transparent calc(100% - var(--t-stroke-width)),#000 calc(100% - var(--t-stroke-width) + .5px));mask-image:radial-gradient(closest-side,transparent calc(100% - var(--t-stroke-width)),#000 calc(100% - var(--t-stroke-width) + .5px))}:host._arc{transform:rotate(135deg)}:host[data-size=xxs]{--t-diameter: 2em}:host[data-size=xs]{--t-diameter: 2.5em}:host[data-size=s]{--t-diameter: 3.5em}:host[data-size=m]{--t-diameter: 4em}:host[data-size=l]{--t-diameter: 5em}:host[data-size=xl]{--t-diameter: 6em}:host[data-size=xxl]{--t-diameter: 8em}.t-track,.t-progress{fill:transparent;stroke-linecap:round;stroke-width:var(--t-stroke-width);r:calc((var(--t-diameter) - var(--t-stroke-width)) / 2)}.t-track{stroke:var(--tui-background-neutral-1)}:host._arc .t-track{stroke-dasharray:calc(.75 * calc(2 * 3.14159265 * calc((var(--t-diameter) - var(--t-stroke-width)) / 2))) calc(.25 * calc(2 * 3.14159265 * calc((var(--t-diameter) - var(--t-stroke-width)) / 2)))}.t-progress{transition-property:stroke-dashoffset,stroke-dasharray;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;transition-timing-function:linear;stroke:var(--tui-progress-color, currentColor);stroke-dasharray:calc(2 * 3.14159265 * calc((var(--t-diameter) - var(--t-stroke-width)) / 2));stroke-dashoffset:calc(calc(2 * 3.14159265 * calc((var(--t-diameter) - var(--t-stroke-width)) / 2)) - var(--t-progress-ratio) * calc(2 * 3.14159265 * calc((var(--t-diameter) - var(--t-stroke-width)) / 2)))}:host._arc .t-progress{stroke-dashoffset:.1px;stroke-dasharray:calc(.75 * var(--t-progress-ratio) * calc(2 * 3.14159265 * calc((var(--t-diameter) - var(--t-stroke-width)) / 2))) calc(calc(2 * 3.14159265 * calc((var(--t-diameter) - var(--t-stroke-width)) / 2)))}.t-hidden-progress{position:absolute;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0}.t-svg{overflow:unset}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiProgressCircle, decorators: [{
type: Component,
args: [{ selector: 'tui-progress-circle', changeDetection: ChangeDetectionStrategy.OnPush, host: {
'[attr.data-size]': 'size()',
'[class._arc]': 'arc()',
'[style.--t-progress-ratio]': 'ratio()',
'[style.--tui-progress-color]': 'color()',
}, template: "<progress\n class=\"t-hidden-progress\"\n [max]=\"max()\"\n [value]=\"value()\"\n></progress>\n\n<svg\n aria-hidden=\"true\"\n height=\"100%\"\n width=\"100%\"\n class=\"t-svg\"\n>\n <circle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-track\"\n />\n\n <circle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-progress\"\n />\n</svg>\n", styles: [":host{--t-stroke-width: var(--tui-thickness, .375em);position:relative;display:block;color:var(--tui-background-accent-1);transform:rotate(-90deg);transform-origin:center;font-size:1rem;inline-size:var(--t-diameter);min-inline-size:var(--t-diameter);block-size:var(--t-diameter);border-radius:100%;-webkit-mask-image:radial-gradient(closest-side,transparent calc(100% - var(--t-stroke-width)),#000 calc(100% - var(--t-stroke-width) + .5px));mask-image:radial-gradient(closest-side,transparent calc(100% - var(--t-stroke-width)),#000 calc(100% - var(--t-stroke-width) + .5px))}:host._arc{transform:rotate(135deg)}:host[data-size=xxs]{--t-diameter: 2em}:host[data-size=xs]{--t-diameter: 2.5em}:host[data-size=s]{--t-diameter: 3.5em}:host[data-size=m]{--t-diameter: 4em}:host[data-size=l]{--t-diameter: 5em}:host[data-size=xl]{--t-diameter: 6em}:host[data-size=xxl]{--t-diameter: 8em}.t-track,.t-progress{fill:transparent;stroke-linecap:round;stroke-width:var(--t-stroke-width);r:calc((var(--t-diameter) - var(--t-stroke-width)) / 2)}.t-track{stroke:var(--tui-background-neutral-1)}:host._arc .t-track{stroke-dasharray:calc(.75 * calc(2 * 3.14159265 * calc((var(--t-diameter) - var(--t-stroke-width)) / 2))) calc(.25 * calc(2 * 3.14159265 * calc((var(--t-diameter) - var(--t-stroke-width)) / 2)))}.t-progress{transition-property:stroke-dashoffset,stroke-dasharray;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;transition-timing-function:linear;stroke:var(--tui-progress-color, currentColor);stroke-dasharray:calc(2 * 3.14159265 * calc((var(--t-diameter) - var(--t-stroke-width)) / 2));stroke-dashoffset:calc(calc(2 * 3.14159265 * calc((var(--t-diameter) - var(--t-stroke-width)) / 2)) - var(--t-progress-ratio) * calc(2 * 3.14159265 * calc((var(--t-diameter) - var(--t-stroke-width)) / 2)))}:host._arc .t-progress{stroke-dashoffset:.1px;stroke-dasharray:calc(.75 * var(--t-progress-ratio) * calc(2 * 3.14159265 * calc((var(--t-diameter) - var(--t-stroke-width)) / 2))) calc(calc(2 * 3.14159265 * calc((var(--t-diameter) - var(--t-stroke-width)) / 2)))}.t-hidden-progress{position:absolute;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0}.t-svg{overflow:unset}\n"] }]
}] });
class TuiProgressLabel {
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiProgressLabel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.21", type: TuiProgressLabel, isStandalone: true, selector: "label[tuiProgressLabel]", ngImport: i0, template: "<ng-content select=\"progress\" />\n<ng-content select=\"tui-progress-circle\" />\n<span class=\"t-label\">\n <ng-content />\n</span>\n", styles: [":host{position:relative;display:inline-block;color:var(--tui-text-primary)}.t-label{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;display:flex;font:var(--tui-typography-body-s);flex-direction:column;justify-content:center;align-items:center}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiProgressLabel, decorators: [{
type: Component,
args: [{ selector: 'label[tuiProgressLabel]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"progress\" />\n<ng-content select=\"tui-progress-circle\" />\n<span class=\"t-label\">\n <ng-content />\n</span>\n", styles: [":host{position:relative;display:inline-block;color:var(--tui-text-primary)}.t-label{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;display:flex;font:var(--tui-typography-body-s);flex-direction:column;justify-content:center;align-items:center}\n"] }]
}] });
class Styles {
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.21", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-progress-segmented-5.7.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])._segmented{--tui-segment-gap: .5rem;-webkit-mask-image:radial-gradient(circle closest-side at calc(var(--t-height) / 2) center,#999 0 99%,transparent calc(99% + .6px) 100%),radial-gradient(circle closest-side at calc(100% - calc(var(--t-height) / 2) - var(--tui-segment-gap)) center,#999 0 99%,transparent calc(99% + .6px) 100%),linear-gradient(to right,transparent 0 calc(var(--t-height) / 2),#999 calc(var(--t-height) / 2) calc(100% - calc(var(--t-height) / 2) - var(--tui-segment-gap)),transparent calc(100% - calc(var(--t-height) / 2) - var(--tui-segment-gap)));mask-image:radial-gradient(circle closest-side at calc(var(--t-height) / 2) center,#999 0 99%,transparent calc(99% + .6px) 100%),radial-gradient(circle closest-side at calc(100% - calc(var(--t-height) / 2) - var(--tui-segment-gap)) center,#999 0 99%,transparent calc(99% + .6px) 100%),linear-gradient(to right,transparent 0 calc(var(--t-height) / 2),#999 calc(var(--t-height) / 2) calc(100% - calc(var(--t-height) / 2) - var(--tui-segment-gap)),transparent calc(100% - calc(var(--t-height) / 2) - var(--tui-segment-gap)));-webkit-mask-size:calc(100% * var(--t-segment-width) + var(--tui-segment-gap) * var(--t-segment-width));mask-size:calc(100% * var(--t-segment-width) + var(--tui-segment-gap) * var(--t-segment-width))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: Styles, decorators: [{
type: Component,
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-progress-segmented-${TUI_VERSION}`, styles: ["[tuiProgressBar]:where(*[data-tui-version=\"5.7.0\"])._segmented{--tui-segment-gap: .5rem;-webkit-mask-image:radial-gradient(circle closest-side at calc(var(--t-height) / 2) center,#999 0 99%,transparent calc(99% + .6px) 100%),radial-gradient(circle closest-side at calc(100% - calc(var(--t-height) / 2) - var(--tui-segment-gap)) center,#999 0 99%,transparent calc(99% + .6px) 100%),linear-gradient(to right,transparent 0 calc(var(--t-height) / 2),#999 calc(var(--t-height) / 2) calc(100% - calc(var(--t-height) / 2) - var(--tui-segment-gap)),transparent calc(100% - calc(var(--t-height) / 2) - var(--tui-segment-gap)));mask-image:radial-gradient(circle closest-side at calc(var(--t-height) / 2) center,#999 0 99%,transparent calc(99% + .6px) 100%),radial-gradient(circle closest-side at calc(100% - calc(var(--t-height) / 2) - var(--tui-segment-gap)) center,#999 0 99%,transparent calc(99% + .6px) 100%),linear-gradient(to right,transparent 0 calc(var(--t-height) / 2),#999 calc(var(--t-height) / 2) calc(100% - calc(var(--t-height) / 2) - var(--tui-segment-gap)),transparent calc(100% - calc(var(--t-height) / 2) - var(--tui-segment-gap)));-webkit-mask-size:calc(100% * var(--t-segment-width) + var(--tui-segment-gap) * var(--t-segment-width));mask-size:calc(100% * var(--t-segment-width) + var(--tui-segment-gap) * var(--t-segment-width))}\n"] }]
}] });
class TuiProgressSegmented {
constructor() {
this.nothing = tuiWithStyles(Styles);
this.segments = input(1);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiProgressSegmented, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.21", type: TuiProgressSegmented, isStandalone: true, selector: "[tuiProgressBar][segments]", inputs: { segments: { classPropertyName: "segments", publicName: "segments", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--t-segment-width": "1 / segments()" }, classAttribute: "_segmented" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiProgressSegmented, decorators: [{
type: Directive,
args: [{
selector: '[tuiProgressBar][segments]',
host: {
class: '_segmented',
'[style.--t-segment-width]': '1 / segments()',
},
}]
}] });
const TuiProgress = [
TuiProgressBar,
TuiProgressCircle,
TuiProgressColorSegments,
TuiProgressFixedGradientDirective,
TuiProgressLabel,
TuiProgressSegmented,
];
/**
* Generated bundle index. Do not edit.
*/
export { TUI_PROGRESS_DEFAULT_OPTIONS, TUI_PROGRESS_OPTIONS, TuiProgress, TuiProgressBar, TuiProgressCircle, TuiProgressColorSegments, TuiProgressFixedGradientDirective, TuiProgressLabel, TuiProgressSegmented, tuiProgressOptionsProvider };
//# sourceMappingURL=taiga-ui-kit-components-progress.mjs.map