@bitrix24/b24ui-nuxt
Version:
Bitrix24 UI-Kit for developing web applications REST API for NUXT & VUE
79 lines (78 loc) • 2.57 kB
text/typescript
import type { VNode } from 'vue';
import type { AppConfig } from '@nuxt/schema';
import theme from '#build/b24ui/page-card';
import type { IconComponent, LinkProps, AvatarProps } from '../types';
import type { ComponentConfig } from '../types/tv';
type PageCard = ComponentConfig<typeof theme, AppConfig, 'pageCard'>;
/**
* @memo not use spotlight
* @memo not use spotlightColor
*/
export interface PageCardProps {
/**
* The element or component this component should render as.
* @defaultValue 'div'
*/
as?: any;
/**
* The icon displayed above the title. Takes precedence over `avatar` — when both
* are set, only the plain icon is rendered.
* @IconComponent
*/
icon?: IconComponent;
/**
* Render a `B24Avatar` in the leading position. Ignored when `icon` is set.
* Avatar size falls back to the theme's `leadingAvatarSize` slot.
*/
avatar?: AvatarProps;
title?: string;
description?: string;
/**
* The orientation of the page card.
* @defaultValue 'vertical'
*/
orientation?: PageCard['variants']['orientation'];
/**
* Reverse the order of the default slot.
* @defaultValue false
*/
reverse?: boolean;
/**
* Display a line around the page card.
*/
highlight?: boolean;
/**
* @defaultValue 'air-primary'
*/
highlightColor?: PageCard['variants']['highlightColor'];
/**
* @defaultValue 'outline'
*/
variant?: PageCard['variants']['variant'];
to?: LinkProps['to'];
target?: LinkProps['target'];
onClick?: (event: MouseEvent) => void | Promise<void>;
class?: any;
b24ui?: PageCard['slots'];
}
export interface PageCardSlots {
header?(props?: {}): VNode[];
body?(props?: {}): VNode[];
leading?(props: {
b24ui: PageCard['b24ui'];
}): VNode[];
title?(props?: {}): VNode[];
description?(props?: {}): VNode[];
footer?(props?: {}): VNode[];
default?(props?: {}): VNode[];
}
declare const _default: typeof __VLS_export;
export default _default;
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<PageCardProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<PageCardProps> & Readonly<{}>, {
orientation: PageCard["variants"]["orientation"];
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, PageCardSlots>;
type __VLS_WithSlots<T, S> = T & {
new (): {
$slots: S;
};
};