UNPKG

@trimble-oss/moduswebcomponents

Version:

Modus Web Components is a modern, accessible UI library built with Stencil JS that provides reusable web components following Trimble's Modus design system. This updated version focuses on improved flexibility, enhanced theming options, comprehensive cust

48 lines (47 loc) 1.79 kB
import { EventEmitter } from '../../stencil-public-runtime'; import { Orientation } from '../types'; /** * A customizable buttongroup component that groups multiple Modus buttons together. * * The component supports a `<slot>` for injecting content within the buttongroup. */ export declare class ModusWcButtonGroup { private buttonElements; private inheritedAttributes; private selectedButtons; /** Reference to the host element */ el: HTMLElement; /** Style variant to apply to all buttons within the button group */ variant: 'borderless' | 'filled' | 'outlined'; /** Color to apply to all buttons within the button group */ color?: 'primary' | 'secondary' | 'tertiary' | 'warning' | 'danger' | 'neutral'; /** Disables all buttons within the button group */ disabled?: boolean; /** Orientation of the button group: horizontal or vertical */ orientation?: Orientation; /** Selection type for button group */ selectionType?: 'default' | 'single' | 'multiple'; /** Event emitted when any button in the group is clicked */ buttonGroupClick: EventEmitter<{ button: HTMLElement; isSelected: boolean; }>; /** Event emitted when button selection changes */ buttonSelectionChange: EventEmitter<{ selectedButtons: HTMLElement[]; }>; componentWillLoad(): void; componentDidLoad(): void; handlePropChange(): void; handleSelectionTypeChange(): void; handleButtonClick(event: CustomEvent): void; handleSlotChange(): void; private initializeSelectedButtons; private syncButtonStates; private setButtonAttribute; private toggleSingleSelect; private toggleMultiSelect; private resetAllSelections; private getClasses; render(): any; }