@eslamdevui/ui
Version:
A UI Library for Modern Web Apps, powered by Vue & Tailwind CSS.
54 lines (53 loc) • 2.27 kB
TypeScript
import type { AppConfig } from '@nuxt/schema';
import type { AccordionRootProps, AccordionRootEmits } from 'reka-ui';
import type { BadgeProps, LinkProps, ComponentConfig } from '../../types';
import type { ContentNavigationItem } from '@nuxt/content';
import theme from '#build/ui/content-navigation';
export type ContentNavigation = ComponentConfig<typeof theme, AppConfig, 'contentNavigation'>;
export interface ContentNavigationLink extends ContentNavigationItem {
icon?: string;
badge?: string | number | BadgeProps;
target?: LinkProps['target'];
trailingIcon?: string;
disabled?: boolean;
children?: ContentNavigationLink[];
defaultOpen?: boolean;
active?: boolean;
class?: any;
ui?: Partial<ContentNavigation['slots']>;
}
export interface ContentNavigationProps<T extends ContentNavigationLink = ContentNavigationLink> extends Pick<AccordionRootProps, 'disabled' | 'type' | 'unmountOnHide'> {
as?: any;
defaultOpen?: boolean;
trailingIcon?: string;
color?: ContentNavigation['variants']['color'];
variant?: ContentNavigation['variants']['variant'];
highlight?: boolean;
highlightColor?: ContentNavigation['variants']['highlightColor'];
collapsible?: boolean;
level?: number;
navigation?: T[];
class?: any;
ui?: Partial<ContentNavigation['slots']>;
}
export interface ContentNavigationEmits extends AccordionRootEmits {
}
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<ContentNavigationProps<ContentNavigationLink>, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
"update:modelValue": (value: string | string[] | undefined) => any;
}, string, import("vue").PublicProps, Readonly<ContentNavigationProps<ContentNavigationLink>> & Readonly<{
"onUpdate:modelValue"?: ((value: string | string[] | undefined) => any) | undefined;
}>, {
type: "multiple" | "single";
collapsible: boolean;
as: any;
defaultOpen: boolean;
highlight: boolean;
unmountOnHide: boolean;
level: number;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, __VLS_Slots>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
new (): {
$slots: S;
};
};