@taiga-ui/core
Version:
Core library for creating Angular components and applications using Taiga UI
41 lines • 8.02 kB
JavaScript
import { ChangeDetectionStrategy, Component, ContentChild, Directive, forwardRef, inject, ViewEncapsulation, } from '@angular/core';
import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
import { TUI_DATA_LIST_HOST } from '@taiga-ui/core/components/data-list';
import * as i0 from "@angular/core";
class TuiLabelStyles {
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLabelStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiLabelStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-label" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiLabel]{display:flex;gap:.25rem;flex-direction:column;font:var(--tui-font-text-s);color:var(--tui-text-primary)}[tuiLabel]:not([data-orientation=vertical]){flex-direction:row;inline-size:-webkit-fit-content;inline-size:-moz-fit-content;inline-size:fit-content;font:var(--tui-font-text-m)}[tuiLabel]:has(tui-textfield),[tuiLabel]:has(tui-primitive-textfield),[tuiLabel]:has(tui-textarea){flex-direction:column!important;inline-size:auto!important;font:var(--tui-font-text-s)!important}[tuiLabel] input[type=checkbox],[tuiLabel] input[type=radio]{margin-inline-end:.5rem}[tuiLabel] input[type=checkbox][data-size=s],[tuiLabel] input[type=radio][data-size=s]{margin-inline-end:.25rem;margin-block-start:.125rem}[tuiLabel] small{font:var(--tui-font-text-s)}[tuiLabel] [tuiTitle]{margin-block-start:.125rem}[tuiLabel] [tuiSubtitle]{color:var(--tui-text-secondary)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLabelStyles, decorators: [{
type: Component,
args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
class: 'tui-label',
}, styles: ["[tuiLabel]{display:flex;gap:.25rem;flex-direction:column;font:var(--tui-font-text-s);color:var(--tui-text-primary)}[tuiLabel]:not([data-orientation=vertical]){flex-direction:row;inline-size:-webkit-fit-content;inline-size:-moz-fit-content;inline-size:fit-content;font:var(--tui-font-text-m)}[tuiLabel]:has(tui-textfield),[tuiLabel]:has(tui-primitive-textfield),[tuiLabel]:has(tui-textarea){flex-direction:column!important;inline-size:auto!important;font:var(--tui-font-text-s)!important}[tuiLabel] input[type=checkbox],[tuiLabel] input[type=radio]{margin-inline-end:.5rem}[tuiLabel] input[type=checkbox][data-size=s],[tuiLabel] input[type=radio][data-size=s]{margin-inline-end:.25rem;margin-block-start:.125rem}[tuiLabel] small{font:var(--tui-font-text-s)}[tuiLabel] [tuiTitle]{margin-block-start:.125rem}[tuiLabel] [tuiSubtitle]{color:var(--tui-text-secondary)}\n"] }]
}] });
// TODO: Replace TUI_DATA_LIST_HOST with proper token once we refactor textfields
class TuiLabel {
constructor() {
this.el = tuiInjectElement();
this.nothing = tuiWithStyles(TuiLabelStyles);
this.parent = inject(forwardRef(() => TUI_DATA_LIST_HOST), { optional: true });
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiLabel, isStandalone: true, selector: "label[tuiLabel]", host: { properties: { "attr.for": "el.htmlFor || parent?.id", "attr.data-orientation": "textfield ? \"vertical\" : \"horizontal\"" } }, queries: [{ propertyName: "textfield", first: true, predicate: i0.forwardRef(function () { return TUI_DATA_LIST_HOST; }), descendants: true }], ngImport: i0 }); }
}
export { TuiLabel };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLabel, decorators: [{
type: Directive,
args: [{
standalone: true,
selector: 'label[tuiLabel]',
host: {
'[attr.for]': 'el.htmlFor || parent?.id',
'[attr.data-orientation]': 'textfield ? "vertical" : "horizontal"',
},
}]
}], propDecorators: { textfield: [{
type: ContentChild,
args: [forwardRef(() => TUI_DATA_LIST_HOST)]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2xhYmVsL2xhYmVsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04saUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFFdkUsTUFVTSxjQUFjOytHQUFkLGNBQWM7bUdBQWQsY0FBYywrR0FSTixFQUFFOzs0RkFRVixjQUFjO2tCQVZuQixTQUFTO2lDQUNNLElBQUksWUFDTixFQUFFLGlCQUVHLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsS0FBSyxFQUFFLFdBQVc7cUJBQ3JCOztBQUlMLGlGQUFpRjtBQUNqRixNQVFhLFFBQVE7SUFSckI7UUFZdUIsT0FBRSxHQUFHLGdCQUFnQixFQUFvQixDQUFDO1FBQzFDLFlBQU8sR0FBRyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEMsV0FBTSxHQUFHLE1BQU0sQ0FDOUIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQ3BDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUNuQixDQUFDO0tBQ0w7K0dBVlksUUFBUTttR0FBUixRQUFRLDZSQUNjLGtCQUFrQjs7U0FEeEMsUUFBUTs0RkFBUixRQUFRO2tCQVJwQixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixJQUFJLEVBQUU7d0JBQ0YsWUFBWSxFQUFFLDBCQUEwQjt3QkFDeEMseUJBQXlCLEVBQUUsdUNBQXVDO3FCQUNyRTtpQkFDSjs4QkFHc0IsU0FBUztzQkFEM0IsWUFBWTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRGlyZWN0aXZlLFxuICAgIGZvcndhcmRSZWYsXG4gICAgaW5qZWN0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlXaXRoU3R5bGVzfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUVUlfREFUQV9MSVNUX0hPU1R9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgc3R5bGVzOiBbJ0BpbXBvcnQgXCJAdGFpZ2EtdWkvY29yZS9zdHlsZXMvY29tcG9uZW50cy9sYWJlbC5sZXNzXCI7J10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndHVpLWxhYmVsJyxcbiAgICB9LFxufSlcbmNsYXNzIFR1aUxhYmVsU3R5bGVzIHt9XG5cbi8vIFRPRE86IFJlcGxhY2UgVFVJX0RBVEFfTElTVF9IT1NUIHdpdGggcHJvcGVyIHRva2VuIG9uY2Ugd2UgcmVmYWN0b3IgdGV4dGZpZWxkc1xuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2xhYmVsW3R1aUxhYmVsXScsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZm9yXSc6ICdlbC5odG1sRm9yIHx8IHBhcmVudD8uaWQnLFxuICAgICAgICAnW2F0dHIuZGF0YS1vcmllbnRhdGlvbl0nOiAndGV4dGZpZWxkID8gXCJ2ZXJ0aWNhbFwiIDogXCJob3Jpem9udGFsXCInLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUxhYmVsIHtcbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gVFVJX0RBVEFfTElTVF9IT1NUKSlcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGV4dGZpZWxkPzogdW5rbm93bjtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQ8SFRNTExhYmVsRWxlbWVudD4oKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbm90aGluZyA9IHR1aVdpdGhTdHlsZXMoVHVpTGFiZWxTdHlsZXMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBwYXJlbnQgPSBpbmplY3QoXG4gICAgICAgIGZvcndhcmRSZWYoKCkgPT4gVFVJX0RBVEFfTElTVF9IT1NUKSxcbiAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICApO1xufVxuIl19