UNPKG

@taiga-ui/layout

Version:

A package with Taiga UI layout components

95 lines 15.7 kB
import { ChangeDetectionStrategy, Component, Directive, inject, Input, signal, ViewEncapsulation, } from '@angular/core'; import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous'; import { TUI_BUTTON_OPTIONS } from '@taiga-ui/core/components/button'; import { TUI_NOTIFICATION_OPTIONS } from '@taiga-ui/core/components/notification'; import { TUI_TEXTFIELD_OPTIONS, TuiTextfieldOptionsDirective, } from '@taiga-ui/core/components/textfield'; import { TUI_SEGMENTED_OPTIONS } from '@taiga-ui/kit/components/segmented'; import { TUI_SWITCH_OPTIONS } from '@taiga-ui/kit/components/switch'; import { TUI_HEADER_OPTIONS } from '@taiga-ui/layout/components/header'; import { TUI_FORM_OPTIONS } from './form.options'; import * as i0 from "@angular/core"; import * as i1 from "@taiga-ui/core/components/textfield"; const HEADER_SIZE = { s: 'xxxs', m: 'xs', l: 's', }; class TuiFormStyles { static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiFormStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiFormStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-form" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiForm]{display:flex;flex-direction:column;align-items:stretch}[tuiForm][data-size=s]{gap:.75rem;font:var(--tui-font-text-s)}[tuiForm][data-size=s] tui-error:not(.tui-space-top-none){margin-block-start:-.75rem}[tuiForm][data-size=s] [tuiHeader]{padding-block-end:.5rem}[tuiForm][data-size=s] [tuiHeader] [tuiSubtitle]{font:var(--tui-font-text-ui-s)}[tuiForm][data-size=m]{gap:1rem;font:var(--tui-font-text-s)}[tuiForm][data-size=m] tui-error:not(.tui-space-top-none){margin-block-start:-1rem}[tuiForm][data-size=l]{gap:1.25rem;font:var(--tui-font-text-m)}[tuiForm][data-size=l] tui-error:not(.tui-space-top-none){margin-block-start:-1.25rem}[tuiForm]>header{padding-block-end:.25rem}[tuiForm]>fieldset{display:grid;gap:inherit;grid-auto-flow:column;grid-auto-columns:1fr;border:none;padding:0;margin:0}[tuiForm]>footer{display:flex;gap:.75rem;margin-block-start:.25rem}tui-dialog [tuiForm]>footer{justify-content:flex-end}[tuiForm]>button,[tuiForm]>a{align-self:flex-start}[tuiForm] [tuiLabel]:not([data-orientation=vertical]){font:inherit}[tuiForm][data-size=s] [tuiLabel]:not([data-orientation=vertical]) [tuiTooltip],[tuiForm][data-size=m] [tuiLabel]:not([data-orientation=vertical]) [tuiTooltip]{block-size:1.25rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiFormStyles, decorators: [{ type: Component, args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-form', }, styles: ["[tuiForm]{display:flex;flex-direction:column;align-items:stretch}[tuiForm][data-size=s]{gap:.75rem;font:var(--tui-font-text-s)}[tuiForm][data-size=s] tui-error:not(.tui-space-top-none){margin-block-start:-.75rem}[tuiForm][data-size=s] [tuiHeader]{padding-block-end:.5rem}[tuiForm][data-size=s] [tuiHeader] [tuiSubtitle]{font:var(--tui-font-text-ui-s)}[tuiForm][data-size=m]{gap:1rem;font:var(--tui-font-text-s)}[tuiForm][data-size=m] tui-error:not(.tui-space-top-none){margin-block-start:-1rem}[tuiForm][data-size=l]{gap:1.25rem;font:var(--tui-font-text-m)}[tuiForm][data-size=l] tui-error:not(.tui-space-top-none){margin-block-start:-1.25rem}[tuiForm]>header{padding-block-end:.25rem}[tuiForm]>fieldset{display:grid;gap:inherit;grid-auto-flow:column;grid-auto-columns:1fr;border:none;padding:0;margin:0}[tuiForm]>footer{display:flex;gap:.75rem;margin-block-start:.25rem}tui-dialog [tuiForm]>footer{justify-content:flex-end}[tuiForm]>button,[tuiForm]>a{align-self:flex-start}[tuiForm] [tuiLabel]:not([data-orientation=vertical]){font:inherit}[tuiForm][data-size=s] [tuiLabel]:not([data-orientation=vertical]) [tuiTooltip],[tuiForm][data-size=m] [tuiLabel]:not([data-orientation=vertical]) [tuiTooltip]{block-size:1.25rem}\n"] }] }] }); class TuiForm { constructor() { this.options = inject(TUI_FORM_OPTIONS); this.nothing = tuiWithStyles(TuiFormStyles); this.size = this.options.size; } set tuiForm(size) { this.size = size || this.options.size; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiForm, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiForm, isStandalone: true, selector: "[tuiForm]", inputs: { tuiForm: "tuiForm" }, host: { attributes: { "tuiForm": "" }, properties: { "attr.data-size": "size" } }, providers: [ projectSize(TUI_BUTTON_OPTIONS, (size) => size), projectSize(TUI_NOTIFICATION_OPTIONS, (size) => size), projectSize(TUI_HEADER_OPTIONS, (size) => HEADER_SIZE[size]), projectSize(TUI_SWITCH_OPTIONS, (size) => (size === 'l' ? 'm' : 's')), projectSize(TUI_SEGMENTED_OPTIONS, (size) => (size === 'l' ? 'm' : 's')), { provide: TUI_TEXTFIELD_OPTIONS, useFactory: () => ({ ...inject(TUI_TEXTFIELD_OPTIONS, { skipSelf: true }), size: signal(inject(TuiForm).size), }), }, ], hostDirectives: [{ directive: i1.TuiTextfieldOptionsDirective, inputs: ["tuiTextfieldAppearance", "tuiTextfieldAppearance", "tuiTextfieldCleaner", "tuiTextfieldCleaner"] }], ngImport: i0 }); } } export { TuiForm }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiForm, decorators: [{ type: Directive, args: [{ standalone: true, selector: '[tuiForm]', providers: [ projectSize(TUI_BUTTON_OPTIONS, (size) => size), projectSize(TUI_NOTIFICATION_OPTIONS, (size) => size), projectSize(TUI_HEADER_OPTIONS, (size) => HEADER_SIZE[size]), projectSize(TUI_SWITCH_OPTIONS, (size) => (size === 'l' ? 'm' : 's')), projectSize(TUI_SEGMENTED_OPTIONS, (size) => (size === 'l' ? 'm' : 's')), { provide: TUI_TEXTFIELD_OPTIONS, useFactory: () => ({ ...inject(TUI_TEXTFIELD_OPTIONS, { skipSelf: true }), size: signal(inject(TuiForm).size), }), }, ], hostDirectives: [ { directive: TuiTextfieldOptionsDirective, inputs: ['tuiTextfieldAppearance', 'tuiTextfieldCleaner'], }, ], host: { tuiForm: '', '[attr.data-size]': 'size', }, }] }], propDecorators: { tuiForm: [{ type: Input }] } }); function projectSize(provide, project) { return { provide, useFactory: () => ({ ...inject(provide, { skipSelf: true }), size: project(inject(TuiForm).size), }), }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sYXlvdXQvY29tcG9uZW50cy9mb3JtL2Zvcm0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFNBQVMsRUFDVCxNQUFNLEVBRU4sS0FBSyxFQUVMLE1BQU0sRUFDTixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsNEJBQTRCLEdBQy9CLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFdEUsT0FBTyxFQUFDLGdCQUFnQixFQUFzQixNQUFNLGdCQUFnQixDQUFDOzs7QUFFckUsTUFBTSxXQUFXLEdBQUc7SUFDaEIsQ0FBQyxFQUFFLE1BQU07SUFDVCxDQUFDLEVBQUUsSUFBSTtJQUNQLENBQUMsRUFBRSxHQUFHO0NBQ0EsQ0FBQztBQUVYLE1BVU0sYUFBYTsrR0FBYixhQUFhO21HQUFiLGFBQWEsOEdBUkwsRUFBRTs7NEZBUVYsYUFBYTtrQkFWbEIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sRUFBRSxpQkFFRyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLEtBQUssRUFBRSxVQUFVO3FC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LHFCQUFxQixDQUFDO3lCQUM1RDtxQkFDSjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsT0FBTyxFQUFFLEVBQUU7d0JBQ1gsa0JBQWtCLEVBQUUsTUFBTTtxQkFDN0I7aUJBQ0o7OEJBU2MsT0FBTztzQkFEakIsS0FBSzs7QUFNVixTQUFTLFdBQVcsQ0FDaEIsT0FBNEIsRUFDNUIsT0FBbUQ7SUFFbkQsT0FBTztRQUNILE9BQU87UUFDUCxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNmLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQztZQUNwQyxJQUFJLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDdEMsQ0FBQztLQUNMLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRGlyZWN0aXZlLFxuICAgIGluamVjdCxcbiAgICB0eXBlIEluamVjdGlvblRva2VuLFxuICAgIElucHV0LFxuICAgIHR5cGUgUHJvdmlkZXIsXG4gICAgc2lnbmFsLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHlwZSBUdWlIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpV2l0aFN0eWxlc30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VFVJX0JVVFRPTl9PUFRJT05TfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge1RVSV9OT1RJRklDQVRJT05fT1BUSU9OU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9ub3RpZmljYXRpb24nO1xuaW1wb3J0IHtcbiAgICBUVUlfVEVYVEZJRUxEX09QVElPTlMsXG4gICAgVHVpVGV4dGZpZWxkT3B0aW9uc0RpcmVjdGl2ZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtUVUlfU0VHTUVOVEVEX09QVElPTlN9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zZWdtZW50ZWQnO1xuaW1wb3J0IHtUVUlfU1dJVENIX09QVElPTlN9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zd2l0Y2gnO1xuaW1wb3J0IHtUVUlfSEVBREVSX09QVElPTlN9IGZyb20gJ0B0YWlnYS11aS9sYXlvdXQvY29tcG9uZW50cy9oZWFkZXInO1xuXG5pbXBvcnQge1RVSV9GT1JNX09QVElPTlMsIHR5cGUgVHVpRm9ybU9wdGlvbnN9IGZyb20gJy4vZm9ybS5vcHRpb25zJztcblxuY29uc3QgSEVBREVSX1NJWkUgPSB7XG4gICAgczogJ3h4eHMnLFxuICAgIG06ICd4cycsXG4gICAgbDogJ3MnLFxufSBhcyBjb25zdDtcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9ybS5zdHlsZXMubGVzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3R1aS1mb3JtJyxcbiAgICB9LFxufSlcbmNsYXNzIFR1aUZvcm1TdHlsZXMge31cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlGb3JtXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb2plY3RTaXplKFRVSV9CVVRUT05fT1BUSU9OUywgKHNpemUpID0+IHNpemUpLFxuICAgICAgICBwcm9qZWN0U2l6ZShUVUlfTk9USUZJQ0FUSU9OX09QVElPTlMsIChzaXplKSA9PiBzaXplKSxcbiAgICAgICAgcHJvamVjdFNpemUoVFVJX0hFQURFUl9PUFRJT05TLCAoc2l6ZSkgPT4gSEVBREVSX1NJWkVbc2l6ZV0pLFxuICAgICAgICBwcm9qZWN0U2l6ZShUVUlfU1dJVENIX09QVElPTlMsIChzaXplKSA9PiAoc2l6ZSA9PT0gJ2wnID8gJ20nIDogJ3MnKSksXG4gICAgICAgIHByb2plY3RTaXplKFRVSV9TRUdNRU5URURfT1BUSU9OUywgKHNpemUpID0+IChzaXplID09PSAnbCcgPyAnbScgOiAncycpKSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX1RFWFRGSUVMRF9PUFRJT05TLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogKCkgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi5pbmplY3QoVFVJX1RFWFRGSUVMRF9PUFRJT05TLCB7c2tpcFNlbGY6IHRydWV9KSxcbiAgICAgICAgICAgICAgICBzaXplOiBzaWduYWwoaW5qZWN0KFR1aUZvcm0pLnNpemUpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IFR1aVRleHRmaWVsZE9wdGlvbnNEaXJlY3RpdmUsXG4gICAgICAgICAgICBpbnB1dHM6IFsndHVpVGV4dGZpZWxkQXBwZWFyYW5jZScsICd0dWlUZXh0ZmllbGRDbGVhbmVyJ10sXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR1aUZvcm06ICcnLFxuICAgICAgICAnW2F0dHIuZGF0YS1zaXplXSc6ICdzaXplJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlGb3JtIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfRk9STV9PUFRJT05TKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBub3RoaW5nID0gdHVpV2l0aFN0eWxlcyhUdWlGb3JtU3R5bGVzKTtcblxuICAgIHB1YmxpYyBzaXplOiBUdWlGb3JtT3B0aW9uc1snc2l6ZSddID0gdGhpcy5vcHRpb25zLnNpemU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgdHVpRm9ybShzaXplOiBUdWlGb3JtT3B0aW9uc1snc2l6ZSddIHwgJycpIHtcbiAgICAgICAgdGhpcy5zaXplID0gc2l6ZSB8fCB0aGlzLm9wdGlvbnMuc2l6ZTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHByb2plY3RTaXplKFxuICAgIHByb3ZpZGU6IEluamVjdGlvblRva2VuPGFueT4sXG4gICAgcHJvamVjdDogVHVpSGFuZGxlcjxUdWlGb3JtT3B0aW9uc1snc2l6ZSddLCBzdHJpbmc+LFxuKTogUHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGUsXG4gICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+ICh7XG4gICAgICAgICAgICAuLi5pbmplY3QocHJvdmlkZSwge3NraXBTZWxmOiB0cnVlfSksXG4gICAgICAgICAgICBzaXplOiBwcm9qZWN0KGluamVjdChUdWlGb3JtKS5zaXplKSxcbiAgICAgICAgfSksXG4gICAgfTtcbn1cbiJdfQ==