=== Touch Slider for Elementor ===
Contributors: technodigitz
Tags: elementor, slider, hero slider, carousel, swiper, responsive slider
Requires at least: 6.2
Tested up to: 7.0.4
Requires PHP: 7.4
Stable tag: 2.0.4
License: GPLv3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html

A flexible, touch-friendly Elementor slider with multiple premium templates, responsive controls, and a single unified widget. Requires Elementor 3.24 or newer.

== Description ==

Touch Slider for Elementor adds one advanced slider widget to Elementor.

Version 2.0 consolidates the older separate hero slider widgets into a single widget with a template selector. Existing Hero Slider 1 and Hero Slider 2 designs are preserved as Classic Split and Cinematic Cover, while additional layouts expand the design system without cluttering the Elementor panel.

Features include:

* One Elementor widget with multiple templates.
* Original Classic Split and Cinematic Cover templates retained.
* New Editorial Split, Product Showcase, Glass Card, and Spotlight Frame templates.
* Responsive desktop and mobile images per slide.
* Primary and secondary call-to-action buttons.
* Per-slide accent, background, text, and overlay colors.
* Responsive height, content width, padding, alignment, and image positioning.
* Typography controls for labels, titles, descriptions, and buttons.
* Arrow and pagination styling.
* Slide, fade, cube, and coverflow transitions.
* Optional autoplay, loop, keyboard, mousewheel, touch drag, and grab cursor.
* Accessible labels and reduced-motion support.
* Conditional frontend asset loading through Elementor widget dependencies.
* Uses Elementor's conditional Swiper runtime instead of bundling a duplicate global slider library.
* One-time migration of legacy Elementor Hero Slider 1/2 widget data to the unified widget.

== Installation ==

1. Upload the plugin ZIP from WordPress Dashboard > Plugins > Add New > Upload Plugin.
2. Activate Elementor if it is not already active.
3. Activate Touch Slider for Elementor.
4. Edit a page with Elementor.
5. Search for "Touch Slider" and drag the single widget into the page.
6. Choose a template, add slides, then customize behavior and styling.

== Frequently Asked Questions ==

= Does version 2.0 keep the old templates? =

Yes. The original Hero Slider 1 and Hero Slider 2 visual directions are available as Classic Split and Cinematic Cover.

= Will old slider content be retained after upgrading? =

The plugin includes a one-time Elementor data migration that converts the two legacy widget types to the new unified widget format when possible. Back up the site before any plugin update as a general WordPress best practice.

= Does the plugin load slider files on every page? =

No. The widget declares its script and style dependencies so Elementor can load them only when the widget is used.

== Changelog ==

= 2.0.4 =
* Added a Web Animations API engine for the actual Swiper wrapper/slide movement, so global CSS such as `html * { transition-duration: 0s !important; }` cannot suppress slide motion.
* Snapshots the rendered transform/opacity before Swiper changes translate, then animates to the new Swiper state independently of CSS transitions.
* Keeps inline `!important` transition duration, delay, property, and easing as a fallback for browsers without Web Animations support.
* Hardened Cinematic Cover media transition duration/delay against global transition resets.

= 2.0.3 =
* Forced the actual Swiper slide-change transition so it still animates when global CSS disables transitions.
* Added Force Slide Change Transition, enabled by default and tied to the existing Transition Speed control.
* Applies protected runtime transition properties to wrapper and slides for slide, fade, cube, and coverflow effects, then removes them after movement to preserve touch dragging.

= 2.0.2 =
* Added a forced Web Animations motion engine enabled by default, independent of CSS transition settings.
* Replays content entrance animations on initial load and every active-slide change, including zero/disabled CSS transitions.
* Added controls for content animation duration, stagger, image motion, and image animation duration.
* Added an optional Respect Device Reduced Motion toggle; forced motion remains on by default as requested.
* Added a scoped keyframe fallback for browsers without the Web Animations API.

= 2.0.1 =
* Fixed Elementor compatibility fatal caused by an internal helper colliding with Widget_Base::render_content().
* Renamed the internal renderer to avoid overriding Elementor core methods.

= 2.0.0 =
* Renamed plugin display name to Touch Slider for Elementor while retaining the existing plugin folder/slug.
* Consolidated multiple Elementor slider widgets into one Touch Slider widget.
* Preserved both original slider templates.
* Added four additional templates.
* Added responsive images and expanded slide content controls.
* Added transition, autoplay, loop, keyboard, mousewheel, drag, and pagination controls.
* Added extensive responsive layout, typography, button, navigation, slider margin, and slider padding styling.
* Scoped CSS and JavaScript to support multiple instances and reduce theme conflicts.
* Switched to current Elementor widget registration and dependency patterns, including Elementor's conditional e-swiper asset.
* Added Elementor/PHP compatibility checks.
* Added one-time migration for legacy saved Elementor widget data.
* Removed obsolete global asset enqueues and missing third-widget reference.

= 1.0.0 =
* Initial release.
