=== Gredich Smooth Scroll ===
Contributors: gredich, diarpu
Tags: smooth-scroll, lenis, scroll, scrolling, smooth
Requires at least: 5.8
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Adds Lenis library for smooth scrolling with GSAP integration, element exclusions, and auto nested scroll detection.

== Description ==

Adds Lenis library for smooth scrolling with a full settings page — no coding required. Unlike headless wrappers, it includes:

Features:
* GSAP/ScrollTrigger integration
* Smooth anchor links with configurable offset
* Automatic nested scroll detection
* Exclude specific elements by ID or class
* Support for both vertical and horizontal scrolling
* Touch device support with adjustable sensitivity
* Easy-to-use settings page

== Installation ==

1. Upload the `gredich-smooth-scroll` folder to the `/wp-content/plugins/` directory
2. Activate the plugin through the 'Plugins' menu in WordPress
3. Go to Settings > Gredich Smooth Scroll to configure the plugin

== Development ==

Build assets (JS, CSS) are copied from the `lenis` npm package.
Source code and full development repository available at:
- Lenis library: https://github.com/darkroomengineering/lenis

== Frequently Asked Questions ==

= How do I exclude an element from smooth scrolling? =

There are two ways:

1. **Using data attributes (recommended):** Add `data-lenis-prevent` attribute to any HTML element you want to exclude. For finer control, use:

   | Attribute | Description |
   |---|---|
   | `data-lenis-prevent` | Prevent all smooth scroll events |
   | `data-lenis-prevent-wheel` | Prevent wheel events only |
   | `data-lenis-prevent-touch` | Prevent touch events only |
   | `data-lenis-prevent-vertical` | Prevent vertical scroll events only |
   | `data-lenis-prevent-horizontal` | Prevent horizontal scroll events only |

2. **Using the settings page:** Go to Settings > Gredich Smooth Scroll and add the element's ID or class to the exclusion list.

= What is the difference between ID and class selectors? =

- ID selectors start with `#` (e.g., `#my-element`)
- Class selectors start with `.` (e.g., `.my-class`)

= Can I use both methods together? =

Yes! You can combine data attributes with ID/class exclusions.

= How does the plugin handle nested scroll elements? =

By default, the plugin automatically detects nested scrollable elements and lets them scroll natively. You can control this behavior from **Settings > Gredich Smooth Scroll** using the "Allow Nested Scroll" option.

- **Enabled (default):** Lenis detects nested scroll containers automatically. Best for most sites.
- **Disabled:** Disable only if you experience performance issues and prefer to manually exclude elements using the data attributes or exclusion list above.

== Changelog ==

= 1.0.0 =
* Initial release
