/*
 * Public API Surface of ui-essentials
 */

// ==========================================================================
// BUTTON COMPONENTS
// ==========================================================================
export { ButtonComponent, ButtonVariant, ButtonSize, IconPosition } from './lib/components/buttons/button.component';
export { TextButtonComponent } from './lib/components/buttons/text-button.component';
export { GhostButtonComponent } from './lib/components/buttons/ghost-button.component';
export { FabComponent } from './lib/components/buttons/fab.component';
export * from './lib/components/buttons/fab-menu';
export * from './lib/components/buttons/icon-button';
export * from './lib/components/buttons/split-button';

// ==========================================================================
// FORM COMPONENTS  
// ==========================================================================
export { TextInputComponent, TextInputSize, TextInputVariant, TextInputType, TextInputState } from './lib/components/forms/input/text-input.component';
export { TextareaComponent } from './lib/components/forms/input/textarea.component';
export * from './lib/components/forms/checkbox';
export * from './lib/components/forms/radio';
export * from './lib/components/forms/search';
export * from './lib/components/forms/switch';
export { SelectComponent } from './lib/components/forms/select/select.component';
export * from './lib/components/forms/autocomplete';
export * from './lib/components/forms/date-picker';
export * from './lib/components/forms/time-picker';
export * from './lib/components/forms/file-upload';
export * from './lib/components/forms/form-field';
export * from './lib/components/forms/range-slider';
export * from './lib/components/forms/color-picker';
export * from './lib/components/forms/tag-input';

// ==========================================================================
// DATA DISPLAY COMPONENTS
// ==========================================================================
export * from './lib/components/data-display/index';

// ==========================================================================
// NAVIGATION COMPONENTS
// ==========================================================================
export * from './lib/components/navigation/index';

// ==========================================================================
// MEDIA COMPONENTS
// ==========================================================================
export * from './lib/components/media/index';

// ==========================================================================
// FEEDBACK COMPONENTS
// ==========================================================================
export * from './lib/components/feedback/index';

// ==========================================================================
// OVERLAY COMPONENTS
// ==========================================================================
export * from './lib/components/overlays/index';

// ==========================================================================
// LAYOUT COMPONENTS
// ==========================================================================
export * from './lib/components/layout/index';

// Layout Components (avoiding conflicts with navigation tab components)
// Layout components removed for recreation
export { LoadingStateContainerComponent } from './lib/layouts/loading-state-container.component';
export type { LoadingState, ErrorState } from './lib/layouts/loading-state-container.component';

// Split View Component Types
export type { PanelConfig, ResizeEvent, SplitDirection, SplitSize, PanelVariant } from './lib/components/layout/split-view/split-view.component';
