=== Qthemy Slider Builder ===
Contributors: qthemy
Tags: slider, slideshow, responsive, visual builder, carousel
Requires at least: 5.8
Requires PHP: 7.4
Tested up to: 7.1
Stable tag: 1.2.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Build responsive sliders visually with text, images, buttons, shapes, and ratings, and a separate layout for desktop, laptop, tablet, and mobile.

== Description ==

Qthemy Slider Builder lets you create sliders directly from your WordPress dashboard using a visual, layer-based editor. Every feature in this plugin is free and works without a license key, an account, or any external service.

No page-builder plugin is required. Create as many sliders, slides, and layers as you need.

= Features =

**Visual slider editor**
Add, arrange, and resize elements directly on a live preview of each slide, with rulers and draggable alignment guides.

**Text, image, button, shape, and rating elements**
Style text (size, weight, color, alignment, line height, letter spacing) and choose its HTML tag (H1-H6 or paragraph) for SEO. Add images with alt text and opacity, buttons with an optional icon, shapes (rectangle, circle, triangle, diamond, pentagon, hexagon, octagon, star, parallelogram) with a border and border opacity, and star ratings with half stars that fill from the right on right-to-left sites.

**Content, Style, and Advanced tabs**
Element settings are grouped into three tabs, so the setting you need is always easy to find.

**Device visibility**
Hide any element on desktop, laptop, tablet, or mobile.

**Per-device layouts**
Set the position, size, font size, and text alignment of every element separately for Desktop, Laptop, Tablet, and Mobile, and choose a slider width and height for each device.

**Slide backgrounds**
Use a solid color, a gradient, or an image from the Media Library, with an optional color or gradient overlay. Give the slider rounded corners, set for each corner.

**Color picker with gradients**
Every color opens one picker with HEX, ready-made colors, and an eyedropper. Slide backgrounds, text, button backgrounds, and shapes also get a Gradient tab (linear or radial, two colors, angle).

**Autoplay and navigation**
Slides can play automatically with your own slide time. Visitors can also move between slides with arrows, dots, or by swiping, with a smooth fade transition. Place the arrows in the bottom bar or on the sides, choose line or round dots, and pick their color.

**Slider width**
Keep the slider at the size you set, stretch it to the width of its container, or stretch it to the full width of the screen. In the wide modes the background fills the width while the elements stay centered, also when a page builder container changes the slider's width. Inside Elementor containers the slider takes the container's width automatically.

**Fast loading**
Images of the other slides load only when they are about to be shown.

**Duplicate, export, and import**
Duplicate a slider from the Sliders list, export it as a JSON file, and import it on another site.

**Block, Elementor widget, and shortcode**
Add a slider with the "Qthemy Slider" block in the block editor or the "Qthemy Slider" widget in Elementor, or use the `[qthemy_slider id="123"]` shortcode anywhere else.

**Arabic and English editor**
Switch the editor interface between Arabic (right-to-left) and English.

= Optional add-on =

A separate, paid add-on, Qthemy Slider Builder Pro, is available from [qthemy.com/slider-builder](https://qthemy.com/slider-builder/). It is not required, and it is not included in this plugin. It adds icon, social-media, countdown, animated text, number counter, before/after, bullet list, and badge elements, element animations with a timeline, additional slide transitions, autoplay extras (play/pause button, progress bar, per-slide timing), video backgrounds, and Ken Burns motion for image backgrounds.

== Installation ==

1. Upload the `qthemy-slider-builder` folder to `/wp-content/plugins/`, or install the plugin from the Plugins screen.
2. Activate the plugin through the Plugins screen in WordPress.
3. Go to Slider Builder → Add New to create your first slider, then click Publish.
4. Add the "Qthemy Slider" block (or the Elementor widget) to a page and choose your slider. You can also paste the shortcode from the Sliders list.

== Frequently Asked Questions ==

= Does Qthemy Slider Builder require Elementor or another page builder? =
No. The plugin includes its own visual editor. If you use Elementor, a "Qthemy Slider" widget is included.

= How do I add a slider to a page? =
Publish the slider, then add the "Qthemy Slider" block (block editor) or widget (Elementor) and choose the slider. The shortcode from the Sliders list works everywhere else.

= Does the plugin connect to any external service? =
No. The plugin does not send data to any external service and does not load files from external servers.

= Where can I find the source code? =
See the "Source Code" section below.

== Screenshots ==

1. The visual editor: move and resize elements on a live preview with rulers and guides, and find every setting in the Content, Style, and Advanced tabs.
2. Every color has a Gradient tab. Here a gradient overlay is set on an image background.
3. A separate layout for each device: the same slide arranged for mobile.
4. The slider on a page.
5. The same slider on a phone, using its mobile layout.
6. The sliders list with shortcodes, Duplicate, Export, and Import.

== Source Code ==

All JavaScript and CSS files in this plugin are the original, human-readable source code. They are not compiled, bundled, or minified, and no build tools or build step are used:

* `assets/admin/js/admin-builder.js` – the visual slider editor
* `assets/admin/js/admin-notice.js` – remembers when the add-on notice is dismissed
* `assets/admin/js/block.js` – the "Qthemy Slider" block for the block editor
* `assets/admin/js/list-actions.js` – the "Import" button on the sliders list
* `assets/frontend/js/frontend.js` – the front-end slider
* `assets/admin/css/admin-builder.css` and `assets/frontend/css/frontend.css` – styles

You can read and modify these files directly.

== Developer Notes ==

Add-ons can extend the plugin without modifying it:

* Front end: `window.QthemySB.registerLayerType()`, `registerBackgroundType()`, and `addLayerDecorator()`, plus the `qthemy-sb:beforeinit` (bubbles to the document), `qthemy-sb:ready`, `qthemy-sb:beforechange`, `qthemy-sb:change`, `qthemy-sb:autoplay`, and `qthemy-sb:userinteract` events on each slider element.
* Editor: define `window.QthemySBBuilderExtension` (documented at the top of `assets/admin/js/admin-builder.js`).
* PHP: the `qthemy_sb_render_config` and `qthemy_sb_sanitize_data` filters and the `qthemy_sb_frontend_assets_enqueued` action.

== Changelog ==

= 1.2.0 =
* Added rounded corners for the slider, set for each corner.
* Added a gradient option for the slide overlay color.
* Added opacity for image elements.
* The "container width" layout now fills Elementor containers and keeps elements centered when the container width changes.

= 1.1.1 =
* Add-ons can mark their own element types as read-only in the editor.

= 1.1.0 =
* Renamed the plugin to Qthemy Slider Builder.
* Added button icons.
* Added autoplay with a custom slide time.
* Added a documented extension API for add-ons.
* Added shape (nine outlines) and star rating elements.
* Added HTML tags (H1-H6, paragraph) and letter spacing for text, and alt text for images.
* Added Content, Style, and Advanced tabs to element settings.
* Added per-device element visibility.
* Added gradients to the color picker for slide backgrounds, text, buttons, and shapes.
* Added a block for the block editor and an Elementor widget.
* Added slider duplicate, export, and import.
* Added container-width and screen-width slider layouts.
* Added arrow position, dot shape, and navigation color options.
* Images of the other slides now load only when needed.

= 1.0.27 =
* Updated the admin-menu icon.

= 1.0.1 =
* First public release.
