UNPKG

@oruga-ui/oruga-next

Version:

UI components for Vue.js and CSS framework agnostic

62 lines (59 loc) 2.13 kB
import type { ComponentClass } from "@/types"; export type LoadingProps = { /** Override existing theme classes completely */ override?: boolean; /** Whether loading is active or not, use v-model:active to make it two-way binding */ active?: boolean; /** Loader will overlay the full page */ fullPage?: boolean; /** Show a label beside the icon, unnecessary when default slot is used */ label?: string; /** Custom animation (transition name) */ animation?: string; /** Close when clicked outside of the panel */ closeOnOutside?: boolean; /** Close when pressing escape key */ closeOnEscape?: boolean; /** Icon name to show, unnecessary when default slot is used */ icon?: string; /** * Icon pack to use for the close icon * @values mdi, fa, fas and any other custom icon pack */ iconPack?: string; /** Enable spin effect on icon */ iconSpin?: boolean; /** * Icon size * @values small, medium, large */ iconSize?: string; /** * Set `true` to remove the body scrollbar when `fullPage`. * When `false`, a non-scrollable scrollbar will be kept to avoid moving the background, * but will set the body to a fixed position, which may break some layouts. */ clipScroll?: boolean; /** * DOM container element for programmatic usage * @ignore internal property */ container?: HTMLElement; } & LoadingClasses; // class props (will not be displayed in the docs) export type LoadingClasses = Partial<{ /** Class of the root element */ rootClass: ComponentClass; /** Class for the root element when fullpage */ fullPageClass: ComponentClass; /** Class of the overlay element*/ overlayClass: ComponentClass; /** Class for the icon element*/ iconClass: ComponentClass; /** Class for the label element*/ labelClass: ComponentClass; /** Class of the body when fullpage and scroll is clipped */ scrollClipClass: ComponentClass; /** Class of the body when fullpage and scroll is keeped */ scrollKeepClass: ComponentClass; }>;