UNPKG

primevue

Version:

PrimeVue is a premium UI library for Vue featuring a rich set of 90+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBlock, wh

161 lines (148 loc) 4.43 kB
/** * * GalleryDownload triggers downloading the active item as a file. * * [Live Demo](https://www.primevue.dev/gallery/) * * @module gallerydownload * */ import type { DefineComponent, DesignToken, EmitFn, PassThrough } from '@primevue/core'; import type { ComponentHooks } from '@primevue/core/basecomponent'; import type { PassThroughOptions } from 'primevue/passthrough'; import type { ButtonHTMLAttributes, Component, VNode } from 'vue'; export declare type GalleryDownloadPassThroughOptionType = GalleryDownloadPassThroughAttributes | ((options: GalleryDownloadPassThroughMethodOptions) => GalleryDownloadPassThroughAttributes | string) | string | null | undefined; /** * Custom passthrough(pt) option method. */ export interface GalleryDownloadPassThroughMethodOptions { /** * Defines instance. */ instance: any; /** * Defines valid properties. */ props: GalleryDownloadProps; /** * Defines valid attributes. */ attrs: any; /** * Defines parent options. */ parent: any; /** * Defines passthrough(pt) options in global config. */ global: object | undefined; } /** * Custom passthrough(pt) options. * @see {@link GalleryDownloadProps.pt} */ export interface GalleryDownloadPassThroughOptions { /** * Used to pass attributes to the root's DOM element. */ root?: GalleryDownloadPassThroughOptionType; /** * Used to manage all lifecycle hooks. * @see {@link BaseComponent.ComponentHooks} */ hooks?: ComponentHooks; } /** * Custom passthrough attributes for each DOM elements. */ export interface GalleryDownloadPassThroughAttributes { [key: string]: any; } /** * Defines valid properties in GalleryDownload component. */ export interface GalleryDownloadProps { /** * Use to change the HTML tag of root element. * @defaultValue BUTTON */ as?: string | Component | undefined; /** * When enabled, it changes the default rendered element for the one passed as a child element. * @defaultValue false */ asChild?: boolean | undefined; /** * It generates scoped CSS variables using design tokens for the component. */ dt?: DesignToken<any>; /** * Used to pass attributes to DOM elements inside the component. */ pt?: PassThrough<GalleryDownloadPassThroughOptions>; /** * Used to configure passthrough(pt) options of the component. */ ptOptions?: PassThroughOptions; /** * When enabled, it removes component related styles in the core. * @defaultValue false */ unstyled?: boolean; } /** * Root element attributes forwarded to the consumer when `asChild` is enabled. */ export interface GalleryDownloadA11yAttrs extends ButtonHTMLAttributes { /** * Marker attribute used by Gallery to identify the dispatched action. */ 'data-action': 'download'; /** * Click handler that dispatches the `download` action to the active item. */ onClick: (event: MouseEvent) => void; } /** * Defines valid slots in GalleryDownload component. */ export interface GalleryDownloadSlots { /** * Custom content template. Receives scope props when `asChild` is enabled. * @param {Object} scope - default slot's params. */ default(scope: { /** * Computed class name for the button root. */ class: string | object | Array<string | object>; /** * Click handler to spread on the consumer's root element. */ onClick: (event: MouseEvent) => void; }): VNode[]; } /** * Defines valid emits in GalleryDownload component. */ export interface GalleryDownloadEmitsOptions {} export declare type GalleryDownloadEmits = EmitFn<GalleryDownloadEmitsOptions>; /** * **PrimeVue - GalleryDownload** * * _GalleryDownload is a helper component for Gallery component._ * * [Live Demo](https://www.primevue.dev/gallery/) * --- --- * ![PrimeVue](https://primefaces.org/cdn/primevue/images/logo-100.png) * * @group Component * */ declare const GalleryDownload: DefineComponent<GalleryDownloadProps, GalleryDownloadSlots, GalleryDownloadEmits>; declare module 'vue' { export interface GlobalComponents { GalleryDownload: DefineComponent<GalleryDownloadProps, GalleryDownloadSlots, GalleryDownloadEmits>; } } export default GalleryDownload;