@bitrix24/b24ui-nuxt
Version:
Bitrix24 UI-Kit for developing web applications REST API for NUXT & VUE
588 lines (587 loc) • 12.6 kB
TypeScript
import type { VariantProps } from 'tailwind-variants';
import type { SwitchRootProps } from 'reka-ui';
import type { IconComponent } from '../types';
import type { PartialString } from '../types/utils';
declare const switchTv: import("tailwind-variants").TVReturnType<{
color: {
default: {
base: string;
icon: string;
thumb: string;
};
danger: {
base: string;
icon: string;
};
success: {
base: string;
icon: string;
};
warning: {
base: string;
icon: string;
};
primary: {
base: string;
icon: string;
};
secondary: {
base: string;
icon: string;
};
collab: {
base: string;
icon: string;
};
ai: {
base: string;
icon: string;
};
};
size: {
xs: {
base: string;
container: string;
thumb: string;
wrapper: string;
label: string;
};
sm: {
base: string;
container: string;
thumb: string;
wrapper: string;
label: string;
};
md: {
base: string;
container: string;
thumb: string;
wrapper: string;
label: string;
};
lg: {
base: string;
container: string;
thumb: string;
wrapper: string;
label: string;
};
};
checked: {
true: {
icon: string;
};
};
unchecked: {
true: {
icon: string;
};
};
loading: {
true: {
icon: string;
};
};
required: {
true: {
label: string;
};
};
disabled: {
true: {
base: string;
label: string;
description: string;
};
};
}, {
root: string;
base: string;
container: string;
thumb: string;
icon: string;
wrapper: string;
label: string;
description: string;
}, undefined, {
color: {
default: {
base: string;
icon: string;
thumb: string;
};
danger: {
base: string;
icon: string;
};
success: {
base: string;
icon: string;
};
warning: {
base: string;
icon: string;
};
primary: {
base: string;
icon: string;
};
secondary: {
base: string;
icon: string;
};
collab: {
base: string;
icon: string;
};
ai: {
base: string;
icon: string;
};
};
size: {
xs: {
base: string;
container: string;
thumb: string;
wrapper: string;
label: string;
};
sm: {
base: string;
container: string;
thumb: string;
wrapper: string;
label: string;
};
md: {
base: string;
container: string;
thumb: string;
wrapper: string;
label: string;
};
lg: {
base: string;
container: string;
thumb: string;
wrapper: string;
label: string;
};
};
checked: {
true: {
icon: string;
};
};
unchecked: {
true: {
icon: string;
};
};
loading: {
true: {
icon: string;
};
};
required: {
true: {
label: string;
};
};
disabled: {
true: {
base: string;
label: string;
description: string;
};
};
}, {
root: string;
base: string;
container: string;
thumb: string;
icon: string;
wrapper: string;
label: string;
description: string;
}, import("tailwind-variants").TVReturnType<{
color: {
default: {
base: string;
icon: string;
thumb: string;
};
danger: {
base: string;
icon: string;
};
success: {
base: string;
icon: string;
};
warning: {
base: string;
icon: string;
};
primary: {
base: string;
icon: string;
};
secondary: {
base: string;
icon: string;
};
collab: {
base: string;
icon: string;
};
ai: {
base: string;
icon: string;
};
};
size: {
xs: {
base: string;
container: string;
thumb: string;
wrapper: string;
label: string;
};
sm: {
base: string;
container: string;
thumb: string;
wrapper: string;
label: string;
};
md: {
base: string;
container: string;
thumb: string;
wrapper: string;
label: string;
};
lg: {
base: string;
container: string;
thumb: string;
wrapper: string;
label: string;
};
};
checked: {
true: {
icon: string;
};
};
unchecked: {
true: {
icon: string;
};
};
loading: {
true: {
icon: string;
};
};
required: {
true: {
label: string;
};
};
disabled: {
true: {
base: string;
label: string;
description: string;
};
};
}, {
root: string;
base: string;
container: string;
thumb: string;
icon: string;
wrapper: string;
label: string;
description: string;
}, undefined, {
color: {
default: {
base: string;
icon: string;
thumb: string;
};
danger: {
base: string;
icon: string;
};
success: {
base: string;
icon: string;
};
warning: {
base: string;
icon: string;
};
primary: {
base: string;
icon: string;
};
secondary: {
base: string;
icon: string;
};
collab: {
base: string;
icon: string;
};
ai: {
base: string;
icon: string;
};
};
size: {
xs: {
base: string;
container: string;
thumb: string;
wrapper: string;
label: string;
};
sm: {
base: string;
container: string;
thumb: string;
wrapper: string;
label: string;
};
md: {
base: string;
container: string;
thumb: string;
wrapper: string;
label: string;
};
lg: {
base: string;
container: string;
thumb: string;
wrapper: string;
label: string;
};
};
checked: {
true: {
icon: string;
};
};
unchecked: {
true: {
icon: string;
};
};
loading: {
true: {
icon: string;
};
};
required: {
true: {
label: string;
};
};
disabled: {
true: {
base: string;
label: string;
description: string;
};
};
}, {
root: string;
base: string;
container: string;
thumb: string;
icon: string;
wrapper: string;
label: string;
description: string;
}, import("tailwind-variants").TVReturnType<{
color: {
default: {
base: string;
icon: string;
thumb: string;
};
danger: {
base: string;
icon: string;
};
success: {
base: string;
icon: string;
};
warning: {
base: string;
icon: string;
};
primary: {
base: string;
icon: string;
};
secondary: {
base: string;
icon: string;
};
collab: {
base: string;
icon: string;
};
ai: {
base: string;
icon: string;
};
};
size: {
xs: {
base: string;
container: string;
thumb: string;
wrapper: string;
label: string;
};
sm: {
base: string;
container: string;
thumb: string;
wrapper: string;
label: string;
};
md: {
base: string;
container: string;
thumb: string;
wrapper: string;
label: string;
};
lg: {
base: string;
container: string;
thumb: string;
wrapper: string;
label: string;
};
};
checked: {
true: {
icon: string;
};
};
unchecked: {
true: {
icon: string;
};
};
loading: {
true: {
icon: string;
};
};
required: {
true: {
label: string;
};
};
disabled: {
true: {
base: string;
label: string;
description: string;
};
};
}, {
root: string;
base: string;
container: string;
thumb: string;
icon: string;
wrapper: string;
label: string;
description: string;
}, undefined, unknown, unknown, undefined>>>;
type SwitchVariants = VariantProps<typeof switchTv>;
export interface SwitchProps extends Pick<SwitchRootProps, 'disabled' | 'id' | 'name' | 'required' | 'value' | 'defaultValue'> {
/**
* The element or component this component should render as.
* @defaultValue 'div'
*/
as?: any;
/**
* @defaultValue 'primary'
*/
color?: SwitchVariants['color'];
/**
* @defaultValue 'md'
*/
size?: SwitchVariants['size'];
/**
* When `true`, the loading icon will be displayed
* @defaultValue false
*/
loading?: boolean;
/**
* The icon when the `loading` prop is `true`.
* @defaultValue icons.refresh
* @IconComponent
*/
loadingIcon?: IconComponent;
/**
* Display an icon when the switch is checked.
* @IconComponent
*/
checkedIcon?: IconComponent;
/**
* Display an icon when the switch is unchecked.
* @IconComponent
*/
uncheckedIcon?: IconComponent;
label?: string;
description?: string;
class?: any;
b24ui?: PartialString<typeof switchTv.slots>;
}
export type SwitchEmits = {
change: [payload: Event];
};
export interface SwitchSlots {
label(props: {
label?: string;
}): any;
description(props: {
description?: string;
}): any;
}
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<{
modelValue?: boolean;
} & SwitchProps>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<{
modelValue?: boolean;
} & SwitchProps>>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<SwitchSlots> & SwitchSlots>;
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToOption<T> = {
[K in keyof T]-?: {} extends Pick<T, K> ? {
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
} : {
type: import('vue').PropType<T[K]>;
required: true;
};
};
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};