@club-employes/utopia
Version:
🎨 Modern Vue 3 design system with multi-brand theming, design tokens, and 30+ components. Supports Club Employés & Gifteo brands with light/dark modes.
49 lines (48 loc) • 1.55 kB
TypeScript
import { MenuSection } from './components';
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
interface MenuItem {
key: string;
label: string;
icon: string;
to: string;
}
interface MenuSection {
key: string;
type: 'section';
label: string;
}
type MenuItemOrSection = MenuItem | MenuSection;
interface Props {
menuItems?: MenuItemOrSection[];
currentMode?: 'light' | 'dark';
}
declare function __VLS_template(): {
attrs: Partial<{}>;
slots: {
'header-right'?(_: {}): any;
default?(_: {}): any;
footer?(_: {}): any;
};
refs: {};
rootEl: HTMLDivElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
"nav-click": (page: string) => any;
"mode-toggle": () => any;
navigate: (to: string) => any;
}, string, PublicProps, Readonly<Props> & Readonly<{
"onNav-click"?: ((page: string) => any) | undefined;
"onMode-toggle"?: (() => any) | undefined;
onNavigate?: ((to: string) => any) | undefined;
}>, {
currentMode: "light" | "dark";
menuItems: MenuItemOrSection[];
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};