improve initialization and types

This commit is contained in:
Rene
2022-07-11 11:20:58 +02:00
parent e38421d78a
commit 1d9a2cf817
31 changed files with 4502 additions and 4754 deletions
@@ -0,0 +1,27 @@
import type {
InitializationTargetElement,
InitializtationElementStrategy,
DynamicInitializationElement,
} from 'initialization';
export type ScrollbarsDynamicInitializationElement = DynamicInitializationElement<
[target: InitializationTargetElement, host: HTMLElement, viewport: HTMLElement]
>;
/**
* Object for special initialization.
*
* If element is provided, the provided element takes all its responsibilities.
* DOM hierarchy isn't checked in this case, its assumed that hieararchy is correct in such a case.
*
* Null or Undefined means that the environment initialization strategy is used.
*/
export interface ScrollbarsInitialization {
scrollbarsSlot?: ScrollbarsDynamicInitializationElement;
}
export type ScrollbarsInitializationStrategy = {
[K in keyof ScrollbarsInitialization as `_${K}`]: InitializtationElementStrategy<
ScrollbarsInitialization[K]
>;
};