{"version":3,"file":"taiga-ui-layout-components-form.mjs","sources":["../../../projects/layout/components/form/form.options.ts","../../../projects/layout/components/form/form.directive.ts","../../../projects/layout/components/form/taiga-ui-layout-components-form.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiFormOptions {\n    readonly size: TuiSizeL | TuiSizeS | '';\n}\n\nexport const [TUI_FORM_OPTIONS, tuiFormOptionsProvider] =\n    tuiCreateOptions<TuiFormOptions>({size: 'l'});\n","import {\n    ChangeDetectionStrategy,\n    Component,\n    Directive,\n    inject,\n    type InjectionToken,\n    input,\n    type Provider,\n    ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {type TuiHandler} from '@taiga-ui/cdk/types';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_BUTTON_OPTIONS} from '@taiga-ui/core/components/button';\nimport {TUI_CHECKBOX_OPTIONS} from '@taiga-ui/core/components/checkbox';\nimport {TUI_NOTIFICATION_OPTIONS} from '@taiga-ui/core/components/notification';\nimport {TUI_RADIO_OPTIONS} from '@taiga-ui/core/components/radio';\nimport {TuiTextfieldOptionsDirective} from '@taiga-ui/core/components/textfield';\nimport {TUI_BLOCK_OPTIONS} from '@taiga-ui/kit/components/block';\nimport {TUI_SEGMENTED_OPTIONS} from '@taiga-ui/kit/components/segmented';\nimport {TUI_SWITCH_OPTIONS} from '@taiga-ui/kit/components/switch';\nimport {TUI_HEADER_OPTIONS} from '@taiga-ui/layout/components/header';\n\nimport {TUI_FORM_OPTIONS, type TuiFormOptions} from './form.options';\n\nconst HEADER_SIZE = {s: 'body-l', m: 'h6', l: 'h5'} as const;\n\n@Component({\n    template: '',\n    styles: `\n        [data-tui-version='${TUI_VERSION}'] {\n            @import './form.styles.less';\n        }\n    `,\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    exportAs: `tui-form-${TUI_VERSION}`,\n})\nclass Styles {}\n\n@Directive({\n    selector: '[tuiForm]',\n    providers: [\n        projectSize(TUI_BUTTON_OPTIONS, (size) => size),\n        projectSize(TUI_BLOCK_OPTIONS, (size) => size),\n        projectSize(TUI_NOTIFICATION_OPTIONS, (size) => size),\n        projectSize(TUI_HEADER_OPTIONS, (size) => HEADER_SIZE[size || 'l']),\n        projectSize(TUI_SWITCH_OPTIONS, (size) => (size === 'l' ? 'm' : 's')),\n        projectSize(TUI_RADIO_OPTIONS, (size) => (size === 'l' ? 'm' : 's')),\n        projectSize(TUI_CHECKBOX_OPTIONS, (size) => (size === 'l' ? 'm' : 's')),\n        projectSize(TUI_SEGMENTED_OPTIONS, (size) => (size === 'l' ? 'm' : 's')),\n    ],\n    hostDirectives: [\n        {\n            directive: TuiTextfieldOptionsDirective,\n            inputs: [\n                'tuiTextfieldAppearance: textfields',\n                'tuiTextfieldCleaner: cleaner',\n                'tuiTextfieldSize: tuiForm',\n            ],\n        },\n    ],\n    host: {\n        tuiForm: '',\n        'data-tui-version': TUI_VERSION,\n        '[attr.data-size]': 'size() || options.size || \"l\"',\n    },\n})\nexport class TuiForm {\n    protected readonly nothing = tuiWithStyles(Styles);\n    protected readonly options = inject(TUI_FORM_OPTIONS);\n\n    public readonly size = input(this.options.size, {alias: 'tuiForm'});\n}\n\nfunction projectSize(\n    provide: InjectionToken<any>,\n    project: TuiHandler<TuiFormOptions['size'], string>,\n): Provider {\n    return {\n        provide,\n        useFactory: () => ({\n            ...inject(provide, {skipSelf: true}),\n            size: project(inject(TuiForm).size() || inject(TUI_FORM_OPTIONS).size || 'l'),\n        }),\n    };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}