import { Directive } from '@angular/core';
import * as i0 from "@angular/core";
/**
 * Allows a custom element to be added at the beginning of the combo list.
 *
 * @igxModule IgxComboModule
 * @igxTheme igx-combo-theme
 * @igxKeywords combobox, combo selection
 * @igxGroup Grids & Lists
 *
 * @example
 * <igx-combo>
 *   <ng-template igxComboHeader>
 *      <div class="header-class">Custom header</div>
 *      <img src=""/>
 *   </ng-template>
 * </igx-combo>
 */
export class IgxComboHeaderDirective {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IgxComboHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: IgxComboHeaderDirective, isStandalone: true, selector: "[igxComboHeader]", ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IgxComboHeaderDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[igxComboHeader]',
                    standalone: true
                }]
        }] });
/**
 * Allows a custom element to be added at the end of the combo list.
 *
 * @igxModule IgxComboModule
 * @igxTheme igx-combo-theme
 * @igxKeywords combobox, combo selection
 * @igxGroup Grids & Lists
 *
 * @example
 * <igx-combo>
 *   <ng-template igxComboFooter>
 *      <div class="footer-class">Custom footer</div>
 *      <img src=""/>
 *   </ng-template>
 * </igx-combo>
 */
export class IgxComboFooterDirective {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IgxComboFooterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: IgxComboFooterDirective, isStandalone: true, selector: "[igxComboFooter]", ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IgxComboFooterDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[igxComboFooter]',
                    standalone: true
                }]
        }] });
/**
 * Allows the combo's items to be modified with a custom template
 *
 * @igxModule IgxComboModule
 * @igxTheme igx-combo-theme
 * @igxKeywords combobox, combo selection
 * @igxGroup Grids & Lists
 *
 * @example
 * <igx-combo>
 *	<ng-template igxComboItem let-display let-key="valueKey">
 *		<div class="item">
 *			<span class="state">State: {{ display[key] }}</span>
 *	 		<span class="region">Region: {{ display.region }}</span>
 *	 	</div>
 *	 </ng-template>
  * </igx-combo>
 */
export class IgxComboItemDirective {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IgxComboItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: IgxComboItemDirective, isStandalone: true, selector: "[igxComboItem]", ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IgxComboItemDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[igxComboItem]',
                    standalone: true
                }]
        }] });
/**
 * Defines the custom template that will be displayed when the combo's list is empty
 *
 * @igxModule IgxComboModule
 * @igxTheme igx-combo-theme
 * @igxKeywords combobox, combo selection
 * @igxGroup Grids & Lists
 *
 * @example
 *  <igx-combo>
 *      <ng-template igxComboEmpty>
 *          <div class="combo--empty">
 *              There are no items to display
 *          </div>
 *      </ng-template>
 *  </igx-combo>
 */
export class IgxComboEmptyDirective {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IgxComboEmptyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: IgxComboEmptyDirective, isStandalone: true, selector: "[igxComboEmpty]", ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IgxComboEmptyDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[igxComboEmpty]',
                    standalone: true
                }]
        }] });
/**
 * Defines the custom template that will be used when rendering header items for groups in the combo's list
 *
 * @igxModule IgxComboModule
 * @igxTheme igx-combo-theme
 * @igxKeywords combobox, combo selection
 * @igxGroup Grids & Lists
 *
 * @example
 *  <igx-combo>
 *      <ng-template igxComboHeaderItem let-item let-key="groupKey">
 *          <div class="custom-item--group">Group header for {{ item[key] }}</div>
 *      </ng-template>
 *  </igx-combo>
 */
export class IgxComboHeaderItemDirective {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IgxComboHeaderItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: IgxComboHeaderItemDirective, isStandalone: true, selector: "[igxComboHeaderItem]", ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IgxComboHeaderItemDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[igxComboHeaderItem]',
                    standalone: true
                }]
        }] });
/**
 * Defines the custom template that will be used to display the `ADD` button
 *
 * @remarks To show the `ADD` button, the `allowCustomValues` option must be enabled
 *
 * @igxModule IgxComboModule
 * @igxTheme igx-combo-theme
 * @igxKeywords combobox, combo selection
 * @igxGroup Grids & Lists
 *
 * @example
 * <igx-combo #combo>
 *      <ng-template igxComboAddItem>
 *          <button type="button" class="combo__add-button">
 *              Click to add item
 *          </button>
 *      </ng-template>
 *  </igx-combo>
 */
export class IgxComboAddItemDirective {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IgxComboAddItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: IgxComboAddItemDirective, isStandalone: true, selector: "[igxComboAddItem]", ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IgxComboAddItemDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[igxComboAddItem]',
                    standalone: true
                }]
        }] });
/**
 * The custom template that will be used when rendering the combo's toggle button
 *
 * @igxModule IgxComboModule
 * @igxTheme igx-combo-theme
 * @igxKeywords combobox, combo selection
 * @igxGroup Grids & Lists
 *
 * @example
 *  <igx-combo #combo>
 *      <ng-template igxComboToggleIcon let-collapsed>
 *          <igx-icon>{{ collapsed ? 'remove_circle' : 'remove_circle_outline'}}</igx-icon>
 *      </ng-template>
 *  </igx-combo>
 */
export class IgxComboToggleIconDirective {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IgxComboToggleIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: IgxComboToggleIconDirective, isStandalone: true, selector: "[igxComboToggleIcon]", ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IgxComboToggleIconDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[igxComboToggleIcon]',
                    standalone: true
                }]
        }] });
/**
 * Defines the custom template that will be used when rendering the combo's clear icon
 *
 * @igxModule IgxComboModule
 * @igxTheme igx-combo-theme
 * @igxKeywords combobox, combo selection
 * @igxGroup Grids & Lists
 *
 * @example
 *  <igx-combo #combo>
 *      <ng-template igxComboClearIcon>
 *          <igx-icon>clear</igx-icon>
 *      </ng-template>
 *  </igx-combo>
 */
export class IgxComboClearIconDirective {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IgxComboClearIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: IgxComboClearIconDirective, isStandalone: true, selector: "[igxComboClearIcon]", ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IgxComboClearIconDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[igxComboClearIcon]',
                    standalone: true
                }]
        }] });
//# sourceMappingURL=data:application/json;base64, 