UNPKG

@bitrix24/b24ui-nuxt

Version:

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

98 lines (97 loc) 3.18 kB
import type { AppConfig } from '@nuxt/schema'; import theme from '#build/b24ui/sidebar-layout'; import type { ComponentConfig } from '../types/utils'; import type { Ref } from 'vue'; import type { SidebarLayoutApi } from '../composables/useSidebarLayout'; type SidebarLayout = ComponentConfig<typeof theme, AppConfig, 'sidebarLayout'>; export interface SidebarLayoutProps { /** * The element or component this component should render as. * @defaultValue 'div' */ as?: any; /** * The content is placed on a light background. * @defaultValue 'true' */ useLightContent?: boolean; /** * Set inner mode. Use in slider, modal and etc * @defaultValue 'false' */ isInner?: boolean; /** * Off scrollbar control of the content area in inner mode. * @defaultValue 'false' */ offContentScrollbar?: boolean; class?: any; b24ui?: Pick<SidebarLayout['slots'], 'root' | 'sidebar' | 'sidebarSlideoverContainer' | 'sidebarSlideover' | 'sidebarSlideoverBtnClose' | 'contentWrapper' | 'header' | 'headerMenuIcon' | 'headerWrapper' | 'container' | 'containerWrapper' | 'pageTopWrapper' | 'pageActionsWrapper' | 'containerWrapperInner' | 'pageBottomWrapper' | 'loadingWrapper' | 'loadingIcon'>; } export interface SidebarLayoutSlots { /** * Left menu. * @param props * @param props.handleClick - Handler for navigation click events * @param props.isLoading - loading state */ 'sidebar'(props: { handleClick: () => void; isLoading: boolean; }): any; /** * Top menu. */ 'navbar'(props?: { handleClick: () => void; isLoading: boolean; }): any; /** * Content above the page. Used for title, filter, etc. */ 'content-top': (props?: { isLoading: boolean; }) => any; /** * Content above the page. Use for show actions. */ 'content-actions': (props?: { isLoading: boolean; }) => any; /** * The page content. */ 'default'(props?: { isLoading: boolean; }): any; /** * Content below the page. */ 'content-bottom': (props?: { isLoading: boolean; }) => any; /** * Loading state. You need to use `useSidebarLayout` to control it. */ 'loading': (props?: { isLoading: boolean; }) => any; } export interface SidebarLayoutInstance { api: SidebarLayoutApi; isLoading: Readonly<Ref<boolean>>; setLoading: (value: boolean) => void; setRootLoading: (value: boolean) => void; } declare const _default: __VLS_WithSlots<import("vue").DefineComponent<SidebarLayoutProps, SidebarLayoutInstance, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<SidebarLayoutProps> & Readonly<{}>, { as: any; offContentScrollbar: boolean; useLightContent: boolean; isInner: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, SidebarLayoutSlots>; export default _default; type __VLS_WithSlots<T, S> = T & { new (): { $slots: S; }; };