=== Inventive Popup Blocks ===
Contributors: ratherinventive
Tags: popup, modal, block editor, gutenberg, accessibility
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.3
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Add accessible, flexible popup content to the WordPress block editor.

== Description ==

Inventive Popup Blocks adds a Popup Content block to the WordPress editor.
Place any supported blocks inside it, give the popup a unique ID, and link to
that ID from a button or text link.

= Features =

* Build popup content with standard WordPress blocks.
* Add popups to WPBakery, the Classic Editor and other shortcode-aware editors.
* Open a popup from a link or an element using `data-popover-target`.
* Position the popup below its trigger or in the centre of the screen.
* Set a maximum popup width.
* Optionally display a close button.
* Close using the button, backdrop, Escape key or an outside click.
* Keep keyboard focus inside click-operated popup dialogs.
* Restore focus to the trigger when a popup closes.
* Reopen a popup containing form validation errors after submission.
* Receive checksum-verified updates from Rather Inventive.

== Installation ==

1. Upload `inventive-popover-blocks-1.3.zip` through Plugins > Add Plugin > Upload Plugin.
2. Activate Inventive Popup Blocks.
3. Add a Popup Content block and enter a unique Popup ID, such as `team-bio`.
4. Add a link or button with the URL `#team-bio`.

The plugin retains the internal `inventive/popover-content` block name so
content created with pre-release versions remains compatible.

== WPBakery and other editors ==

Add the popup content in a Text Block or another element that processes
WordPress shortcodes:

`[inventive_popup id="team-bio" max_width="500px" position="center"]`

`Add any text, HTML or nested shortcode content here.`

`[/inventive_popup]`

Create its trigger with:

`[inventive_popup_trigger id="team-bio"]Read the team bio[/inventive_popup_trigger]`

Alternatively, use any normal link with `#team-bio` as its URL. Popup IDs must
be unique on the page. The `position` attribute accepts `under` or `center`,
and `show_close` accepts `yes` or `no`.

== Accessibility ==

Click-operated popups use dialog semantics, move focus into the popup, trap
keyboard focus while open, close with Escape and return focus to the trigger.
Authors remain responsible for using clear link text and creating accessible
content inside each popup.

The optional hover mode is retained for compatibility. Important content and
controls should use click-operated popups so they remain available to keyboard
and touchscreen users.

== Privacy ==

The plugin does not set cookies or send visitor content to Rather Inventive.
WordPress makes a periodic HTTPS request to the update manifest when checking
for plugin updates. Its small popup stylesheet and script load on public pages
so popups embedded by page builders and templates work consistently.

== Updates ==

Updates use an HTTPS JSON manifest and require a matching SHA-256 checksum
before WordPress installs the downloaded package.

== Changelog ==

= 1.3 =
* Added a versioned frontend script filename to bypass stale path-based caches.

= 1.2 =
* Prevented transformed or clipped page-builder rows from covering popups.

= 1.1 =
* Added secure popup and trigger shortcodes for WPBakery and other editors.
* Added reliable frontend asset loading for page builders and templates.

= 1.0 =
* Renamed the public plugin to Inventive Popup Blocks.
* Prepared the first production release while retaining existing block compatibility.
* Added keyboard focus handling and duplicate-script protection.
* Added explicit WordPress asset dependencies and responsive popup sizing.
* Added checksum-verified plugin updates.
