import type { CSSResultGroup } from 'lit'; import SynergyElement from '../../internal/synergy-element.js'; import SynDivider from '../divider/divider.component.js'; import type SynOption from '../option/option.component.js'; /** * @summary The element creates a grouping for s within a . * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-optgroup--docs * @status stable * @since 1.3.0 * * @dependency syn-divider * * @slot - The given options. Must be `` elements. * @slot prefix - A presentational prefix icon or similar element. * @slot label - The label for the optgroup * @slot suffix - A presentational suffix icon or similar element. * * @csspart base - The component's base wrapper. * @csspart label-container - The container that wraps prefix, label and base * @csspart divider - The divider that is displayed above the content * @csspart prefix - The container that wraps the prefix. * @csspart suffix - The container that wraps the suffix. * @csspart options - The container that wraps the elements. * * @cssproperty --display-divider - Display property of the divider. Defaults to "block" */ export default class SynOptgroup extends SynergyElement { static styles: CSSResultGroup; static dependencies: { 'syn-divider': typeof SynDivider; }; private readonly hasSlotController; private mutationObserver; private enableObserver; assignedOptions: SynOption[]; /** * Disables all options in the optgroup. */ disabled: boolean; /** * The optgroups label. If you need to display HTML, use the `label` slot instead. */ label: string; connectedCallback(): void; render(): import("lit").TemplateResult; }