/** * * ScrollAreaScrollbar is the custom scrollbar track for a given orientation. * * @module scrollareascrollbar * */ import type { DefineComponent, DesignToken, EmitFn, PassThrough } from '@primevue/core'; import type { ComponentHooks } from '@primevue/core/basecomponent'; import type { PassThroughOptions } from 'primevue/passthrough'; import { Component, VNode } from 'vue'; /** * Custom passthrough(pt) option value type used across ScrollAreaScrollbar passthrough slots. */ export declare type ScrollAreaScrollbarPassThroughOptionType = ScrollAreaScrollbarPassThroughAttributes | ((options: ScrollAreaScrollbarPassThroughMethodOptions) => ScrollAreaScrollbarPassThroughAttributes | string) | string | null | undefined; /** * Axis along which the scrollbar tracks its viewport. */ export type ScrollAreaScrollbarOrientation = 'vertical' | 'horizontal'; /** * Custom passthrough(pt) option method. */ export interface ScrollAreaScrollbarPassThroughMethodOptions { /** * Defines instance. */ instance: any; /** * Defines valid properties. */ props: ScrollAreaScrollbarProps; /** * 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 ScrollAreaScrollbarProps.pt} */ export interface ScrollAreaScrollbarPassThroughOptions { /** * Used to pass attributes to the root's DOM element. */ root?: ScrollAreaScrollbarPassThroughOptionType; /** * Used to manage all lifecycle hooks. * @see {@link BaseComponent.ComponentHooks} */ hooks?: ComponentHooks; } /** * Custom passthrough attributes for each DOM elements. */ export interface ScrollAreaScrollbarPassThroughAttributes { [key: string]: any; } /** * Defines valid properties in ScrollAreaScrollbar component. */ export interface ScrollAreaScrollbarProps { /** * Axis along which the scrollbar tracks its viewport. * @defaultValue 'vertical' */ orientation?: ScrollAreaScrollbarOrientation | undefined; /** * The element or component used to render the root. * @defaultValue 'DIV' */ as?: string | Component | undefined; /** * When enabled, root element renders without its own DOM; consumer renders via slot using `a11yAttrs`. * @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. * @type {ScrollAreaScrollbarPassThroughOptions} */ pt?: PassThrough; /** * Used to configure passthrough(pt) options of the component. * @type {PassThroughOptions} */ ptOptions?: PassThroughOptions; /** * When enabled, it removes component related styles in the core. * @defaultValue false */ unstyled?: boolean; } /** * Defines valid slots in ScrollAreaScrollbar component. */ export interface ScrollAreaScrollbarSlots { /** * Custom content slot. * @param {Object} scope - default slot props. */ default: (scope: { /** * Accessibility attributes that should be spread onto the consumer-rendered root when `asChild` is enabled. */ a11yAttrs: Record; /** * Root element class produced by the component's `cx('root')` helper. */ class: any; }) => VNode[]; } /** * Defines valid emits in ScrollAreaScrollbar component. */ export interface ScrollAreaScrollbarEmitsOptions {} /** * Defines the emit function type for ScrollAreaScrollbar. */ export declare type ScrollAreaScrollbarEmits = EmitFn; declare const ScrollAreaScrollbar: DefineComponent; declare module 'vue' { export interface GlobalComponents { ScrollAreaScrollbar: DefineComponent; } } export default ScrollAreaScrollbar;