import type { JBOptionWebComponent } from "./jb-option/jb-option"; import type {EventTypeWithTarget} from "jb-core"; import type{ JBSelectWebComponent } from "./jb-select"; import type {JBButtonWebComponent} from "jb-button"; import type { JBPopoverWebComponent } from "jb-popover"; export type JBSelectCallbacks = { getSelectedValueDOM?:(value:TValue|null,content:HTMLElement|null) => HTMLElement; } export type JBSelectElements = { input: HTMLInputElement, componentWrapper: HTMLDivElement, selectedValueWrapper: HTMLDivElement, messageBox:HTMLDivElement, optionList: HTMLDivElement, optionListWrapper: JBPopoverWebComponent, optionListSlot:HTMLSlotElement, arrowIcon: HTMLDivElement, clearButton: JBButtonWebComponent, label:HTMLLabelElement, emptyListPlaceholder: HTMLDivElement, mobileSearchInputWrapper:HTMLDivElement, frontBox:HTMLDivElement, selectBox:HTMLDivElement } export type ValidationValue = { selectedOption:JBOptionWebComponent | null, value:TValue | null, inputtedText:string } export type JBSelectEventType = EventTypeWithTarget /* Variants */ export type SizeVariants = 'xs' | 'sm' | 'md' | 'lg' | 'xl'; /** * */ export type PopoverPosition = 'fixed'|"absolute";