{"version":3,"file":"taiga-ui-kit-directives-button-select.mjs","sources":["../../../projects/kit/directives/button-select/button-select.directive.ts","../../../projects/kit/directives/button-select/taiga-ui-kit-directives-button-select.ts"],"sourcesContent":["import {Directive, inject} from '@angular/core';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {tuiArrayToggle} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n    tuiAsDataListHost,\n    tuiAsOptionContent,\n    type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiWithTextfieldDropdown} from '@taiga-ui/core/components/textfield';\nimport {\n    TuiDropdownDirective,\n    tuiDropdownOpen,\n    tuiDropdownOptionsProvider,\n    TuiWithDropdownOpen,\n} from '@taiga-ui/core/directives/dropdown';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/core/directives/items-handlers';\nimport {TuiSelectOption} from '@taiga-ui/kit/components/select';\n\n@Directive({\n    standalone: true,\n    selector: 'button[tuiButtonSelect]',\n    providers: [\n        tuiAsOptionContent(TuiSelectOption),\n        tuiAsDataListHost(TuiButtonSelect),\n        tuiDropdownOptionsProvider({align: 'right'}),\n    ],\n    hostDirectives: [\n        TuiDropdownDirective,\n        TuiNativeValidator,\n        TuiWithDropdownOpen,\n        TuiWithTextfieldDropdown,\n    ],\n})\nexport class TuiButtonSelect<T>\n    extends TuiControl<T | T[]>\n    implements TuiDataListHost<T>\n{\n    private readonly open = tuiDropdownOpen();\n    private readonly handlers = inject(TUI_ITEMS_HANDLERS);\n\n    public readonly size = 's';\n\n    public handleOption(option: T): void {\n        if (Array.isArray(this.control.value)) {\n            const result = tuiArrayToggle(\n                this.control.value as T[],\n                option,\n                this.handlers.identityMatcher(),\n            );\n\n            this.onChange(result);\n        } else {\n            this.onChange(option);\n            this.open.set(false);\n        }\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAmBA,MAea,eACT,SAAQ,UAAmB,CAAA;AAhB/B,IAAA,WAAA,GAAA;;QAmBqB,IAAI,CAAA,IAAA,GAAG,eAAe,EAAE,CAAC;AACzB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAEvC,IAAI,CAAA,IAAA,GAAG,GAAG,CAAC;AAgB9B,KAAA;AAdU,IAAA,YAAY,CAAC,MAAS,EAAA;QACzB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACnC,YAAA,MAAM,MAAM,GAAG,cAAc,CACzB,IAAI,CAAC,OAAO,CAAC,KAAY,EACzB,MAAM,EACN,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAClC,CAAC;AAEF,YAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACzB,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACtB,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACxB,SAAA;KACJ;+GAtBQ,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,EAZb,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,SAAA,EAAA;YACP,kBAAkB,CAAC,eAAe,CAAC;YACnC,iBAAiB,CAAC,eAAe,CAAC;AAClC,YAAA,0BAA0B,CAAC,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC;AAC/C,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAQQ,eAAe,EAAA,UAAA,EAAA,CAAA;kBAf3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,SAAS,EAAE;wBACP,kBAAkB,CAAC,eAAe,CAAC;AACnC,wBAAA,iBAAiB,CAAiB,eAAA,CAAA;AAClC,wBAAA,0BAA0B,CAAC,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC;AAC/C,qBAAA;AACD,oBAAA,cAAc,EAAE;wBACZ,oBAAoB;wBACpB,kBAAkB;wBAClB,mBAAmB;wBACnB,wBAAwB;AAC3B,qBAAA;AACJ,iBAAA,CAAA;;;ACjCD;;AAEG;;;;"}