/** * * GalleryFullScreen toggles the parent Gallery's fullscreen state. The root receives a `data-fullscreen` attribute * while in fullscreen, which can be used as a CSS hook (e.g. `[data-fullscreen]` selectors or Tailwind `data-[fullscreen]:` * variants) to swap icons between the expand and collapse states. * * [Live Demo](https://www.primevue.dev/gallery/) * * @module galleryfullscreen * */ 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 GalleryFullScreenPassThroughOptionType = GalleryFullScreenPassThroughAttributes | ((options: GalleryFullScreenPassThroughMethodOptions) => GalleryFullScreenPassThroughAttributes | string) | string | null | undefined; /** * Custom passthrough(pt) option method. */ export interface GalleryFullScreenPassThroughMethodOptions { /** * Defines instance. */ instance: any; /** * Defines valid properties. */ props: GalleryFullScreenProps; /** * 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 GalleryFullScreenProps.pt} */ export interface GalleryFullScreenPassThroughOptions { /** * Used to pass attributes to the root's DOM element. */ root?: GalleryFullScreenPassThroughOptionType; /** * Used to manage all lifecycle hooks. * @see {@link BaseComponent.ComponentHooks} */ hooks?: ComponentHooks; } /** * Custom passthrough attributes for each DOM elements. */ export interface GalleryFullScreenPassThroughAttributes { [key: string]: any; } /** * Defines valid properties in GalleryFullScreen component. */ export interface GalleryFullScreenProps { /** * 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; /** * Used to pass attributes to DOM elements inside the component. */ pt?: PassThrough; /** * 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 GalleryFullScreenA11yAttrs extends ButtonHTMLAttributes { /** * Marker attribute used by Gallery to identify the dispatched action. */ 'data-action': 'fullscreen'; /** * Present when Gallery is in fullscreen mode. Use as a CSS hook to swap icons. */ 'data-fullscreen'?: '' | undefined; /** * Click handler that toggles Gallery's fullscreen state. */ onClick: (event: MouseEvent) => void; } /** * Defines valid slots in GalleryFullScreen component. */ export interface GalleryFullScreenSlots { /** * Custom content template. Receives `isFullscreen` (and consumer-targeted props when `asChild` is enabled). * @param {Object} scope - default slot's params. */ default(scope: { /** * Computed class name for the button root (only emitted when `asChild` is enabled). */ class?: string | object | Array; /** * Click handler to spread on the consumer's root element (only emitted when `asChild` is enabled). */ onClick?: (event: MouseEvent) => void; /** * Whether Gallery is currently in fullscreen mode. Useful for conditionally rendering icons. */ isFullscreen: boolean; }): VNode[]; } /** * Defines valid emits in GalleryFullScreen component. */ export interface GalleryFullScreenEmitsOptions {} export declare type GalleryFullScreenEmits = EmitFn; /** * **PrimeVue - GalleryFullScreen** * * _GalleryFullScreen 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 GalleryFullScreen: DefineComponent; declare module 'vue' { export interface GlobalComponents { GalleryFullScreen: DefineComponent; } } export default GalleryFullScreen;