UNPKG

@nextcloud/vue

Version:
155 lines (154 loc) 5.67 kB
import { Slot } from 'vue'; /** * Content layout used when a list is provided together with the main content. */ export type AppContentLayout = 'no-split' | 'vertical-split' | 'horizontal-split'; declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{ showDetails?: boolean; } & { /** * Allows to disable the control by swipe of the app navigation open state. */ disableSwipe?: boolean; /** * Allows you to set the default width of the resizable list in % on vertical-split * or respectively the default height on horizontal-split. * * Must be between `listMinWidth` and `listMaxWidth`. * * @default 20 */ listSize?: number; /** * Allows you to set the minimum width of the list column in % on vertical-split * or respectively the minimum height on horizontal-split. * * @default 15 */ listMinWidth?: number; /** * Allows you to set the maximum width of the list column in % on vertical-split * or respectively the maximum height on horizontal-split. * * @default 40 */ listMaxWidth?: number; /** * Specify the config key for the pane config sizes * Default is the global var appName if you use the webpack-vue-config */ paneConfigKey?: string; /** * Content layout used when there is a list together with content: * - `vertical-split` - a 2-column layout with list and default content separated vertically * - `no-split` - a single column layout; List is shown when `showDetails` is `false`, otherwise the default slot content is shown with a back button to return to the list. * - 'horizontal-split' - a 2-column layout with list and default content separated horizontally * On mobile screen `no-split` layout is forced. * * @default 'vertical-split' */ layout?: AppContentLayout; /** * Specify the `<h1>` page heading */ pageHeading?: string | null; /** * Allow setting the page's `<title>` * * If a page heading is set it defaults to `{pageHeading} - {appName} - {instanceName}` e.g. `Favorites - Files - MyPersonalCloud`. * When the page heading and the app name is the same only one is used, e.g. `Files - Files - MyPersonalCloud` is shown as `Files - MyPersonalCloud`. * When setting the prop then the following format will be used: `{pageTitle} - {instanceName}` */ pageTitle?: string | null; }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { "update:showDetails": (...args: unknown[]) => any; resizeList: (payload: { size: number; }) => any; }, string, import('vue').PublicProps, Readonly<{ showDetails?: boolean; } & { /** * Allows to disable the control by swipe of the app navigation open state. */ disableSwipe?: boolean; /** * Allows you to set the default width of the resizable list in % on vertical-split * or respectively the default height on horizontal-split. * * Must be between `listMinWidth` and `listMaxWidth`. * * @default 20 */ listSize?: number; /** * Allows you to set the minimum width of the list column in % on vertical-split * or respectively the minimum height on horizontal-split. * * @default 15 */ listMinWidth?: number; /** * Allows you to set the maximum width of the list column in % on vertical-split * or respectively the maximum height on horizontal-split. * * @default 40 */ listMaxWidth?: number; /** * Specify the config key for the pane config sizes * Default is the global var appName if you use the webpack-vue-config */ paneConfigKey?: string; /** * Content layout used when there is a list together with content: * - `vertical-split` - a 2-column layout with list and default content separated vertically * - `no-split` - a single column layout; List is shown when `showDetails` is `false`, otherwise the default slot content is shown with a back button to return to the list. * - 'horizontal-split' - a 2-column layout with list and default content separated horizontally * On mobile screen `no-split` layout is forced. * * @default 'vertical-split' */ layout?: AppContentLayout; /** * Specify the `<h1>` page heading */ pageHeading?: string | null; /** * Allow setting the page's `<title>` * * If a page heading is set it defaults to `{pageHeading} - {appName} - {instanceName}` e.g. `Favorites - Files - MyPersonalCloud`. * When the page heading and the app name is the same only one is used, e.g. `Files - Files - MyPersonalCloud` is shown as `Files - MyPersonalCloud`. * When setting the prop then the following format will be used: `{pageTitle} - {instanceName}` */ pageTitle?: string | null; }> & Readonly<{ "onUpdate:showDetails"?: ((...args: unknown[]) => any) | undefined; onResizeList?: ((payload: { size: number; }) => any) | undefined; }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>, Readonly<{ /** * Provide the main content to the app content */ default?: Slot; /** * Provide a list to the app content */ list?: Slot; }> & { /** * Provide the main content to the app content */ default?: Slot; /** * Provide a list to the app content */ list?: Slot; }>; export default _default; type __VLS_WithTemplateSlots<T, S> = T & { new (): { $slots: S; }; };