@sixbell-telco/sdk
Version:
A collection of reusable components designed for use in Sixbell Telco Angular projects
57 lines (56 loc) • 2.37 kB
TypeScript
import { DropdownContentComponent } from '../dropdown-content/dropdown-content.component';
import { DropdownTriggerComponent } from '../dropdown-trigger/dropdown-trigger.component';
import * as i0 from "@angular/core";
/**
* Dropdown - Main container component for dropdown menus
*
* @remarks
* This is the root container that provides a wrapper for trigger and content components.
* The trigger and content components coordinate themselves through this parent component.
*
* @example
* ```html
* <st-dropdown>
* <st-dropdown-trigger [showChevron]="true">
* <button class="btn btn-primary">Open Menu</button>
* </st-dropdown-trigger>
* <st-dropdown-content>
* <st-dropdown-item>Item 1</st-dropdown-item>
* <st-dropdown-item>Item 2</st-dropdown-item>
* </st-dropdown-content>
* </st-dropdown>
* ```
*
* @example
* ```html
* <!-- Listen to open/close events -->
* <st-dropdown (opened)="onOpened()" (closed)="onClosed()">
* ...
* </st-dropdown>
*
* <!-- Programmatic control with model signal -->
* <st-dropdown [(open)]="isDropdownOpen">
* ...
* <button (click)="isDropdownOpen.set(true)">Open</button>
* <button (click)="isDropdownOpen.set(false)">Close</button>
* <div>Is open: {{ isDropdownOpen() }}</div>
* </st-dropdown>
* ```
*/
export declare class DropdownComponent {
trigger: import("@angular/core").Signal<DropdownTriggerComponent>;
content: import("@angular/core").Signal<DropdownContentComponent>;
/** Model signal for open/close state - allows two-way binding [(open)]="isDropdownOpen" */
open: import("@angular/core").ModelSignal<boolean>;
/** Event emitted when dropdown is opened - exposed from trigger */
opened: import("@angular/core").OutputEmitterRef<void>;
/** Event emitted when dropdown is closed - exposed from trigger */
closed: import("@angular/core").OutputEmitterRef<void>;
constructor();
/**
* Get the current open state
*/
isOpen: import("@angular/core").Signal<boolean>;
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DropdownComponent, "st-dropdown", ["stDropdown"], { "open": { "alias": "open"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "opened": "opened"; "closed": "closed"; }, ["trigger", "content"], ["*"], true, never>;
}