@nextcloud/vue
Version:
Nextcloud vue components
225 lines (224 loc) • 8.05 kB
TypeScript
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
/**
* Allows to disable the control by swipe of the app navigation open state.
*/
disableSwipe: {
type: BooleanConstructor;
default: 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`.
*/
listSize: {
type: NumberConstructor;
default: number;
};
/**
* Allows you to set the minimum width of the list column in % on vertical-split
* or respectively the minimum height on horizontal-split.
*/
listMinWidth: {
type: NumberConstructor;
default: number;
};
/**
* Allows you to set the maximum width of the list column in % on vertical-split
* or respectively the maximum height on horizontal-split.
*/
listMaxWidth: {
type: NumberConstructor;
default: number;
};
/**
* Specify the config key for the pane config sizes
* Default is the global var appName if you use the webpack-vue-config
*/
paneConfigKey: {
type: StringConstructor;
default: string;
};
/**
* When in mobile view, only the list or the details are shown.
*
* If you provide a list, you need to provide a variable
* that will be set to true by the user when an element of
* the list gets selected. The details will then show a back
* arrow to return to the list that will update this prop to false.
*/
showDetails: {
type: BooleanConstructor;
default: boolean;
};
/**
* 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.
*/
layout: {
type: StringConstructor;
default: string;
validator(value: unknown): boolean;
};
/**
* Specify the `<h1>` page heading
*/
pageHeading: {
type: StringConstructor;
default: 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: {
type: StringConstructor;
default: null;
};
}>, {
isMobile: Readonly<import('vue').Ref<boolean, boolean>>;
isRtl: boolean;
}, {
contentHeight: number;
swiping: {};
listPaneSize: any;
}, {
paneConfigID(): string;
detailsPaneSize(): number;
paneDefaults(): {
list: {
size: number;
min: number;
max: number;
};
details: {
size: number;
min: number;
max: number;
};
};
realPageTitle(): string | null;
}, {
/**
* handle the swipe event
*
* @param {TouchEvent} e The touch event
* @param {import('@vueuse/core').SwipeDirection} direction The swipe direction of the event
*/
handleSwipe(e: TouchEvent, direction: import('@vueuse/core').SwipeDirection): void;
handlePaneResize(event: any): void;
restorePaneConfig(): number | undefined;
/**
* The user clicked the back arrow from the details view
*/
hideDetails(): void;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("update:showDetails" | "resizeList")[], "update:showDetails" | "resizeList", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
/**
* Allows to disable the control by swipe of the app navigation open state.
*/
disableSwipe: {
type: BooleanConstructor;
default: 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`.
*/
listSize: {
type: NumberConstructor;
default: number;
};
/**
* Allows you to set the minimum width of the list column in % on vertical-split
* or respectively the minimum height on horizontal-split.
*/
listMinWidth: {
type: NumberConstructor;
default: number;
};
/**
* Allows you to set the maximum width of the list column in % on vertical-split
* or respectively the maximum height on horizontal-split.
*/
listMaxWidth: {
type: NumberConstructor;
default: number;
};
/**
* Specify the config key for the pane config sizes
* Default is the global var appName if you use the webpack-vue-config
*/
paneConfigKey: {
type: StringConstructor;
default: string;
};
/**
* When in mobile view, only the list or the details are shown.
*
* If you provide a list, you need to provide a variable
* that will be set to true by the user when an element of
* the list gets selected. The details will then show a back
* arrow to return to the list that will update this prop to false.
*/
showDetails: {
type: BooleanConstructor;
default: boolean;
};
/**
* 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.
*/
layout: {
type: StringConstructor;
default: string;
validator(value: unknown): boolean;
};
/**
* Specify the `<h1>` page heading
*/
pageHeading: {
type: StringConstructor;
default: 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: {
type: StringConstructor;
default: null;
};
}>> & Readonly<{
"onUpdate:showDetails"?: ((...args: any[]) => any) | undefined;
onResizeList?: ((...args: any[]) => any) | undefined;
}>, {
disableSwipe: boolean;
showDetails: boolean;
listSize: number;
listMinWidth: number;
listMaxWidth: number;
paneConfigKey: string;
layout: string;
pageHeading: string;
pageTitle: string;
}, {}, {
NcAppContentDetailsToggle: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
Pane: any;
Splitpanes: any;
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;