mirror of
https://github.com/tenrok/OverlayScrollbars.git
synced 2026-06-22 21:30:37 +03:00
improve svelte version
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
import { onMount, afterUpdate, createEventDispatcher } from 'svelte';
|
import { onMount, afterUpdate, createEventDispatcher } from 'svelte';
|
||||||
import { OverlayScrollbars } from 'overlayscrollbars';
|
import { OverlayScrollbars } from 'overlayscrollbars';
|
||||||
import type { EventListeners, EventListenerArgs } from 'overlayscrollbars';
|
import type { EventListeners, EventListenerArgs } from 'overlayscrollbars';
|
||||||
import type { OverlayScrollbarsComponentProps$, OverlayScrollbarsComponentRef } from './OverlayScrollbarsComponent.types';
|
import type { OverlayScrollbarsComponentProps$, OverlayScrollbarsComponentRef$ } from './OverlayScrollbarsComponent.types';
|
||||||
|
|
||||||
type EmitEventsMap = {
|
type EmitEventsMap = {
|
||||||
[N in keyof EventListenerArgs]: `os${Capitalize<N>}`;
|
[N in keyof EventListenerArgs]: `os${Capitalize<N>}`;
|
||||||
@@ -47,8 +47,8 @@
|
|||||||
osScroll: EventListenerArgs["scroll"];
|
osScroll: EventListenerArgs["scroll"];
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
export const osInstance: OverlayScrollbarsComponentRef["osInstance"] = () => instance;
|
export const osInstance: OverlayScrollbarsComponentRef$["osInstance"] = () => instance;
|
||||||
export const getElement: OverlayScrollbarsComponentRef["getElement"] = () => elementRef;
|
export const getElement: OverlayScrollbarsComponentRef$["getElement"] = () => elementRef;
|
||||||
|
|
||||||
onMount(initialize);
|
onMount(initialize);
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
import type { OverlayScrollbars, PartialOptions, EventListeners } from 'overlayscrollbars';
|
import type { OverlayScrollbars, PartialOptions, EventListeners } from 'overlayscrollbars';
|
||||||
|
|
||||||
// Use "$" at the end so the type doesn't collide with generated type by svelte
|
// Use "$" at the end so the type doesn't collide with generated type by svelte, this is not exported anyway
|
||||||
export interface OverlayScrollbarsComponentProps$ {
|
export interface OverlayScrollbarsComponentProps$ {
|
||||||
element?: string;
|
element?: string;
|
||||||
options?: PartialOptions | false | null;
|
options?: PartialOptions | false | null;
|
||||||
events?: EventListeners | false | null;
|
events?: EventListeners | false | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface OverlayScrollbarsComponentRef {
|
export interface OverlayScrollbarsComponentRef$ {
|
||||||
/** Returns the OverlayScrollbars instance or null if not initialized. */
|
/** Returns the OverlayScrollbars instance or null if not initialized. */
|
||||||
osInstance(): OverlayScrollbars | null;
|
osInstance(): OverlayScrollbars | null;
|
||||||
/** Returns the root element. */
|
/** Returns the root element. */
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { cleanup, render, screen, fireEvent } from '@testing-library/svelte';
|
|||||||
import userEvent from '@testing-library/user-event';
|
import userEvent from '@testing-library/user-event';
|
||||||
import { OverlayScrollbars } from 'overlayscrollbars';
|
import { OverlayScrollbars } from 'overlayscrollbars';
|
||||||
import { OverlayScrollbarsComponent } from '~/index'; // eslint-disable-line import/named
|
import { OverlayScrollbarsComponent } from '~/index'; // eslint-disable-line import/named
|
||||||
import type { OverlayScrollbarsComponentRef } from '~/OverlayScrollbarsComponent.types'; // eslint-disable-line import/named
|
import type { OverlayScrollbarsComponentRef$ } from '~/OverlayScrollbarsComponent.types'; // eslint-disable-line import/named
|
||||||
import Test from './Test.svelte';
|
import Test from './Test.svelte';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -129,7 +129,7 @@ describe('OverlayScrollbarsComponent', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('ref', () => {
|
test('ref', () => {
|
||||||
let osRef: OverlayScrollbarsComponentRef | undefined;
|
let osRef: OverlayScrollbarsComponentRef$ | undefined;
|
||||||
const { container } = render(Test, {
|
const { container } = render(Test, {
|
||||||
props: {
|
props: {
|
||||||
getRef: (ref: any) => {
|
getRef: (ref: any) => {
|
||||||
@@ -149,7 +149,7 @@ describe('OverlayScrollbarsComponent', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('options', async () => {
|
test('options', async () => {
|
||||||
let osRef: OverlayScrollbarsComponentRef | undefined;
|
let osRef: OverlayScrollbarsComponentRef$ | undefined;
|
||||||
render(Test, {
|
render(Test, {
|
||||||
props: {
|
props: {
|
||||||
options: { paddingAbsolute: true, overflow: { y: 'hidden' } },
|
options: { paddingAbsolute: true, overflow: { y: 'hidden' } },
|
||||||
@@ -219,7 +219,7 @@ describe('OverlayScrollbarsComponent', () => {
|
|||||||
test('events', async () => {
|
test('events', async () => {
|
||||||
const onUpdatedInitial = vitest.fn();
|
const onUpdatedInitial = vitest.fn();
|
||||||
const onUpdated = vitest.fn();
|
const onUpdated = vitest.fn();
|
||||||
let osRef: OverlayScrollbarsComponentRef | undefined;
|
let osRef: OverlayScrollbarsComponentRef$ | undefined;
|
||||||
render(Test, {
|
render(Test, {
|
||||||
props: {
|
props: {
|
||||||
events: { updated: onUpdatedInitial },
|
events: { updated: onUpdatedInitial },
|
||||||
@@ -304,7 +304,7 @@ describe('OverlayScrollbarsComponent', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('destroy', () => {
|
test('destroy', () => {
|
||||||
let osRef: OverlayScrollbarsComponentRef | undefined;
|
let osRef: OverlayScrollbarsComponentRef$ | undefined;
|
||||||
const { unmount } = render(Test, {
|
const { unmount } = render(Test, {
|
||||||
props: {
|
props: {
|
||||||
getRef(ref: any) {
|
getRef(ref: any) {
|
||||||
|
|||||||
Reference in New Issue
Block a user