{"version":3,"file":"taiga-ui-kit-components-select.mjs","sources":["../../../projects/kit/components/select/native-select/native-select.component.ts","../../../projects/kit/components/select/native-select/native-select.template.html","../../../projects/kit/components/select/select-option/select-option.component.ts","../../../projects/kit/components/select/select.directive.ts","../../../projects/kit/components/select/select.ts","../../../projects/kit/components/select/taiga-ui-kit-components-select.ts"],"sourcesContent":["import {NgTemplateOutlet} from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    computed,\n    effect,\n    inject,\n    input,\n    untracked,\n    viewChildren,\n} from '@angular/core';\nimport {tuiAsControl, TuiControl} from '@taiga-ui/cdk/classes';\nimport {tuiIsFlat, tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiInputDirective, TuiWithInput} from '@taiga-ui/core/components/input';\nimport {\n    tuiAsTextfieldAccessor,\n    type TuiTextfieldAccessor,\n} from '@taiga-ui/core/components/textfield';\nimport {\n    TUI_ITEMS_HANDLERS,\n    type TuiItemsHandlers,\n} from '@taiga-ui/core/directives/items-handlers';\n\n@Component({\n    selector: 'select[tuiSelect]',\n    imports: [NgTemplateOutlet],\n    templateUrl: './native-select.template.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [tuiAsTextfieldAccessor(TuiNativeSelect), tuiAsControl(TuiNativeSelect)],\n    hostDirectives: [TuiWithInput],\n    host: {\n        '[disabled]': '!interactive()',\n        '(change)': 'selectOption($event.target.options.selectedIndex)',\n    },\n})\nexport class TuiNativeSelect<T>\n    extends TuiControl<T | null>\n    implements TuiTextfieldAccessor<T>\n{\n    private readonly input = inject(TuiInputDirective);\n    private readonly options = viewChildren<HTMLOptionElement>('option');\n    protected readonly isFlat = tuiIsFlat;\n    protected readonly itemsHandlers: TuiItemsHandlers<T> = inject(TUI_ITEMS_HANDLERS);\n\n    protected readonly stringified = computed((value = this.value()) =>\n        tuiIsPresent(value) ? this.itemsHandlers.stringify()(value) : '',\n    );\n\n    protected readonly isSelected = computed(\n        (value = this.value()) =>\n            (x: T) =>\n                tuiIsPresent(value) && this.itemsHandlers.identityMatcher()(x, value),\n    );\n\n    protected readonly valueEffect = effect(() => {\n        /**\n         * Wait until all `<option>`-s are inside DOM.\n         * Otherwise\n         * ```\n         * document.querySelector('select').value = 'even upcoming valid value';\n         * // same as\n         * document.querySelector('select').value = '';\n         * ```\n         * (it breaks `tuiValue` utility logic)\n         */\n        if (this.options().length) {\n            this.input.value.set(untracked(this.stringified));\n        }\n    });\n\n    public readonly items = input<ReadonlyArray<readonly T[]> | readonly T[] | null>([]);\n    public readonly labels = input<readonly string[]>([]);\n    public readonly placeholder = input('');\n\n    public setValue(value: T | null): void {\n        this.onChange(value);\n    }\n\n    protected selectOption(index: number): void {\n        const items = (this.items()?.flat() ?? []) as T[];\n        const placeholderOffset = this.stringified() ? 0 : 1;\n\n        this.onChange(items[index - placeholderOffset] ?? null);\n    }\n}\n","@if (!stringified()) {\n    <option\n        disabled\n        selected\n        value=\"\"\n    >\n        {{ placeholder() }}\n    </option>\n}\n\n@let elements = items();\n\n@if (elements && !isFlat(elements)) {\n    @for (group of labels(); track group) {\n        <optgroup [label]=\"labels()[$index]\">\n            <ng-container *ngTemplateOutlet=\"options; context: {$implicit: elements[$index]}\" />\n        </optgroup>\n    }\n} @else {\n    <ng-container *ngTemplateOutlet=\"options; context: {$implicit: elements}\" />\n}\n\n<ng-template\n    #options\n    let-items\n>\n    @for (option of items; track option) {\n        <option\n            #option\n            [disabled]=\"itemsHandlers.disabledItemHandler()(option)\"\n            [selected]=\"isSelected()(option)\"\n            [value]=\"itemsHandlers.stringify()(option)\"\n        >\n            {{ itemsHandlers.stringify()(option) }}\n        </option>\n    }\n</ng-template>\n","import {ChangeDetectionStrategy, Component, computed, inject} from '@angular/core';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/di';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n    TuiCheckbox,\n    tuiCheckboxOptionsProvider,\n} from '@taiga-ui/core/components/checkbox';\nimport {\n    TuiDataListComponent,\n    TuiOptionWithValue,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiScrollIntoView} from '@taiga-ui/core/components/scrollbar';\nimport {\n    TUI_ITEMS_HANDLERS,\n    type TuiItemsHandlers,\n} from '@taiga-ui/core/directives/items-handlers';\nimport {tuiInjectValue} from '@taiga-ui/kit/utils';\n\n@Component({\n    imports: [TuiCheckbox],\n    template: `\n        @if (selected()) {\n            <input\n                aria-hidden=\"true\"\n                checked\n                tuiCheckbox\n                type=\"checkbox\"\n                class=\"t-check\"\n                [size]=\"datalist.size() === 'l' ? 'm' : 's'\"\n            />\n        } @else {\n            <span class=\"t-dummy\"></span>\n        }\n    `,\n    styleUrl: './select-option.style.less',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [tuiCheckboxOptionsProvider({appearance: () => 'action'})],\n    hostDirectives: [TuiScrollIntoView],\n    host: {\n        tuiSelectOption: '',\n        '[attr.aria-selected]': 'selected()',\n    },\n})\nexport class TuiSelectOption<T> {\n    private readonly handlers: TuiItemsHandlers<T> = inject(TUI_ITEMS_HANDLERS);\n    private readonly value = tuiInjectValue<T>();\n    protected readonly datalist = inject(TuiDataListComponent);\n    protected readonly option = inject<TuiOptionWithValue<T>>(TuiOptionWithValue);\n\n    protected readonly selected = computed(\n        (controlValue = this.value(), optionValue = this.option.value()) =>\n            tuiIsPresent(optionValue) &&\n            tuiIsPresent(controlValue) &&\n            this.handlers.identityMatcher()(controlValue, optionValue),\n    );\n\n    protected readonly scrolled = tuiDirectiveBinding(\n        TuiScrollIntoView,\n        'tuiScrollIntoView',\n        this.selected,\n    );\n}\n","import {Directive, effect, inject} from '@angular/core';\nimport {tuiAsControl, TuiControl} from '@taiga-ui/cdk/classes';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsOptionContent} from '@taiga-ui/core/components/data-list';\nimport {TuiInputDirective, TuiWithInput} from '@taiga-ui/core/components/input';\nimport {\n    tuiAsTextfieldAccessor,\n    TuiSelectLike,\n    type TuiTextfieldAccessor,\n} from '@taiga-ui/core/components/textfield';\nimport {\n    TUI_ITEMS_HANDLERS,\n    type TuiItemsHandlers,\n} from '@taiga-ui/core/directives/items-handlers';\nimport {tuiDropdownEnabled, TuiDropdownOpen} from '@taiga-ui/core/portals/dropdown';\n\nimport {TuiSelectOption} from './select-option/select-option.component';\n\n@Directive({\n    selector: 'input[tuiSelect]',\n    providers: [\n        tuiAsOptionContent(TuiSelectOption),\n        tuiAsTextfieldAccessor(TuiSelectDirective),\n        tuiAsControl(TuiSelectDirective),\n    ],\n    hostDirectives: [TuiWithInput, TuiSelectLike],\n    host: {\n        '[disabled]': 'disabled()',\n        '(input)': '$event.inputType?.includes(\"delete\") && setValue(null)',\n    },\n})\nexport class TuiSelectDirective<T>\n    extends TuiControl<T | null>\n    implements TuiTextfieldAccessor<T>\n{\n    private readonly input = inject(TuiInputDirective);\n    private readonly open = inject(TuiDropdownOpen).open;\n    private readonly itemsHandlers: TuiItemsHandlers<T> = inject(TUI_ITEMS_HANDLERS);\n    protected readonly dropdownEnabled = tuiDropdownEnabled(this.interactive);\n\n    protected readonly valueEffect = effect(() => {\n        const value = this.value();\n        const string = tuiIsPresent(value) ? this.itemsHandlers.stringify()(value) : '';\n\n        this.input.value.set(string);\n    });\n\n    public setValue(value: T | null): void {\n        this.onChange(value);\n\n        if (!value) {\n            this.open.set(true);\n        }\n    }\n}\n","import {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n    TuiTextfieldComponent,\n    TuiTextfieldOptionsDirective,\n} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownContent} from '@taiga-ui/core/portals/dropdown';\n\nimport {TuiNativeSelect} from './native-select/native-select.component';\nimport {TuiSelectDirective} from './select.directive';\n\nexport const TuiSelect = [\n    TuiSelectDirective,\n    TuiNativeSelect,\n    TuiLabel,\n    TuiTextfieldComponent,\n    TuiTextfieldOptionsDirective,\n    TuiDropdownContent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}