UNPKG

@bitrix24/b24ui-nuxt

Version:

Bitrix24 UI-Kit for developing web applications REST API for NUXT & VUE

756 lines (755 loc) 16.4 kB
import type { InputHTMLAttributes } from 'vue'; import type { VariantProps } from 'tailwind-variants'; import type { UseComponentIconsProps } from '../composables/useComponentIcons'; import type { PartialString } from '../types/utils'; declare const input: import("tailwind-variants").TVReturnType<{ buttonGroup: { horizontal: { root: string; base: string; }; vertical: { root: string; base: string; }; }; noSplit: { false: string; }; size: { xs: { base: string; leading: string; trailing: string; leadingIcon: string; leadingAvatarSize: string; trailingIcon: string; }; sm: { base: string; leading: string; trailing: string; leadingIcon: string; leadingAvatarSize: string; trailingIcon: string; }; md: { base: string; leading: string; trailing: string; leadingIcon: string; leadingAvatarSize: string; trailingIcon: string; }; lg: { base: string; leading: string; trailing: string; leadingIcon: string; leadingAvatarSize: string; trailingIcon: string; }; }; color: { default: string; danger: string; success: string; warning: string; primary: string; secondary: string; collab: string; ai: string; }; tagColor: { default: { tag: string; }; danger: { tag: string; }; success: { tag: string; }; warning: { tag: string; }; primary: { tag: string; }; secondary: { tag: string; }; collab: { tag: string; }; ai: { tag: string; }; }; rounded: { true: string; false: string; }; noPadding: { true: { base: string; }; }; noBorder: { true: string; }; underline: { true: string; }; leading: { true: string; }; trailing: { true: string; }; loading: { true: string; }; highlight: { true: string; }; type: { file: string; }; }, { root: string; base: string; leading: string; leadingIcon: string; leadingAvatar: string; leadingAvatarSize: string; trailing: string; trailingIcon: string; tag: string; }, undefined, { buttonGroup: { horizontal: { root: string; base: string; }; vertical: { root: string; base: string; }; }; noSplit: { false: string; }; size: { xs: { base: string; leading: string; trailing: string; leadingIcon: string; leadingAvatarSize: string; trailingIcon: string; }; sm: { base: string; leading: string; trailing: string; leadingIcon: string; leadingAvatarSize: string; trailingIcon: string; }; md: { base: string; leading: string; trailing: string; leadingIcon: string; leadingAvatarSize: string; trailingIcon: string; }; lg: { base: string; leading: string; trailing: string; leadingIcon: string; leadingAvatarSize: string; trailingIcon: string; }; }; color: { default: string; danger: string; success: string; warning: string; primary: string; secondary: string; collab: string; ai: string; }; tagColor: { default: { tag: string; }; danger: { tag: string; }; success: { tag: string; }; warning: { tag: string; }; primary: { tag: string; }; secondary: { tag: string; }; collab: { tag: string; }; ai: { tag: string; }; }; rounded: { true: string; false: string; }; noPadding: { true: { base: string; }; }; noBorder: { true: string; }; underline: { true: string; }; leading: { true: string; }; trailing: { true: string; }; loading: { true: string; }; highlight: { true: string; }; type: { file: string; }; }, { root: string; base: string; leading: string; leadingIcon: string; leadingAvatar: string; leadingAvatarSize: string; trailing: string; trailingIcon: string; tag: string; }, import("tailwind-variants").TVReturnType<{ buttonGroup: { horizontal: { root: string; base: string; }; vertical: { root: string; base: string; }; }; noSplit: { false: string; }; size: { xs: { base: string; leading: string; trailing: string; leadingIcon: string; leadingAvatarSize: string; trailingIcon: string; }; sm: { base: string; leading: string; trailing: string; leadingIcon: string; leadingAvatarSize: string; trailingIcon: string; }; md: { base: string; leading: string; trailing: string; leadingIcon: string; leadingAvatarSize: string; trailingIcon: string; }; lg: { base: string; leading: string; trailing: string; leadingIcon: string; leadingAvatarSize: string; trailingIcon: string; }; }; color: { default: string; danger: string; success: string; warning: string; primary: string; secondary: string; collab: string; ai: string; }; tagColor: { default: { tag: string; }; danger: { tag: string; }; success: { tag: string; }; warning: { tag: string; }; primary: { tag: string; }; secondary: { tag: string; }; collab: { tag: string; }; ai: { tag: string; }; }; rounded: { true: string; false: string; }; noPadding: { true: { base: string; }; }; noBorder: { true: string; }; underline: { true: string; }; leading: { true: string; }; trailing: { true: string; }; loading: { true: string; }; highlight: { true: string; }; type: { file: string; }; }, { root: string; base: string; leading: string; leadingIcon: string; leadingAvatar: string; leadingAvatarSize: string; trailing: string; trailingIcon: string; tag: string; }, undefined, { buttonGroup: { horizontal: { root: string; base: string; }; vertical: { root: string; base: string; }; }; noSplit: { false: string; }; size: { xs: { base: string; leading: string; trailing: string; leadingIcon: string; leadingAvatarSize: string; trailingIcon: string; }; sm: { base: string; leading: string; trailing: string; leadingIcon: string; leadingAvatarSize: string; trailingIcon: string; }; md: { base: string; leading: string; trailing: string; leadingIcon: string; leadingAvatarSize: string; trailingIcon: string; }; lg: { base: string; leading: string; trailing: string; leadingIcon: string; leadingAvatarSize: string; trailingIcon: string; }; }; color: { default: string; danger: string; success: string; warning: string; primary: string; secondary: string; collab: string; ai: string; }; tagColor: { default: { tag: string; }; danger: { tag: string; }; success: { tag: string; }; warning: { tag: string; }; primary: { tag: string; }; secondary: { tag: string; }; collab: { tag: string; }; ai: { tag: string; }; }; rounded: { true: string; false: string; }; noPadding: { true: { base: string; }; }; noBorder: { true: string; }; underline: { true: string; }; leading: { true: string; }; trailing: { true: string; }; loading: { true: string; }; highlight: { true: string; }; type: { file: string; }; }, { root: string; base: string; leading: string; leadingIcon: string; leadingAvatar: string; leadingAvatarSize: string; trailing: string; trailingIcon: string; tag: string; }, import("tailwind-variants").TVReturnType<{ buttonGroup: { horizontal: { root: string; base: string; }; vertical: { root: string; base: string; }; }; noSplit: { false: string; }; size: { xs: { base: string; leading: string; trailing: string; leadingIcon: string; leadingAvatarSize: string; trailingIcon: string; }; sm: { base: string; leading: string; trailing: string; leadingIcon: string; leadingAvatarSize: string; trailingIcon: string; }; md: { base: string; leading: string; trailing: string; leadingIcon: string; leadingAvatarSize: string; trailingIcon: string; }; lg: { base: string; leading: string; trailing: string; leadingIcon: string; leadingAvatarSize: string; trailingIcon: string; }; }; color: { default: string; danger: string; success: string; warning: string; primary: string; secondary: string; collab: string; ai: string; }; tagColor: { default: { tag: string; }; danger: { tag: string; }; success: { tag: string; }; warning: { tag: string; }; primary: { tag: string; }; secondary: { tag: string; }; collab: { tag: string; }; ai: { tag: string; }; }; rounded: { true: string; false: string; }; noPadding: { true: { base: string; }; }; noBorder: { true: string; }; underline: { true: string; }; leading: { true: string; }; trailing: { true: string; }; loading: { true: string; }; highlight: { true: string; }; type: { file: string; }; }, { root: string; base: string; leading: string; leadingIcon: string; leadingAvatar: string; leadingAvatarSize: string; trailing: string; trailingIcon: string; tag: string; }, undefined, unknown, unknown, undefined>>>; type InputVariants = VariantProps<typeof input>; export interface InputProps extends UseComponentIconsProps { /** * The element or component this component should render as. * @defaultValue 'div' */ as?: any; id?: string; name?: string; /** * @defaultValue 'text' */ type?: InputHTMLAttributes['type']; /** * The placeholder text when the input is empty. */ placeholder?: string; /** * @defaultValue 'primary' */ color?: InputVariants['color']; /** * @defaultValue 'md' */ size?: InputVariants['size']; /** * Removes padding from input * @defaultValue false */ noPadding?: boolean; /** * Removes all borders (rings) * @defaultValue false */ noBorder?: boolean; /** * Removes all borders (rings) except the bottom one * @defaultValue false */ underline?: boolean; /** * Rounds the corners of the button * @defaultValue false */ rounded?: boolean; /** * @defaultValue false */ required?: boolean; /** * @defaultValue 'off' */ autocomplete?: InputHTMLAttributes['autocomplete']; /** * @defaultValue false */ autofocus?: boolean; /** * @defaultValue 0 */ autofocusDelay?: number; /** * @defaultValue false */ disabled?: boolean; tag?: string; /** * @defaultValue 'primary' */ tagColor?: InputVariants['tagColor']; /** * Highlight the ring color like a focus state * @defaultValue false */ highlight?: boolean; class?: any; b24ui?: PartialString<typeof input.slots>; } export interface InputEmits { (e: 'update:modelValue', payload: string | number): void; (e: 'blur', event: FocusEvent): void; (e: 'change', event: Event): void; } export interface InputSlots { leading(props?: {}): any; default(props?: {}): any; trailing(props?: {}): any; } declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<{ modelValue?: string | number | null; } & InputProps>, { type: string; autocomplete: string; autofocusDelay: number; }>>, { inputRef: import("vue").Ref<HTMLInputElement | null, HTMLInputElement | null>; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<{ modelValue?: string | number | null; } & InputProps>, { type: string; autocomplete: string; autofocusDelay: number; }>>> & Readonly<{}>, { type: import("vue").InputTypeHTMLAttribute; autocomplete: string; autofocusDelay: number; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<InputSlots> & InputSlots>; export default _default; type __VLS_WithDefaults<P, D> = { [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & { default: D[K]; }> : P[K]; }; 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; }; }; type __VLS_PrettifyLocal<T> = { [K in keyof T]: T[K]; } & {};