import { type HandlerEvent, attr, godown, htmlSlot, styles } from "@godown/element";
import svgCaretDown from "../../internal/icons/caret-down.js";
import { type TemplateResult, css, html, nothing } from "lit";
import { property, query } from "lit/decorators.js";
import Input from "../input/component.js";
import { hidePopover, showPopover } from "../../internal/popover.js";
import { memoize } from "../../internal/utils.js";
const supportsPositionArea = memoize(() => CSS.supports("position-area:top"));
function updateSelected(element: HTMLElement | null, operation: 0 | 1) {
if (element) {
const name = "selected";
if (operation) {
element.setAttribute(name, "");
} else {
element.removeAttribute(name);
}
}
}
const protoName = "select";
/**
* {@linkcode Select} is similar to `