import type { Generic } from 'adopted-style-sheets'; import type { Callback } from '../enums'; import type { PropAlign, PropDisabled, PropHideLabel, PropLabel, PropTabBehavior, PropTooltipAlign } from '../props'; import type { PropHasCreateButton } from '../props/has-create-button'; import type { EventCallback, EventValueOrEventCallback, KoliBriIconsProp, Stringified } from '../types'; export type KoliBriTabsCallbacks = { onCreate?: EventCallback; } & { [Callback.onSelect]?: EventValueOrEventCallback; }; export type KoliBriTabButtonCallbacks = { [Callback.onSelect]?: EventValueOrEventCallback; }; type RequiredTabButtonProps = PropLabel; type OptionalTabButtonProps = { icons: Stringified; on: KoliBriTabButtonCallbacks; } & PropDisabled & PropHideLabel & PropTooltipAlign; export type TabButtonProps = Generic.Element.Members; type RequiredProps = { tabs: Stringified; } & PropLabel; type OptionalProps = { on: KoliBriTabsCallbacks; selected: number; } & PropAlign & PropHasCreateButton & PropTabBehavior; type RequiredStates = { selected: number; tabs: TabButtonProps[]; } & PropLabel & PropAlign; type OptionalStates = { on: KoliBriTabsCallbacks; } & PropTabBehavior & PropHasCreateButton; export type TabsProps = Generic.Element.Members; export type TabsStates = Generic.Element.Members; export type TabsAPI = Generic.Element.ComponentApi; export {};