{"version":3,"file":"taiga-ui-core-components-checkbox.mjs","sources":["../../../projects/core/components/checkbox/checkbox.options.ts","../../../projects/core/components/checkbox/checkbox.component.ts","../../../projects/core/components/checkbox/taiga-ui-core-components-checkbox.ts"],"sourcesContent":["import {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiRadioOptions} from '@taiga-ui/core/components/radio';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiCheckboxOptions extends TuiRadioOptions {\n    readonly icons: Readonly<{\n        checked: TuiStringHandler<TuiSizeS>;\n        indeterminate: TuiStringHandler<TuiSizeS>;\n    }>;\n}\n\nexport const [TUI_CHECKBOX_OPTIONS, tuiCheckboxOptionsProvider] =\n    tuiCreateOptions<TuiCheckboxOptions>({\n        size: 'm',\n        appearance: (el) =>\n            el.checked || el.indeterminate ? 'primary' : 'outline-grayscale',\n        icons: {\n            checked: () => '@tui.check',\n            indeterminate: () => '@tui.minus',\n        },\n    });\n","import {\n    ChangeDetectionStrategy,\n    Component,\n    computed,\n    ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {TUI_RADIO_OPTIONS, TuiRadioComponent} from '@taiga-ui/core/components/radio';\nimport {tuiIconEnd, TuiIcons, tuiIconStart} from '@taiga-ui/core/directives/icons';\n\nimport {TUI_CHECKBOX_OPTIONS, type TuiCheckboxOptions} from './checkbox.options';\n\n@Component({\n    selector: 'input[type=\"checkbox\"][tuiCheckbox]',\n    template: '',\n    styles: `\n        [data-tui-version='${TUI_VERSION}'] {\n            @import '@taiga-ui/styles/components/checkbox.less';\n        }\n    `,\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [tuiProvide(TUI_RADIO_OPTIONS, TUI_CHECKBOX_OPTIONS)],\n    hostDirectives: [TuiIcons],\n})\nexport class TuiCheckbox extends TuiRadioComponent<TuiCheckboxOptions> {\n    protected readonly check = tuiIconStart(\n        computed(() => this.options.icons.checked(this.size())),\n    );\n\n    protected readonly indeterminate = tuiIconEnd(\n        computed(() => this.options.icons.indeterminate(this.size())),\n    );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MAYa,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,GAC3D,gBAAgB,CAAqB;AACjC,IAAA,IAAI,EAAE,GAAG;IACT,UAAU,EAAE,CAAC,EAAE,KACX,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,aAAa,GAAG,SAAS,GAAG,mBAAmB;AACpE,IAAA,KAAK,EAAE;AACH,QAAA,OAAO,EAAE,MAAM,YAAY;AAC3B,QAAA,aAAa,EAAE,MAAM,YAAY;AACpC,KAAA;AACJ,CAAA;;ACKC,MAAO,WAAY,SAAQ,iBAAqC,CAAA;AAbtE,IAAA,WAAA,GAAA;;QAcuB,IAAA,CAAA,KAAK,GAAG,YAAY,CACnC,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAC1D;QAEkB,IAAA,CAAA,aAAa,GAAG,UAAU,CACzC,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAChE;AACJ,IAAA;+GARY,WAAW,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uCAAA,EAAA,SAAA,EAHT,CAAC,UAAU,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EARtD,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,ylDAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAWH,WAAW,EAAA,UAAA,EAAA,CAAA;kBAbvB,SAAS;+BACI,qCAAqC,EAAA,QAAA,EACrC,EAAE,EAAA,aAAA,EAMG,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,UAAU,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC,EAAA,cAAA,EAChD,CAAC,QAAQ,CAAC,EAAA,MAAA,EAAA,CAAA,ylDAAA,CAAA,EAAA;;;ACxB9B;;AAEG;;;;"}