From 1599409e7977ab8df8674e71bdffe1568867b4f5 Mon Sep 17 00:00:00 2001 From: Rene Haas Date: Thu, 13 Oct 2022 14:03:59 +0200 Subject: [PATCH] improve plugin docu --- packages/overlayscrollbars/src/initialization.ts | 2 +- packages/overlayscrollbars/src/plugins/plugins.ts | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) 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; };