diff --git a/package-lock.json b/package-lock.json
index 19e8d80..70ce929 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -29556,6 +29556,7 @@
"@sveltejs/package": "next",
"@sveltejs/vite-plugin-svelte": "^1.0.9",
"@testing-library/svelte": "^3.2.2",
+ "overlayscrollbars": "file:./../overlayscrollbars/dist",
"svelte": "^3.44.0",
"svelte-check": "^2.7.1",
"svelte-preprocess": "^4.10.6",
@@ -29563,6 +29564,7 @@
"typescript": "^4.7.4"
},
"peerDependencies": {
+ "overlayscrollbars": "^2.0.0",
"svelte": "^3.44.0"
}
},
@@ -29623,6 +29625,10 @@
"optional": true,
"peer": true
},
+ "packages/overlayscrollbars-svelte/node_modules/overlayscrollbars": {
+ "resolved": "packages/overlayscrollbars/dist",
+ "link": true
+ },
"packages/overlayscrollbars-svelte/node_modules/semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
@@ -45348,6 +45354,7 @@
"@sveltejs/package": "next",
"@sveltejs/vite-plugin-svelte": "^1.0.9",
"@testing-library/svelte": "^3.2.2",
+ "overlayscrollbars": "file:../overlayscrollbars/dist",
"svelte": "^3.44.0",
"svelte-check": "^2.7.1",
"svelte-preprocess": "^4.10.6",
@@ -45405,6 +45412,9 @@
"optional": true,
"peer": true
},
+ "overlayscrollbars": {
+ "version": "file:packages/overlayscrollbars/dist"
+ },
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
diff --git a/packages/overlayscrollbars-ngx/README.md b/packages/overlayscrollbars-ngx/README.md
index 3c60cdf..5a7d2b7 100644
--- a/packages/overlayscrollbars-ngx/README.md
+++ b/packages/overlayscrollbars-ngx/README.md
@@ -113,11 +113,13 @@ Additionally to the `events` property the `OverlayScrollbarsComponent` emits "na
>
```
+All events are typed, but you can use the `EventListenerArgs` type as utility in case its needed:
+
```ts
import type { EventListenerArgs } from 'overlayscrollbars';
// example listener
-onUpdated([instance, onUpdatedArgs]: EventListenerArgs['updated']) {}
+const onUpdated = ([instance, onUpdatedArgs]: EventListenerArgs['updated']) => {}
```
### Ref
diff --git a/packages/overlayscrollbars-svelte/README.md b/packages/overlayscrollbars-svelte/README.md
index 097cfd8..abe0846 100644
--- a/packages/overlayscrollbars-svelte/README.md
+++ b/packages/overlayscrollbars-svelte/README.md
@@ -7,6 +7,8 @@
[](https://github.com/KingSora/OverlayScrollbars)
[](https://github.com/sveltejs/svelte)
+ [](https://www.npmjs.com/package/overlayscrollbars-svelte)
+ [](https://www.npmjs.com/package/overlayscrollbars-svelte)
[](#)
@@ -15,4 +17,103 @@
This is the official OverlayScrollbars Svelte wrapper.
-# This project is a WIP
\ No newline at end of file
+## Installation
+
+```sh
+npm install overlayscrollbars-svelte
+```
+
+## Peer Dependencies
+
+OverlayScrollbars for Vue has the following **peer dependencies**:
+
+- The vanilla JavaScript library: [overlayscrollbars](https://www.npmjs.com/package/overlayscrollbars)
+
+```
+npm install overlayscrollbars
+```
+
+- The Vue framework: [svelte](https://www.npmjs.com/package/svelte)
+
+```
+npm install svelte
+```
+
+## Usage
+
+The first step is to import the CSS file into your app:
+```ts
+import 'overlayscrollbars/overlayscrollbars.css';
+```
+
+> __Note__: In older node versions use `'overlayscrollbars/styles/overlayscrollbars.css'` as the import path for the CSS file.
+
+## Component
+
+The main entry point is the `OverlayScrollbarsComponent` which can be used in your application as a component:
+
+```jsx
+import { OverlayScrollbarsComponent } from "overlayscrollbars-vue";
+
+// ...
+
+
+ example content
+
+```
+
+### Properties
+
+It has three optional properties: `element`, `options` and `events`.
+
+- `element`: accepts a `string` which represents the tag of the root element.
+- `options`: accepts an `object` which represents the OverlayScrollbars options.
+- `events`: accepts an `object` which represents the OverlayScrollbars events.
+
+```jsx
+// example usage
+ { /* ... */ } }}
+/>
+```
+
+### Events
+
+Additionally to the `events` property the `OverlayScrollbarsComponent` emits "native" Svelte events. To prevent name collisions with DOM events the events have a `os` prefix.
+
+> __Note__: It doesn't matter whether you use the `events` property or the Svelte events or both.
+
+```jsx
+// example usage
+
+```
+
+All events are typed, but you can use the `EventListenerArgs` type as utility in case its needed:
+
+```ts
+import type { EventListenerArgs } from 'overlayscrollbars';
+
+// example listener
+const onUpdated = (event) => {
+ const [instance, onUpdatedArgs] = event.detail as EventListenerArgs['updated'];
+}
+```
+
+### Ref
+
+The `ref` of the `OverlayScrollbarsComponent` will give you an object with which you can access the OverlayScrollbars `instance` and the root `element` of the component.
+The ref object has two properties:
+
+- `osInstance`: a function which returns the OverlayScrollbars instance.
+- `getElement`: a function which returns the root element.
+
+## License
+
+MIT
diff --git a/packages/overlayscrollbars-svelte/package.json b/packages/overlayscrollbars-svelte/package.json
index 5342f1b..198f96f 100644
--- a/packages/overlayscrollbars-svelte/package.json
+++ b/packages/overlayscrollbars-svelte/package.json
@@ -4,7 +4,8 @@
"version": "0.4.0",
"type": "module",
"peerDependencies": {
- "svelte": "^3.44.0"
+ "svelte": "^3.44.0",
+ "overlayscrollbars": "^2.0.0"
},
"devDependencies": {
"@sveltejs/adapter-auto": "next",
@@ -12,6 +13,7 @@
"@sveltejs/package": "next",
"@sveltejs/vite-plugin-svelte": "^1.0.9",
"@testing-library/svelte": "^3.2.2",
+ "overlayscrollbars": "file:./../overlayscrollbars/dist",
"svelte": "^3.44.0",
"svelte-check": "^2.7.1",
"svelte-preprocess": "^4.10.6",
diff --git a/packages/overlayscrollbars-svelte/src/OverlayScrollbarsComponent.svelte b/packages/overlayscrollbars-svelte/src/OverlayScrollbarsComponent.svelte
index 0a45b69..cd063fb 100644
--- a/packages/overlayscrollbars-svelte/src/OverlayScrollbarsComponent.svelte
+++ b/packages/overlayscrollbars-svelte/src/OverlayScrollbarsComponent.svelte
@@ -1,3 +1,101 @@
-
Welcome to your library project
-
Create your package using @sveltejs/package and preview/showcase your work with SvelteKit