=== Off-Canvas Sidebars & Menus (Slidebars) ===
Contributors: keraweb
Donate link: https://www.keraweb.nl/donate.php?for=off-canvas-sidebars
Tags: off-canvas, menus, widgets, sidebars, slidebars, panels, jQuery, app, mobile, tablet, responsive, genesis
Requires at least: 4.1
Tested up to: 6.4
Requires PHP: 5.2.4
Stable tag: 0.5.8.2

Add off-canvas sidebars (Slidebars) containing widgets, menus or other content using the Slidebars jQuery plugin.

== Description ==

This plugin will add various options to implement off-canvas sidebars in your WordPress theme based on the Slidebars jQuery plugin.

= Overview / Features =

*	Add off-canvas sidebars to the left, right, top and bottom of your website.
*	Use sidebar areas (widget-ready areas), menu locations or [custom hooks](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki/Actions-&-Filters) to place content into the off-canvas sidebars.
*	You can add control buttons with a widget, menu item, [shortcode](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki/Shortcodes) or with [custom code](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki/Theme-setup).
*	Various customisation options and settings available in the Appearances menu.
*	Extensive API for [PHP](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki/PHP-API) and [JS](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki/JavaScript-API).

= Compatibility (IMPORTANT!) =

The structure of your theme is of great importance for this plugin. Please read the [installation guide](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki/Theme-setup) carefully!!

This plugin should work with most themes and plugins although I can't be sure for all use-cases. Also note that at this point it's still a 0.x version...
If the plugin does not work for your theme, please let me know through the support and add a plugins and themes list and I will take a look!

