diff --git a/packages/overlayscrollbars/src/initialization.ts b/packages/overlayscrollbars/src/initialization.ts index 6f6990d..88271fb 100644 --- a/packages/overlayscrollbars/src/initialization.ts +++ b/packages/overlayscrollbars/src/initialization.ts @@ -86,7 +86,7 @@ export type Initialization = { }; /** The initialization target element. */ -export type InitializationTargetElement = HTMLElement | HTMLTextAreaElement; +export type InitializationTargetElement = HTMLElement; // | HTMLTextAreaElement; /** * The initialization target object. diff --git a/packages/overlayscrollbars/src/plugins/plugins.ts b/packages/overlayscrollbars/src/plugins/plugins.ts index 8984fde..33f6764 100644 --- a/packages/overlayscrollbars/src/plugins/plugins.ts +++ b/packages/overlayscrollbars/src/plugins/plugins.ts @@ -1,9 +1,19 @@ import { each, isArray, keys, push } from '~/support'; import type { OverlayScrollbars, OverlayScrollbarsStatic } from '~/overlayscrollbars'; +/** Describes the instance of a OverlayScrollbars plugin. */ export type PluginInstance = + /** A `static` plugin. Its neither bound to a instance nor to the static object. */ | Record + /** + * A plugin which is bound to either a instance or to the static object. + * The function will be called multiple times. Once with the static object and each time a new instance is created. + * The plugin then can add new methods or fields to thow objects. + * These plugins should be side-effect free and deterministic. (same input produces same output) + */ | ((staticObj?: OverlayScrollbarsStatic, instanceObj?: OverlayScrollbars) => void); + +/** Describes a OverlayScrollbars plugin. */ export type Plugin = { [pluginName: string]: T; };