Forked from hermes-frontend, stripped openclaw/bun specifics: - Auth tokens: openclaw_session -> nyx_session - Vite proxy: localhost:3003 -> localhost:8000 (assay) - Prod WS: wss://assay.loop42.de/ws - Workspace paths: removed openclaw-specific paths - Added missing deps: @heroicons/vue, overlayscrollbars-vue - Branding: title -> nyx Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
471 lines
25 KiB
Markdown
471 lines
25 KiB
Markdown
# Changelog
|
|
|
|
## 2.14.0
|
|
|
|
### Features
|
|
|
|
- Add the option `options.update.flowDirectionStyles` which allow to opt-out or customize when the expensive "non default flow direction" check is being performed. [#729](https://github.com/KingSora/OverlayScrollbars/issues/729) [#748](https://github.com/KingSora/OverlayScrollbars/pull/748)
|
|
|
|
### Bug Fixes
|
|
|
|
- Work around browser rounding inaccuracies which prevented a proper detection of a "non default flow direction" for normal density screens. [#625](https://github.com/KingSora/OverlayScrollbars/issues/625#issuecomment-3778048936)
|
|
|
|
## 2.13.0
|
|
|
|
### Features
|
|
|
|
- Add fine grained debounce options via `options.update.debounce`. The option is now an object which results in more freedom / fine grained debounce options. A debounce can now be specified for `mutations`, `resizes`, `events` and `environmental changes` independently. The old `options.update.debounce` option syntax is still supported and works but its deprecated in favor of the new syntax. [#744](https://github.com/KingSora/OverlayScrollbars/issues/744) [#729](https://github.com/KingSora/OverlayScrollbars/issues/729)
|
|
|
|
## 2.12.0
|
|
|
|
### Improvements
|
|
|
|
- Improve accessibility when the native scrollbars can't be hidden. This can happen when the browser isn't supporting scrollbar styling & the `ScrollbarsHidingPlugin` is not being used. In this case the custom scrollbars aren't rendered over the native scrollbars anymore. [SimpleBar #726](https://github.com/Grsmto/simplebar/issues/726)
|
|
|
|
## 2.11.5
|
|
|
|
### Bug Fixes
|
|
|
|
- Sometimes when resizing the window, scrollbars applied to the body element werent updated accordingly.
|
|
|
|
## 2.11.4
|
|
|
|
### Bug Fixes
|
|
|
|
- Remove scrollbars `click` event when its no longer required. [#720](https://github.com/KingSora/OverlayScrollbars/issues/720)
|
|
|
|
## 2.11.3
|
|
|
|
### Improvements
|
|
|
|
- Introduce and document the new `CSS Custom Properties`: `--os-viewport-overflow-x` and `--os-viewport-overflow-y` which can be used to better control the `overflow` style of the `viewport` element.
|
|
- Support for the `auto` value for overwrites of the `overflow` style of the `viewport`.
|
|
|
|
## 2.11.2
|
|
|
|
### Improvements
|
|
|
|
- Streamline css styles for the viewport and wrapper elements to allow overwrites of the `overflow` property. [#718](https://github.com/KingSora/OverlayScrollbars/issues/718)
|
|
|
|
### Bug Fixes
|
|
|
|
- Initialization bridging via `data-overlayscrollbars-initialize` attribute conflicted with the `showNativeOverlaidScrollbars: true` option when initialized to the body element. [#713](https://github.com/KingSora/OverlayScrollbars/issues/713)
|
|
|
|
## 2.11.1
|
|
|
|
### Improvements
|
|
|
|
- Use the ResizeObservers `options.box` option to remove the need for additional DOM elements in supported browsers.
|
|
- Significant performance improvements in the `update` logic.
|
|
|
|
## 2.11.0
|
|
|
|
### Features
|
|
|
|
- Add the possibility to define a [`trusted type policy`](https://developer.mozilla.org/en-US/docs/Web/API/Trusted_Types_API) for websites with a CSP. [#697](https://github.com/KingSora/OverlayScrollbars/issues/697)
|
|
|
|
### Improvements
|
|
|
|
- Change `ScrollAnimationTimeline` keyframes to not animate css-custom-properties to improve scroll performance. [#705](https://github.com/KingSora/OverlayScrollbars/issues/705)
|
|
|
|
## 2.10.1
|
|
|
|
### Improvements
|
|
|
|
- Add `pen` to the list of "hoverable" pointer devices. [#690](https://github.com/KingSora/OverlayScrollbars/issues/690)
|
|
|
|
## 2.10.0
|
|
|
|
### Features
|
|
|
|
- The option `scrollbars.clickScroll` now supports the value `'instant'`. The `ClickScrollPlugin` is not required for it to work. [#645](https://github.com/KingSora/OverlayScrollbars/issues/645)
|
|
|
|
### Improvements
|
|
|
|
- Rewrite `clickScroll` animation for better performance and to support in and out easing for a smoother animation.
|
|
|
|
## 2.9.2
|
|
|
|
### Improvements
|
|
|
|
- Improve initialization and update performance by determining if a non-default scroll direction is possible before measuring scroll coordinates. [#655](https://github.com/KingSora/OverlayScrollbars/issues/655)
|
|
|
|
## 2.9.1
|
|
|
|
### Improvements
|
|
|
|
- Resilience against `scroll-behavior: smooth` style when scrolling should be instant.
|
|
|
|
## 2.9.0
|
|
|
|
### Features
|
|
|
|
- Add the possibility to define a [`nonce`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce) value for websites with a CSP. [#646](https://github.com/KingSora/OverlayScrollbars/pull/646)
|
|
|
|
### Improvements
|
|
|
|
- Reduced bundle size due to removed compatiblity code.
|
|
- `clickScroll` will not cancel on fast clicks / taps. [#650](https://github.com/KingSora/OverlayScrollbars/issues/650)
|
|
- Add easing to the `clickScroll` animation.
|
|
- The scrollbar-handle offset and size calculations are now entirely in CSS and will not force reflows.
|
|
- Use custom css properties for setting the scrollbar-handle offset and size.
|
|
|
|
### Bug Fixes
|
|
|
|
- Only take the initial scroll coordinates from the `viewport` element if it has a scrollable overflow. (Otherwise take the initial scroll coordinates from the target element) [#652](https://github.com/KingSora/OverlayScrollbars/issues/652)
|
|
|
|
## 2.8.4
|
|
|
|
### Improvements
|
|
|
|
- The scrollbar handle size is now updated if the corresponding scrollbar element has an transition.
|
|
|
|
## 2.8.3
|
|
|
|
### Improvements
|
|
|
|
- Improvements to update performance.
|
|
- Added automated e2e performance metrics.
|
|
|
|
## 2.8.2
|
|
|
|
### Bug Fixes
|
|
|
|
- Fix a bug where children attribute mutations were not picked up if the new attribute value was an empty string.
|
|
|
|
## 2.8.1
|
|
|
|
### Improvements
|
|
|
|
- Improve the `scrollCoordinates` logic introduced in `v2.8.0` to have better defaults in cases of ambiguity.
|
|
- The `scroll` event is not propagated if it is an result of `scrollCoordinates` detection during update.
|
|
- Focus management improvements.
|
|
|
|
## 2.8.0
|
|
|
|
### Breaking Changes
|
|
|
|
- Although not a major release, I've decided to remove the `rtlScrollBehavior` field from the `Environment` object. The reason for it is a switch of how the library now detects scroll coordinates for non default flow directions. The replacement for this field is the `scrollCoordinates` field of the `State` object for each instance.
|
|
|
|
### Features
|
|
|
|
- Support non default flow directions (block and inline) not only `direction: rtl`. [#625](https://github.com/KingSora/OverlayScrollbars/issues/625)
|
|
- A new field `scrollCoordinates` in the `State` object. It indicates the min. and max. scroll coordinates for the viewport. (useful for non default flow direction scrolling)
|
|
- A new field `scrollCoordinatesChanged` in the `updateHints` object. It indicates whether the scroll coordinates changed in an update.
|
|
|
|
### Improvements
|
|
|
|
- Fix a Firefox only behavior where releasing a scrollbar handle over an anchor would trigger the anchor and navigate to it.
|
|
- Change `zoom` detection: instead of the `window.resize` event, the `window.matchMedia` event is used.
|
|
- Greatly improve how dragging and releasing the scrollbar handle behaves for `scroll-snapped` viewports.
|
|
|
|
### Bug Fixes
|
|
|
|
- Fix a bug here pointer capture was released too early for wacom pen devices. [#630](https://github.com/KingSora/OverlayScrollbars/issues/630)
|
|
|
|
## 2.7.3
|
|
|
|
### Improvements
|
|
|
|
- Use `{ preventScroll: true }` when focusing viewport to prevent unwanted scrolling. [#629](https://github.com/KingSora/OverlayScrollbars/issues/629)
|
|
- Make the scrollbars hidden when `@media print` applies. [#628](https://github.com/KingSora/OverlayScrollbars/issues/628)
|
|
|
|
## 2.7.2
|
|
|
|
### Bug Fixes
|
|
|
|
- Handle case where `document.defaultView` is `null`. [#627](https://github.com/KingSora/OverlayScrollbars/issues/627)
|
|
|
|
## 2.7.1
|
|
|
|
### Improvements
|
|
|
|
- When interacting with a scrollbar the `viewport` element gets focused under certain conditions. (Like e.g. the previously focused element is not and interactive element.)
|
|
- Move the environment styles from the stylesheet into javascript to remove the requirement of loaded styles for correct functionality.
|
|
|
|
## 2.7.0
|
|
|
|
### Improvements
|
|
|
|
- Improvements for running in `deno` and `bun`.
|
|
- Initialization as the `body` element is now detected as such when the tag name of the target element is `"body"`. Previously this detection was done with `target === target.ownerDocument.body` which would not work when creating a new body element in memory.
|
|
- If a non generated `elements.viewport` element is provided during initialization its scroll position will be taken as the initial scroll position instead of the scroll position of the `target` element.
|
|
- When interacting with the scrollbars itself the `scrollbars.autoHideDelay` will now apply when the scrollbars would be auto hidden when the interaction ends.
|
|
|
|
## 2.6.1
|
|
|
|
### Bug Fixes
|
|
|
|
- Fully remove lingering IE11 compatibility code which overwrote previously set `height` styles.
|
|
|
|
## 2.6.0
|
|
|
|
### Improvements
|
|
|
|
- Add `focusin` and `focusout` to the focus and blur event management when wrapping and unwrapping elements. [#605](https://github.com/KingSora/OverlayScrollbars/issues/605)
|
|
- The `scrollbars.visibility` option was unintuitive to use for adjusting visibility per axis. Its now only applied if the scrollbars scroll axis is able to have a scrollable overflow. [#611](https://github.com/KingSora/OverlayScrollbars/issues/611)
|
|
|
|
## 2.5.0
|
|
|
|
### Breaking Changes
|
|
|
|
- Although not a major release, I've decided to drop `IE11` support in this version. This change should be beneficial to the majority of users.
|
|
- The size of the js bundle decreased by `~6%`.
|
|
- The size of the css bundle decreased by `~18%`.
|
|
- The fields `flexboxGlue` and `cssCustomProperties` are removed from the `Environment`. (returning object from `OverlayScrollbars.env()`)
|
|
|
|
### Improvements
|
|
|
|
- Streamlining of scroll related calculations, including RTL direction.
|
|
- Focus and Blur event management when wrapping and unwrapping elements during initialization and destroy. [#605](https://github.com/KingSora/OverlayScrollbars/issues/605)
|
|
|
|
## 2.4.7
|
|
|
|
### Improvements
|
|
|
|
- Adapt the `exports` field in the `package.json` for correct `commonjs` and `module` handling.
|
|
- Additional types exports: `Elements`, `State`, `CloneableScrollbarElements`, `ScrollbarElements`, `StaticInitialization` and `DynamicInitialization`.
|
|
- Remove obsolete styles when initializing `OverlayScrollbars` on the `body` element and the browser supports native scrollbar hiding. [#601](https://github.com/KingSora/OverlayScrollbars/issues/601)
|
|
- Move code to the `ScrollbarsHidingPlugin` for better treeshaking.
|
|
|
|
## 2.4.6
|
|
|
|
### Bug Fixes
|
|
|
|
- If the pointer (mouse, pen etc.) is interacting with the scrollbar, the `autoHide` option will wait until the interaction is finished. [#597](https://github.com/KingSora/OverlayScrollbars/issues/597)
|
|
- `ScrollTimeline` animations are not canceled anymore when they are updated. Instead the animations keyframe effect is switched out preventing flickering. [#598](https://github.com/KingSora/OverlayScrollbars/issues/598)
|
|
|
|
## 2.4.5
|
|
|
|
### Improvements
|
|
|
|
- Its now possible to have a height / width transition on the scrollbar-handle. [#587](https://github.com/KingSora/OverlayScrollbars/issues/587)
|
|
|
|
## 2.4.4
|
|
|
|
### Bug Fixes
|
|
|
|
- Fix a bug where ScrollTimeline animation keyframe could contain `NaN` or `Infinity` values triggering a warning. [#581](https://github.com/KingSora/OverlayScrollbars/issues/581)
|
|
- Treat explicitly assigned `undefined` values for options as if they would be left out. [#586](https://github.com/KingSora/OverlayScrollbars/issues/586)
|
|
|
|
## 2.4.3
|
|
|
|
### Bug Fixes
|
|
|
|
- Bug where the instance wasn't updated when the `window` resized. [#578](https://github.com/KingSora/OverlayScrollbars/issues/578)
|
|
|
|
### Improvements
|
|
|
|
- Further improvements to the update strategy to make finer grained updates.
|
|
|
|
## 2.4.2
|
|
|
|
### Improvements
|
|
|
|
- Makes custom instance plugins compatible with "pure" environments such as `react` and all other component frameworks / libraries.
|
|
|
|
## 2.4.1
|
|
|
|
### Improvements
|
|
|
|
- Add compatibility `exports` field to `package.json` so the `'overlayscrollbars/styles/overlayscrollbars.css'` import works in all node versions. [#570](https://github.com/KingSora/OverlayScrollbars/issues/570)
|
|
|
|
## 2.4.0
|
|
|
|
### Features
|
|
|
|
- Finalize and document the plugin system which makes it possible to create "static" and / or "instance" plugins.
|
|
- The static `OverlayScrollbars.plugin` function returns a "static" plugins instance(s) for the registered plugins.
|
|
- A new `instance.plugin` function which returns a "instance" plugins instance.
|
|
- window `resize` events will now update instances only if it is needed and only what is needed.
|
|
|
|
### Improvements
|
|
|
|
- Small internal rewrite to improve stability, performance and bundle size.
|
|
- Improvements the documentation and README.
|
|
|
|
## 2.3.2
|
|
|
|
### Bug Fixes
|
|
|
|
- The [`element.animate`](https://developer.mozilla.org/en-US/docs/Web/API/Element/animate) api is only called when the browser supports the [ScrollTimeline API](https://developer.mozilla.org/en-US/docs/Web/API/ScrollTimeline). [#562](https://github.com/KingSora/OverlayScrollbars/issues/562)
|
|
|
|
## 2.3.1
|
|
|
|
### Bug Fixes
|
|
|
|
- Fix direction `rtl` visual scrollbar handle behavior in browser which support the [ScrollTimeline API](https://developer.mozilla.org/en-US/docs/Web/API/ScrollTimeline).
|
|
- Fix double tap behavior for interactive elements on `iOS` devices if `autoHide` is `leave` or `move`. [#560](https://github.com/KingSora/OverlayScrollbars/discussions/560) [#285](https://github.com/KingSora/OverlayScrollbars/discussions/285)
|
|
- Fix incorrect scrollbar handle calculation when overscroll on safari occurred. [#559](https://github.com/KingSora/OverlayScrollbars/discussions/559)
|
|
|
|
## 2.3.0
|
|
|
|
### Features
|
|
|
|
- Make use of the new [ScrollTimeline API](https://developer.mozilla.org/en-US/docs/Web/API/ScrollTimeline) in supported browsers.
|
|
- Add the option `scrollbars.autoHideSuspend` to make it possible to suspend the autoHide functionality until the first scroll interaction was performed. The default value for this option is `false` for backwards compatibility reasons but is recommended to be `true` for better accessibility.
|
|
- Add a CSS selector to bridge deferred initializations visually.
|
|
|
|
### Bug Fixes
|
|
- Fix a bug where a change wasn't detected properly when the target element was hidden initially. [#546](https://github.com/KingSora/OverlayScrollbars/discussions/546)
|
|
- Fixed a bug where the scroll offset was reset to `0` sometimes after initialization when the target was the `body` element.
|
|
|
|
### Improvements
|
|
|
|
- Add online examples to README.
|
|
|
|
## 2.2.1
|
|
|
|
### Bug Fixes
|
|
- Fix an issue where the `viewport` element could be wider than the `host` element. [#538](https://github.com/KingSora/OverlayScrollbars/issues/538)
|
|
|
|
### Improvements
|
|
|
|
- Instead of `offsetWidth` & `offsetHeight` use the corresponding properties from the `getBoundingClientRect` object to increase accuracy of scrollbar calculations. [#542](https://github.com/KingSora/OverlayScrollbars/issues/542)
|
|
|
|
## 2.2.0
|
|
|
|
### Improvements
|
|
|
|
- Force the `scroll-behavior` css property to be `auto` when the user interacts with a scrollbar to prevent smooth scrolling to apply where it shouldn't. [#515](https://github.com/KingSora/OverlayScrollbars/issues/515)
|
|
- The `viewort`, `padding` and `content` elements don't use the `class` attribute anymore for their styling. Instead each of them uses its own `data-overlayscrollbars-*` attribute. This has been done so that 3rd party libraries aren't conflicting with classnames from overlayscrollbars or vice versa. Selectors like `.os-viewport`, `.os-padding` or `.os-content` won't work anymore. [#526](https://github.com/KingSora/OverlayScrollbars/issues/526) [#530](https://github.com/KingSora/OverlayScrollbars/issues/530)
|
|
|
|
## 2.1.1
|
|
|
|
### Bug Fixes
|
|
|
|
- Fixed a bug where pointer events weren't released properly after drag or click scrolling. [#512](https://github.com/KingSora/OverlayScrollbars/issues/512)
|
|
|
|
### Improvements
|
|
|
|
- The `os-theme-dark` and `os-theme-light` themes now use `border-box` box-sizing as their default.
|
|
- Improve the `README.md` documentation for initialization, styling and and the browser global version. [#509](https://github.com/KingSora/OverlayScrollbars/issues/509)
|
|
|
|
## 2.1.0
|
|
|
|
### Bug Fixes
|
|
|
|
- Fix a bug where initial `RTL` direction wasn't detected properly.
|
|
|
|
### Features
|
|
|
|
- Introduce `CSS Custom Properties` to improve theming and styling of scrollbars. [#478](https://github.com/KingSora/OverlayScrollbars/issues/478)
|
|
|
|
### Improvements
|
|
|
|
- Improve pointer event handling on scrollbar handle and track.
|
|
- Improve the README documentation with a styling section.
|
|
|
|
## 2.0.3
|
|
|
|
### Bug Fixes
|
|
|
|
- Revert the `viewport` and `padding` style `position: relative` change introduced in `v2.0.2` due to breaking behavior. [#489](https://github.com/KingSora/OverlayScrollbars/issues/489) is considered a design limitation.
|
|
|
|
## 2.0.2
|
|
|
|
### Bug Fixes
|
|
|
|
- The `viewport` and `padding` elements won't have the style `position: relative` anymore if its not needed. The style is only needed for older browsers. ([#489](https://github.com/KingSora/OverlayScrollbars/issues/489))
|
|
|
|
## 2.0.1
|
|
|
|
### Bug Fixes
|
|
|
|
- The custom scrollbars are now always hidden if the `showNativeOverlaidScrollbars` option is `true`.
|
|
|
|
### Improvements
|
|
|
|
- The initialization to the `body` element respects now `overflow: hidden` style overrides of the `html` and `body` element. ([#477](https://github.com/KingSora/OverlayScrollbars/issues/477))
|
|
- `data-overlayscrollbars-initialize` is now automatically removed if the instance is destroyed or canceled.
|
|
- `data-overlayscrollbars-initialize` now always sets `overflow: auto` to prevent elements to be suddenly cropped after initialization.
|
|
- removed obsolete `!important` styles
|
|
|
|
## 2.0.0
|
|
|
|
OverlayScrollbars was rewritten from the ground up in `TypeScript` in a functional manner.
|
|
The rewrite comes with multiple benefits:
|
|
|
|
- The library is **much** smaller now (about **50% smaller** fully treeshaken)
|
|
- Modern browsers benefit greatly because compat code is inside `plugins` which are treeshaken if unused
|
|
- Multiple performance optimizations were made due to the new structure
|
|
- Framework Components benefit of the `pure` parameter for `options` and `events` (same input produces same output)
|
|
- TypeScript definitions are always up to date (`@types/overlayscrollbars` is obsolete now)
|
|
|
|
### New Features:
|
|
|
|
- If applied to `body` all the native functionality in modern browsers (e.g. swipe down to refresh on mobile, scroll restoration etc.) is preserved ([#376](https://github.com/KingSora/OverlayScrollbars/issues/376), [#425](https://github.com/KingSora/OverlayScrollbars/issues/425), [#273](https://github.com/KingSora/OverlayScrollbars/issues/273), [#320](https://github.com/KingSora/OverlayScrollbars/issues/320))
|
|
- If you scroll while the cursor hovers a scrollbar element the viewport is now scrolled ([#128](https://github.com/KingSora/OverlayScrollbars/issues/128), [#322](https://github.com/KingSora/OverlayScrollbars/issues/322))
|
|
- The initialization process can be fully customized now. This makes it possible to itegrate with other plugins / libraries ([#432](https://github.com/KingSora/OverlayScrollbars/issues/432), [#304](https://github.com/KingSora/OverlayScrollbars/issues/304), [#149](https://github.com/KingSora/OverlayScrollbars/issues/149), [#148](https://github.com/KingSora/OverlayScrollbars/issues/148), [#139](https://github.com/KingSora/OverlayScrollbars/issues/139), [#49](https://github.com/KingSora/OverlayScrollbars/issues/49))
|
|
- Scrollbars can be cloned and positioned anywhere in the DOM tree. ([#404](https://github.com/KingSora/OverlayScrollbars/issues/404), [#323](https://github.com/KingSora/OverlayScrollbars/issues/323), [#158](https://github.com/KingSora/OverlayScrollbars/issues/158), [#17](https://github.com/KingSora/OverlayScrollbars/issues/17))
|
|
- The update behavior of the `MutationObserver` for the content can be customized with the `update` options. ([#307](https://github.com/KingSora/OverlayScrollbars/issues/307), [#183](https://github.com/KingSora/OverlayScrollbars/issues/183), [#23](https://github.com/KingSora/OverlayScrollbars/issues/23))
|
|
- Works now without adjustments with CSS-Grid, CSS-Flexbox etc.
|
|
- Supports all kind of input devices additionally to `mouse` and `touch`. (Uses native pointer-events now)
|
|
- Exports a `esm` version which can be treeshaken
|
|
|
|
### Breaking changes:
|
|
|
|
- Browser support changed. The minimal version is now IE11.
|
|
- There is no default export anymore. The main entry point is now the `OverlayScrollbars` named export.
|
|
- The `styles` are now exported under a different path. Read the docs for more info.
|
|
- The `scroll` function is missing. (WIP will be added as a plugin)
|
|
- Initialization to `textarea` element is not suppored. (WIP will be added as a plugin)
|
|
- `extensions` are replaced with `plugins`. Plugins are more powerful but work nothing like `extensions`.
|
|
- Any helper functions for `extensions` are removed.
|
|
- `TypesScript` definitions changed completely.
|
|
- `CSS` styles changed completely.
|
|
- There is no `jQuery` version anymore and no `jQuery` compat functionality
|
|
- The following changed for the `initialization`:
|
|
- Arrays of elements are not supported anymore. If you want to initialize the plugin to multiple elements, you have to loop over them.
|
|
- Since the initialization is now fully customizable, the plugin won't have special behavior anymore if it has children with `os-` classnames
|
|
- The third parameter are `events` now instead of `eventsions` since `extensions` are removed
|
|
- The following **options** were removed / replaced / renamed:
|
|
- `resize` is removed
|
|
- `sizeAutoCapable` is removed (works always now)
|
|
- `clipAlways` is removed (works automatically now)
|
|
- `normalizeRTL` is removed since the `scroll` function isn't implemented yet there is nothing to normalize
|
|
- `autoUpdate` is removed since all browser support the `MutationObserver` api there is no need for customizing a update loop
|
|
- `autoUpdateInterval` is removed
|
|
- `className` is replaced with `scrollbars.theme`
|
|
- `updateOnLoad` is replaced with `update.elementEvents`
|
|
- `nativeScrollbarsOverlaid.initialize` is replaced with the `Initialization` concept. You can pass a object as target now where you can specify when to cancel the initialization of the plugin.
|
|
- `nativeScrollbarsOverlaid.showNativeScrollbars`: is renamed to `showNativeOverlaidScrollbars`
|
|
- `scrollbars.dragScrolling` is renamed to `scrollbars.dragScroll`
|
|
- `scrollbars.clickScrolling` is renamed to `scrollbars.clickScroll` and animates the scroll change only with the `ClickScrollPlugin` otherwise its instant
|
|
- `scrollbars.touchSupport` is replaced with `scrollbars.pointers`
|
|
- `scrollbars.snapHandle` is removed
|
|
- `textarea` is removed since `textarea` initialization isn't possible yet
|
|
- `callbacks` is removed / replaced with the `events` concept. You can pass listeners / callback separately to the options. The `this` context is now `undefined` as a replacement each event recieves the `instance` as its first argument.
|
|
- `onScrollStart` is removed
|
|
- `onScrollStop` is removed
|
|
- `onInitialized` is replaced with the `initialized` event
|
|
- `onUpdated` is replaced with the `updated` the
|
|
- `onDestroyed` is replaced with the `destroyed` event
|
|
- `onScroll` is replaced with the `scroll` event
|
|
- `onInitializationWithdrawn` is replaced with the `destroyed` event (if the second argument `canceled` is `true`)
|
|
- `onOverflowChanged` is replaced with the `updated` event (its second argument holds the information whether the overflow changed)
|
|
- `onOverflowAmountChanged` is replaced with the`updated` event (its second argument holds the information whether the overflow amount changed and how much)
|
|
- `onDirectionChanged` is replaced with the `updated` event (its second argument holds the information whether the direction changed)
|
|
- `onContentSizeChanged` is replaced with the `updated` event (its second argument holds the information whether the content got mutated)
|
|
- `onHostSizeChanged` is replaced with the `updated` event (its second argument holds the information whether the host got mutated / its size changed)
|
|
|
|
- The following **instance methods** were removed / replaced / renamed:
|
|
- `sleep()` is removed since it doesn't fit into the new structure and shouldn't be needed anymore
|
|
- `ext()` is removed
|
|
- `addExt()` is removed
|
|
- `removeExt()` is removed
|
|
- `scroll()` is removed (WIP)
|
|
- `scrollStop()` is removed (WIP)
|
|
- `getElements()` is renamed to `elements()` and doesn't support any argumens anymore.
|
|
- `getState()` is renamed to `state()` and doesn't support any argumens anymore.
|
|
- The following **static methods** were removed / replaced / renamed:
|
|
- `extension()` is removed
|
|
- `defaultOptions()` is replaced with `env().getDefaultOptions()` and `env().setDefaultOptions()`
|
|
- `globals()` is replaced with `env()`
|
|
- If you used any fields from the `globals()` result, please refer to the TypeScript definitions for the correct replacement in `env()`
|
|
|
|
### Theming changes:
|
|
|
|
- Because scrollbars can be cloned and positioned anywhere in the DOM, themes which worked in `v1` have to be adapted slightly:
|
|
- `.os-scrollbar` elements now don't rely on its parent element. Selectors like `.os-theme-dark > .os-scrollbar-vertical` are now `.os-theme-dark.os-scrollbar-vertical`
|
|
- the `.os-host-rtl` class is replaced with `.os-scrollbar-rtl`. Selectors like `.os-theme-dark.os-host-rtl > .os-scrollbar-horizontal` are now `.os-theme-dark.os-scrollbar-rtl.os-scrollbar-horizontal` |