**Fixed elements (like sticky menu's)**  
There are known issues with fixed elements and Slidebars. [Click here for more information](https://www.adchsm.com/slidebars/help/advanced-usage/elements-with-fixed-positions/)  
I've created two possible solutions for this:

1. Legacy CSS solution. Use basic CSS2 positioning instead of CSS3 transform with hardware acceleration.
2. JavaScript solution. It is slower but still allows the use of hardware acceleration for animations.

= It's not working! / I found a bug! =

Please let me know through [support](https://wordpress.org/support/plugin/off-canvas-sidebars) and add a plugins and themes list! :)  
Or [submit an issue here on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/issues)

= Credits =

*	Slidebars jQuery plugin by [Adam](https://www.adchsm.com/slidebars/ "Adam"), thank you for this great plugin!

== Installation ==

Installation of this plugin works like any other plugin out there. Either:

1. Upload the zip file to the '/wp-content/plugins/' directory
2. Activate the plugin through the 'Plugins' menu in WordPress

Or search for "Off-Canvas Sidebars" via your plugins menu.

= Theme Setup =

Off-Canvas Sidebars might not work "out of the box" with some themes, please read the documentation!
[Click here for theme setup documentation.](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki/Theme-setup)

== Frequently Asked Questions ==

= 1. Will this plugin work with any theme? =

No, due to the difference in structure not all theme's are compatible.
Though most themes can be *made* compatible with some modifications!

= 2. Can I add as many sidebars as I like? =

Yes you can, keep in mind that the more sidebars you add the heavier the load on the server (PHP) and browser (JS) will be.

= 3. How do I change the CSS for the sidebars? =

This plugin only provides the framework that handles the off-canvas part.
There are some settings that slightly change the display but this is very limited.
For more advanced customisations either:
1. Edit your theme style.css file (usually located in `/wp-content/themes/YOURTHEME/`).
2. Use a plugin such as [Simple Custom CSS](https://wordpress.org/plugins/simple-custom-css/).

== Screenshots ==

1. Settings page
2. Sidebars settings page (sidebars closed)
3. Sidebars settings page (sidebar opened)
4. Shortcode generator page
5. Control Widget
6. Menu item
7. Sidebar left (Push effect) -> image from Slidebars website
8. Sidebar left (Overlay effect) -> image from Slidebars website
9. Sidebar top (Push effect) -> image from Slidebars website

== Changelog ==

= 0.5.8.2 =

*	**Hotfix:** Security fix (contributor+ users only).

Detailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/119)

= 0.5.8.1 =

*	**Fix:** Incomplete merge of JS code.
*	**Enhancement:** Link close option is now opt-in.

Detailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/117)

= 0.5.8 =

*	**New:** Filter `ocs_enable_frontend`, modify enable frontend setting.
*	**New:** Filter `ocs_enable_assets`, can be used to disable frontend assets. [#114](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/114)
*	**New:** Filter `ocs_inline_styles`, modify the plugin inline styles.
*	**Enhancement:** Improve init handler for frontend.
*	**Enhancement:** Changed the default hooks for easier onboarding as the WP core hooks are now supported by most themes.
*	**Enhancement:** Improve adding inline styles.
*	**Enhancement:** Add `rel="nofollow"` XFN attribute to link type element triggers. [#116](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/116)
*	**Fix:** JS multiple events as string param.

Detailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/111)

= 0.5.7.1 =

*	**Fix:** Class concatenation bug. [#104](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/104) (Props: [Samuele Mancuso](https://github.com/AllWorkNoPlay-95))

Detailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/108)

= 0.5.7 =

*	**Enhancement:** Improved compatibility with the toolbar and fixed elements (legacy CSS mode).
*	**Enhancement:** Update to data attributes.
*	**Enhancement:** New filter `ocs_sidebar_attributes`.
*	**Enhancement:** New filter `ocs_sidebar_element`.
*	**Enhancement:** Added event action manager.
*	**Enhancement:** Do not add the same triggers again on reinit.
*	**Enhancement:** Load widget admin assets in site head instead of each widget separately.
*	**UI** Use WP meta box functions for setting pages to enhance UI compatibility.
*	**Fix:** Set slidebars script to plugin version to prevent browser cache issues.

Detailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/99)

= 0.5.6 =

*	**Feature:** Overwrite hook priority within the plugin settings.
*	**Feature:** Basic theme hook setup validator. [#95](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/95)
*	**Enhancement:** Reorder settings page fields.
*	**Enhancement:** Improve Slidebars init and allow reinit.
*	**Enhancement:** Added `ocs_default_settings` and `ocs_default_sidebar_settings` filters.
*	**Fix:** Make sure sidebars correctly overwrite global settings. [#91](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/91)
*	**Fix:** Escape all translated strings for HTML.
*	**Fix:** Add `rel="noopener noreferrer"` to all links that open in a new tab.

Detailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/92)

= 0.5.5 =

*	**Compatibility**: Changed the CSS to be compatible with `position: sticky;` elements. [#83](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/83)
*	**Compatibility**: Fix default before and after widget args. Widget element changed to `<div>` instead of `<li>`. [#88](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/88)
*	**Enhancement**: Late init option. [#81](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/81)
*	**Enhancement**: Allow minimum value of 0 for numeric settings.
*	**Fix**: Gutenberg notice that OCS couldn't be initialized.
*	**UI**: Rename control elements to triggers (uniform names).

Detailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/84)

= 0.5.4 =

*	**Compatibility:** Support `wp_body_open` as `website_before` hook introduced in WordPress 5.2. [#70](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/70)
*	**Enhancement:** Allow Genesis Framework hooks to be overwritten in respect for `wp_body_open`.
*	**Enhancement:** Use CSS `vh` unit for canvas container min-height instead of JavaScript.
*	**Enhancement:** Better use of WP core UI elements.
*	**Enhancement:** Code quality improvements.

Detailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/71)

= 0.5.3 =

*	**Enhancement:** Don't render triggers of disabled sidebars if auto-hide is enabled. [#56](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/56)
*	**Enhancement:** Support `wp_footer` as `website_after` hook. (Not compatible with all themes!)
*	**Enhancement:** Filters to overwrite `website_before` and `website_after` hook priorities.
*	**Enhancement:** Do not render inactive trigger buttons if auto-hide is enabled.

Detailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/58)

= 0.5.2 =

*	**Feature:** New filter: `ocs_is_sidebar_enabled` to filter whether a sidebar should be rendered or not.
*	**Enhancement/Refactoring:** Class autoloader.

= 0.5.1 =

*	**Fix:** Bug with creating sidebars on a new installation. [#52](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/52)
*	**Enhancement/Refactoring:** Control trigger rendering.

Detailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/53)

= 0.5 =

*	**Feature:** Make closing the slidebar after clicking a link an option. [#47](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/47) & [#48](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/48)
*	**Feature:** Add icon options in control trigger API and shortcode.
*	**Feature:** Enhance widget UI with advanced options for control triggers. [#27](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/27)
*	**Enhancement:** Setting page JS and UI enhancements.
*	**Enhancement:** Use data attributes to conform [W3C HTML5 specifications](http://www.w3.org/TR/html5/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes). [#50](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/50)
*	**Enhancement:** Add support links on plugins overview page.
*	**Refactoring:** Separate classes for tabs, page and settings/validation. Enhances plugin option validation. [#38](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/38)
*	**Refactoring:** Global OCS_DOMAIN constant.
*	**Updated/Added:** Screenshots.

Detailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/36)

= 0.4.2 =

*	**Enhancement:** Keep scrollbar visible when scroll lock is active. [#44](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/44) & [PR #45](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/45)
*	**Enhancement:** (Slidebars library) Make sure that percentage based widths are rounded to actual pixels to prevent 1px differences on display.
*	**Fix:** PHP Notice on `fixed_elements` key.
*	**Compatibility:** Tested with WordPress 4.9

Detailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/43)

= 0.4.1 =

*	**Fix:** Loading the correct menu in an off-canvas sidebar was not working correctly. [#37](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/37)
*	**Fix:** Scroll lock feature with CSS instead of JavaScript. [#39](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/39)
*	**Enhancement:** Add active sidebar ID to the html element classes. [#41](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/41)

Detailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/40)

= 0.4 =

*	**Feature:** `[ocs_trigger]` shortcode to display trigger buttons/elements anywhere you like, [click here for documentation](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki/Shortcodes). [#24](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/24)
	*	Shortcode generator available in the settings page.
	*	Integrate a shortcode generator with the WP Editor. [#32](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/32)
*	**Enhancement:** New "Legacy CSS" mode. Modified the Slidebars library to support older CSS2 animations. Can fix a lot of issues with fixed elements. [#26](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/26)
*	**Compatibility:** Modified the default Slidebars CSS to support anchor links and common smooth scroll implementations.
*	**Compatibility:** Some enhancements for compatibility with the WP Admin Bar.
*	**UI:** Improve widget UI [#27](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/27)
*	**Fix:** Enhance the codebase to be more aligned with the WP coding standards with CodeClimate.

Detailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/25)

= 0.3.1.1 =

*	**Fix:** Settings page checkbox bug when saving

= 0.3.1 =

*	**Feature:** Allow changing this plugin capability to show the settings page
*	**Fix:** Update fixed element compat for the new Slidebars version (still experimental, Slidebars still doesn't fully support fixed elements within the site container)
*	**Fix:** Don't echo empty sidebar CSS selectors if no styles are set
*	**UI:** Set `.ocs-button` to `cursor: pointer;` by default
*	Update textdomain hook

Detailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/23)

= 0.3 =

*	**Feature:** Allow sidebars to overwrite some general settings
*	**Feature:** Option to set padding to sidebars
*	**Feature:** Option to choose other content types than only a WP sidebar for an off-canvas sidebar
*	**Feature:** Option to set your own CSS prefix (some classes are fixes to `ocs` and can't be changed, the prefix `ocs` is also the default prefix for new installations)
*	**Feature:** Added various actions, filters and JS hooks - [Click here for info](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki)
*	**Feature:** OCS API functions to output off canvas sidebars in your theme instead of using this plugin frontend functions - [Click here for info](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki/PHP-API)
*	**Fix:** Sidebar ID validation wasn't correct

Detailed info: [PR on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/pull/10)

= 0.2.2 =

*	**Feature:** Option to set the animation speed for sidebars
*	**Feature:** Option to use the FastClick library - [Click here for info](https://github.com/JoryHogeveen/off-canvas-sidebars/issues/9 "Click here for info")
*	**Fix:** Disabling sidebars on global settings page didn't work

= 0.2.1 =

*	**Fix:** Add touch events for iOS mobile device compatibility
*	**Enhancement:** Added some actions for front-end (see Other Notes)

= 0.2.0.1 =

*	**Fix:** Global variable bug
*	**UI:** Improve settings page

= 0.2 =

*	Update Slidebars plugin to v2.0.2: [click here for info](https://www.adchsm.com/slidebars/features/ "Slidebars Features")
*	**Feature:** An unlimited amount of off-canvas sidebars (No longer just one left, one right)
*	**Feature:** 2 new locations (top and bottom)
*	**Feature:** 2 new effects (reveal and shift)
*	**UI:** Improved settings pages
*	**I18n:** Translations are now managed at [translate.wordpress.org](https://translate.wordpress.org/projects/wp-plugins/off-canvas-sidebars "translate.wordpress.org")
*	Screenshots updated
*	Tested with WordPress 4.6

= 0.1.2 =

*	**Feature:** First experiment for compatibility with fixed elements within the site container with the use of `transform: translateZ` (needed for `-webkit-` and `-moz-` only). [See problem here](http://stackoverflow.com/questions/2637058/positions-fixed-doesnt-work-when-using-webkit-transform "See problem here")
*	**Improvement:** Usage of a single instance of the class

= 0.1.1 =

*	**Feature:** Added the option to change the website_before and website_after hook names

= 0.1 =

Created from nothingness just to be one of the cool kids. Yay!

== Other Notes ==

= You can find me here: =

*	[GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/ "GitHub")
*	[Keraweb](http://www.keraweb.nl/ "Keraweb")
*	[LinkedIn](https://nl.linkedin.com/in/joryhogeveen "LinkedIn profile")

= Actions | Filters | API =

*	[See Wiki on GitHub](https://github.com/JoryHogeveen/off-canvas-sidebars/wiki)

= Credits =

*	Slidebars jQuery plugin by [Adam](https://www.adchsm.com/slidebars/ "Adam"), thank you for this great plugin!

= Ideas? =

Please let me know through the support page!

== Upgrade Notice ==

= 0.4 =
Version 0.4 introduces some radical code changes to the plugin. Please clear your cache after updating

= 0.2 =
Version 0.2 introduces some radical code changes to the plugin. Please clear your cache after updating
