import { SkfElement } from '@internal/components/skf-element.js'; import type { IconColor } from '@skf-design-system/ui-assets'; import { type CSSResultGroup } from 'lit'; import '../icon/icon'; import { SkfIcon } from '../icon/icon'; import type { SkfSelect } from '../select/select.component.js'; export interface SelectOptionEvent { value: string | null; option: SkfSelectOption; } /** * The `` is a component is used nested in a skf-select or skf-select-option-group. * * @documentation See [InVision DSM](https://skf.invisionapp.com/dsm/ab-skf/4-web-applications/nav/5fa7caf78c01200018354495/asset/6229d63d9fe16020a60657e5) for design principles * * @slot - The option's text content * @slot icon - The option's slot for icon or custom meta information (svg). * * @event skf-select-option:select - {detail: { value: string | null, option: SkfSelectOption }} Fires when the option is selected/deselected. * * @tagname skf-select-option */ export declare class SkfSelectOption extends SkfElement { static styles: CSSResultGroup; static shadowRootOptions: { delegatesFocus: boolean; mode: ShadowRootMode; serializable?: boolean; slotAssignment?: SlotAssignmentMode; }; /** @internal */ _parent: SkfSelect | null; /** @internal */ protected _value?: string; /** * @internal * Do not use directly, instead use `setSelectedDiscrete`. * If true, instantly sets/unsets the selected property, without engaging ui feedback. Primarily for unselecting previous option in single select. */ _shortcutUpdate?: boolean; /** If true, prevents interaction with the option */ disabled?: boolean; /** If defined, set an icon */ icon?: SkfIcon['name']; /** If defined, sets provided color on the icon */ iconColor?: IconColor; /** If true, sets the option as selected */ selected?: boolean; /** If defined, sets a short label */ shortLabel?: string; /** The option's label text (equivalent to the tags textContent) */ set text(slottedTextContent: string); get text(): string; /** Returns or sets the tags value. If value is omitted, defaults to the tags text. */ set value(optionValue: string); get value(): string; /** @internal */ private _assignedNodes?; constructor(); updated(changedProperties: Map): void; /** * @internal * This internal setter is to change selected state without emitting events triggering other side effects, * e.g deselecting previous selected in a single select. Is used by skf-select in single select mode. */ set setSelectedDiscrete(value: boolean); /** * @internal * Returns the slotted content as a string. If no slotted content, returns an empty string. */ private _getSlottedContent; /** @internal */ private get _slotContainsOnlyText(); /** @internal */ _handleClick: (e: Event) => void; render(): import("lit").TemplateResult<1>; }